Once in a while I get an idea for a project. It can be a really small micro-project (a weekend), a bigger byte-project (a month) or a very much bigger mega-project (a year). Either way I love to talk about them with my friends to get some feedback. I’m not afraid that someone will steal my idea, but I get frustrated if I find my idea on the net. So why not just write them here for all to see? If you steal it, well send me a link to it (and burn in hell ;) ). Otherwise, give me some comments on it and help me make it better!
Some time ago I blogged about an idea of making a Spotify screensaver. This weekend at the MusicHackDay in Stockholm me, Jocke and Vincent finally tried our hands at doing this by creating PartySaver. The first quest was: How do we play music and show music info, in fullscreen?
There’s several ways to play Spotify music: Spotify players (Win, Mac, iOS, etc), Spotify web player, and libspotify. We opted for the web player, but a developer edition which supports apps. We quickly noticed the apps aren’t allowed to run in fullscreen! So we created a bookmarklet that “hacks” the player to allow fullscreen apps.
Then I focused on the new 1.0 API to get the users playlists, and then the tracks from that playlist. While Jocke spent most of his time on WebGL and three.js so we could have the cover arts in a 3D mosaic that would animate and move. Sadly, we never got that far. Regardless, it went pretty good and we’re happy – so we’re going to try a CSS3 version. If we make it, we might even have a sponsor for a real screensaver. The question is, how should it be done?
Do you ever get the feeling that the taxi you took didn’t go the shortest route? Sure it could be because of traffic or road work, but you still wonder if he’s taking a longer road than necessary. And why wouldn’t you? The driver gets paid by kilometer after all!
The idea would be to have an app that you start when the taxi starts, and then stop when you’ve arrived at the location. It would then plot out the route on a map, with some stats as time taken and lenght “driven”. It would also plot out the Google Map route so you can compare.
I run a small media computer on my TV and often have Spotify running. The problem is that the screen gets burned in if I don’t have a screensaver, but if I have a screensaver on I can’t see the name of the song playing.
So the simple idea would be a neat screensaver that shows the current playing track. A bonus would be to show the album cover and next track, and follow the beat. As it would be a third-party application the easiest way would be to parse the artist and song title from Spotify’s Window title.
By using Gracenote it could show the album cover and lyrics, but probably not feasible for a free screensaver.
The hardest part would be inventing a cool or fun enough visualization. Maybe a self playing game, like Tetris, Audiosurf, Pong or Snake? A Rubicks cube solving itself? Maybe a nice fish tank? Or random particle effects? What would you like to see as the visualization?
The iPhone uses a regular number PIN-code as a locking mechanism for the phone. Android uses a swipe-based method.
Wouldn’t it be funny to use shake instead? Think of your favourite chorus in a song, and shake to it. Someone would have to guess the correct song and “dig” to it as you do.
Sure everyone can see you shaking and shaking takes more effort than swiping, but it would be funny!
What I really really like about Google App Engine (GAE) is the whole Platform as a Service (Paas) approach. As a developer I really couldn’t care less about how many instances (virtual servers) are running the site or what configuration they have. I certainly don’t want to be on call 24/7, ready to manually start up new instances in case I get slashdotted. GAE just runs your application and scales when needed with your set budget as the only real limit. So upload your website project and relax.
Google provides a great dashboard that shows usage stats and costs about all metrics that count so you can optimize and lower your costs. They even offer a pretty high volume of free capacity which is great for trying out new projects/products. If it was a .NET platform I wouldn’t use anything else, but alas it’s not – it’s for Java (JVM) and Python only (although it does support anything that runs on JVM, like JRuby).
Amazon Web Services (AWS) is a Infrastructure as a Service (Iaas) so you have to manually start up new instances or set up a small network of AWS-services to do it for you. Windows Azure is even worse since there’s no infrastructure support to build the automated monitoring on.
I see it as a great business opportunity to abstract AWS into a PaaS, and provide platforms for various website technologies. Especially ASP.NET and PHP.