I'm amazed at how many so-called "enterprise software systems" do not embrace the Web model in 2010, making them way much harder and much less fun to use than they should be.
I have recently started making parallels between this and music teachers, and the analogy seems to work. Don't ask where the parallel comes from...weird connections in my brain I guess.
Say you want to learn to play the guitar. Someone recommended Joe, who's teaching in his downtown studio.
You get there almost on time. Traffic. You find Joe's studio and here he is, dressed in a neat and simple casual outfit. Smiling at you.
Joe: Hey welcome! So you wanna learn to play?
You: Yes. I brought my guitar, got it from my uncle. It's a bit worn out as you can see.
Joe: I see...well, you might want to get a better one if you continue past the first few lessons, but for now that will do! Do you have something that you would like to play to get started?
You: "Smoke on the water", of course. The opening line.
Joe: Let's try that then, I'll show you! Just plug your guitar in this amplifier, and let me setup some nice effects so you get a cool sound.
Joe plays the first few bars a few times, shows you how that works and you give it a try. Ten minutes later you start sounding half-decent and you're having loads of fun playing together with Joe.
Joe: Okay, you're doing good! I'll show you my rough course plan so you know what's up next. I'm quite flexible when it comes to the curriculum - as long as you're having fun and progressing we'll be fine.
It's easy to imagine the bad teacher version of this story:
- Complains because you're three minutes late.
- Wears a boring old-fashioned suit, and not willing to let you play that crappy old guitar.
- Boring you with tons of scales before you can start playing a song.
- Not giving you an overview of what comes next.
- Not ready to compromise on His Mighty Standard Teaching Program.
- Making you feel stupid about how bad a player you are.
Bad software is like that bad teacher:
- Hard to get started with.
- Requires tons of specific client software of just the right version.
- Requires you to enter loads of useless information before doing anything useful or fun.
- Not willing to let you explore and do your own mistakes, and making sure you feel stupid when mistakes occur.
The Web model is the way to go, of course.
- Ubiquitous access.
- Welcoming to various types of client software.
- Easy to point to by way of permanent URLs.
- Doing its best (fail whales anyone?) to keep you informed and avoid making you feel stupid when something goes wrong.
- Letting you explore its universe with simple web-based navigation, and rewarding your efforts with new discoveries.
This is 2010, and this is the Web. Don't let any useless software stand between you and the information and services that you need.
Blog post by Bertrand Delacretaz
Bertrand is Director and Project Management Committee member for Apache Sling, Apache Cocoon, and the ASF Incubator, where he is a mentor for the ESME, ACE and Clerezza projects.
As Senior Developer, R&D, at Day Software, Bertrand's interests lie in the areas of Java, such as OSGi, JCR, Jackrabbit, automated testing, and RESTful systems, as well as Community, such as Open Source project tools/best practices, and innovation. For more from Bertrand, check out http://grep.codeconsult.ch/