The best of the best, my favorite photographs from over the years, hopefully there will be more in the future.

Studio 3 is the software that was loaded onto all 350 laptops on our system.

The software manages all of the on-the-day graduation transactions. It takes orders and payments from the customer, received and sorts photographs, assigns the studio photographs to the customer and lets the customer pick and choose which photographs they want printed. Each laptop exports data as XML at the end of the day where it all gets combined back in the office to the master database. Studio 3 communicates with other copies of Studio 3 using USB Flash Drives or WiFi.

It has to be fast to learn too as it is operated by temporary staff. The average training time of it’s operators is 5-10 minutes. 

The system includes a few clever libraries that were written for it. To get the order data from laptop to laptop each student is given a USB stick, the USB stick contains all of the details of that persons order. USB Tools manages and maintains the contents of the sticks as well as making sure that the USB stick itself is healthy. It includes error checking and XML repair tools too.

The next clever library I wrote is new for 2011, WiFi Tools. This was written as part of the Magnet Wireless system, it enabled us to convert Studio 3 from a USB networkless system to a server/client system in just a week, while providing a fallback to USB. WiFi Tools made it super easy with commands like WiFi.SendPicture(“filename.jpg”) and WiFi.RetrieveOrder(“20113456”).

The program was written in C# using Visual Studio.

I played an integral role in the Success Photography website. Part of my day to day work at Success was building, upgrading and maintaining this website.

From this website people can preorder their photographs for their graduation ceremony and choose a time they would like to visit the studio. The website takes all of their details and processes their credit card and emails the customer a receipt. All of these order details are then put in the main company database ready for the graduation.

After their ceremony people can view their photographs and order more copies, check the status of their order as well as access the full size images. The customers can also download a video copy of their ceremony that will play on most modern devices such as the iPod and the PS3.

The website also caters for Schools as well. It integrates with the Schools Studio system and takes special codes that are distributed on paper printouts and allows the parent to view the photographs of their child only and makes other photographs inaccessible.

The website is written in PHP, HTML, CSS and JS and runs from an onsite ubuntu server. 

CHIP is the main order system for Success Photography. It manages orders from their initial creation all the way through to printing and shipping. Originally created by my colleague at Success Photography, I have been developing and bug fixing the software. Used across the entire company, here are just a few statistics:

  • Used by all employees
  • Manages over 4TB of images
  • Contains over 235,000 orders and 222,000 customers
  • Integrates with the £250,000 worth of printing equipment seamlessly
  • Takes card payments using XML-RPC
  • Integrates with UPS for parcel tracking
  • Evolves on a month by month basis with the company

One of the areas of which I am proud is the Island Manager, which is designed to syncronise all of the data we get back from events to our database. I almost rewrote the entire synchronisation code adding lots of error checking and reducing the amount of inputs neccesary from the user to streamline the process. I also created a clever sorting system nicknamed “Hybrid Revisioning”. It also went under a full interface redesign to make it much easier for employees.

CHIP is built in C# and MSSQL using Visual Studio.

I can’t put much more on this web page due to the central nature of the product, if you would like more information then please ask.

Live Broadcasts! While at Success Photography I broadcasted a number of graduations for our university clients. I managed and undertook the project from beginning to end including training non-IT staff.

The whole thing started because one client asked if we could do it. I said we could and had a working demonstration by the end of the day. The next day the new system was tested onsite at a different university and was a resounding success.

Over the past year and a half I have worked with the Success Video team to deliver content to students on behalf of universities, including customised branded web players. We can broadcast from anywhere in the UK from as little as a mobile phone connection. We provide after broadcast recordings for clients to publish on their website as well as statistics for their records.

This summer we pushed 154 days of video to customers around the world. You can see an example of a live broadcast below.

Get Adobe Flash player

PhotoCraft is a tool for automatically applying complexion touchups to large batches of photographs. When our main Photoshop team were ill I was asked if I could touch up a few events. I noticed that the process was repetetive and I was mostly running the same actions and tasks, so I decided to automate it.

Using the Photoshop APIs and the OpenCV libraries, PhotoCraft will look through the folder of photographs and find the faces in the pictures. It will then control Photoshop, select the faces, and run a specified Photoshop action. Check the video in the gallery to see it in action.

I’m extremely proud of this software, it was built in two days flat and enabled me to do a weeks work in one day. It is now in regular use by our Photoshop team and has enabled us to stay well ahead of schedule.

PhotoCraft is built using C# and Visual Studio.

OpenRadio was my final year project at Kingston University. This was the project that won me the “Best Software Engineering Project” award at my graduation ceremony.

The idea behind OpenRadio was to build a better music delivery platform. I was very interested in streaming radio when I was at University but I lacked the funding for full time streaming servers and music licensing fees for streaming were very high.

I designed OpenRadio to deliver a radio like experience, where everyone is listening to the same thing at the same time but it must run on easily available and above all cheap web hosts. OpenRadio will run on a regular LAMP server with no extra configuration and no extra permissions from the host.

OpenRadio uses a combination of Flash, PHP, MySQL, XML, JavaScript with AJAX. Using these and a clever algorythm I can ensure that everyone is listening at the same time. The system allows for people to act as a DJ or for the system to Auto DJ with full song history. Users can sign up and listen and like songs, play weightings are adjusted according to what people vote.

I am currently making plans to start working on OpenRadio again as a hobby. My coursework documentation is available on request.

Questing Against Boredom

Glitch is a remarkable game. It is a game with almost no plot but it is still quite a lot of fun. As you play it you realise there aren’t really any objectives other than levelling up and completing quests.

Unlike similar games which challenge you to level up, this one doesn’t boost any statistic. You don’t get any faster or better at hitting things. Instead you are levelling up to… level up. You can level up in several ways but the most fun is questing, somebody gives you something to do and you go do it. In the case of Glitch it happens to be a talking rock demanding I make him a drink to fight off scurvy (yes really).

So how does this relate to boredom you ask? It was a brainwave I had this morning. My todo list was empty, so I had nothing to do and then boredom occurred. Then I was given something to do (a quest), to go to the shops and buy some rolls for lunch. So I did it, and during the time I was doing the quest.. err.. task I was no longer bored. I was focusing on the task at hand.

Strangely I will happily do things inside game quests which I would consider chores, the difference seems to be that the quest usually presents you with some kind of small reward. You also get a concept of chain quests as well, this is very similar to a project. You complete a number of tasks one after the other, at the end you get a desirable outcome. Achievements are also similar, you do a task and you get a badge of honour. 

I am not the only one who seems to have noticed this link, there is a quest log for your iPhone and one for Windows PCs too. So the question is this, how does this information help me. What can I do with it?

The simplest answer is this, think of things as a game. Making something a game turns something boring into a challenge. Make it trackable, quest logs show a sense of achievement. Make it worth your while, if there is no obvious carrot at the end then make one for yourself.

Just some food for thought, I will refine this as I go along. Keep an eye out for later posts… In the mean time, go play some Glitch.

Last Day at Success Photography

Almost three years to the day. It has been a rollercoaster ride of “it’s awesome” and “it’s a nightmare”. Some days have been really busy and some days have been really boring. On the whole it has been a good few years. I have had the chance to build a few really cool things and learn a lot about real business, management and delegation. 

Business and career reasons aside I will really miss the people, the atmosphere and the location as well. I wish them the best of luck for the future and am hoping to keep in touch.

Dreaming of a gaming PC…

It is completely unneccesary and there is no way I could ever justify the expense. But I have this sudden urge to build a very powerful liquid cooled computer. What follows is a chain of events that have put me in this weird state.

I just started at my new job in London and my first task was to build my computer, I had lots of fun doing it. I haven’t built a computer in a few years and it brought back fond memories of looking for the latest graphics card and overclocking.

This weekend I visited some friends who were playing the new Skyrim game, I have never considered it but one of them was using a very nice Dell XPS and getting amazing graphics from the system. The fond memories of building struck back again.

The problem is I enjoy the researching and building of machines more than actually playing games. Steam has been a wonderful influence and has had me playing more games on my MacBook Pro than ever before. The Humble Indie Bundle keeps reminding me what it is I like about computer games too. So conflicted, but it has just gone on my 30 day list

Photo by LaMenta3