Software walk of shame
Building software is very hard. You're taking a fundamentally difficult process (giving a powerful machine instructions on how to function) and you're putting a friendly face on it. Many companies are pretty good at it.
But then they want to install their masterpiece, and they get lazy. Yes, The Learning Company, I'm talking about you. I'm talking about Zoombinis Mountain Rescue.
I was helping a teacher friend install Zoombinis Mountain Rescue. Now, in general I try to explain that it's not that hard on a Mac. Just double click, and take the defaults. But then I get this dialog:
Uh, domain? I popped open the choices:
You have got to be kidding me. I'm a hardcore Mac developer. I know precisely what the difference between the “system domain” and the “local domain” is. But for cryin' out loud! It's absolute bullshit to insist that the user figure it out.
In fact, what's the right answer here? Who knows? There's no way to answer this question properly without knowing the context of what needs to be installed. This is a question for which only the people writing the installer can provide the correct answer. And they punt to the user.
What did I do? I don't remember. I think I picked “On System Disk” as an answer that would probably work, and I continued.
This was back on '04. Perhaps things have changed. I hope they have. But the lesson is timeless: as a developer, it's your responsibility to make things easy to use. You're not allowed to delegate to the user. Own up to the challenge, or go home.
Comments
I really like the 'Appropriate' option. If there is an appropriate why even ask me? Just install it there ;-)
And then there is the issue of alerts that say "Fatal error, your data is lost" (or something bad) and then the user is forced to click an "OK" button .. they are usually not OK with what just happened.
Posted by: Mike Zornek | September 18, 2006 1:50 AM
"Appropriate Disk" is actually just another constant. For the kind of stuff they need to install, it's almost certainly not the correct answer.
Posted by: Avi | September 18, 2006 10:11 AM
Another example of them letting the API used decide the GUI ... These are simply FSFindFolder constant names prettified a little. *sigh* You're 100% right Avi, this is embarrassing.
Posted by: Uli Kusterer | September 20, 2006 8:42 AM
Ditto!
Posted by: Talya | September 25, 2006 11:34 PM