Dashboard is a metaphor for what’s right and wrong at Apple

Dashboard is a metaphor for what’s right and wrong at Apple.

First, let me say Dashboard is cool, it’s sexy, it’s got neat transitions, and it is the number one selling feature of Tiger. I will use it, others will use it and I could never imagine something this cool coming out for Windows or one of the other UNIX, at least not first. Now that Apple has it, they’ll rip off the idea, poorly. So this isn’t a “Bash Apple/Dashboard” article. However all those positives doesn’t change what’s on the other side of this coin.

Second, let me say Dashboard is crappy User Interface design, especially compared to what it could have been. The old Apple (before NeXT) would have been embarrassed to ever release anything this narrow in scope, and totally missing the bigger point. It is what happens when Sales/Marketing designs UI’s and won’t listen to the engineers.

Good user interface isn’t about “hey that looks neat”; it is about “hey that works right, every time I want to use it”. It is anticipating needs, and making things broadly applicable to as many users, in as many ways as possible. It is also about designing and releasing the second version of a product first, so that there’s less change and more consistency/predictability.

Apple’s new UI’s works well for newbie’s, but less well for experts. Of course Windows works less well for both, and UNIX only works mediocre for experts/nerds, so Apple’s the best of the three, but that’s not much to be proud of. If Apple fixed things over time, I’d be easier on them; but things like the Dock, Expose, Finder, and Tiger in general proves that after 4 years and 4 revisions, they have no interest in fixing things that are broken; instead they’re too busy marking the next new feature.

Which brings me to Dashboard. Dashboard It is two things: A way to create new mini-Applications using web technologies (JavaScript as the Language, and HTML as the display). And it is a way to display these applications in a special floating layer.

Some think Dashboard is a rip-off of Konfabulator, but there are enough differences that even if the scope and functionality is very similar, the implementation is substantially different enough that Apple deserves the benefit of the doubt. But I understand their concerns that Apple keeps borrowing their ideas from developers without credit/compensation. In truth, Microsoft and UNIX people steal more with less innovation, so I guess that makes it all OK?

So, Apple created sexy little web-enabled Desk Accessories, and a floating layer to display them; Dashboard. Let’s stop thinking like a user or marketing person, and start thinking like a Human Interface designer. Ask the question, “How can I make each of the two behaviors as broadly applicable as possible, and anticipate users needs, and make things more consistent?

First is the Interface Mode issue: People want to place commonly used functions or information/feedback in a separate layer, and bring them up, or hide them en mass. But the bigger picture is that sometimes users want this stuff to float in front the other windows (it’s own layer), or behind them (status/display), or in front but opaque (background stuff is just noise). So users really want configurable layers that can bring in different groups of accessories at once. Instead of Dashboards “one layer” fits all design, they want multiple layers with different properties, controlled by the user. In other words, users want to be in control, not have Apple decide how they should work. That’s the difference between empowering users, and a marketing feature; don’t just steal, innovate.

Why should only things programmed in one way (Dashboards JavaScript + HTML) work on this layer? Users want to be able to put regular Apps, shell scripts, AppleScripts or Desk Accessories on this layer as well. Users don’t care what language something was programmed in; and they don’t want to have two different calculators: one for the dock, and one for the window/dashboard-layer. Make it so that any apps can be put into dashboard. And while we’re at it, the users and programmers want dashboard apps so they can be run as regular apps as well. Or to be able to use Dashboard App UI programming to be able to control scripts, apps, and so on. Apple totally failed to anticipate my needs as a programmer/user.

Let’s keep going. Basically, there are many types of Applications; regular apps, menu apps (menulings), docklings (things that display in the dock), dashboard apps, headless apps and so on. Why? Users and programmers don’t want 5 different versions. Apple’s lack of architecting is artificially limiting code to individual interface modes, and making users lives more difficult. There should be up to five modes for every app; not five apps to do one thing (in different ways)!

There’s no current way to move between these interface modes (apps, dashboard, menu, dock, etc.), but there should be; drag and drop. Allow users to drag an Application to the menubar to make it a menuling, or from there to the dock (to become a dockling), on the desktop/finder double-clicking will run as an app, and dragging it to the Dashboard indicator/layer will put it in there.

As a user, there’s no visible way to select the multiple dashboard layers or visible feedback that they exist. So have tabs/drawers that are dashboard layers that can be pulled out, and each shows the function key that will activate/deactivate it. You could drag to that tab/layer as a target, and a way to add apps to it. Instead Dashboard has this lame widget picker (different from everything else). Why? Why reinvent a third way to pick files when you have two perfectly acceptable ones already?

I realize there are complexities to making all this work, but that’s irrelevant to good UI, it is a solvable problem that makes it more versatile for more users/more applications/more often. That’s what UI people do: advocate for the users to make the machine “more friendly” and usable.

Compare the differences. Now to train a user you have to teach people about all the types of apps and ways of activating and picking them and so on, and what modes they run in, and so on. The way I’m talking about, you just teach people to drag things where they want, and the cursor would tell them if that was OK or not.


Some will criticize what I’m saying; “you’re not happy with what Apple’s giving you, and are asking for something else “. But that’s the point. Users can adapt to bad UI, but good UI adapts to them and makes itself more predictable and usable. Apple forgot to broaden its solutions. Instead of thinking about what I might want (like interface engineers), they’re thinking like second-rate UNIX hacks slapping stolen features in as fast as they can or marketing wonks that are thinking about sex appeal and sell-ability instead of use-ability. I miss the old Apple. I want something adapt to the way I want to work, not force me to adapt to the way Steve Jobs or someone at Apple wants to work.

Sure Dashboard is better than nothing (Windows/UNIX), and I’ll use it — but I can’t stop looking at it’s failed potential. The difference between that potential and the reality is what makes the difference between a sexy marketing feature, and a really valuable competitive advantage. So Apple has added lots of features that are cool to a few people, in very limited ways, if you happen to use it exactly as Apple wants. They market well, demo well and sell well. But each is also a huge missed opportunity to make a dent in the Universe, to make art, and make something that people will not only buy, but will love using.

Leave a Reply