We rarely discuss what the future of Rockbox looks like, as it rarely actually matters. We work on whatever we think is fun and all things are fine.
Now, I'd like to do something different and actually lift my nose and stare towards the horizon. What's in the future for Rockbox?
Dedicated mp3 players vanish
I claim that the current world of portable mp3 and music players is dying. Within just a few years, there will only be a few low-end players left being manufactured and most portable music will be done on much more capable (CPU and OS wise) devices such as the current smartphones, be it Android, Maemo or iPhone based ones.
While maintaining Rockbox to work and prosper on the existing targets is not a bad thing, the end of the line as a stand-alone firmware is in sight. I say the only viable future for Rockbox when the players go very advanced, is not to make Rockbox handle networking etc, it is to make sure that it can run and function as an app on these new devices and to take advantage of their existing network stacks etc.
An app for that?
Rockbox as an app has been a story we've told the kids around the campfires for a good while by now and yet we haven't actually seen it take off in any significant way. I'm now building up my own interest in working on making this happen. In a chat after my Rockbox talk at Fosdem 2010, two other core Rockbox developers (Zagor and gevaerts) seemed to agree to the general view that a Rockbox future involves it running as an app.
Out of the existing systems mentioned above, I'd prefer to start this work focused on Android. It has the widest company backing combined with open source and it's also the most used open phone OS. I don't think there's anything that will prevent us from working on all those platforms as the back-bone should be able to remain the same and portable code we already have and use. Heck, it could then also become more of a regular app for common desktops too.
Changing Rockbox to become an application instead of a full operating system and application suite involves a lot of changes. Some of the things we need to solve include:
- We need to make sure we can use the OS' native threading without any particular performance loss. The simulator shows that there are might be problems with this right in the current code as it runs dog slow on a Nokia n900.
- The full suite of plugins and games and so on doesn't really fit that well when Rockbox is just an app in itself.
- Different screen sizes. Lots of stuff in Rockbox assume a compile-time fixed screen size, while a good phone app would have to be able to work with whatever size the particular happens to feature. I don't think we need to care about live resizing (yet).
Update, July 2010: The app part II.
In the past: cyanogenmod made one of the most popular 3rd party Android ROMs for HTC devices. Personally I haven't yet tried it on my Magic, but friends tell me it's the ROM to use.
On September 24th 2009, Google sets their legal team on the ROM creator, asking him to stop distributing the parts of Android that aren't open source but in fact are good old traditional closed source apps - made by Google. Cyanogen himself (Steve Kondik) responded something in the spirit that since the ROM only runs on hardware that already runs the apps users already have a license to use them. Google responded, saying they protect the Google Phone Experience.
This C&D act triggered a huge reaction in the Android communities as people suddenly became aware of the fact that A) parts of the Android core OS aren't at all open (source) and B) Google is not the cuddly Teddy Bear we all want it to be.
In the xda-developers.com front, where a lot of the custom ROMs are being discussed and users of them hang out, they created the Open Android Alliance with the intent of creating a completely open source Android.
In another end and indepedently of the xda-developers it seems, lots of participants in the google group android-platform pretty much decided the same thing but they rather started out discussing exactly what would be needed to do and what code there is and so on.
Currently, both camps have been made aware of each other and there have been expressed intents of joining into a single effort. I don' t think such subtleties matter much, but we just might see the beginning of a more open more free Android project getting started here. I'll certainly be interested in seeing where this is going...
Updated: they now have their own domain. Link in article updated.
This is my first "smartphone" I've owned myself so of course I have nothing else this fancy to actually compare against. I've played around with others' a few times but that doesn't really count. I've owned perhaps 8 mobile phones since I got my first one 1996, and they have all been Nokias and Sony Ericssons.
I was never really interested in iPhone due to many reasons. It is not open. It has a (very) restricted app distribution mechanism. It forbids apps from running simultaneously etc. And it has a pretty strong connection with itunes with no proper mass-storage syncing supported. But I admit that it has a slick UI and many cool apps.
My plan is to get some Android hacking going eventually and this is basically the first Android phone that has reached Swedish soil. I mean without requiring me to bend over backwards to get it, as I'm sure I could've bought previous Android phones from obroad if I really wanted to.
Random good things:
- it's fast, most things run faster than on my previous Sony Ericsson thing and yet this is way more advanced with much bigger screen estate and fancier UI
- it has a nice gui that you mostly can guess how to work with
- I love being able to use a qwerty-style keyboard when messaging instead of relying on T9 etc
- wifi is fun, but with a decent data plan it basically only brings me slightly improved speed and I often can't even tell the difference!
- the integration with the Google services are nice, gmail and maps most noticeably
- there really are a bunch of existing cool apps (I know iphone has lots more, but there are still thousands)
- it has a much better approach to messaging, similar to what I've seen in the iphone, than I've ever experienced in a Nokia or Sony Ericsson. It focuses on conversations and keeps the "thread".
- I really really like the feeling of it being a networked thing that also can make phone calls. I can browse, use maps, use gmail just as easily as I can message or call people. With my previous phones all the internet-related services always felt tacked on like a very late afterthought.
- The notification system is nice, and the three-screen wide "home" with its widget-system is really neat.
- I've had some apps crash on me on occasion. But it's rarely a problem as they're restarted automatically for me.
- Toggling wifi on/off a lot can sometimes lead to me not getting any data network at all, and I've had to reboot the phone to get back to phone-based (Edge/3G) data.
Of course any and all geek friend I have ask me about how I deal with the on-screen keyboard. I must admit I'm still quite fond of it. Mostly because a physical keyboard makes the phone clonky and it adds physical contraints and wear-points that I don't like. So the keyboard is a bit small, especially when the phone is in portrait mode, but the suggested completions are fine and I believe I'm already typing pretty quickly on the thing. When I ssh'ed from the phone to one of my servers I did find the obvious lack of cursor keys (to for example navigate an ordinary ncurses-based app or the command line history of a bash prompt) but other than that I really can't complain.
One obvious advantage compared to iphones is of course the ability to run applications exactly the way I'd like. I can actually run the irc client and then have it in the background while I go browse the web or answer a call or whatever and then at my choice go back to the still connected irc client. In fact when playing with this it feels like a really ridiculous restriction of the iphone.
Comparing to my SE w550i
My previous phone is 94 grams compared to the Magic's 116. The magic has a much bigger screen. The magic is roughly 11mm wider and 14mm taller. That makes it use 30% more volume (85 cm2) but still fits fine in the front pocket of any set of pants I use. The magic claims a lot longer battery life, but given that it has so much functionality I can't help to play with all the time I doubt it'll notice. It'll more likely run down fast simply because I'll use it more.
I'm also pleased that there's no problem to just plug in the Magic to my Linux desktop and copy/sync the photos and the videos etc.
I realize some people will feel that the very tight integration with Google and Google's services is a downside as it adds just another item that Google "owns" in your life. Still, it makes the experience very slick and as a user I get a lot of stuff "for free" as it just connects to lots of things that I already used and had accounts on. So gmail, sharing photos on picasaweb etc "just works".
So Google says there could be 18 phones running Android by the end of this year. In Sweden we just days ago got HTC Magic, the first ever Android phone showing up here (tied to a ridiculous operator deal that makes me and lots of my friends not go that route). Then Palm shipped their Palm Pre just days ago, also based on Linux.
This has brought the interesting questions: how is the state of these kernel ports in regards to the mainline Linux tree? They're both using ARM cores (of course).
The ARM kernel maintainer Russell King himself is not impressed. Apparently Google hasn't even tried to push their work upstream to the kernel in a long while. The tone in that discussion did make it sound as if they might be starting to work on this again now.
The Palm guys apparently haven't even yet shown any code at all, but is said to be releasing their code within two weeks to opensource.palm.com.Â They have not even tried to push their work upstream, so I figure they're either not even going to bother or they are facing a rather steep uphill battle in the future.
There have been so many open source initiatives for mobile phones in recent years it's not even funny (limo, openmoko, Android to name some of the possibly biggest ones). The amount of actual phones on the market using one of them have been very very limited. Apparently there are some Motorola phones running Linux and you can get the Linux-based Nokia N800 tablets but they're not even phones!
Obviously something has happened in the market though. Perhaps all those initiatives have pushed the big ones into thinking in more open source ways. The most interesting part of today's news about Nokia buying the entire Symbian is their stated intension to open source it. (they've even already chosen the Eclipse Public License for it). It'll be intereseting to see if there's any interesting synergies coming up from Nokia's previous purchase of Trolltech.
Of course, even Symbian has but a small fraction of the entire phone market as they sold 18.5 millions units in Q1 2008. IDC says 291 million phones were sold in the world during Q1 2008, which thus should position Symbian on roughly 6% of the phones that are sold today in the world!
I'm also curious if this will mean that Nokia will use Symbian on a larger scale on their own phones, as currently they seem to use Symbian only on a very small portion of their high-end phones. With Nokia owning the whole thing, they might see a bigger motivation to consolidate their own use of operating systems.
I have one of them mp3 capable mobile phones and I have a 4GB NAND flash inserted in it that is packed with music I like. Yet I never end up using it as a music player.
I see people everywhere use their phones for music and I repeatedly read and hear the soon coming death of the portable music player being predicted not far away by opinion-expressing know-it-allers.
My phone plays mp3 files just fine, but there are several reasons why I don't use it for that. The primary one being that it gets a lousy battery run-time if I do that, and if I'd run down the battery all the way when listening to music then how would I be able to use the phone for regular voice? With a separate (Rockbox) device I can listen to music until the last drop of power goes out without hampering my communication abilities.
In my particular case, my phone's lack of a proper standard USB port and it's lack of anything but "full speed" (and yes full speed is less than high speed and is a lot slower than it sounds) when connecting it using the custom cable to my Linux box are two more reasons. Not to mention that it has this "database-only" approach to the music which I really don't like - but yeah, I can learn to live with it.
Besides, it'll be a while longer until I can hack my phone to run Rockbox and thus work the way I want it. Let's hope Android or OpenMoko or similar efforts actually make it possible one day.
Yes, in case you missed it - the Android SDK is now up for grabs. Let's see what they've accomplished this far...
Yuck. The whole thing seems to be java. Nothing fun at all.
I guess that ends my interest in this.