Saturday, August 25, 2012

The quad copter progresses

I've done a good deal of tinkering since the last post. A new frame was ordered from HobbyKing, replacing the homemade one. This got rid of the vibrations that the pine one had problems with. I also changed the controller ho a Kaptein KUK controller. It's much simpler and cheaper. That way I can try out and experiment whitout worrying about crashing. Here are two videos of the new version flying.
This one was done right after I had changed the frame, see the difference is stability.

In this one i stuck my mobile phone to the copter and did some flying around the garden at home in Røros.

Firkant, a music player, completely in your browser!

EDIT: Try the live demo here!

I'm found of music, it colors my day. This also applies to the rest of my family. Because of that I've set up an Ampache server where we add our music. This makes it really easy to discover new music and listen to eachothers suggestions.
The only problem with Ampache is that all the clients, well, they suck. There are a lot of half finished plugins, small tests etc. but no real client that just works. Works cross platform. Lets you cache music so that you can listen to it while offline etc. All these nicks and picks made me so frustrated that I started rolling my own. I wanted this:

  • Browse artist/album/track

  • Cache things so they are available offline

  • Be truely cross platform

I started hacking at an already existing python player Quickplayer. It worked out ok untill I needed to change the interface while keeping it cross platform. I realized that this would never work.
After some thinking I started wishing I could've done it as a webpage, that would be esay except for the "offline" mode. I read around the net and discovered that Chrome apps actually can be offline, as well as get permissions to XMLHttpRequst to an arbitrary host. This combined with the new File Api support was all I needed. I started coding and in about 3-4 days I had a finished player.
The UI
It's written as a Chrome app, that is a tottally normal webpage only that it's hosted from your harddrive. It also has relaxed access control allow origin so that I can communicate with the webserver that runs the Ampache instance.
It lets you create your own subset library from that is cached locally, enabeling you to listen to your music wherever you've got your laptop.
To view it in the Chrome Web Store.
The code is available at GitHub.