Performance Reset

November 28, 2007

You may have seen news articles and blogs related to Vista SP1 and its performance increases (or the lack of). What people are upset about (myself included), is Microsoft officially says that Vista SP1 brings performance increases. The only problem: people can’t find these performance increases.

Let’s back up for a minute. Years ago, when Microsoft was receiving an onslaught of negative press and reams of customers were being directly affected by Microsoft’s lack of baked-in security… Microsoft had the wisdom to stop current product development and review millions of lines of code. Software source code (aka: application logic) was reworked in Microsoft Office, Microsoft Windows, Microsoft developer tools, and much of the other software produced by Microsoft. This group of significant actions became known as the “security reset”. And this really was major deal where normal software development was put on hold, so software across the board could be reviewed and fixed with a critical eye on security. In part, this security reset became a significant part of Windows XP SP2. During (and after) this period Microsoft instituted some fairly strict policies on security. These policies were communicated to external (non-Microsoft) developers. Overall, this was a major deal that took concerted effort within Microsoft.

Personally, I think Microsoft now needs a performance reset. As I have said in some of my previous posts, I think software in general, and Microsoft software in particular, is getting slower at faster rate than hardware is getting faster. And this problem acutely affects Vista. I think Microsoft needs a performance reset where development is put on hold and everyone looks at how we can improve performance. The caveat is: managers and executives don’t really like to do this because it affects product schedules, resource tasking, new product releases, and revenue streams. This affects marketing, development, testing, management, and pretty much anyone taking part in the development process.

But, I think some sort of significant performance reset is exactly what Microsoft needs to regain competitiveness. All hope is not lost, but too many applications are getting slow and piggy (at least from my vantage). And, too much negative user feedback and press is voicing this issue.

Back to Vista SP1. Microsoft is publicly saying that Vista SP1 will bring performance increases to the table. SP1 users/reviewers are saying otherwise. What bugs me about Vista’s SP1 performance “improvements” (other than people don’t see them), is I think Microsoft is doing performance improvements in a top down fashion. Such as: what areas of Vista need the most improvement. This is a good start, but a more holistic approach would couple this top-down strategy with a simultaneous bottom-up Performance Reset. Where developers actually put their work on hold, and review code to make the 6 million ton behemoth (Vista) faster.

Mary Jo Foley has dug a little deeper and uncovered the inside scoop on Vista SP1 and performance improvements: Microsoft hones its internal sales pitch for Vista Service Pack 1


Operating System Of The Future (Vista)

November 28, 2007

I guess this is as good a time as any to voice some gripes I have with Microsoft’s latest and greatest desktop Operating System. Granted, it’s pretty common (even expected) for Microsoft’s newest OS to take some heat. So before I delve into my grips with Vista, in the spirit of tradition, let me first chronicle some complaints with prior Windows releases.

Way back when DOS users were introduced to Windows, there was a good bit of backlash. And, I for one, initially resisted moving to Windows. DOS worked and made sense, so why change a good thing, eh? The first few versions of Windows piggy backed on top of DOS, which affected performance and reliability (and to me, degraded my user experience).

When Windows NT 3.1 came out, detractors immediately bemoaned the expensive hardware it required: the quantity of RAM, the faster CPU and hard drive. With the release of NT 4.0, people complained they were just being sold a revamped UI (which was not completely true). I still remember when Windows NT 4 would get corrupted and you’d need to re-apply Windows Service Packs to try and fix it.

I had good friends certain that Windows 95 “was a fad”, and they were sticking with Windows 3.11 (and DOS) until Windows 98 came out. Then Windows 98 came out and people complained it was less stable, slower and required more RAM than did Windows 95. A year later Microsoft shored things up with Windows 98 Second Edition, but there were still detractors. When Windows ME came out, people complained very loudly (but I think ME complaints were often justified, as I consider it the worst Windows OS ever).

When XP shipped, people complained because it looked like eye candy that required more hardware… and it didn’t appear to bring much worthwhile to the table. But over time people did warm to XP, especially years after XP SP2 was released (i.e. today).

I think adoption of an OS is best described as maturation. Just as XP matured with new service packs, people warmed to XP’s nuances and capabilities. People learned how to use it, and how not to use it. This maturation is a two way street where all parties have adapted.

Over time Microsoft saw how people (and software) worked on XP, and the Windows development team was able to fix more bugs, polish errata and improve the end user experience. In effect, this maturation was a feedback cycle where Windows XP, Windows XP users, and the Windows XP development team gradually became sync’d together. Until this happened, users were working against the OS, because the OS was working against the users. And Microsoft was stuck in the middle (or, depending on your vantage, the users were stuck in the middle).

Enter Vista. Five long years after XP shipped, Microsoft finally delivered their latest and greatest desktop OS: Windows Vista. As with virtually all previous Microsoft operations systems, detractors immediately surfaced. Since I’ve been through a bunch of previous Microsoft OS launches, I have gotten pretty good about sitting on the fence and not immediately complaining. In part, I don’t want to complain about something that is not real, but I also want to personally evaluate something (and build my own experience). Now, that I’ve had a year to play with Vista, I do have some gripes. These are my personal views, so please digest with a bit of salt.

Performing my typical workflow (i.e. using my typical software) Vista provides noticeably lower performance than does XP. My issue is not that Vista just requires faster hardware (because most every new Microsoft OS has required faster hardware). My issue is that Vista requires faster hardware than is reasonably available. Then, pile on top of that: Computer makers are selling bunches of Vista on machines with mid and low-end hardware. Hey! That’s a great way to build a dissatisfied user base!

Case in point: RAM. Vista is doing some sophisticated things with caching data in RAM. This really is an interesting idea, where the OS puts all available RAM to good use. But… to take advantage of this, you really need between 2 GB and 4 GB of RAM. Sure the minimum system requirement for Vista is 512 or 1 GB (depending your own Vista Roulette) but my personal take: that’s nuts! Even 1GB is nuts-o! You surely don’t want to go lower than 2GB because performance will likely suffer. But you cannot go higher than 4 GB, because that’s as much as 32-bit hardware supports (without AWE, which is best suited for servers and specialized platforms such as SQL Server). So, a range of 2GB or 4GB is an awfully small window of configurability. And, since it’s best to go with 4GB, your configuration is pretty much predetermine: You can either have 4 GB of RAM or 4 GB of RAM. This is a lot like what Henry Ford originally offered for auto color choices: Black or Black (58th best quote every: “Any customer can have a car painted any colour that he wants so long as it is black”). Maybe this issue of RAM will be a major driver of Windows 64-bit adoption.

Let’s also consider hard drives. Vista seems to push hard drives a lot harder than XP. I recently purchased a brand spanking new 17 inch Sony VIAO with dual-core Intel Core 2 processor and 2GB of RAM. And performance was just terrible. I thought: “How could this be? This is a pretty powerful machine, and Microsoft and Sony have had a year to address performance and usability!” But, my purchase offered anything but performance and usability. I tried Office 2007 and performance was bad. Booting was really slow, shutting down was also slow. Running various applications were slow. I tried running development tools (Visual Studio 2005) and performance was just the absolute pits: compiling my medium sized project (250k lines of native C++) took six times as long as it did on my 4 year old Windows XP desktop. After a lot of sleuthing, I determined the root cause: a slow hard drive. And the version of Vista that came with this laptop, Vista Home Premium, prohibits disk write caching (a clever mechanism to make a hard drive faster than it really is).

I can only surmise that important Microsoft executives decided the Home variants of Vista needed to provide lower performance, which unfortunately resulted in my poor user experience. So, I was hit with a double whammy: Vista is too slow for my hard drive, and Microsoft executives decided my new computer’s hard drive needs to suffer a performance penalty since I chose the wrong Vista variant during my shopping Vista Roulette.

A few months back, I went on a business trip to Microsoft’s campus to do some P&S (Performance & Scalability) work with the SQL Server team. In addition to getting to work with the zen-like SQL Server team, an additional perk was a visit to the Microsoft Campus store, where I quickly picked up a copy of Microsoft Vista Ultimate Edition. Now, flash back to the present. To enable disk write caching on my VAIO, I’ll just upgrade my Vista Home Premium to Vista Ultimate, then performance will be… well, better! But it turns out that Microsoft prohibits this upgrade path (Upgrading Home Premium to Ultimate is blocked by Microsoft – I again blame the executives). The thing that really bugged me is this should be technically possible. Microsoft blocked the upgrade when I entered my retail purchased Ultimate key, and Microsoft blocked my upgrade when I ran the Vista Ultimate upgrade wizard. The only thing I can surmise is Microsoft figured there was some financial benefit to blocking the Home to Ultimate upgrade path.

So, I did a complete re-install of Vista Ultimate, downloaded drivers from Sony, and reinstalled my applications. With write caching enabled, performance did improve. But not by very much. And, building software with my Vista laptop is still much slower than my XP desktop. Even the most basic actions such as copying, renaming, and deleting a single file is noticeably faster on my 4 year old XP desktop. This was slightly upsetting considering Vista aggressively caches data in RAM, so hard drive performance is theoretically not as important. So, I now realize my Vista laptop needs a much faster hard drive. I should probably upgrade the RAM to 4GB as well. Hmm… Maybe purchasing mid-level hardware was a bad idea with Vista. 12/27/2007 Update: Computer makers appear to agree that Vista Notebooks need 4 GB of RAM.

I’ve also installed Vista on my 4 year old desktop in a dual boot configuration, where I can boot into either XP Professional or Vista Ultimate. Due to my performance and usability bias, I more often use XP. As I’ve said in earlier posts, I find performance a critical piece of usability. If an application, or OS, offers significantly sub-par performance, I’ll quickly ditch it (when possible). A bunch of new bells, whistles, and improved security just don’t (currently) warrant my use of Vista. I am not an eye candy consumer. I’m not particularly enamored with Vista’s DRM. In fact I am much more concerned with substance, such as: functionality, simplicity and performance. I know incredibly talented Microsofties. And, I know many people have pored years of their lives into developing Vista. I also know it is in Microsoft’s best interest to deliver software solutions that meet (or, ideally exceed) consumer expectations. As of today, Vista does not meet my needs. But maybe after some performance and usability maturation of Vista, and performance improvement in hardware, we’ll see Vista as the Microsoft OS for today. Until then, I think to some degree, Vista will be the Operating System of the Future.

I would like to close by saying there really are a lot of major improvement that are promising in Vista. For a quick overview, please check this out (Wiki):

An articles that initiated this post: Top ten terrible tech products (cnet.co.uk)
Another article that initiated this post: The Vista Death Watch (Dvorak)
An example of what I consider “executives not getting it”: Ballmer blames pirates for slow Vista adoption (arnnet)
Also interesting: The history of Windows NT (Wiki)


Design And Marketing (Microsoft And Apple)

November 26, 2007

I’m not a marketing person, but I do appreciate the significance of packaging and design. For example, I think packaging should be representative of what’s inside. When I look at an Apple product’s package, I see something I can describe as “minimal yet beautiful”. Perhaps “functionally elegant” is better phrasing. In contrast, I consider Microsoft packaging somewhat painful to behold. It’s not that the package is un-functional, per say, but I do consider it very noisy. Maybe that difference in Microsoft and Apple packaging is a good study of the difference between Microsoft and Apple consumers.

Apple’s consumers seem to buy Apple products and expect great things. An Apple product package seems to show what’s inside, while making it look very attractive. To contrast: the Microsoft consumer is given the option of navigating reams of packing information. Ideally, this packing information is relevant, and useful, before you purchase the product. But, is it really? Or, is it just noise?

Here’s a pretty humorous (yet cutting) YouTube video on: What if Microsoft designed the iPod package? After having watched this video a couple of times, I get the impression that a frustrated Microsoft employee must have put this together. I may be wrong, but the package “as completely revised by Microsoft” sure looks a lot like official Microsoft packaging,

Microsoft designes the iPod package

Update 1: It turns out that Microsoft produced this video as an attempt to examine and communicate the challenges Microsoft has with packaging. This video was developed for Internal use and made it’s way to YouTube and GoogleVideo. For more: Microsoft Confirms it Originated iPod Box Parody Video

On a related topic.. Here is a website that proposes: What If Gmail Had Been Designed by Microsoft? This page brings you through several screenshot mock-ups showing how Microsoft would have tweaked/modified the Gmail client to apply Microsoft branding and layout design. While I think there is some truth in here, I think there’s also some generalization and allegory thrown in for good measure.

What If Gmail Had Been Designed by Microsoft?


The Future Of Cars

November 22, 2007

This post is a bit off of my normal topics, but I think it’s something important that people should be discussing. I’ll really try not to get too political, so here goes. We’ve all seen gas prices climb up to (and in many areas above) $3 USD per gallon of gasoline. We’ve also seen war, chaos, pain and turmoil going on the Middle East and elsewhere. While there is obviously some connection between the current price of gas and war, terror and fear, that’s not exactly the connection I want to voice.

While many of us (yes, I’m an American) do not have much of an immediate say in when we deescalate our involvement in wars, or how handle terror/fear, we still can take some action now. The action I propose: more efficient cars. When I say more efficient, I don’t mean a car that weighs twice as much and gets twice the fuel economy per pound.. because this car burns the same amount of gas (even though by definition it’s twice as fuel efficient). When I say more efficient, I mean something more like: a car that weighs half (or even a quarter) and gets twice, three times, or even 10 times overall improvement in fuel economy.

You might think that halving the weight of your vehicle is difficult, it’s actually pretty easy. Consider that a 2008 Honda Civic weighs under 3,000 lbs. A 2008 Ford Expedition weighs nearly 6,000 lbs. (Please correct me if I’m wrong, but it seems Ford has developed a conscious and no longer displays the weight of the Expedition) Also, please consider that an Expedition does not have twice the interior volume of a Civic. Granted an expedition tows significantly more than a Civic, but… how many Expeditions do you actually see towing things? Sure, I see one here and there, maybe once or twice a month. My point: If people really wanted to drive small cars as their daily transportation, and keep their 6,000+ lb rig around to tow boats, then they could do. Again, no judgments here. I am not saying all people should junk their large SUVs. What I am trying to say is people who are willing to take that first step, consider demoting their SUV to boat-pulling status and pick up a much smaller daily transportation. I’m also attempting to say that we (people in general) need to make a concerted effort at acquiring and driving smaller cars on a daily basis. Only then, will we be taking personal action.

Please note that even small cars have been getting bigger. This is actually pretty standard in the auto industry. Given any line of car (i.e. Civic, Expedition, etc) each model typically see a slight increase in size, power, luxury, etc. And, new models do typically get more fuel efficient. But, this efficiency is typically offset by an increase in weight. Case in point the Honda Civic:

Honda Civic Weight Increase

So, even the small cars are getting bigger. Hmmm… The Civic has gained over 1,000 lbs in the last 30 years. Granted the latest Civic is much bigger, luxurious, and faster. But that’s my point. Our cars continually increase in size. And, there are more cars on the road. And, there is more pollution in the air, water and land. Our increased use of gas has direct consequences to America’s (and other nations) middle East interests (i.e. OIL) , and IMHO plays a significant part in the current Middle East wars, our talk of Terror, and the growing base of people wanting to wage war against us. All this because we consumers want: bigger, more luxurious, and faster cars.

Side note: You could argue that newer cars have stronger bodies which better protect the occupants during a crash, but this is actually twisted logic. Some of this safeness is due to modern engineering, and the rest is due to sheer girth. And, modern (safety) engineering can be readily applied to small cars too! Sheer girth is actually pretty bad, as it burns more gas and more likely injures/kills occupants in smaller cars during a collision. So, the pro-girth argument causes people to buy the bigger (or biggest) vehicle they can afford (sort of a Demolition Derby mentality).

So, our hope for humanity, and the well being of our planet, in part hinges on our ability to downside our cars. But, no need to fear because I think it’s actually gonna be a whole lot of fun. Without further ado, here is something akin to the Future of Cars:

Aptera Typ-1 300 MPG Hybrid


The Future Of Storage

November 21, 2007

Many computer users know that their computer’s data is stored on a mechanical hard drive (aka: HDD, hard disk, or fixed disk drive). What many people don’t realize is just how old the technology is: The actual design consists of rotating platter(s) being accessed by a mechanical head that levitates above the surface. The platter spins and the mechanical head rotates back and forth much like how a Record player works: The record spins, but you manually move the head between tracks.

The basic design of today’s cutting edge mechanical hard drives (HDD) really has not changed from the 1980. Lots of HDD design tweaks have taken places over the past decades, such as new and faster interface (ATA, SATA, SCSI), and platter speed rotation speeds (7200 RPM, 10,000 RPM), but the fundamental design has not really changed.

Enter the Solid State Hard (SSD). This really is a whole new technology that in the recent past has made remarkable inroads to supplanting our antiquated mechanical HDDs. SDD works on this premise: Take some non-volatile memory, and put in a small enclosure (typically HDD sized), and add an interface connector (ATA, SATA, etc). Then, instead of a spinning platter(s) and rotating the arm, the SDD reads and writes directly to and from memory (which is often flash-based). This results in a potentially massive increase in performance. I say potentially b/c flash is actually not that speedy today. But, it still is improving in performance. And, other flash competitor technologies are rumored to offer even more performance, and do it more cheaply.

The current downsides to SDD are: high cost and small capacities. The good news: The SDD technology is maturing pretty quickly, resulting in larger drives that are getting cheaper. Currently my favorite consumer SDD drive is made by Mtron. This drive is spendy and small, but still very impressive. Their 32 GB drive currently goes for around $1,500. If you are interested, please check out the future of storage:

Tom’s Hardware Mtron SDD 32GB review

I think this is a technology to keep our eyes on.

Update 1: Anandtech’s Mtron SDD 32 GB review

Update 2: Micron is also jumping into the SDD business.


SQL Server 2008 November CTP

November 21, 2007

The SQL Server team has shipped the November CTP for SQL Server 2008. Of all the upcoming Microsoft releases (Visual Studio, Vista SP1, Longhorn, etc) I am most interested in this one. I think the SQL Server team does a good job delivering solid functional products.

SQL Server 2008 Download and Details

As you may already know, SQL Server 2008 runs on: Longhorn (Windows Code Name) , Windows Server 2003 Service Pack 2, Windows Vista, and Windows XP Service Pack 2.

Here are some things that are new in this CTP

  • Data Collection and Performance Warehouse for Relational Engine
  • Service Broker Enhancements
  • Registered Servers Enhancements
  • Synchronous net-changes change tracking for SQL Server
  • T-SQL IntelliSense
  • Declarative Management Framework (DMF) Enhancements
  • Geo-spatial Support
  • Analysis Services Query and Writeback Performance
  • Robust Report Server Platform
  • Integration Services – Lookup Enhancements
  • Analysis Services MDX Query Optimizer – Block Computation
  • Analysis Services Aggregation Design
  • Analysis Services Cube Design
  • Reporting Services Scale Engine
  • Transparent Data Encryption
  • Resource Governor – Limit Specification
  • Backup Compression
  • Plan Freezing
  • Fully Parallel Plans Scale on Partitioned Tables

For excellent info on SQL Server 2008 be sure to check out Dan’s Blog


Visual Studio 2008 and .NET 3.5 Released

November 20, 2007

Oy! So Microsoft has finally shipped Visual Studio 2008:

ScottGu’s Visual Studio 2008 and .NET Release Announcement

When time permits, I really am looking forward to trying it out! Hopefully Visual C++ native performance will be where it needs to be. Speaking from my experience over the past two years of using Visual Studio 2005 for native C++, hopefully Microsoft has made sincere efforts in addressing the performance aspect of usability. We’ll see…


Performance and Usability

November 19, 2007

It looks like Vista SP1 may not provide much of a performance increases: http://exo-blog.blogspot.com/2007/11/vista-sp1-performance-dud.html

If this is true, then it really is a shame, because my experience with Vista has definitely left me wanting for more performance. With light use of the OS (i.e. web browsing and email) I don’t feel Vista has that much lower performance than XP. But, when I use more system intensive application such as Developer tools (Visual Studio) or even basic Shell usage (copying, renaming and deleting files in Windows Explorer), Vista seems really slow. Actually, painfully slow.

My personal opinion is: Microsoft tried to push too many unproven technologies into Vista too quickly (which is ironic considering how late the OS was). And performance was never properly baked in. This unmanaged complexity resulted in an OS that is overly slow, unreliable, and immature. When I say immature I mean: it’s going to take a while for Vista to mature to the point where it’s generally considered the accepted Microsoft OS. This really isn’t any different from XP, where I’d argue that SP2 delivered maturation to XP. The big difference in my mind is: XP was never a bloated, wallowing, performance lackey.

Microsoft openly considers security critical (as they should), but when it comes to performance, it seems like they couldn’t care less… and I don’t really like that, because for me: Performance Is A Significant Part Of Usability. And, it’s not just the Vista team that is delivering a product with poor performance. I find the performance of Microsoft Office 2007 and Visual Studio 2005 also lacking. Especially Visual Studio 2005, which I consider was designed by and for executives (and not for the actual enduser).

It is generally accepted as conventional wisdom that new versions of software get bigger and slower, but I observe major Microsoft products getting slower faster than hardware is getting faster. To restate more clearly: Major Microsoft products get more sluggish than hardware gets faster.

So, I’m probably staying with XP a while longer until Microsoft addresses Vista performance. Maybe I’ll transition my main computer to Vista if I get an insanely powerful workstation…. But maybe I’ll just wait for Microsoft to fix Vista.


Follow

Get every new post delivered to your Inbox.