I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

April 24, 2005

The Start Menu must be stopped

Start Menu Gone Wild!

As I struggle to open applications on my PC, I was reminded of a few entries in Scott Hanselman's blog:

Personally I have enough crap in my start menu to fill my 1400x1060 screen...arguably only 30% of the icons represent applications, the rest are just flotsam. (May 11, 2003)

As I sit here and look at my Start Menu, that fills my 1600x1200 screen and runs off the right edge... (October 10, 2003)

Anyway, I'm about 40% done installing my programs as you can see by my Start Menu. I'll know I'm done when the Start Menu completely fills my 1400x1050 screen. (December 7, 2004)

I'm not picking on Scott here. I just happened to notice a theme in his posts that jibed with my personal experience. The Windows start menu makes launching applications far more difficult than it should be. A giant horizontal menu may have seemed like a good idea back when Windows 95 was launched-- but clearly, it isn't. I curse every time I have to launch an app that isn't pinned to my start menu, or in the recently launched program list:

  • The list is not in alphabetical order by default. It's in install order. You can manually sort it by right clicking the list and selecting Sort.
  • Software vendors tend to put their applications in folders using the name of their company. So if I want to use CrazyApp, I have to remember to look for the MonkeyCorp menu. Why should we expect the user to know or care what the company name is?
  • Some items don't go into folders. These items show up at the bottom of the list. If you're looking for Word under the Microsoft folder, or the Office folder, you're out of luck. It's set up with its own icon at the bottom of the list. And why the bottom? I have no idea.
  • Some items show up at the top of the list for no obvious reason. That's because those items are set up for All Users. Again-- how is a user supposed to know this?
  • Once you have more than one "row" of applications, cascading folders that pop up from the left row obscure the information in the right row. This design clearly doesn't scale.
  • If you want to rearrange the list of applications, you can do so by dragging the items in the menus. However, this is incredibly difficult to do within a series of cascading menus. Try dragging an item from within a folder to another folder, for example. Or right-clicking an item to delete it, which sometimes results in the entire start menu closing.

The deeper problem with the start menu is that it's, well, a menu. Menus have poor usability. A single "Start" point for the user is a fine idea, but it really starts to break down when you make it into more than a simple, visible list of items, as the All Programs link does. A 2003 usability study showed that all menus are inferior to Yahoo-style index lists, and horizontal menus have the worst usability of all:

The poorest performer, both objectively and subjectively, was the Horizontal layout. Participants in this condition took longer to find the task information, and they had the opinion, though non-significantly, that this layout was more disorientating than the other two layouts. It is possible that the distance this layout was from the center of the screen contributed to its poorer participant performance. In fact, one participant commented that this layout "was more difficult to see and reach than the others because of its height on the screen."

It's clear that traditional menus have no place on web pages, and should be used sparingly in GUIs. And that's the critical problem with the Start Menu: it abuses menus. For launching applications, it's a usability trainwreck. I'm sure they'll be fixing this with Vista [and they do], but in the meantime, what's a poor computer user to do?

Posted by Jeff Atwood    View blog reactions

 

« You Can Write FORTRAN in any Language Canonicalization: Not Just for Popes »

 

Comments

It does suck, and I'm surprised I haven't seen this subject blogged about more. Maybe it's just that we're all so used to it by now, we don't think about how much it sucks and just live with it.

So what's the best way to solve this? Apple has the dock, which holds most applications, and Gnome has a more task-based menu (ie; Internet -> Web Browser instead of Microsoft -> Internet Explorer). KDE's menu is even more complex than Windows, but it does attempt to separate apps into groups at least. I'm not sure that any of these solutions really cut the mustard, though.

http://www.gnome.org/~davyd/gnome-2-10/images/panel-menus-full.png
http://shots.osdir.com/slideshows/slideshow.php?release=265&slide=29

Jeff Perrin on April 24, 2005 11:59 PM

I use the quick launch toolbar autohidden and docked on the left side of the screen. Fortunately all the apps that I use commonly just fit on this quick access toolbar. You can see an example here:
http://willrickards.net/images/quicklaunch.png

Will Rickards on April 25, 2005 12:13 AM

I have never really liked the Start Menu. I really don't like the Quick Launch bar either. Using the desktop to stored program shortcuts is even worse.

I have used and liked several different command line based launchers. Currently I am using Slick Run
http://www.bayden.com/SlickRun/

I put all my shortcuts in a single directory and rename them to a short name. For example Query Analyzer is just "query". That directory is then placed in my path. I have Slick Run mapped to the keystroke alt+space. Once it is up I can launch any program simply by pressing alt-space and typing the name of the program - exactly what I was thinking in the first place. If I need a directory I can just type the path to the directory. If I need a web page I can simply type the web address. The Start menu's "Run" feature is close to giving me this setup without using another program. However, I could not figure out how to map it to the keystroke that I wanted.

If I don't use a program for a while and can't remember the name - well I have everything in one directory so I just have one place to look. Once I find the name I don't need to add a new shortcut or move it to the top of the list because I will remember that name as long as I am actively using the program.

One other advantage to this. If I am on a different computer and I want to run notepad or calculator I just go start-run and type the name. Those programs are already in the path. Then I don't need to hunt through a start menu I never look at.

The downside - when someone is at my computer they don't know how to launch anything - well maybe that is not a downside....

This solution is not for everyone because of the setup involved. However I was surprised that it was easier for my wife. When she asks - "How do I type a letter again?" I just say. Press alt-space, type word and press enter. Try explaining how to find Word on a start menu in fewer steps than that.

Mark Elder on April 25, 2005 12:30 AM

> Maybe it's just that we're all so used to it by now, we don't think about how much it sucks and just live with it.

God bless Microsoft for at least including the "shortcuts to the programs you use most often" feature in the Start Menu. I set this to a really high number in the "Customize Start Menu" general tab; right now it's at 12. Like most users, we tend to use the same programs over and over so this satisfices for now. It's when I need to launch a less frequently used app that I run into problems.

Of course none of this makes the All Programs menu suck any less, but it may explain why it's not a daily problem.

> So what's the best way to solve this?

I find the boring old c:\program files\ folder hierarchy easier to navigate and search for apps than the massive, horizontally cascading All Programs menu. How sad is that?

I do think the 80/20 rule applies here: once we launch the app, it gets absorbed into our automatic "favorites" on the start menu, and as long as it stays there we don't have this problem. So finding a new app to use for the first time after installing it is a 20% problem.

With that in mind, I think an easily searchable, FLAT columnar list of applications would be perfect. Something along the lines of "Add/Remove Programs" but with a lot more polish, perhaps listing the name of the app, a description of it, the company who created it, the last time I used it (or another user used it), when it was installed, etc etc. It should also prominently feature the full-size 32x32 or 48x48 app icon.

Jeff Atwood on April 25, 2005 12:31 AM

I don't like the Start Menu either, avoiding it as much as possible. I try to put all my commonly used apps in the 'Quick Launch' bar: Visual Studio, Command Prompt, IIS, Event Viewer, Services (Control Panel), Add/Remove Programs (very helpful to place this in QuickStart!), Outlook.

Also, I create shortcuts to all my programming tools using autohotkey: http://www.autohotkey.com/ . Great utility.

thedisciple on April 25, 2005 01:46 AM

Keyboard shorcuts / hotkeys ARE cool, I agree, but probably aren't relevant to a GUI oriented solution like the Start Menu. I use WinKey, myself, for what it's worth:

http://www.download.com/3000-2344-913626.html?tag=lst-0-1

I really wish the Start|Run menu (Windows-R) item was a lot smarter (Monad?) and could absorb the functionality of something like SlickRun.

> I try to put all my commonly used apps in the 'Quick Launch' bar

This is a completely manual process, though; the computer SHOULD be able to figure out what you're doing and automatically build something for you to make your life easier.

Jeff Atwood on April 25, 2005 02:07 AM

Very true... The Start Menu can be a pain, if you don't do anything about it yourself: I organize all entries myself, dragging and dropping menu folders and menu items into my specific folders... The problem though is that when uninstalling apps, these moved startmenu entries do not get removed, since the installer does not know they've moved.

Recently I tried ObjectDock (objectdock.com). Not only does this launchbar look great, the non-free version allows tabbed docks so you can set up tabs for various types of apps. Since you don't use all of your apps on a daily basis, I've put only these apps on the objectdock, that I use most frequent. Whenever I need one of the others installed apps, I access them from the Start menu,

Jack on April 25, 2005 03:45 AM

Did you notice what kind of menu that use on the page of the study? Yep, it's horizontal. Go figure.

Chris Wallace on April 25, 2005 07:33 AM

Thanks for the pointer to the Customize Start Menu tab - I just set it to 15, which I think means I'll cut my use of All Programs by about 99%. On the (old) Mac, I used to have my Recent Applications set at 15 or 20, and rarely needed anything that wasn't on that menu.

Carl Manaster on April 25, 2005 10:46 AM

If you've got the MSN Desktop Search application installed then just type part of the application's name into the MSN search window that sits in the taskbar.

For example typing 'word' lists 'Microsoft Office Word 2003' and 'WordPad' in the Programs category of the search results.

MSN DS indexes your exe filenames, and possibly shortcuts to use in the results section of the 'Programs' category in the search results quick list.

Sean McLeod on April 25, 2005 11:47 AM

God forbid one should have to take responsibility for keeping things organized things on their own computer.

Maybe it's just me, but I feel no pity for someone who's Start menu looks like Scott's.

Chris on April 25, 2005 12:42 PM

I used to feel the same way but I have to agree with the poster above. It takes a minimal amount of time after an application install to re-organize the start menu. With a little bit of effort you can easily organize all your start menu items such that you don't have multiple pages in your root and child menus.

I'm also the type of person that has 150 icons on my desktop and actually type the first few characters and press enter to run them instead of hunting for what I want and clicking with the mouse. So I'm probably not the person you want to be talking to about UI functionality and usability. :)

Shelby on April 25, 2005 01:28 PM

I've used a little app for years that has served me very well. It's called Blanch.
http://www.jason3d.com/blog/2004/12/10/blanch-start-menu-killer/

It's kind of like Drop Drawers from the mac. You have tabs that you can drag shortcuts/exe/files/url to. You can have a few or many tabs and size them as needed. You can even drag files to an icon in your Blanch bar to open it in that app. It takes no more than 2 clicks to launch any of the apps you've added to your tab. I've got mine set to auto hide at the top of my screen. When hidden it's a single row of pixels. I just mouse up to it and it pops down (you can set the delay time).

This is always the first thing I install on any of my machines. I highly recomend giving it a try.
http://oneguycoding.com/blanch/

Jason3D on April 25, 2005 01:44 PM

While I have found that manually organizing programs into submenus - usually with such prosaic names as "Internet Tools", "Programming Tools", "Viewers and Readers", etc - vastly improves the usability of the Start menu, it is a stopgap measure at best. Not only does it take added time to organize and maintain, most application installers don't allow you to change the location on the start menu; moving them subsequently can confuse the uninstallers and updaters later. Furthermore, with no standard groupings, it means that any such organization on a given system is ad-hoc, and likely to confuse other users.

In the end, the problem is with the design, as the article mentions, but it goes deeper than just the problem of finding applications. As several observers have commented - Alan Kay, Jef Raskin, and Ted Nelson, to name a few - the entire system of separate applications and hierarchical file systems is at fault. While it is simple to implement and easy to understand in general, it simply does not match the way the human mind works with information, and thus requires considerable extra thought to use.

What is really needed is a system in which data can be arranged and re-arranged fluidly, using a single common interface. Rather than separate applications, the system would provide a set of tools which could be applied to data at need - and which can themslves be searched and organized by the user as needed - for viewing, searching through and manipulating data. While hierarchial structures would be possible, they would not be required, and certainly not enforced.

The problem of course is that no such systems exist, and designing one is gravely difficult. The Xanadu Project has been mired in this problem for forty years and more; Kay's work at Xerox has been twisted into a caricature of itself, a friendly mask over the same old rotten filesystems. More recently, the "Humane Interface" Project seems to have stalled with Raskin's death. Despite decades of work on better ways of using computers, in the end very little has really changed.

Jay Osako on April 25, 2005 03:42 PM

> I'm also the type of person that has 150 icons on my desktop and actually type the first few characters and press enter to run them instead of hunting for what I want and clicking with the mouse. So I'm probably not the person you want to be talking to about UI functionality and usability. :)

LOL, that's pretty clear -- "sailing the sea o' desktop icons"

Jeff Atwood on April 25, 2005 04:31 PM

++ for SlickRun. Between that and my quick launch menu I hardly ever hit "Start".

'ide' - launched Visual Studio
'qa' - launches Query Analyzer
'ie' - launches Internet Explorer
'ff' - launches FireFox.

If I want to go to a web site, I just type the url. I ended up falling in love with this kind app launching using Quicksilver on OSX and migrating it over to my Windows box. I can't imagine going back to the 'Start' menu now.

Scott on April 25, 2005 04:54 PM

To Mark Elder - the k/b shortcut for start->run is Windows-R

Its an aside, but windows shortcuts are nice. Windows-L locks your machine (great when you leave for lunch)
Windows-D toggles 'show desktop'
Windows-E opens explorer.

There are others, but those are my faves.

Rasheed on April 25, 2005 10:34 PM

Interesting the description of the Longhorn Start Menu that Rob (above) has linked to. See
http://www.pcmag.com/article2/0,1759,1789345,00.asp

"If you're like me, your programs menu has no doubt become a massive, unwieldy list of programs, with multiple panes on the fly-out menu. That's a real nuisance. In this build, a scrolling list of your programs is built in a subwindow on the left side of the start menu. Also, a small dialog entry box lives at the bottom of the start menu.

If your list of applications is very long, just start typing an app name in this box. As you type, Windows will make a guess as to the name, making the scrolling list shorter as you type more letters. It's a great boon for users with tons of programs."

mrpeabody on April 26, 2005 08:40 PM

That's GREAT! And it's almost exactly how I tend to launch infrequent programs today-- I have a hotkey for c:\program files\, then I start typing the first few characters of the folder name I want.

Jeff Atwood on April 26, 2005 09:58 PM

I use the Microsoft Office Shortcut Bar, which is an old piece of software that puts a shortcut bar at the top of your screen. It is great because when you have a maximized window, the shortcut bar is snuggled right between the text of the title bar and the three window size buttons on the right. I have not seen a better way to have quick, one-click access to programs.

Liron on May 12, 2005 06:12 PM

Interesting discussion. Was Googling about ObjectDock and found this page.

Jason3D rocks. Microsoft ditched the Shortcut Bar with Office 2003 (Office 11, I think). I depended on it for many years and have been looking for a replacement for several days now. That Blanch software is just as good, if not better than the OSB.

Viva la Google!

dfg on August 2, 2005 02:21 PM

Are you guys English, or just retarded?! The start menu, although I admit the cascading could be cleaned up a bit, is an excellent way of getting quick access to almost any application on your pc. It is generic, and anyone can get to it without having to search through all kinds of file folders for some program.

Frequently used programs can be available for very quick access, and there's plenty of ways of customizing your desktop to make things more convienent for you. But the start menu is still always there if someone is not used to my nerdy methods of organizing my desktop.

Scott on February 20, 2006 02:55 PM

donationcoder has a *free* program, Find and Run Robot, that does incremental searching in the start menu and a whole lot more. you'll never need to go hunting in the start menu again:
http://www.donationcoder.com/Software/Mouser/findrun/index.html

mouser on February 20, 2006 04:32 PM

I use the application Launchy (sourceforge.net), just hit alt+space and type the first letter of the program.

That said, would still like to find a way to keep the start meny nicely organized with minimum effort.

bnaut on August 19, 2006 03:12 PM

Hey, was just attempting some SEO stuff and I found this page.

I agree with you totally, so one day I started a project which I called StartMenuEx. I actually made it at work while noone was around ;)

Basically its a replacement for your start menu, which is quite customizable etc..

Oh one other thing! You should ALWAYS customize your StartMenu\Programs\ folder!! Use tidy start menu if you have to, I just do it by hand. One good idea I got from linux!

Andrew on September 11, 2006 02:01 AM

That's why I dock all of my popular programs to the quick toolbar on the bottom-left and shortcut my essential files to my desktop. Minimalism suits me and I never touch the Start Menu except to use Control Panel.

Dee on January 11, 2007 05:57 AM

Maybe it is time you <a href="http://ilkeryoldas.blogspot.com/2006/12/microsoft-substitutes.html">substitute Microsoft software</a> with better, free alternatives! I recommend Launch on that list to solve this problem.. I don't have an applications folder in my start menu!

ilker on February 4, 2007 12:47 PM

me personally, I use object dock, msde by star dock to put all my links in because it easily hides at either the top, sides of bottom of your screen and can hold a little over two dozen links. Has any one heard of what they are doing in the new os "vienna"? because apperently they are destroying and getting rid of all of the menus and taskbars and system tray things and replacing them wiht pie menus(some weird contraption they thought up).... finally they are getting rid of the start menu!

vron29 on March 27, 2007 09:42 PM

I totally agree. It was great in 95, 98, and ME but then hard drives started to get so big that they hold app after app. Here I am just got a 250 Gig about half a year ago (upgraded from a 32 gig and a 27 gig) and going YEAH, but now If i don't have it in one of my many folders on my desktop or pinned, I go trundle through my list which almost fills my 1280 x 1024 and because my computer is 3 years old now it takes forever to load the darn thing. And I feel lucky not to have VISTA because I looked at that menu and I would hate to look through that. (If XP's wasn't bad enough)
* Thinks, since I am starting to program in C# mabye I could create something that easiley organises all the normaly crude into something managable*

The disgruntled on June 4, 2007 09:47 AM

Try Engage. It's a Start menu replacement that I wrote that makes it much faster to find and launch programs, web sites, searches (Google, Amazon, eBay or whatever) and more. It will even automatically organize your programs for you. Works with all versions of Windows, from 98 to Vista!

Andrew on June 22, 2007 02:55 PM

Is the vista interface much better than XP?

mel on August 7, 2007 07:37 AM

You could just, you know, organize your programs list into folders. For example, put all games under the games folders, editing programs (Photoshop, Maya, etc) under an editing folder, etc.

Niggy Tardust on November 12, 2007 07:00 PM

somebody got here before me sorry about that!!!

steve on December 1, 2007 03:21 AM

I use RocketDock for all my main apps. It's a lot like the OSX dock. I rarely ever have to use my start menu.

http://rocketdock.com/

Jeremy on December 14, 2007 06:22 AM

Maybe it's lesser known, but I actually put a link to a folder on my quick launch. (added as a new toolbar from the right-click menu)

For instance, I have about 150 client folders within 1 folder called "client projects." I linked this folder to my quick launch and windows gives me a start-menu-esque interface to quickly (really quickly) rollover and open up multiple folder levels to find the correct files I need. It's so much faster than a file explorer and so much more organized (by me) than the start menu.

I recommend trying that.

Jeremy on April 21, 2008 07:48 PM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.