Tag windows

UI Design and Microsoft Windows

Four days ago, Microsoft unveiled the pre-beta of Windows 7 at PDC and offered up quite a few user interface changes meant to streamline the aging operating system. What they came up with was a taskbar that mimics the styling of the KDE on Linux and further extends the broken window preview concept introduced in Vista. Needless transparency is at every corner, another UI metaphor taken the the extreme since the introduction of Vista; and of course, more ideas from OS X have made their way into Windows, although implemented less intuitively.

I want to take a bit of time to really nail down the problems that Windows has with usability and UI design that seem to never be addressed, or just seem to get worse with each revision. This is not meant to be the usual Windows v. Mac argument that happens so often — rather, it’s a summation of the fundamental interface issues that plague Windows and prevent it from being a truly usable operating system.

One thing that OS X, and iPhone in particular, have demonstrated is a full understanding of the spatial relationships that must exist in computing. While the animations and visual effects present in Mac OS make for a great in-store demo, they serve a greater purpose – they’re visual cues that show where windows emerge from and move away to, as well as establish relationships between the windows themselves. Perhaps the quintessential example of this is Exposé. When using Exposé, you can easily view the desktop, all application windows, or just the windows related to the foremost application. It’s a useful feature that is implemented perfectly. When invoking the ‘view desktop’ key, all windows visually slide to the corners of the screen and the corners dim to reflect the temporary view scenario.

Viewing all windows or a single application’s windows dims the background, bringing focus to the windows you called upon. Each window slides into view so you know where it came from and where each will return once you’ve completed the interaction. Exposé takes a difficult UI design issue and offers an elegant and simple solution that works better than in any other OS I’ve seen to date. Minimizing and maximizing windows to and from the dock illustrate the same concept of spatial relationships and managing lots of individual windows in a graceful manner.

In the same vein, Windows suffers from one key UI design flaw – it is incapable of hiding applications. Windows offers no way to simply “hide” an application and its windows, nor does it offer a simple way to minimize a single window. This is crucial to being able to use more than a handful of applications at once and maintaining an uncluttered workflow. For example, say I’m using three Microsoft Office programs, Firefox, iTunes and Skype. In this scenario, each application has two windows open, so we have twelve windows in total. I want all of these applications open, but not all of them are relevant to the task at hand, so I’d generally have to minimize everything in Windows and rely on Alt+Tab to let me work. The taskbar would be full of individual windows squished together and navigating around is just plain cumbersome. Vista made this slightly easier by adding window previews into the application switcher, but the UI problem remains. Mac OS and other desktop environments have solved this long ago by allowing one to simply hide an application and all related windows, via menu item or keyboard shortcut, such that they aren’t visible until called upon from the dock and won’t show up in Exposé. It’s a simple idea that makes using ten to fifteen applications at a time extremely easy. Without this, Windows remains particularly unwieldy when the information you need is scattered in different programs and you have five or more Explorer windows open.

Which leads us to the culmination of the problem: Windows wasn’t originally designed to multitask effectively. As it stands, Windows retains the antiquated taskbar that lives at the bottom of the screen which becomes nearly unusable once you amass more then six windows open at a time. Some developers have tried to get around this problem by offering the option to minimize to the system tray, but it still reflects a generally poor and ill-conceived interface design. The answer to this is not increasing screen real estate as many suggest – this only encourages continuing a poor design paradigm from Microsoft. Windows has never had a great way to organize and present multiple windows. When Windows 95 came out, the taskbar and Start menu were revolutionary as a way to keep different processes in check and accessible quickly, but the flaw in the ultimate utility of this was exposed when protected memory and powerful computers made multitasking possible and painless. In its current form, the threshold of how many applications one can use at a time quickly is rather low. Some may argue it’s that there isn’t a need to keep programs open, but that is an idea borne of the usability limitations inherent in Windows.

And this speaks to the general problem that Microsoft faces today – they’re unwilling to innovate. Microsoft has such a large install base worldwide that breaking compatibility and instituting a more functional UI would draw ire from business customers and users that are set in their ways. Apple faced this same issue with the transition from OS 9 to OS X but they solved it in the most logical way they could which was allowing users to continue to boot the older OS for legacy applications. The reason that I feel this isn’t such a big problem for Microsoft is their success in the virtualization market. With Windows Server 2008, they included Hyper-V which is their superb virtualization environment where you can create virtual machines and run any x86 or x64 OS you wish. If Microsoft truly wanted to fix Windows and create a 21st century OS, they would redesign Windows and offer virtualization of Windows XP and Vista environments for older applications that haven’t been updated. This is the way enterprise has dealt with the interfacing with older database systems that don’t fit in their current infrastructure and it’s why Citrix is company with yearly revenue measured in the billions of dollars. Microsoft has demonstrated that they try to keep backwards compatibility when they can, but programs still break between revisions of Windows yet and there is little payoff in terms of security and usability. To put it plainly, Microsoft needs to quit ‘half-assing’ change and pull an Apple.

Slideshow: Lenovo X200 Disassembly

Continuing with the recent string of laptop related posts, I thought I should post a few of the disassembly photos I took of the Lenovo X200. Taking the laptop apart is rather simple – just remove the screws on the the laptop (depending on what you want to remove, you only have to unscrew certain ones) and carefully pull off the lower top casing. After that, remove the keyboard (be careful of the ribbon cable to snaps onto the motherboard for the keyboard/TrackPoint. From here, you can swap out the WiFi card or just have a quick look around. For replacing the RAM or HDD/SSD, you don’t need to take apart the laptop. Just remove the side drive bay cover (one screw) or remove the two that secure the RAM bay cover on the bottom. I should have a full review of the laptop up sometime this week, but I hope these photos are useful. If you’re unable to view the slideshow, check out the image set on Flickr.

Benchmarking: Samsung 64GB Solid-State Disk

There has been a huge amount of hype and misinformation in the solid-state drive debate as of late and whether it’s a technology that’s ready for primetime; I recently purchased one with my newest computer and want to offer some real-world tests. The drive in question is a Samsung 64GB SATA SSD (1.8″, Model No. MCCOE64G8MPP) which came along with my ThinkPad X200, surplus from the thin-and-light X300 I’m sure. It’s a SLC (single-level cell) drive which offers faster transfers and a longer lifespan than the cheaper MLC drives that are coming onto the market, but I’ll delve into those differences a bit more later on. First, let’s see how the drive performs…

In some basic testing with the HDTune benchmarking utility, the Samsung drive performed admirably. With an average read speed of 67MB/s and a peak speed of 88MB/s, the drive offers about twice the performance of a standard 5400RPM SATA laptop hard disk. Where the drive really shines is the almost non-existent access times on your data. In this test, the average seek time was 0.3ms where a traditional notebook is comes in at 15-20ms (or about 50-60x slower). Read/write performance also does not suffer from the pitfall that platter-based drives do, which is that information reads at the same speed regardless of where the data is physically on the drive.

The file read/write benchmarks told the same story as the standard read test. When using the 64MB file size, the drive offered consistent performance peaking at about 100MB/s reading data and 90MB/s writing. Comparing this to the tests of the reference Seagate hard-disk drive, it was consistently more than twice as fast as the traditional drive peaked at 40MB/s (HDD benchmark charts are provided at the end of the article). Boot times are not a terribly relevant or accurate way to gauge a computer’s performance, but since gamers/nerds are always clamoring for them, I’ll include them anyways. With the SSD, a the laptop booted to the Windows login screen in 34 seconds and at the desktop with all startup items loaded in a total of 39 seconds. With the HDD, those same tasks were completed in 46 seconds and 58 seconds respectively. Both of these tests were with the same drive image running Windows Vista on an Intel Core 2 Duo 2.4Ghz notebook computer.

As for the SLC vs. MLC debate referenced earlier, it’s all a matter of cost. The best performing SSDs on the market are SLC drives. SLC drives offer better performance, lower power consumption and a longer-lifespan (100,000 write/erase cycles per sector as compared to 10,000 cycles on an MLC drive). MLC (multi-level cell) drives are cheaper to manufacture and are quickly becoming popular because of the lower price point. The lifespan argument loses its utility when one takes into account that 10,000 write/erase cycles is averaged/leveled out through the drive’s own firmware so the same cells aren’t constantly being rewritten (and since SSDs have a near-instant access time, there is no ill-effect on performance). Also, the useful life of a consumer notebook computer is surely less than that of the drive. In either case, a solid-state disk can greatly enhance the performance and battery life of a notebook, but it does come at a hefty cost.

Seagate HDD Benchmarks

Howto: Install Windows Vista from a USB Drive

Have you ever needed to install Windows on a computer that doesn’t have an optical drive? I ran into this issue recently when I needed to install Windows Vista on my newest laptop, a Lenovo ThinkPad X200, and thought it would be useful to share the rather simple process here. You can do it from either a USB 2.0 flash drive or a USB hard-drive (the ideal way).

What do you need? A 4GB or larger USB flash drive or hard-drive and a computer with a BIOS that supports booting from a USB device. Almost every computer made in the past three years or so supports this feature. Also, you’ll need your Windows Vista or Windows Server 2008 install disc or ISO (for this, I used a licensed copy from my MSDN subscription).

  • Open the Disk Management console (run “diskmgmt.msc”)
  • Format your flash drive as FAT32 and set the partition as active/primary.
  • Copy the entire Windows disc to the USB storage device – the easiest way is by running “xcopy D:\*.* /s/e/f E:\” at the command prompt (where D: is your optical drive/mounted ISO and E: is the USB flash drive.).

Note: If you are using a large external hard-drive, you’ll want to create a partition smaller than the drive itself since FAT32 has certain size limitations. In my case, I chose to make a 6GB active partition and left the rest unpartitioned.

Remember, this is not only useful for computers with defunct or non-existant optical drives – you can also use this for installing Windows on multiple machines quickly as you’ll find it significantly quicker than reading off a DVD.

I have not tested this with Windows XP, however I see no reason why it would not work. If you encounter issues where you cannot boot successfully from the USB drive after the copy, you might need to run the “bootsect.exe” from the command line. Check MS Knowledgebase for more detailed information on this.

The problem with Windows software developers.

The independent and smaller software developers for the Mac platform are the best in the business – they’re committed to the operating system and identify with the experience that the end-user has come to expect. On the Windows side of the aisle, this isn’t the case. Windows developers, as a community, seem horribly fragmented and do not identify with the same goal. Each brings a product to market to fulfill a gap they believe they can fill, however just how an application will work and interface with the system and other software is almost always an afterthought. Consistent GUI? What’s that? Every program believes that it either will look as bland as possible or it will try and reinvent the wheel yielding a clusterfuck of a UI.

This morning, I was looking for a Quicksilver-inspired Windows application to use in my coming experiment (details to come soon – I have to check with Amnesty International to verify whether or not it falls in the realm of torture), and I found a new one that tries in their own special way to do the same. Dash is one that really caught my attention as it seems to best capture the basic nature of Quicksilver’s search, but it led me to another facet of the Windows developer problem which is how they market their software. Take a look at the seven reasons they suggest I use Dash at their product page. Item two on that list (because everyone loves reading lists) is “Reduce Repetitive Stress Injury”. Seriously, go look, I’ll wait… Rather than the pithy “act without doing” tagline adopted by Alcor, the developer of Quicksilver, Dash takes it in the opposite direction and is positioning this as a marvel of modern medicine. I say this in jest, but the problem is that it’s not addressing a problem they can solve or the strength of their product – it strikes me as something they pulled out of their butt to fill the empty space on the site.

And then there’s price. Dash is set at $50.00 except if you purchase now, you can get their “pre-release offering price” of $19.95 saving you $30.05. Let’s skip right past how this is on par with infomercial level “buy in the next thirty minutes and get a second free!” silliness and look at how it’s they’re establishing value. Software isn’t designed to be inexpensive and offering excessive discounts can make it seem as though you’re diminishing the worth of a product; a great example of this is Transmit from Panic Software for the Mac – it’s an FTP client, but it’s billed as the FTP client. As such, Panic doesn’t discount the software to entice those who undervalue what they offer, which is a fantastic user experience and just well-designed software. Cyberduck and Fugu are free, but I saw the value in the product that made $29 palatable. What the makers of Dash are doing is, in my opinion, either mispricing their product or using used car salesman tactics to win over customers. Ignoring the fact that Quicksilver, a vastly superior product to this knock-off, is completely free – Dash is selling an application at their ‘regular price’ that pushes it into the range of what full-fledged productivity apps cost. Launchbar, a product similar to Quicksilver for Mac is priced without the gimmicks, at $19. Fair.

I could continue, but for the sake of brevity, I’ll end this here. Windows developers and software vendors have so much to learn from the Mac developer community about creating better applications, but even more importantly, about marketing. If it can be summed up in a sentence or two, it would be this – stop selling simple consumer apps the same way Microsoft and Oracle sell enterprise CRM software. Home users don’t want to see how many different ways you can say the same thing on your “features” page, they want to see you solve a problem they have and do it elegantly.