The beginnings of Bobswitch

Recently I decided to build an online multiplayer version of the backpackers card game switch. Switch is similar to a lot of other card games like Uno and crazy eights, just played with the rules I know. It can be played with multiple people and like most card games is mainly down to luck once everyone knows the rules. But it is a good project to use in order to play with some new technologies. I knew I wanted to use websockets and I wanted to try out AngularJS and Coffeescript so a turn based multiplayer card game seemed as good a choice as any.

So far I have managed to get a very early version of the game up and running; this includes a lobby section where you enter rooms and the main game screen where upto four players can play a game of switch and talk to each other in the chat window.

bobswitch-lobby bobswitch-game

Continuous Integration

I have been wanting to try out Travis-CI and Coveralls integration with Github for a while and having now made the Bobswitch Github repositories public means I can try them for free. This has the added benefit that I get to have badges on my Github repositories!

bobswitch-angular-ci bobswitch-python-ci

It turns out setting these two services up with Github is ridiculously easy, you just add a .travis.yml config file and then Travis-CI picks up every check-in and runs your tests for you reporting any failures.

Todo

There is still a lot of functionality to be fixed and added to truly make a stable version of Bobswitch though, just a small selection includes:

  • Adding room persitence. Should save rooms into a database like MongoDB
  • Allow logins through google. Will stop people stealing each others seats! Can also then get avatars next to peoples names, could use facebook or twitter instead
  • Fix little issues with connections and notifications
  • Add rounds to knock out worst performers until only two players left

Autosport for Android

The final application I worked on as an employee of Rapid-Mobile was released last month, in time for the start of the F1 season. It was an Android application for Autosport. The project was in essence a port of the iPhone application we had previously built; but we updated a few screens, corrected some mistakes and gave it an android look and feel. Unusually for a software project it ran to schedule, and was completed on time without any issues. It definitely helped that the guys at Autosport where so easy to reach and knew what they wanted.

autosport android general shots autosport android gallery shots

This was actually my first foray into Android development (BobClockD3 came after), I had owned a G1 from release but I had never had a chance to try out developing for it. My tasks at work were mostly focused on iPhone and backend server development at the time. This was driven by market demand, in that there was no demand for Android development. That demand is now shifting to having a presence on all the popular smart phones, though Apple is still the primary target because their users seem more open to paying money for applications. Hopefully my new position at Rank will lead to more Android work.

Let them have colour

Yesterday I pushed out an update for BobClockD3 to github and XDA. Incase you don't know what BobClockD3 is, it is the large clock widget in the following screenshot.

combined_d3_screens

You can read more about it in my project section - BobClockD3

Since I first released BobClockD3 the number one request has been for custom colour selection, well finally BobClockD3 has the ability to customise its colour scheme. Woooo.
It was impressive to see the number of people who would go to the effort of pulling apart an apk, decompiling resources, modifying them and then repackaging just to release custom coloured versions. But it wasn't the best of solutions, now it's easy to do from the preference panel colour picker. Rather than writing a colour picker I chose to use the version by github user attenzione (direct link). It was a very nice looking preference panel, worked in 1.6 and was opensource. Screenshot shows the colour picker integrated into BobClockD3 configuration screen.

bobclockd3 colour selection

Integration was simple, a couple of options in eclipse and it was done. But distributing this in the BobClockD3 github is going to be more complicated. Currently android libraries can only be distributed as source not packages, so it appears my only option is to write instructions in my readme to explain checking out this dependency and setting up eclipse/commandline. But that's a topic for another post.

Also in this build I replaced the old preference like activity with a nice new actual preference activity. With shiny buttons provided by Dan and cleaned up text I think it actually looks nice for a configuration screen. Other new features I added included functionality to launch a clock application when selected, an option to set all text to lowercase and the infamous 12-midnight-00 hour fix. For some reason in my original release I had written extra code just to convert 12 to 00 for midnight because I was under some strange illusion that was correct.

Github link - https://github.com/bobthekingofegypt/BobClockD3
Direct download link - BobClockD3 version 1.0

My plan now is to release this version into the market, if their are no bugs reported maybe this weekend. We will see how that works out.

The definition of a false start

Phew, I swore I would actually update the site before a year came around and I've succeeded by an impressive 15 days. I think if you look up the definition of a false start there is probably a little picture of bobstuff sitting there. It annoys me a bit that I failed very badly to actually update the site. This time I've tried to do everything more structured; using github, buildout, fabric and lots of documentation to make sure I can recreate the development environment again in the future.

I'm setting simple targets for the next year:

  • Make at least one post each month
  • Finish and add at least 2 more projects before next year

Hopefully I will do better at achieving these over the coming year.

... and so it begins

Well, after a slight delay my new years resolution of starting my own website is finally taking shape. It's obviously very sparse at the moment, but hopefully I will be able to start writing about my own projects in the coming months. I also really need to get the projects section added to the site, this will hopefully help me focus on finishing projects rather than starting lots and then moving on to something else.

I'll close out for now with a couple of pictures from woxys Zoo Prague gallery to add some colour to a currently very bleak and empty front page.

Freezing tenderness

alternate text

You can check out the rest of her galleries here