This post has been written by the winner of the CCP Games & Avatars United application development contest Dr Battlesmith:
Writing apps on Avatars United
As an 8 year-old child of a merchant family working the stations of Kor-Azor, I came 3rd
in a color by numbers competition at the local EBank branch. This set me on the path
which brings me here today, having crawled my way up from newbie, to amateur, from
coder to code-monkey, each day waking with my sights set on one-day reclaiming glory
in competition. Waiting for this moment!
Big Thanx to CCP, AvatarsUnited, OpenSocial, Google, the sponsors and participants.
I believe the best way to learn a new technology is with a fun project, it’s always easy to
put in extra time when something is for fun. Having worked with OpenID and social
networks my eye had been on OpenSocial and the AvatarsUnited competition was the
perfect opportunity to dive in and see how it all works.
After a few experiments with making requests to APIs and saving data to AvatarsUnited,
I started a rather simple project “Have you got?”. This grabs a characters assets from
Eve API and saves them to AvatarsUnited. With this done that data can now be retrieved
by the characters friends. It’s literally less then an hours work to take the return from an
API and share it among friends. It was impressive seeing the leverage that could be
gained with a few simple steps.
I have been involved in a lot of projects where offices are striving for efficiency and
there is often a brick-wall when it comes to how much CPU or bandwidth a technology
uses. OpenSocial is really amazing in this respect, the client does much of the hard work
and you can often use data directly from an API without any kind of post-processing. The
speed of everything, from responsiveness in the client, to how quickly APIs could be
mashed together was a source of wonder.
This lead me to a more ambitious project “MineManager”. With this app Eve-Central,
Eve-Metric and a custom built API for saving/retrieving ops were added to the mix along
with Eve API. Working with so many different sources was no harder then the first app,
OpenSocial provides all the tools needed. Extensions provided by AvatarsUnited allow
access to groups and Eve related parameters, along with access to the members roles
within groups which can be used to give permissions within your apps.
The core of “MineManager” is rather simple but as with any project going beyond a few
functions it takes a lot of time to make things presentable with a usable interface. This
stage just can’t be ignored and often takes longer then any actually coding. I used
collapse-able areas to gain a lot of screen real-estate and had some buttons hacked into
places where buttons aren’t designed to be. This did cause cross-browser issues however
they could be debugged with browser tools.
Looking back, the OpenSocial way of doing things is easy to learn with some experience.
Generally it’s perfect for grabbing any kind of XML or JSON data-source and quickly
turning that into something cool for your friends, while all the features of social networks
are readily available. You can do everything from sending messages, making activity
notifications, to uploading new media to a users gallery.
Creating fast interfaces with enough room to move is helped by the tools for managing
tabs while anyone experienced with ActionScript will find some of the techniques from
that language work very well in this form of JavaScript where you are working with the
interface so directly.
Overall I found it a dream to use, although I did reach for tools in the wrong place a
couple of times, the forums and ticket system quickly sorted out my miss-understanding
of documentation. Can’t really over-state how impressed I am with the OpenSocial
framework and the tools provided, while AvatarsUnited implementation is spot on.
They’ve really done an amazing job with everything from the developers area to the
ticket system, all the latest technology with OpenID access included.
If you’ve got a multi-user Eve application planned, from industry to PvP and you were
thinking about Windows or PHP as your back-end I’d seriously recommend AvatarsUnited
and OpenSocial. The whole system allows you to get up and running much faster while
most of the permissions and multi-user stuff is taken care of for you. Very glad I’ve had
this chance to take a good look at OpenSocial, as it’s probably one of the better designed
technologies I have encountered.
It’s been a great competition and I’ve learnt a lot.
Can’t wait to play with all the apps!
Dr BattleSmith