Mobile Devices fun
Today I wanted to show you yet another project I’m hacking on. For all of you who own a portable media player or a portable device, and are frustrated about not having a good application to manage it, you’d better listen up 🙂
I gave it a quick name, DeviceSync, that probably makes a bit of confusion about what it really does: it is a tool that is able to transfer files and manage devices, like iPods, MTP players, and whatever.
But let me show you what’s really cool about it 🙂
DeviceSync is completely plugin based. This means that through a nice API, developers will just have to write a simple plugin for their device type, implementing the given functions. Everything else will be handled by DeviceSync. Abstraction For the win!!!
In short, this means DeviceSync is extensible to an infinite level. Every kind of device can be supported, as long as someone steps up and writes a plugin for it. And trust me, it will be easy to write a plugin 🙂
DISCLAIMER: Starting writing plugins now could be a waste of time. I’m revamping the API everyday, so, unless you are ready to step through various revamps, you’d better wait some more days before starting your plugins.
And here comes the actual connection 🙂 And, once you get it going…
There it comes! You see my media player connected on the right. Obviously, you can show any connected device in both views, and transfer files between them, by adding them to the queue you see below. I wrote the MTP plugin and the local plugin only, and I’m already able to transfer videos, photos and tracks to my media player, and creating folders too 🙂
Obviously, what I’m showing you is still in the works: it’s by no means stable (I started it just a few days ago), it’s unpolished and everything bad about pre alpha software. But, if you’re very keen on trying it, it lies now in github here: http://github.com/drf/devicesync/ . I will move it to playground once the API becomes stable and documented.
Mockups, ideas, help on the code, a decent name, and whatever else are, as usual, more than welcome!
P.S.: Before you start screaming about code duplication, I joined the Amarok team and will actively work on media devices support. In the end, Amarok will be used for music transfer, and DeviceSync for everything else 🙂