FIFA Tournament web app

It's time for another blog post and this time I would like to announce a new app that me and my colleagues at Isotop has been working on. Some of us are big fans of EA sports FIFA 2012 and sometimes we like to arrange tournaments against each other. Thats why we decided to build a web app to facilitate the administration of those tournaments.

FIFA Tournament APP

The app comes with the following features:

  • Add players, create teams and report matches.
  • Individual player ranking table (read "We have our own special rule" for more information)
  • Double and single team league tables
  • Player statistics
    • Player info
    • Recent matches
    • Win/loose/draw pie-chart
    • Historic ranking diagram

We have our own special rule

The rules are simple but a little bit different. The tournament is a race between individual players but you get individual ranking points on all kinds of matches(single, doubles or more). All players starts out with 1000 ranking points and when you win a match you earn 10% of your opponents ranking points. If you team up with another player, you can only loose as much as 10% of the lowest ranked player in your team.

Technical details and hosting

The app is built with Ruby on rails and jQuery mobile so you will need to have some basic programming skills to get the app up and running. We host our app on Heroku with the free account version.

You can find the source code on Github:
https://github.com/Raskelof/FIFA-Tournament-Web-App

Getting started

1. Clone from Github.

$ git clone git@github.com:Raskelof/FIFA-Tournament-Web-App.git

2. Configure database
Rename the file config/database.yml.example to database.yml and configure it with the database you want to use. The defaults are configured to SQLite.

3. Configure app details
Open up config/environment.rb and set the name of your app. You can alsoe configure a custom header image and iPhone/android home screen icon, or just leave it to use the defaults.

FIFA::Application.config.app_name = 'My FIFA Tournament'
FIFA::Application.config.front_page_header_img_src = '/ui/custom/header.gif'
FIFA::Application.config.app_icon_src = '/ui/custom/iphone-icon.png'

4. Initialize app

$ bundle install
$ rake db:migrate

Start your server and you should be good to go. Happy gaming!

Credits

The app was built by my self, Björn Lennartsson and Fredrik Evertsson (and Nils Wikberg contributed with the idea for the 10%-rule).

Join in!

We would love to see other developers contributing to this project, so feel free to send in your pull requests on Github!

Published 24 February 2012 at 14h01

Spotify API’s on Protothon theme day

This Saturday I went to a talk about Spotify API's. The event was arranged by Protothon at Bergs School of Communication in Stockholm.

Spotify

There were three speakers from Spotify on the scene, platform partnership manager Ronald Pompa, developer Chiel Kunkels and UI designer Toby (didn’t catch he's last name). All in all, the talk was good and it gave me a fundamental understanding of what the API's are all about. Here is a short summery of what came up during the talk.

Spotify API consists of the following three API's:

libspotify

The main API will connect you to the music streaming service making it possible to build your own custom Spotify client. The library comes as a precompiled C package and is available for windows, OS X, iOS and Linux. No need for Despotify now then?

Metadata API

http based service using JSON or XML as response formats to extract meta data from tracks. Get info on songs, artists, albums etc.

Spotify Apps API

With the Apps API you can build a custom app living inside the Spotify client (desktop and phone). The app is actually just a HTML 5 web application consumed by Spotify's implementation of Chromium, or as developer Chiel Kunkels put it "It's a glorified web page". This feels like a good approach from Spotify as it will lower the threshold for developers wanting to build apps.

In the app you can use javascript to load different modules, exposing various functionality. One of those modules are the UI module which offers common UI elements giving the app a Spotify feeling to it.

Publishing apps to Spotify

The API is available for testing but if you want to publish your app to Spotifys App finder you will probably have to wait until the test face is over. For now, you need to be a Spotify partner to go live with your app.

Later on Spotify will have a verification process before any app is published, much like Apples App store.

Spotify audio data

Audio data is not available through the API but they are looking into opening up for this kind of data as well. I think this is a good idea as it would open up endless possibilities for developers to build really cool visualizations and games.

Published 22 January 2012 at 21h54

Annoying menu in Ubuntu

I'm quite new to Ubuntu but lately I've been using it a lot as I have been working on my Ruby on Rails projects. It's nice to see how things has progressed in the world of unix, making it a user friendly OS not only for those with the longest beards.

Even though they've done a great job with the interface in Ubuntu there is one thing that has been annoying me. The main menu (really called the launcher) on the left side has become my enemy number one.

If you, like me, installed Ubuntu 11.10 (Oneiric Ocelot) and ran the update manager, the default behavior of the menu is to collapse when there is no activity around it, and when you move the mouse to the left side of the screen the launcher appears. Thats all fine if it wasn't for the fact that the menu appears above other active windows, making buttons and other interaction elements almost unclickable. For example, if your running Firefox and tries to click the browser back button, the launcher would (9 times out of 10) probably appear over the button before you have time to click it. Pretty annoying, yes!

So after a couple of googles, searching for ways to change this behavior I finally found a lead and I installed the compiz settings manager. From the manager you can configure a lot of thing in your environment, and most important you can set the launcher to never be hidden which will make all maximized windows to be placed a side the launcher bar instead of under it.

Start off by installing the manager.

$ sudo apt-get install compizconfig-settings-manager

Next, you open the manager (for e.g by searching from you dash window for compiz settings manager) and selecting "Desktop" in the menu. From there you can go to "Ubuntu unity plugin" and under the option "Hide launcher", choose "Never".

Voila, problem solved and Ubuntu and I can be friends again!

Published 30 December 2011 at 14h18

Blog or die

Greetings to you dear visitor and welcome to my new blog kingdom!

I’ve been thinking a while about starting my own blog and now it´s finally here. To push my self to actually go through with this and get a blog up and running I named the project to “Blog or Die”, so every time I browsed my folders I would be reminded with a deadly threat that I really need to get this up and running. Now it’s live so i guess the method worked.

This blog is NOT about me as a person, It’s a blog about stuff I find a long the road working as a web developer. But before we head over to new topics I guess it’s worth mentioning a few words about my self. I’ve been working with web development since 1999 and my specialities are ASP.NET, C#, Ruby on Rails and front end development. I’ve also been working a lot with EPiServer (4, CMS 5 and CMS 6) and I’m a EPiServer Certified Developer.

I will try my best to keep this blog regularly updated so, see you later!

Published 30 December 2011 at 10h06