shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

# Wednesday, October 20, 2004

PlaysForSure

I want to talk a bit about PlaysForSure which is a new logo program for portable media players that Microsoft announced a few days ago.

First some background. I have owned every generation of the iPod. I am currently the owner of two 3G iPods. I have also been beta testing the Creative Portable Media Center devices since the early alpha builds. I have also been using Windows Media Center since the first version and have about 200 GB of music that is ripped as WMA lossless as well as a subscription to Napster 2.0 So I am writing from the perspective of a die hard iPod user who desperately wants to switch to using a solution that syncs with Windows Media Player 10 and allows me to stop using iTunes which is a horrible piece of windows software.

iPod

So, here is the landscape today. I have an iPod, it's beautiful, small, light and has a great out of box experience. I plug it into a Mac or a PC with iTunes installed and the rest is mostly magic. iTunes can automatically communicate with the iPod, sync all my music over firewire and charge the device at the same time. However, my iPod seems to think that after hours and hours of charging the battery is half full. As you use it though the battery meter increases before it decreases. If I leave the iPod sitting for a few days, via osmosis or some process, the battery drains. So most of the time when I want to use it, I can't cause it's dead. It also won't even last for a complete transatlantic flight.

iTunes looks pretty, but its' a crappy windows application (I'd argue that it's not really a windows application, but a window that contains a Mac application). For one thing I don't need 2-3 stinking windows process running all the time. I don't want QuickTime to install it's crap all over my machine and hijack my helper applications, install shortcuts in my quick launch bar or desktop.

Now having said all this there are a few critical things about this whole experience:

  1. It just works. I mean my Mom can use the dammed thing (yes she purchased and used an iPod all by her self.) Did I mention my Mom could use it? well my sister can too as I bought her an iPod Mini for her b-day.
  2. The device has a single plug. That plug connects via USB and FireWire and takes care of sync'ing and charging. That is something that not all PC makers get (I will get to this later).
  3. The charger is just a AC <-> firewire interface. Genius, no need to have another useless cable and dc plug somewhere on the device.
  4. The device can automatically sync with iTunes with little to no intervention. I just plug it in and it works!
  5. No drivers.
  6. Software that wasn't designed by monkeys. Even though I hate iTunes on the PC, it's a usable Music Library that doesn't have some weak ass skin that is unreadable that has obtuse and unusable controls. This one is important. I am still simply amazed at the horrible media library software that ships with devices.

PC

Lets look at the PC world. I buy a device, it comes with some lame drivers, some horrible syncing software, may or may not support purchased WMA music, most definitely does not connect to iTunes or play AAC, does play MP3 of course, may or may not connect to Windows Media Player, may or may not charge via USB 2.0 (may or may not support USB 1.0).

PlaysForSure Technology

Media Transport Protocol (MTP) is a new protocol that devices can implement that allows Windows Media Player 10 to automatically sync media content such as music, video, pictures and potentially DRM'ed purchased and DRM'ed subscription Music and Video. By implementing this protocol, device makers can ensure a very good out of box experience for end users who connect their devices to their PCs. This is amazing cause before this device makers spend countless hours writing horrible drivers and sync software because the value add in getting sync working with WMP wasn't as good as syncing with their proprietary software where they controlled the interface. Some devices went to far as to just expose their device as a Mass Storage Device and allow users to drag and drop audio (yeah, like my Mom can do this). This functionality is nice, *if* you can do the sync thing well. Not relying on drivers is great as it prevents any unnecessary software installation, and unnecessary (and potentially bugg) software on the PC.

So, since the dawn of these wannabe iPod devices a lot has happened. There are at least half a dozen stores selling DRM'ed music, and well, I think everyone realized that syncing a proprietary DRM'ed format and dealing with managing licenses, and syncing that stuff was probably not something they wanted eating into their margins. So, here we are, with a good player, a platform feature for supporting DRM'ed content from End to End (encoding, protecting, selling, managing licenses, and supporting a protocol for syncing this all). Now before you get all excited and point out that Apple is doing this... you are right, they are. But it's THEIR music store, and THEIR device and THEIR software. Today I can buy a song from Wal-Mart and sync to a compatible PlaysForSure device and the only thing that Microsoft provides is the infrastructure (SDKs, Software, Services). The media jukebox (WMP in my case, but just as easily MusicMatch) is just using Platform SDK's to manage the Audio, including the DRM rights.

So starting now, you can buy a device that supports MTP and get AutoSync (like iTunes + iPod) with Windows Media Player 10 and no drivers. If the device manufacturer was smart, they also support device charging while the device is connected, and support USB 2.0 for fast transfers. As an added bonus, since I rip all my audio as WMA Lossless, I have no desire to actually transfer the lossless music to my portable device as only a small fraction of it would fit. WMP10 can automatically transcode (convert) the lossless audio to a smaller version (I use WMA 128K) with some small loss in audio quality. This is a super cool feature because I don't have to maintain multiple copies of my music as I have to today with my iPod. This also ensures that any device I get can have higher and better transcoded software as the codecs improve and as device storage increases without having to ever RIP audio again.

PlaysForSure Logo Program

I spoke a lot about the technology (cause that is the interesting part), but PlaysForSure has an even more critical aspect, and that is Logo Program. This ensures that any device that has a PlaysForSure logo will ensure a basic level of support for:

  • Driverless connectivity
  • AutoSync with WMP10
  • DRM'ed Purchased Audio
  • DRM'ed Subscription Audio
  • DRM'ed Purchased Video
  • DRM'ed Subscription Video

Before you get all excited, PlaysForSure does not guarantee a few things that I recently discovered (and will blog about later).

  1. That the device connects via USB 2.0
  2. That the device charges via USB
  3. That the device has a catalog or meta data about the audio on the device (this may not make sense, but basically a manufacturer could just have a very basic File Browser interface for playing audio, rather than an interface that allows you to navigate via Artist, Album, Genre)
  4. That the device will manage and synchronize Ratings and Playcount.

Portable Devices

I highlight these four issues above as important because I don't believe that you will get an iPod like experience with a portable device that has the PlaysForSure logo unless they support USB 2.0 for MTP, charging via USB only, as well as have a good navigation UI that allows you to select audio based on meta data as well as select shuffle mode etc. Other features that an audio device could provide for differentiation are:

  • Color screen
  • Support for Photos
  • Support for Videos
  • Various levels of DRM support
  • FM Radio
  • Form factor
  • Drive size

Now with devices like Portable Media center you are getting a lot of the optional features above because we are essentially doing all the work to support MTP as well as creating the user experience and support for music, photos, video, tv and all the flavors of DRM'ed content. However, the form factor of the devices is far different from an iPod so while you get the best of everything you do so at the cost of size and weight. However I believe that over time, device manufacturers will create many different kinds of form factors to address all sorts of user need (as OEMs have done with Media Center).

Final Thoughts

I firmly believe that Microsoft is doing a great job creating technology and an eco system for companies to flourish. By focusing on ensuring the plumbing is consistently offered to all device manufacturers and music/video providers, the end user will benefit the most by having the largest amount of selection, choice and a decent user experience. Is it better than the experience you get with iTunes and the iPod? Probably not today (with some devices very close), but over time, manufacturers will learn to create devices that match or exceed the iPod's experience. Additionally, the music stores already have more compelling features than Apple does with iTunes. For example, I pay Napster $14 a month and can download most of the audio in their collection, and now with PlaysForSure supported devices, I can sync this subscription content. I can also play all this content with the Media Center interface to Napster, and load all the music on my office computer. Napster also provides streaming radio of the same downloadable content so I don't have to bother selecting songs to play, and hear new things I may want to download to my portable device. Apple simply can't touch this.

So you decide... I think PlaysForSure, while not a solution to the entire problem, is an excellent step forward in ensuring that it's realistically possible for a device maker to make a compelling device that I would have confidence my family could easily use in favor of their iPods. It takes a problem that device makers were NOT good at solving (drivers, sync, connectivity), and makes it a non-issue so long as they implement MTP and get logo certification. It allows them to place their resources in designing hardware that is smaller, cheaper and better.

In the next few days I will write about my experience with two devices that are listed on the PlaysForSure website: The iRiver H320 and the Rio Carbon. I purchased both these devices in the past few days and will be returning one of them on Saturday. The other one is a keeper ;-).

Posted Thursday, October 21, 2004    Permalink    Comments [5]  View blog reactions

 

# Tuesday, October 12, 2004

Mouse goodies

This past weekend I picked up the new Wireless Notebook Optical Mouse. This thing is very cool. Has a little wireless transceiver that attaches to the mouse and turns off the optical part so you can transport it.

Another recent discovery is that IntelliPoint 5.2 added back functionality that shipped a year or so ago but was subsequently removed. You can now customize the mouse hardware buttons on a per application basis. One customization I make is I hardwire the back button to delete messages in Outlook, and the forward button to space through messages for reading in the preview pane. It lets me drive outlook for a long time w/o touching the keyboard ;-).

Posted Wednesday, October 13, 2004    Permalink    Comments [2]  View blog reactions

 

# Monday, October 11, 2004

Ali G

I think Ali G is freaking hilarious. I am so excited for the movie!

Posted Tuesday, October 12, 2004    Permalink    Comments [3]  View blog reactions

 

# Sunday, October 10, 2004

Favorites Synchronization Software

For the longest time I wanted a program that would easily and seamlessly synchronize favorites across multiple machines. The fact that each machine has its own favorites store has made the feature rather useless to me, and I've started resorting to less then ideal means (like Outlook Notes) for storing important bookmarks.

I considered writing such a program myself (I also want one that synchronizes my Office User Dictionary across multiple machines) but just never got around to it. Well the other day I discovered FavoriteSync. This is simply a fantastic piece of free software. All you need is your email address and a password and it will replicate your favorites across any number of machines. You also have the option of storing your favorites on your own FTP rather than the Favorite Sync server.

This product really meets my expectations. It's completely transparent to me, and it works like magic. Like all good software.

Posted Monday, October 11, 2004    Permalink    Comments [1]  View blog reactions

 

# Saturday, October 09, 2004

Virtual PC 7

Well I am really late to the game here, but I never got a chance to shout out that Virtual PC 7 is available. I don't think folks outside the product team will appreciate just how difficult it was to get this product out the door. It took a bit longer than we'd all hoped, but Virtual PC is really a testament to the dedication and hard work of the team, and some of the great resources that Microsoft offered the product.

One of the first things we did when Microsoft acquired Virtual PC was some substantial user research and usability testing. We sat in customers homes, brought them into our usability lab and really dug into what people wanted to use this product for, and what they were having problems with. In our usability testing we asked customers to configure a USB printer. Not surprisingly, > 85% of our subjects failed at this task (and grew frustrated in doing so). In addition, a lot of people complained that they weren't sure if Windows was locked up or things were just taking a while. Finally a lot of people were complaining about slow startup and shut down performance because they were booting up Windows from scratch, and shutting it down every single time they wanted to use Virtual PC! That was particularly crazy given that Virtual PC can quickly save state and resume state (which is equivalent to a Hibernate in Windows). As a result of all this Virtual PC 7 really focused on a few core things:

  1. Performance, Performance, Performance. The team will never be done looking for ways to squeeze out every % point possible, and we feel that in this version we significantly improved raw CPU performance. Now remember, I said raw CPU performance. There are a number of factors that will affect overall PC performance, such as disk performance, and machines like G5's with their SATA interfaces are going to be faster launching applications then a PowerBook G4.
  2. G5 Compatibility. This one was a no brainer and we just did the work to support this. It was no small task, and we suspect most people grew frustrated with how long it took to get a compatible version. Well, we wanted to deliver a version of Virtual PC that didn't just run on G5s, but ran significantly faster on a G5 than a G4 and that took a lot more work than just G5 compatibility.
  3. Improved Printing. One feature I got to "own" was our new Zero Config Printing. Basically, you don't need to do anything to print, so long as your printer is connected and configured to print from your Macintosh. This really went a long way to making printer configuration a non issue for users. This takes advantage of Mac OS 10.3 functionality that essentially allows us to capture PostScript from Windows and throw it over the fence to the Mac to print.
  4. Improved toolbar and CPU meter. Another one of my features was to clean up the Toolbar. We wanted it to be useful to customers and as such removed the network status (who really needs to know this), floppy icon and added a new CPU meter which will give you some sense that VPC is up to something rather than stuck cause Windows is frozen. You can enable or disable any of the buttons to suit your needs.
  5. Fast Save. This isn't a new feature really, but we just went ahead and made fast save the default when you close a VPC window and we save the contents of memory in the background. This gets VPC out of the way so you can go and do something else w/o waiting for VPC to finish saving state. It also gives you the impression that things are really snappy. Now users aren't unnecessarily shutting down windows, but can quickly launch VPC use it for a while and then quit the application w/o much overhead.
  6. Improved framerate throughput. Animation, graphics etc will appear more fluid then ever because we are offloading some of rendering to the Graphics hardware. Don't get this wrong idea, this DOES NOT improve Windows framerate, rather is ensures that Virtual PC can keep up with what Windows is trying to draw. It DOES NOT mean that you can now run games that require 3D graphics hardware (contrary to some of the rumors out there). If you run a screen saver such as the Bezier Curves and compare VPC 6.1 and 7 side by side you will see the difference. Otherwise you won't notice much except that things will seem snappy.
  7. More Secure. This is undoubtedly the most secure version of VPC to date. The team spent a long time working on this and ensuring compatibility with Windows XP SP2. This does not come for free.
  8. Improved Help. Yes, you may not use this, but we took a good long hard look at Help and overhauled it. Lots of Mac users are not familiar with Windows, so help is particularly important.
  9. Localized in Swedish. That's right, if you speak Swedish, you can now get a Swedish version.
  10. Bug fixes. Lots, and I mean Lots of bug fixes. Not every USB device in the world is going to work. There are finite resources to test every device on the planet, and certain classes of USB device still don't work (things like certain GPS receivers).

I'm a bit sad that I wasn't there to see VPC 7 out the door, but either way kudos for the team for rounding out what I think is the highest quality version of VPC ever. I had a lot of fun working on this product. One of my favorite highlights was a trip to Japan where we went on visits to user's homes and office to see first hand the kind of feedback they had for us. I can't tell you how much we all leared through experiences like that. I hope this product reflects what our users want, and am sure that the team will continue to deliver for their customers...

Posted Saturday, October 09, 2004    Permalink    Comments [18]  View blog reactions

 

# Wednesday, September 29, 2004

Bless Starbucks

So here I am sitting in a Starbucks in Madrid, Spain. I'm here for a few days on business and am staying at The Palace Hotel (Westin) which is quite a swanky hotel. However, it is lacking broadband in all the rooms, and as luck would have it, they are fully booked, and I got a room lacking broadband. This is enough to place the hotel on my black list. Even worse is that I tried dialup yesterday, got carried away (was online for about 3-4 hours) and saw that I racked up 80 euros in local phone charges. This was all to avoid going to the lobby and forking over 30 euros a day for wifi.

On a hunch, I came down to the starbucks today with my laptop and found WiFi. I can't even tell you the last time I used dial-up. It's torture.

Anyway, Madrid is a cool place. The weather is beautiful right now. I'll be doing some sight seeing this afternoon, probably at the Prado.

Posted Wednesday, September 29, 2004    Permalink    Comments [4]  View blog reactions

 

# Sunday, September 19, 2004

.NET Compact Framework Essentials

One very frustrating thing about programming with the .NET Compact Framework is that it's quite limited in how much integration capabilities you have with the device. It's very good if you build a little application that doesn't need to hook into the device, or hook into Outlook, but as soon as you want to do something like that you have to use p/invoke which involves hunting down the signatures, and testing code that I don't really understand. Luckily p/invoke.net has many of them already.

However, there are two really good options that I recently discovered.

OpenNETCF.org

This set of .NET assemblies helps you overcome a plethora of shortcomings of the compact framework. The folks who developed this did an amazing job providing excellent functionality to .NET developers. Some of my favorites namespaces are OpenNETCF.Win32 which wraps most of the p/invoke functions you'll need as well as OpenNETCF.Windows.Forms which provides some very nice Controls that .NET doesn't provide like Groupbox, NotifyIcon, Battery indicators and so on.

PocketOutlook In The Hand 

This is a superb managed Outlook Object model. Today, it's impossible to talk to Outlook on a Pocket PC using p/invoke because the framework does not allow you to call COM objects. The object model is mostly identical to the OM of it's big brother, Outlook XP/2003.

I hear that 2.0 of the framework allows you to call COM objects, but until then, avoid writing C code and head on over to InTheHand to get Pocket Outlook. It's not free, but there is a trial you can play with, and it's priced modestly. One caveat though. You need to be very careful and make sure to dispose all your objects. I didn't do this and ended up with a very sad Pocket PC after running my app for a few hours.

 

Posted Sunday, September 19, 2004    Permalink    Comments [0]  View blog reactions

 

# Saturday, September 18, 2004

KlipFolio

I've been playing around with a program called KlipFolio for a few weeks now. Not to long ago they released a new version, 2.6, and added a Hotmail Klip! This is a really cool way to keep on top of your Hotmail, w/o having to run a mail client. It allows you to view a preview of the message body, as well as delete messages. At work I keep KlipFolio running on my second monitor, along with a few other small utility windows (more about those later).

I also like to use the Stock, Weather, C|Net and FeedViewer (for RSS feeds). The product is free to download.

Posted Sunday, September 19, 2004    Permalink    Comments [1]  View blog reactions

 

RAW Windows Shell Integration

A few months ago I posted about a little piece of software that let you view Digital RAW thumbnails in the Windows XP Explorer Shell. Well, I found something even better. DPMagic has some really well integrated software that lets you:

  • View Thumbnails in the Shell
  • View a full size image preview in the Shell Picture Viewer
  • View a slideshow of the images
  • View Properties of the image, including the Histogram

You can see screenshots of all the features here.

There is a free version of the product, as well as a pay version that has all the features mentioned above.

Posted Saturday, September 18, 2004    Permalink    Comments [1]  View blog reactions

 

# Sunday, September 12, 2004

Audiovox 4100 PocketPC Phone

Well, it's been a year now since I've purchased a new phone, and well, I've been getting gear anxiety. A few co-workers in the office have the new iPaq h6315 and the Samsung SPH-i700 device. However, they are both to large for my tastes. AT&T has been selling the Audiovox 4100 for a while, and I've been holding out for the Motorola MPX which was delayed yet again. When the MPX does come out, if it's not outrageously expensive I'll buy it and sell my Audiovox.

So, I went down to AT&T and got a Audiovox 4100. I have to say, this device rocks. Sure it doesn't have Wifi or bluetooth, but with my all you can eat GPRS data plan it's not such a big deal. I've owned 2 Pocket PC devices in the past and I'm glad to be back in the Pocket PC camp, and out of the Smartphone camp. There are a number of reasons that I think the PPC device is a better fit for me. Among them are:

  • I can use a stylus to read/reply to mail (I'd rather have a thumb keyboard like the Treo 600, but no ppc phone devices have this yet).
  • Ditto for SMS.
  • T9 Input sucks. I'd rather use my fingers and a soft keyboard.
  • Higher resolution than Smartphone
  • Pocket PC Phone Edition 2003 which is 100% better than Smartphone 2002
  • Can run AvantGo and Vindigo which are killer apps IMHO. I've missed Vindigo for so long.
  • GPS integration via Microsoft Streets and Trips 2005.

Personally, I loved my Smartphone, but realistically it was a read only device. Also, the Tasks feature was fairly useless. The Audiovox device is small, and as a result fits fine in my pocket (I will not purchase any PDA/Smartphone device that will not fit in my jeans).

Finally, having just discovered Microsoft Voice Command, I can't imagine not living with it. Voice Command is like your own personal assistant. This is hands on one of the best Microsoft products out there. I installed it this morning, and activated voice and it has recognized 100% of my commands such as:

  • Call < Contact >
  • Dial < Number >
  • What are my appointments today?

This is truly an innovative, compelling product that really showcases the power of the platform. Check out the flash demo.

Posted Sunday, September 12, 2004    Permalink    Comments [2]  View blog reactions

 

# Sunday, September 05, 2004

dasBlog Security Update

If you are running dasBlog, make sure you install the security fix available for all released versions of dasBlog.

http://www.dasblog.net/documentation/PermaLink.aspx?guid=92ad6eb7-ee40-4c89-9f1e-a07c83859e63

Posted Sunday, September 05, 2004    Permalink    Comments [0]  View blog reactions

 

JimmyG on the cover of a Magazine

Well, it's not the Sports Illustrated Swimsuit Issue, but heck, I just saw this via Dennis!

http://www.itp.com/magazines/current.php?magid=7

Posted Sunday, September 05, 2004    Permalink    Comments [0]  View blog reactions

 

# Friday, September 03, 2004

On being a Resident

I'm sure not everyone knows this, but my wife is a Resident in Obstetrics and Gynecology at UCSF. We were both pre-med in college, and well, one of us went to medical school and the other did not. For me it was a decision that was made for me, I did not get in. However, this was the best thing that ever happened to me as I would be an absolutely shitty doctor. I was in it for the wrong reasons, and instead I have a job that I cherish. I consider myself very fortunate that I love to go to work.

Now about Residency. I cannot begin to understand how difficult this is. My wife often tries to explain to me some of the emotions she experiences, and the work she does but she knows I don't really have a way of understanding. I do have an enormous amount of respect for her, and her passion for taking care of people. Let’s face it; no one goes into Medicine for the money any more.

A lot of people are shocked by how the Residency system works in this country and a lot of people just don’t know. I personally believe that there is something very wrong about it. What I do tell people is that the reason we have the best healthcare system in the world is because countless people have worked long hours with very little pay and cared tirelessly for the homeless, the uninsured, the wealthy, citizen or non citizen, whomever. They never ask who you are or where you are from, and how you are paying. They do one thing really, and that’s to understand your problems and try and help you within the confines of the system. My wife never complains about the crap pay, or the hours, or the fact that we have one weekend a month to hang out. I find this humbling, and realize that I could not ever do this.

One day I visited her in the hospital after she had just delivered twins for a couple. We ran in to the Mom in the hallway and she was gushing with happiness toward my wife. I was so amazingly touched, and realized that this is probably something I'll never experience at a software company. This kind of experience is an amazing gift to give to some one.

Why am I writing this? Well Joe Beda just posted a link to a new book called “On Call: A Doctor's Days and Nights in Residency" by Emily Transue. Lora has often talked of writing a book about her experiences, and I hope that she does. I think it’s a great way to explain what life is like learning one of our most difficult and important arts.

Posted Saturday, September 04, 2004    Permalink    Comments [1]  View blog reactions

 

iPod and MSN Music

One of the more surprising things I found when checking out MSN Music is this statement.

How can I get MSN Music downloads to play on my iPod? 

Unfortunately Apple refuses to support the popular Windows Media format on the iPod, choosing to only support their own proprietary DRM format. If you are an iPod owner and are unhappy about this, please send feedback to Apple and ask them to change their policy and interoperate with other music services.

There are more than 70 portable audio devices that support MSN Music today, and we hope that someday Apple decides to join with the industry and support consumer choice.

Who ever decided that this was a good idea has a lot of balls. I can't even begin to imagine how many LCAs were involved and how high up the food chain this had to go. Why? Well in MacBU we never ever said anything bad about Apple. Why? Cause once we did and we lost. Apple has a phenomenal PR relationship with the media and turned the story pretty much back in our face and it was ugly. Everyone felt like crap.

I'm interested in seeing how this one turns out. Personally I don't care. I don't purchase music on line cause I'm a snob about audio quality. If I am going to pay almost the same price as a CD I may as well buy a CD and rip it how I want without DRM. Lets face it, DRM is a pain in the ass. I don't mind it for subscription services and streaming like with Napster because I really don't own the content. I am subscribing to it. So, I rip to WMA and AAC and have plenty of hard drive space to spare. My iPod and my Portable Media Center are both very happy campers ;-).

Posted Saturday, September 04, 2004    Permalink    Comments [7]  View blog reactions

 

# Wednesday, September 01, 2004

System.Drawing.Imaging performance fix in .NET 1.1 SP1

A few months ago I encountered a significant performance problem with System.Drawing.Imaging.

I found that by using the new Method performance was 93x faster (on average) for loading jpegs.

You can download the update here:

http://www.microsoft.com/downloads/details.aspx?FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38&DisplayLang=en

Specifically, this update adds a new method to System.Drawing.Imaging:

System.Drawing.Image.FromStream(Stream stream, bool useICM, bool validateImageData)

This is essentially a new signature for an existing method:

System.Drawing.Image.FromStream(Stream stream, bool useICM)

As you can see, validateImageData is a new parameter. Setting it to true is the default behavior that we have today (essentially the same as calling FromStream(Stream stream, bool useICM)).

So I made a change to my application. Before my code looked like this:

using (Image photo = Image.FromFile(this.fileInfo.FullName, true))
{
    //do stuff
}

So I changed it to:

using (FileStream fs = new FileStream(this.fileInfo.FullName, FileMode.Open, FileAccess.ReadWrite))
{
    using (Image photo = Image.FromStream(fs, true, false))
    {
        // do stuff
    }
}

Posted Wednesday, September 01, 2004    Permalink    Comments [1]  View blog reactions