Update: Ericsson Labs has now posted on their blog about the challenge.

I’m back from DreamHack and things went down well. The last task was a bit too hard (well, impossible really – until we released clues) but otherwise we got a very good response.

The best thing about the event was however that me and Emanuel participated in the Ericsson Labs developer challenge. So this is a story of how I won a PS3 by proof of concept alone.

The goal of the competition is to develop the most creative, useful or fun mobile or web application that uses at least one of the APIs available at Ericsson Labs.

Your application must be a runnable example and you must be able to show that your idea works. However a few flaws here and there won’t hurt.

This was the competition. Use some of Ericssons tools that help developer do fun things to do something fun.

The whole process was extremely fun actually! It started out by me having an idea about doing some classical positioning-game, like tag but with GPS locations and covering a city or something like that. The idea has been tried and proved many times so I thought it would be quite trivial to implement a copy of that idea. But the idea had a few flaws, when talking it over with Emanuel we bounced the idea back and forth a few times and came up with the best concept we could.

On the day after, we started coding after the first half of our own competition was done, at like 20:00 or so. We stopped coding again at 05:00 with some sort of basic working model of the application. It was pretty intense and we ran into more technical issues like Java not being able to handle SQLite3 rather than coding issues. But at 05:00 we thought we had something good and went to bed, only to get up again at around 10:00 to start working out the finer details and some of the absolute worst bugs (essentially crippling the entire app =P).

After 5 hours or so of more coding on the morning, we demoed the app, got some basic approval and sent in the contribution. We really had no idea If we were going to win or not as the judges gave absolutely no impression of what they thought until the competition was over.

In the end though, we stood up on the stage as first prize winners taking home about 9000 SEK of awesome stuff.

HTC Hero PS3 + Rockband

We split it so Emanuel took the phone and I took the PS3 + Rockband, worth around the same amount.

It was extremely fun going from idea to just providing a proof of concept and get rewarded for that, instead of having to put in the additional 80% of work that takes a product from proof of concept to finished.

So what was our idea I hear you asking? It was actually pretty fun. The front-page of our temporary website we put up explains it pretty well.

banzai is all about the fun of the chase. It was originally designed as an urban tag-game played out in real life. Because of the accuracy of the Ericsson Labs Web Location API we switched our market to people with access to large areas to play around in while using some kind of motor vehicle, the urban city-based game might be revised when the Web Location uses GPS to a larger extent.

The game is about finding “the chosen one”. The game is initiated at a given time and place, you choose which games you want to participate in yourself. Once the game is started you will get the location of everyone else. Completely at random, one player will be informed that he is the chosen one. It is then the goal of the chosen one to stay away from everyone else.

Points

Points will be given at three times.

  • When the chosen one is caught, the round is over. At this point, everyone needs to get 500 meters away from each other as fast as possible. The sooner you are 500 meters from everyone else, the more points you get. When everyone is clear a new round will begin! The number of rounds is defined in the particular game you choose to join.
  • The chosen one will get points as long as he is not caught, the chosen one is deemed caught when everyone else is within 200 meters of him.
  • The other players will get points when spending time close to the chosen one, the amount of points they get will depend on how close they are to the chosen one. The proximity to the chosen one is displayed for each player at all times with a bar diplaying 0 – 100% where 100% is within catching distance.
  • So that was it. A screenshot might be in order.

    The look of the site

    As you can see, a list of players show up, some controls for the map to zoom and stuff like that (all of the map stuff here was one of the Ericsson API’s we used) and your score as well as the distance to the chosen one.

    All the locations here for the players drawn on the map were polled every 30 seconds by Emanuels backend server, while I wrote the user interface, map stuff and calculating distances and scoring.

    All in all it actually works surprisingly well, and I’m quite proud of having done it in 15 or so hours. The idea is pretty solid as well but obviously needs GPS and not triangulation like the Ericsson API was using.

    What is the result of all this? We might get some small recognition withing Ericsson Labs, we own full rights to the idea and code that we’ve done if we want to continue building on it. But the only result I’m really seeing right now, is this.

    My new setup

    From the money I will make by selling the PS3 I bought an xbox 360 Elite so I can play Modern Warfare 2 with Emma (and I like the xbox controls more than the PS3 ones). I also bought a new 24″ widescreen display that I’ve hooked up to both my computer and the xbox. So when I’m not playing I have an additional 24″ screen and when I want to play, I just turn on the xbox and switch the screen over with the press of a button.

    Xbox 360 Elite

    Pretty awesome.


    tetris


    I’ve been keeping quite busy the last couple of days. School takes up a lot but the little extra time I have I spend trying to make a little file upload demo in Cappuccino, which is really awesome. I love being able to code Objective-C and then just refresh my browser to see my application running in there instead of on the desktop.

    Another very awesome thing is that I have now been officially approved as an iPhone Developer, meaning I can develop apps on my own phone and if they get good enough I can start selling them in the App Store. The entire application process took only 6 work-days which I have to say is very impressive! I’ve heard of people having to wait months for their licenses so that was pretty awesome. The first app up for development is essentially a phone version of DHG, which I hope can get quite awesome.

    There is in fact so much awesome, that I can’t stop thinking about all of this awesome, resulting in me not getting any sleep. The upside of this is that it will result in tomorrow being very much less awesome and hopefully I’ll be able to get some sleep then.

    I can’t wait till Christmas break when I’ll actually have some free time!


    tetris


    For the non-technically inclined people reading this you could read it just to gauge my emotions and get a glimpse of the future, but this post will probably not mean much.

    Watch this first and read later, you can skip a bit of the start since he really doesn’t demo the new tech until after about half the video. The first half is an explanation of why the tech is needed.

    For the first time in a long time I am really excited. I am giddy with expectation and I can’t stop thinking about how much I want to switch over to coding Cappuccino for all front-end purposes.

    I don’t like coding HTML, CSS and Javascript. I don’t think a lot of people actually do like it, it’s just something we do because we love the web and that’s the only way to do stuff on the web (give or take).

    Now I now what he talks about in the video has been done before, Google don’t spend ages coding HTML, CSS and JS, they use Google Web Toolkit. But I’ve attempted to try GWT but just can’t get it to work. It’s very un-mac like and I frankly can’t even be bothered to get into it.

    These guys in the video on the other hand. This shit will rock. Not only does it provide a nice way to interface your app, it provides you with built-in code modularity. I can break up my different front-end functions into modules and have the UI builder automatically interact with the application code.

    I have a lot of ideas. Most of them I don’t have time or knowledge to follow through on, but recently I’ve gotten two ideas I do really want to follow through on! I really think they could be good things and I really want to see if they will hold up to scrutiny.

    280 Atlas makes me want to follow through on my ideas. I’m not a great front-end developer and not graphically inclined, but Atlas gives me a decent UI to work with from scratch and if the idea holds water I can hire a graphics guy to make it great.

    Most my ideas are applications and I’ve always been fascinated by desktop application development, I’ve always thought of it as a much more scientific and “structurally sound” (if that makes sense to anyone else?) process than web development. The problem is you can’t get it out there. You need some sort of vendor to deliver the app through and all my ideas involves being completely computer and OS agnostic, I.E. you should be able to use the app from any computer with any operating system anywhere in the world – that’s how everything should work.

    With Cappuccino and Atlas, it could work!


    tetris


    Yesterday I participated in a programming contest. Unfortunately the required language was C/C++ or Java, since I have no idea what available data-structures there are in C/C++ we chose (like last year) to code in Java. But the thing is – I haven’t coded Java since sometime last year. Because it sucks. Neither had my partner and we were out a third team-member.

    This all resulted in us finishing in 37th place of 40 competing teams :P
    If the language had been Ruby on the other hand I do believe I would have kicked a bit more ass. We had somewhat finished solutions for 3 tasks but were just debugging for like 2 hours on two of them, so we only got one task finished.

    The contest was followed by 8 hours of studying electrodynamics. So I spent a total of 15 hours in school… Gonna go get a shower now (after spending the morning reviewing the solutions we had for the other tasks yesterday) and then go back to school again.

    Our team-name for the contest was “The Owl Exterminators” it’s a name I use pretty often when I can’t think of anything awesome, it’s a reference to Futurama. Though on my way home yesterday I thought of a perfect team name, it’s witty, it’s Ruby and it shows how beautiful Ruby can be, it is the title of this post.


    tetris


    I recently tried setting up sphinx on a rails app with thinking-sphinx and ran into a bit of an issue.

    ERROR: malformed or unknown option near ‘–pidfile’.

    That was the error message I got and this appeared when trying to start the sphinx server with rake ts:start or rake ts:rebuild.

    I installed sphinx via MacPorts and it turns out this (still) installs the 0.9.7 version and not the 0.9.8 version, and apparently the –pidfile option did not arrive until 0.9.8.

    What I did to solve the problem was follow the guide here: http://www.viget.com/extend/installing-sphinx-on-os-x-leopard

    Even though i had installed it via MacPorts I still needed to install iconv and expat to get sphinx to properly compile.

    If anyone else out there on the internets has had this problem and finds this — i hope it was useful.


    tetris