Wednesday, February 18, 2009

The windows7 release will so be better than vista’s

I’ve installed win7 on all my boxes now (well, except my home server box).  And I’ve finally made the move entirely to 64bit. 

Aside – I read an email that explained some ways in which having a 64 bit OS installed would increase your computer’s perf (assuming you have recent, x64 hardware, like a core2duo or later chip).  I don’t know if the difference is really noticeable, but I certainly haven’t noticed any problems, and I get access to more memory now (32 bit can only address 4 GB of ram, of which 1 GB is used by the platform, and 64 bit can address like a bajillion GB)

Anyway, I installed win7 on my home machine yesterday (the super cool one with badass graphics, etc).  Intel has already shipped two windows 7 drivers.  There was one available via windows update yesterday around 4 PM, and then a new version was released via windows update last night.

Part of the reason, at least in my opinion, that the Vista launch kinda sucked was driver availability.  Vista changed the driver landscape dramatically, moving a bunch of drivers from kernel mode (really low level, OS stuff) to user mode (application level stuff).  This was painful for device driver writers, because they had to re-write all their drivers, and had to learn how to be performant in user code (they had been in kernel mode since like win95 or so, I think, maybe earlier).  This is why XP drivers were generally faster than vista drivers when vista shipped; those drivers were like version 80+, while the vista drivers were version 1, exclusively.

In addition to changing the driver landscape, Microsoft failed in that we announced vista ship dates several times which we didn’t make.  Similar to the boy who cried wolf, when we finally did ship, we caught our hardware partners by surprise; they had grown accustomed to ignoring our ship date announcements.  This was obvious even within Microsoft.  Visual Studio (VS), one of our flagship products, wasn’t Vista compatible at ship time.  Then VS shipped SP1, and they still weren’t vista compatible.  They had to ship a QFE/windows update (called vsvista) to enable vista compatibility. This took several months after vista shipped. 

Win7 is not changing the driver landscape so dramatically.  Vista drivers continue to work with win7.  So, all your existing software and hardware should work just fine on win7 (all mine does, without exception).  The upgrade path from vista->win7 should be easy, which should drive acceptance of the product sooner, and should result in win7 having a much better image than vista does/did.

I’m really excited for win7 to ship!

Tuesday, February 03, 2009

Warning to the family

In case it wasn’t clear, all of the posts I’m going to write about Gobi are going to be very technical in nature.  Hopefully you all didn’t get super excited about seeing a new blog post, just to have your excitement destroyed by learning it was all geek-speak.

Win7 first impressions

I love Win7.  I can’t wait to get it installed on all my PCs.  I am now exclusively on win7 for work, and will be moving my home pc to win7 soonish.

I really like the new taskbar, which removes the difference between a shortcut and an open window.  I have an outlook shortcut on the taskbar, but when I run outlook, the icon for the window is in the same place.

I still don’t love IE8, though I am getting used to it.  It seems like this version of IE8 auto-detects when it needs to run in compat mode, and does a pretty good job of that.  The colors in the tab group coloring are a bit too colorful for me, I wish they were more muted or more like pastels, but that’s ok.  Hopefully they are customizable, and I just haven’t found out how yet.

The window preview thing takes some getting used to.  If you mouse over an icon in the taskbar that has more than one window associated (like multiple IE windows/tabs), you can see a thumbnail from each window/tab.   Then, if you hover over that thumbnail, you see the full-sized version.  Intuitively, if you then click somewhere, you would retain that full sized version you ‘selected’ by hovering.  In reality, however, the version you hovered over goes away, and you end up back on the window you started on.  In order to select that hovered window, you have to click on it.  It’s hard to get used to, I’m still hoping I’ll get there.

Overall, a big thumbs-up for win7, though.  Drivers for vista have all worked just fine on win7, at least for all of my devices on two pcs.

I know some of this stuff is hard to visualize without pictures, but I’m lazy and haven’t figured out how to take screenshots of the preview thumbnail things.  If you want to try it out, the win7 beta is publicly available, and you are welcome to come by the house and I’ll show it to you (requires that you know where I live already, though :) ).

Announcing Gobi

I’m going to be starting on a new application very soon.  It’s designed for/targeted at professional window tinters.  The goal is to make it easier for those folks to figure out how much window tint they will need in order to complete a given residential or commercial job.

Since I’m going to be learning some new things, I thought I’d take the opportunity to share my process for building this app.  This will be my first commercial, only for-sale application, and I’m pretty excited about it.

A good friend of mine is a professional tinter, and he mentioned that it was hard to get these estimates done, since there’s a fair bit of calculation involved in minimizing the number of rolls of tint you have to order.  Tint rolls are sold by different companies, with different properties, and in different widths.  One of the tint manufacturers produces a piece of software to help with this process, but the software only supports their brand of tint (duh, right?).

Since I’m a software dev and not a tint manufacturer, my plan is to support products from multiple manufacturers.

The basic design of the app will be a desktop application which does the calculation and layout.  I will provide a cutlist diagram, so the tinter can easily see which windows’ tint should be cut from each roll, and how to optimally lay those cuts out, to maximize tint usage and minimize the material needed.

The software will save these quotes/proposals locally, and let you come back to edit/revisit them later.  This will help tinters to create an estimate for a customer, then edit that estimate if the customer wants to make changes.  A new cutlist will be generated every time the size and/or number of windows in the job gets changed. 

The application will also have a webservice that i can contact in order to receive updates to the tint products database.  This way, I can easily keep all the copies up to date as I add support for more manufacturers and tint products.  The database will be stored locally as an XML dataset, since I expect it to be pretty small.  If the DB size grows larger than I expect it to, I’ll move to using SQL Express (or perhaps the embedded sql solution).  I’d prefer to avoid that, so I can avoid having that dependency in my code.  The less people have to download to get up and running, the better.

The UI will be done using WPF.  I’ve not done any WPF coding before, so this is a good chance for me to learn what’s up with WPF, and use it in a real application.  Turns out that working at MS, on a software service, tends to keep you behind on new desktop UI technologies.  I need to get caught back up on the cutting edge, so this project will help me do that.

I picked Gobi as a codename because thinking of window tint always makes me think of heat, and Sahara is pretty well taken by the movie :).