15 August 2015

Windows 10 is a special and wonderful operating system.  I am excited about what it brings, the future of updates delivered incrementally, and the new MIcrosoft.  As a user of Windows from time immemorial and one of the few holding out that it is simply superior to OSX, I am happy to see what has happened with 10.  Most of all, from my perspective, it performs better than any version of Windows I have used before.  The model of developing Universal Windows applications and being able to target the Universal Windows Platform core APIs that are common across Windows desktop, server, phones, tablets, XBox, Hololens, and more with Extension SDKS for the unique characters of different types of devices is extremely exciting.


When I interviewed Carl Franklin on my podcast, he expressed that Windows 10 was something that had excited him previously, but that at the time of recording, the looming release date did not provide adequate time to shore up the problems he was seeing in the preview versions.  This was consistent with my experience and there was far to go to make the product stable enough for release – it seemed it was too far.  I had many problems in interacting with the previews, even the final preview before the release version shipped.

That Windows 10 shipped on schedule seems a Herculean feat – and it is one they pulled off.  When my machine shut itself down to install the release version of Windows 10 (it did so without warning while I was right in the middle of a Pomodoro), I was unhappy.  When it completed and I interacted with the release version and found that the operating system on my machine was a rock of stability (I have since run into a couple minor problems, but it’s still remarkably stable), all was forgiven.

All this does not mean, though, that I was unhappy with Windows 8.  I think it was a great operating system as well.  It brought performance improvements and did almost everything I had been doing with Windows 7.  My only complaint is that Windows Media Center support, though still present, was greatly diminished and it wasn’t usable the way I want to use it.  In Windows 10, it’s just gone.  This is disappointing.  Truthfully, though, consuming media, especially television, is something I seldom do anymore, and I’m not really upset about it.

It seems a great majority of attention, though, on what is good in Windows 10 and what was bad in Windows 8 focuses on the Start Menu.  This, to me, is completely baffling.  I don’t understand why that is something so important and worthy of so much attention.

That so many view Windows 8 as a failure because of the removal of the start menu and then a return of something they felt inadequate is evidence that users complain not about not having what they need, but not having what they expect.  The wailing and gnashing of teeth regarding the Start Menu is a misguided attempt to hold on to something, to resist change, regardless of the benefit of that something, regardless of the virtue or vice of the change.


Windows 10 has been hailed by many as a wonderful innovation because it “brings back the Start Menu.”  There is dissent from this opinion, though.  I saw a Tweet about still being unsatisfied about the Start Menu.  Whether the Start Menu in Windows 10 is a work of art worthy of admiration and worship or something heinous and still lacking in what it should be, there is one question on my mind:

Why do we care?

It is my position that software developers asking about what happened to the start menu are asking the wrong question.

Let me share my thoughts on the subject:

What is an operating system?

Wikipedia says:

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function.

Notice that there’s nothing in here about having a Start Menu.

The first job of an operating system is to manage the hardware and software, to schedule processing resources and allocate memory and processing so that applications are served with out starvation and to the extent possible, with the priorities of the user.  A secondary job in support of this first one is providing a mechanism for the user to choose the applications he or she desires to execute and those to terminate.  There are several ways of providing such an interface.  Among these things is some sort of navigator from which a novice user can discover available applications and learn about how to fulfill their desires.

The Purpose of the Start Menu

In most problems in building systems, chances for success are greatly increased by focusing not on the solution and the technology, but on the problem.  Complaining about the start menu is a case of looking only at a solution and fixating on the how of that solution and forgetting to think about the why.  Why does a user want a Start Menu in the first place.

The Windows Start Menu is a method of launching applications, and not a very good one.  A user with knowledge of what he/she desires from a machine and with the sophistication to access it via something beyond the tools of novices will use a command line or a launcher/search capability.  It is theoretically possible a successful software professional could be skilled in building software while being a novice computer user.  It is possible, but not likely.

As a software professional, you should not be relying on things like task bars and start menus.  Optimized information technology professionals key executable and script names from command lines and/or use a launcher capability.  In Windows, this means using Powershell (ideally) or a cmd.exe command prompt and/or using the Start Menu not as a menu, but as a search dialog.  In OSX, this means using bash and/or using the Spotlight search (though it performs poorly and you should be using Alfred as an alternative).

From my perspective, Windows Vista and 7 introduced a very useful feature in turning the Start Menu into a search function.  Before Vista, Windows users resorted to installing things like Launchy.  Now, launching an application is as simple and pressing the Windows key and starting to type the name of the desired application and letting the magic of autocomplete take care of giving a context to easily choose the right app without having to key the whole name.  Everyone wins.

In Windows 8, this changed from being something that happened in the corner of the screen to something that consumed the entire screen.  I’d say that’s probably inferior to being able to see other things on the screen, but it’s really inconsequential.  Your mind has shifted to the context of launching some different application and what is on the rest of the screen matters little.

The Start Menu is useful for discoverability.  If you don’t know what is installed on your machine and you’re trying to figure that out, using the menu is a pretty good choice.  My expectation is that most developers have set up their own machines and have used scripts to install the applications they use and know exactly what is there and why.  I remember searching around on a Windows computer as a 12-year-old child trying to figure out what fun things I could find.  I’d like to think that as an adult software professional, that’s not on your list of daily activities.

So, in the holy war of whether there should be a Start Menu, what it should contain, and how it should look, my answer is a big
“I don’t care.”

This is a topic only interesting to software folks in the context of making sure grandma can use her computer.  I do not want to minimize the importance of unsophisticated computer users because they matter and I want them to have a good experience.  Yes, your grandmother needs to find her apps.  For this reason, Microsoft should care about all users.

Even for grandma, though, the question should not be one of how the Start Menu should appear, but one of how she can best find her apps.  For more sophisticated computer users, this is even more the case.  How do you launch your applications?  If you are a technical person of any stripe, I hope you’re not hunting around in the Start Menu for things you already know are there.  If so, there are better ways.

Developers and the Start Menu

I will grant that software developers and interaction designers building Windows should care about the Start Menu.  I will grant that software developers as family support providers should care about the start menu to the extent that they’ll never get their relatives to stop using it.

Software developers as users of an operating system, though, should not be concerned about the Start Menu.

blog comments powered by Disqus