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.
Challenges
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.
I think developing for the Android emulator is perfectly reasonable, and we have one prospective GSOC student interested in it. Mainly the problem is just getting the project started and to the point where people can pitch in. Once we have something running I’m sure people will be interested in working on it. But starting almost from scratch is no fun.
Though I don’t think portable MP3 players are going away. There will always be people who don’t have smart phones, just as there are still people who have FM radios. I think Sandisk and some of the niche players (iriver and cowon) will survive, so as a firmware we’ll always have new devices.
I don’t think DAP’s will die out so soon for the same reason that camera phones didnt kill off the cheap point-and-shoot cameras. People don’t want their phone to be everything (at least not until its got MUCH better battery life than now).
and ever if DAP’s did stop being made, we still fully support the archos player which is 9 years old now, and the massive amount of ipods still available that rockbox runs on, so there is no danger of running out of workiong targets any time soon.
But yes, RaaA is the/a way to go, but then there is probably better questions to figure out. What benefit is there of using rockbox instead of any other music player which is actually built as an app to start with? Sure our codecs are (among) the best for arm/cf but our playback engine isnt brilliant. We can make a boring DAP look pretty damn good with the skins, but the menus are terrible (bloated and difficult to navigate). Our database system could be better. etc.
Maybe it would make more sense to work on splitting things up as separate libraries which can be replaced by something “better” for the different app ports?
Rockbox as an app on the android phones would make them (the android phones) a real option for me. Currently I use a Nokia mobile and had always the plan but not the ability and skill to at least make the SDL-Simulator run on symbian. So I am stuck to my very old Archos Jukebox Recorder which is a very, very Methusalem in compare to actual MP3 player devices or mobiles. I generally use rockbox to listen to audio books as no original firmware of any actual or ancient player that came to my hands could handle them as easy like rockbox. In other words I love rockbox very much not only because I am used to it but of its real solid way it does.
In my eyes the problem with current and upcoming players is that while rockbox is beeing envolved for them the are become extinct because the manyfacturers give them such a short life cycle. If you try to buy a player that is supported for rockbox your only chance is ebay because the is no currently supported player that actually is in production! Best examples are the clip v1 and the e200 series of the sansa players. Just in the moment they are supported by rockbox their life cycle has stopped!
By this I come to the same conclusion as Daniel: A big chance for rockbox is to have rockbox as an application for (some) mobile operating system(s). As I can see android as the starting point is as open as it can be, it is a ‘kind of linux’ which makes it attractive to a eminent part of the currenty developer community (as I think) and there are great chances to support them over a very long period of time (not only spoken in IT years). Besides this I see a big chance for rockbox as an app to become the prime audio application on android.
So – please, please, please – let ‘us’ take this chance! 🙂
As you say it: “The full suite of plugins and games and so on doesn’t really fit that well when Rockbox is just an app in itself”.
This calls for something that I’ve been thinking about for a while (but never actually done anything about), separating Games&Tools from Audio-ralted plugins.
The latter would still have a raison d’etre even when Rockbox is running as a plugin, and they would also benefit from more audio-related support in the plugin API.
Rockbox would be fix the niche on the so called “jukeboxes” in the vast original mobile operating systens. (Damm! I miss gapless playback on my SE Walkman…)
But I think Google isn’t dopey.
Will be there a real advantage with rockbox ?
How much do you leave up to the host operating system though? With Rockbox as an app on the N900 it would make more sense to use MAFW/GStreamer for example – then you get Bluetooth Audio and the FM transmitter with no extra effort. This kind of thing will vary for each platform.
@Johannn and @Adam: a few of the main points with Rockbox as opposed to the alternatives – as I see this – include:
* superior focus on quality playback: gapless, equalizer, cross-fade, cross-feed, good playlist handling, multi-codec etc
* highly optimized codecs – I’m convinced neither Maemo nor Android are close to the same codec performance that the rockbox codecs do. Better performance means better battery life.
I had a little look for “Rockbox for Motorola” which has been developed but not maintained to the rockbox project in 2006 – and found some new versions that really work as an app on some Motorola mobiles. The latest version seems to be this one: http://www.motorolafans.com/forums/rokr-z6/28912-rockbox-v5.html
Its a shame that they do not contribute their knowledge to the project. I think with their experiences on porting Rockbox to Linux mobiles a version for android mobiles could be just a finger snap away…
Beside smartphones, there are other linux gadges which might be interesting for a rockbox app. A while ago I played around with a tweaked simulator build on a Logitech Squeezebox Controller. It turned out to be rather slow, especially the screen output through the SDL was disappointing. So, for such devices it would probably be better to directly access /dev/fb, /dev/audio, /dev/input rather than using the SDL. Maybe this can be taken into account when defining the concept of raaa.
@Johannn and @Adam: a few of the main points with Rockbox as opposed to the alternatives – as I see this – include:
* superior focus on quality playback: gapless, equalizer, cross-fade, cross-feed, good playlist handling, multi-codec etc
–> this is not important for most of users of such devices. Do you really believe that people interested in audio will buy such device for listening or record audio?
* highly optimized codecs – I’m convinced neither Maemo nor Android are close to the same codec performance that the rockbox codecs do. Better performance means better battery life.
–> again, I don’t think users will be worried to much about battery life on such devices that should have already big battery life.
I think Rockbox will be dead soon, because no one will need it. I think that is no sense for it on such devices, since they have already multicodec, visual impared help, etc functionalities like the ones you are looking for (networking).
On the other side, recent advances on tecnhology makes possible for us to print at home our own plastic enclosures, as I did for Mini2440: http://lyre.sourceforge.net/?q=content/my-first-3d-print-mini2440-enclosure
My dream is to use new tecnhologies to make a simple and cheap player/recorder, just for audio. If anyone want video or games, then go with Rockbox as an app on Android or anything else.
I wish I could build a board using cheap ARM Cortex M3, with external 4MB RAM and small and cheap color LCD. Then I could also print at home my enclosure for it and have a full portable DAP running Rockbox at my hands 🙂
@casainho,
I do! Damm, I love gapless playback, Meta-Database, Vorbis and so on… and no phone gives me what I need…
And really no phone or program on a phone can really play audio books as rockbox.
I have to agree, I think Rockbox will still have a place as an app even when stand-alone DAPs are fazed-out in exchange for more capable multi-tasking devices, it offers much more than most of the music players many of these kinds of devices are shipped with, such as an extremely customizable interface (you don’t get *that* with most music player apps) that can be made to show us only the information we want or information many music player apps don’t display, as well as many more audio codecs than most music player apps can handle.
I use Rockbox because it supports the audio formats I listen to. What other software (excluding Windows/Linux based programs – ex. Winamp or Foobar2000) can play back ADXs, NSFs, SPCs, etc., without using multiple applications? Seriously, the thing Rockbox has going for it, that I have yet to see from any other player, is its extensibility. So, at least for the time being, I am quite confident that Rockbox has a place in today’s world, and will for the foreseeable future. Mouser X over and out.
As an ex-Rockbox user, I would ditch my iphone in a second for an android phone running rockbox. The day I can uninstall itunes will be a great one.
Also an ex-Rockbox user here 😉 Yes, unfortunatly it’s true… I swared never to buy a mp3 player which isn’t capable of running rockbox. Now… i have this phone which became my main device on the go. I just don’t want to carry two devices around. The player on my phone sucks but if i have to decide between carrying one device or two devices around i stick to the phone. Rockbox is still in use if i need it for playing music somewhere but mostly i just dont use it anymore because of my mobile phone.
I have been thinking about this for a while, and it makes eminent sense to me, although for different reasons. A rockbox app would make things a lot easier porting to Mini2440 for example. In general there are platforms around that already have an OS, and rewriting bare metal code for Rockbox is just crazy. We will always be way behind in supporting new targets, and that is without considering adding new stuff to Rockbox like wi-fi or whatever.
The way I see it now is that Rockbox is effectively a dead-end, and will recede into the past, unless it bites the bullet and moves up the food chain. The fear of even small performance loss to existing (obsolete) targets seems to outweigh the opportunity for creating new targets. As an example, dithering over whether to use the latest ARM tool chain is daft, it should be a no brainer.