Wednesday, October 29, 2008

it’s on now!

Microsoft has been taking some pretty good body blows from Apple over the past couple of years.  These have primarily been in the form of the PC/Mac ads and are not entirely undeserved.  Vista is a pretty good product but pretty good is clearly not good enough.  Well, Microsoft just landed a right hook to the jaw of OS/X.  It’s on now!

It’s really quite incredible how much work Microsoft has done on Windows during the lifetime of Apple OS/X.  OS/X 10.0 was released in 2001, the same year Windows XP was released.  For the most part OS/X has not changed since then.  Sure, you have new features like Time Machine but the user experience has really not changed much and neither have most of the features.  The same is not true for Windows.  In that same timeframe Microsoft has put out major service packs for XP, created a new server product named Windows Server 2003, and then created the Vista line of products (Vista, Windows Server 2008, etc).  Vista was supposed to be a moon shot but instead Microsoft got so caught up in completely rebuilding the rocket that it never really got off the pad.  With the shiny new Vista rocket sitting idle on the pad it wasn’t too hard for OS/X to look good and Apple to gain some market share.

And then in comes Steven Sinofsky to lead the Windows guys.  Now I’m not going to lay all the credit on him.  I’m sure Jim Allchin deserves a lot of credit for building a solid foundation in Vista but it’s clear that the changes in development models that Sinofsky brought over from the Office team have made a huge difference not only in developer morale but in product quality.  I have yet to read any reviews of the Windows 7 pre-beta that didn’t describe it as fast, stable, and “what Vista should have been”.

So what are some of the features or enhancements in 7 that are going to make the difference?  I’m glad you asked.  Here are the features that I think will make 7 the must have OS for 2009.  This is not nearly a complete list of features however.

Speed, speed, and more speed.  The Windows team has spent a lot of time optimizing the product, reducing it’s memory footprint, and speeding up boot time.  There is evidence that 7 runs great on netbooks, unlike Vista.  Also, some early reviews have reported an install time of 15 minutes compared to Vista’s 45 minutes on the same hardware.  That same review showed 7 booting is much lower time than Vista.  Apparently resume is nearly instantaneous and,  unlike OS/X, the network is available immediately upon resume.

Device Stage.  This feature is actually not getting a lot of attention but I think it will be the killer feature of 7.  In essence it is area where device manufacturers can plug in to 7 and display a management page for their particular device.  So a user could plug in a cell phone, see it appear in device stage, and then click on it to bring up the manufacturers UI for that device.  This UI could contain links to online manuals, launchers for SMS message reading, sync settings, whatever.  This is device specific.  A printer could show ink tank levels, provide UI for maintenance, a button for ordering supplies, etc.  This is huge.  Count on it.

HomeGroups.  This is networking except easier.  This only works with Windows 7 pcs but when multiple Windows 7 computers are put on a single network they will connect to form a HomeGroup and then allow seamless sharing of the content on each computer with the others.  You get a PIN code for the home group so that when a visitor comes over with her laptop running 7 she is prompted to join the home group as soon as she gets on the network.  Enter the PIN code and she can share any of the media that you have made publicly available and print to any printers (use any device for that matter) that are publicly available without any concern or question about which computer she is connecting to.  It’s all seamless.  Just that way it should be.

New Windows Taskbar and Jumplists.  The new task bar has many new features like tab previewing, reordering, blah, blah, blah.  But the coolest new feature is called jumplists.  These are popup menus that appear when you click on the app icon.  These are customizable by the application and it will save clicks.  Want to edit the Word doc you were working on last night.  Just click on the word icon and the most recently edited files list appears in the jumplist.  Pick your doc and it opens right up.  Clicks saved!

Touch support.  It’s all about the touch these days.  From IPhones to G1s, it’s all about touch.  And Windows 7 is ready to be touched.  oh baby.  Pair Windows 7 with any of the already shipping touch screen computers like the HP TouchSmart and you have a fully touch enabled system.  You can drag, flick, and stroke your away around the desktop.  Hmm, that sounds just creepy now.  Just trust me, it’s cool.   You’ll love it. 

With the solid Vista foundation and the excellent feature work in 7, this is the Windows you have been waiting for.  Dell and other companies are starting to make laptops that really compete with Apple.  Dell and HP both have lappies that have battery lives of at least 19 hours (wow!) and Dell is starting to offer backlit keyboards on it’s computers.  OS/X is a nice operating system but with 7 coming at breakneck speed, nice is not going to be enough.  Oh yeah, it’s on now.

Thursday, October 9, 2008

am I the last to figure this out?

In my role with Sun I do quite a bit with the Visual Studio SDK.  I develop our ADO.NET provider and the integration code that allows the provider to work inside of Visual Studio.  We support VS 2005 and 2008 with a single binary and, up until now, I’ve used the VS 2005 SDK.  But I’ve had this nagging feeling that I should be able to use the 2008 SDK and the new VSCT format for producing the CTO files.

After some research I discovered that VS 2008 ships with some binding redirects that allows it to use binaries built with the 2005 SDK.  Of course you can always count on Microsoft to make this as hard as possible.  They could keep in mind that out here in the real world we have to support older VS versions and ship the SDK with all necessary tools and assemblies.  But this is Microsoft we are talking about so the regpkg tool that ships with the SDK and helps with assembly registration is tightly bound to the SDK version. 

But the stupidity doesn’t end there.  With some hacking you can get around the regpkg issue (and you can’t ship that tool anyway) but they don’t provide attributes to handle all the registration tasks that are necessary.  Need to register your assembly as a DDEX data provider?  Out of luck.  Need to specify the technology parameter so your DDEX provider works with the proper wizards?  Out of luck.  So, I don’t really give a flip about regpkg and the attributes.

With all that said, I tested building an integration project with the 2008 SDK after making the following changes.  The resources worked great originating as VSCT files. 

   1: <RegisterOutputPackage>false</RegisterOutputPackage>


   2: <RegisterWithCodebase>true</RegisterWithCodebase>


   3: <!-- Make sure we are 2005 compatible, and don't rely on RegPkg.exe 


   4:      of VS2008 which uses Microsoft.VisualStudio.Shell.9.0 -->


   5: <UseVS2005MPF>true</UseVS2005MPF>


   6: <!-- Don't try to run as a normal user (RANA), 


   7:      create experimental hive in HKEY_LOCAL_MACHINE -->


   8: <RegisterWithRanu>false</RegisterWithRanu>