I am OK with my N900, but not really happy. The software is still buggy, the thing is too heavy, and the slider keyboard is useless. I do like certain things about it, tough, and that got me thinking: what would a perfect phone look like?
I find that the bigger the screen, the more I like a phone. Actually, it’s mostly the resolution that I like – I couldn’t live with the crappy resolution of the 3G iPhone, and the resolution of current Android devices (and of the N900) is OK. Even better, though, would be a phone with a screen that folds in the middle. A little like the current crop of eReaders, only that those tend to have two different screens (one eInk, the other LCD-type). You either flip the phone open (screens protected inside) or the screens are on the outside (one turned off until you flip the phone flat). That way you get twice the screen real estate at half the carrying size. Gotta love that!
Clearly the worst gripe about smart phones is their outlandishly crappy battery life. The N900 fits with most and doesn’t quite manage a full work day without recharge, but that’s absolutely unacceptable on a device you use for mobile communication. Clearly, we need phones that can last a full 24 hours at average use, which includes constant texting and at least two hours talk time.
At the very least we need an easier way to charge our phones. I am not talking wireless charging, necessarily, but at the very very least an end to the endless number of plugs and cables. Stop the madness, standardize on one single power input, and make it possible for us to have power outlets into which you can directly plug a phone.
The current crop of phone operating systems isn’t quite there, yet. The problems vary, but it’s mostly a combination of three factors:
- the OS vendors tries a lock-in strategy
- the relationship between phone and desktop OS is not clearly outlined
- the limitations of the tool chains make it hard to develop
iPhone suffers from all three. Windows Mobile is too much desktop, not enough phone. Android chose to go the Java route, which is good for portability but bad for developers, who have to buy into the paradigm.
The N900, on the other hand, would have the winning combination. You can simply take software written for the desktop and recompile it for the phone – make your changes to the user interface, and you are done. That gives you enormous leverage: you can write the backend code once and you know it will work (as is the case with the standard DB format on it, SQLite), you can reuse text mode utilities if you just recompile them, you can stick with whatever expertise you have already.
The problem with the N900 is one of implementation. It’s the winning idea, but it isn’t well done. For instance, it’s a serious bitch to get the development environment going – you have to wade through a ton of web pages that are partially outdated, and even the virtual image offered is not kept current. Things that should be easy (e.g., getting a current re-build of a text mode app for Maemo) are hard. Why not have a current list of Linux source packages in Debian and build them on Maemo by default?
I think Maemo has the same problem that KDE ran into as of lately: great idea, but not enough people working on it, and those that are are too ambitious about their own agenda.
People of the world, unite! Demand that your smart phone be what you expect it to be: your computer when you don’t want to carry a computer. How come so few smart phones have USB hosts? I want to be able to plug a printer, a scanner, a card reader into my phone. I want to be able to attach my phone to a TV via HDMI. I want my phone to have a standard interface for extensions, so that I can easily plug in a GPS module, or a better camera, or a credit card scanner, or a heart rate monitor.
Manufacturers are making a huge mistake by ignoring connectivity options. Of course, I understand where that comes from: any new connector means thousands of support calls, every open connectivity channel means compatibility issues left and right. Whoever starts the movement is going to have to deal with a host of issues.
But you know what: it’s absolutely worth it. Remember when USB came out? It just didn’t work. You needed drivers for everything, half the USB devices had drivers so poorly written, they’d crash your computer, and their were mutually incompatible half the time. It was a nightmare But now, is there anything easier than USB plug & play?
That’s probably the reason the first connectivity option I mentioned is USB. Just add USB host, and we’ll figure out a way to get modules for our phone that can connect, and software that will work with it.
One of my worst gripes about the N900 is that the software isn’t standardized. There are some apps that use Berkeley DB, most others use SQLite, and a third set uses incompatible formats. Some things are done well – for instance, the Conversations widget handles both SMS and IM, and the Phone widget does both Skype and GSM well. But there is no overriding architecture for that.
The idea should be that all data are stored in a central repository, and the apps should have access to it. Apps shouldn’t even be allowed to store anything in a format that is not the central repository’s, especially if it is user-dependent and fast-changing (like messages of any kind).
Examples? The email app stinks big time. That’s mostly because it has no unified inbox, so that every GMail account I have requires a bunch of clicks to get to. It also does late binding, which means it will tell you there is a new message, but when you want to see it, you have to first load the current server view. Most importantly, though, you cannot combine things that have the same frequency as email, like RSS feeds, into your email view.
The idea is the life stream – a single point of entry that combines all the data you want into a single view. There you can filter the types as you wish (if you wish). Things are arranged chronologically and updated automatically. They scroll on their own. There are sources of data. There is a view. You can interact with the data the way you see fit.
But don’t force me to switch apps just because I want to see more data. Even in a phone that does multitasking well, it’s a pain.