shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

# 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

 

# Thursday, August 26, 2004

Portable Media Center Review

If you've been wondering about PMC check out this excellent review by Corey Gouker.

I've been dogfooding (testing) a Creative Zen device since the very early days (months ago) and love it. I just leave it plugged into my MCE over night and it sync'es tv shows and audio.

Since all my music is ripped as lossless WMA, I can have WMP transcode from losless to 160 KPbs allowing me to listen to lossless music on my Media Center and take all my music with me on my PMC. I happen to love the UI and the Album Art for Music. I find it so natural to browse my music collection by looking at album covers.

Posted Friday, August 27, 2004    Permalink    Comments [0]  View blog reactions