Usability is important.
No, seriously, it really is. It doesn’t matter how cool the subsystem is, how efficiently you can pack megaquads of data into a byte. What really does matter is how a user interacts with a system. I have a lesson here, to be shared, and I don’t really care if anyone listens.
A bit of backstory: I just recently bought one of these, the Neo Freerunner. I was intrigued by the hardware capabilities, as well as the absurdly low price for a phone with that much hardware.
However, I’ve since discovered that in many aspects the phone is useless. I can understand that its only for expert users, so consider this a bug report, of problems I’ve encountered no matter how intelligent or “expert” I am.
The phone itself is 100% unmodified hardware, and shipped with the default image, Openmoko 2007.2.
That software, though kludgy, slow, and occasionally frustrating, actually did what it was supposed to. I could type anything I wanted, with effort, use a backspace key, dial phone numbers.
There were some very annoying bugs, for example, the point where I was trying to add an email to a friend’s contact list. Normally, in any other kind of display, the area I’m typing into would scroll up, so I could see what I was typing. Not so here. I had to contend with guessing if I had hit the right buttons. Very annoying, and I quickly gave up.
Another bug, and I do consider these bugs, is the wifi and gps lacked a decent gui to configure them out of the box. The phone comes with specific hardware, it should have applications that can use them. Again, I know, for expert users, but I wanted a phone with wifi so I could browse the internet. If I need to log in with my laptop via ssh to the phone, then why not just surf with my laptop!
Now, I’ve been playing with the Om2008.8 release, came out today. Of course, I expected an official release to, you know, have basic issues solved. As of the time that I write this, there are 13 issues. THIRTEEN! Just hours after the “official” release. I could understand if these were rare or serious bugs, with video or weird interactions. But no, what we see are basic issues with the GSM portion! There are severe bugs in the phone part of the software… yes, this phone really is for expert users.
Usability is incredibly, incredibly important. I can’t stress this enough. The user does not know, nor care, about how free the code is, nor how awesome it is. They care that it works, and does really cool things. Basic usability needs to be addressed, if not by FIC, then by the community. They have steps. Some. Use cases to be filled out.
I’ve been following the Linux Haters blog, and its a lot of fun. I don’t have pretensions that one is better, or more superior. Its a great window into usability, and community matters, something everyone involved in OSS should be working on. Here’s a few guidelines if you’re going to make a touchscreen app:
- If what you want to show is bigger than the screen, then by all means, scroll. BUT. And this is a major but. You need to somehow inform the user there is more content. Here’s a sample: the default keyboard app in the latest upgrade. It shows just the lower case letters, nothing else. If I had not read online, I would not have known you could “flick” the keyboard to get at more keys.
- Be tolerant of mistakes. Always, Always, ALWAYS have an available backspace key for keyboards. This is more for the OS makers than the app, but it is still critically important.
- If you invent a brand-new interface or way of interaction, you should offer tutorials. Sony Ericsson phones when they are first turned on, offer new users a complete tour of how to use each app, and button. This is phenomenal in terms of making people happy. It shows you cared to make something like that, and that you want them to be able to use the app.
- Responsiveness. I can’t stress this enough. When your app is doing something, there should be some thing showing that its working away. Especially when booting up. My phone’s screen turns off at arbitrary times during bootup. This is unacceptable, as then it looks like it didn’t boot up.
- This is directed at the Openmoko devs themselves: a Notes application, please! You’ve given us a smartphone, with wifi, gps, an sd card… let us make notes. Arbitrary notes. About anything. Free of context, or context can be added. I don’t care if I can install one, one should be included by default.
Now, another consideration with something like this, to help usability, is at the very least, write documentation. Do you have any idea how awesome I would think this phone was, if I had a manual on how to fucking use the applications that came with this phone? Of course, the fact I need a manual on these apps just demonstrates how utterly unintuitive they are. Even if its assumed people can figure it out, we have an amazing resource to do this, thousands of interested individuals, with time, and the phone, able to modify a wiki. Provide information on how to USE these applications. Full, and in-depth, showing that if you flick the keyboard… you get other keys! OMG! Amazing… how am I supposed to know that, without delving into a mailing list?
Now, while I do really like the hardware, and I’m all for defending rights and freedoms, I also want usable programs. 90% of the time, they are completely usable, and excellent, and the only fault is me. Apache for one is humonguosly documented, and all faults for screwing things up lays totally with me. Abiword is another excellent program. I just use it for typing. I don’t need typography, or colors, or any shit like that. Open Office is simply too bulky for my simple needs, and doesn’t read Excel files properly.
Now, just a small warning, anyone that posts saying, “It works for me.” their comment is deleted immediately, no other reason needed. Any freetards yelling at me about criticizing their beliefs or whatever, deleted as well. If you have something to say, be calm and reasonable about it. Provide evidence, technical, screenshots, advice, whatever. I want to hear debate and discussion, but there can be no discussing with a Freetard. I use what works best for me, and for your information, I am currently using Ubuntu 8.04, on both my desktop and my laptop, with absolutely no hardware issues.
Comments are off for this post