Tag usability

This Was Supposed to Be the Future. Make with the Jetpacks.

Not quite a personal jetpack, but still pretty neat. Ten years ago, if someone had told you that in the near future, your shoes would talk to your mobile phone as you run and that your phone would connect wirelessly with a pair of stereo headphones for music, all the while allowing you to play Scrabble with a friend who lives three thousand miles away in New York — you would have probably told them to leave some cocaine for the rest of us.

What’s even more shocking is that it all works together flawlessly, links to an online service to share and compete with others and is completely reasonable in price. It may not be a personal jetpack or teleportation, but sometimes you have to take what you can get. With respect to Apple in this scenario, it’s a testament to the restraint to adopt and innovate new and existing technologies to make complex ideas into simple and compelling features for the end-user. It’s not about being first to market or designing a device that wins on a spec sheet alone; it’s about offering features that translate into practical usability.

And speaking of usable futuristic technology gone mainstream, how about that iPhone 4 FaceTime ad? Or Face/OffTime, if you will.

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.