Introducing Printomi

Introducing Printomi

I’m extremely proud to announce the launch of a project I have been working on for quite a while now.

Printomi is a service for social games that allows players to take snapshots of their worlds and upload them to their own personal gallery. Players can like, comment share and order poster prints of their virtual creations.

The way it works is we provide the game owner with a tiny API that is used to interface with Printomi. The bulk of the Printomi client is downloaded at runtime from the Printomi servers. This is good for two reasons. Firstly by keeping down the size of the code that must be embedded into the game we can keep down the initial load time the player must sit through before they can play the game. Secondly we can upload changes and fixes to Printomi without requiring the game owner to recompile their code.

Once downloaded the printomi client is ready to be be used. In the case of Gourmet Ranch a themed button is shown to the player inviting them to click:

Once clicked (or activated by the JavaScript API) the main Printomi window opens:

The window has controls to zoom in and move the print about allowing the player to get the perfect angle of their world:

Once happy the player can then saves the print to the printomi servers. While the image is uploading the user can continue to play the game. Once the upload is complete the window is opened once more offering to show the player their print.

Printomi is tightly integrated with Facebook so that it’s as easy as possible for new users to get started:

Once connected the new print is then available for viewing, sharing, liking, commenting, etc:

In addition the prints are organised into galleries so that users can browse the uploads of others:

If a user particularly likes one print then they can order it as a poster:

Currently we only offer posters to people living in the US however we plan on opening it up to other countries when we can.

To print to such a large poster (24×18″ @ 150DPI) and maintain the quality of the final product we must capture a large number of pixels. For example here is a comparison between what a user would see on and what we store behind the scenes:

The technology that lets us capture these large images and store them in a compressed way (to conserve disk space and therefore cost) is quite complex and will have to wait for a later post.

Printomi is currently only available to a small subset of the Gourmet Ranch user base but we are performing a steady-rollout to everyone, so if you don’t have access to the button in Gourmet Ranch just yet then don’t worry it should be available for you soon!

Printomi is a culmination of many many hours of hard work, late nights and stress. But its been worth it! I’ve had a blast throughout the whole process and am proud of the result. I have also learnt a whole bunch in the process. I have had to work with so many technologies to pull this off, to name a few: AS3, C++, C#, ASP.Net, MySQL, IIS, AWS. I have particularly enjoyed the C# work having largely abandoned the language since my early work with it.

If you would like to support me or if you would like to keep up to date with the goings on with Printomi then you can like us on Facebook or follow us on Twitter 🙂


If you would like to read more on Printomi then checkout these posts:

Sample Post #3

Sample Post #3

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

Sample Post #2

Sample Post #2

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer tincidunt nisi non lacus molestie congue placerat sem ultricies. Ut interdum faucibus lacus, at placerat elit cursus non. Curabitur ac metus felis. Fusce non risus sed neque egestas faucibus at quis erat. Phasellus rutrum, erat a placerat vehicula, magna purus varius ipsum, eget dignissim elit mauris id lacus. Sed suscipit felis in mauris placerat sed fermentum est tincidunt. Integer nisi mi, malesuada id ornare a, elementum ac purus. Aenean sit amet felis id metus ornare auctor at eu ante. Vestibulum tellus quam, pulvinar nec facilisis nec, scelerisque quis turpis. Etiam feugiat lectus in nisi consectetur nec sollicitudin libero porta.

In consequat hendrerit nunc eget tristique. Mauris laoreet magna a ante mollis sed condimentum lacus varius. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut arcu eros, feugiat bibendum pretium nec, vestibulum sed justo. Aenean purus enim, vehicula in adipiscing ut, elementum quis quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pretium lectus ut diam sollicitudin consectetur. Donec viverra tempus erat, vehicula ullamcorper nisl laoreet vel. Praesent tincidunt nunc vitae nisi pellentesque quis condimentum tellus pretium. Pellentesque interdum, enim a fermentum tristique, eros eros sollicitudin erat, id dapibus dolor augue eu ipsum. Sed venenatis turpis eros. Fusce tincidunt, leo id pulvinar cursus, lorem risus dictum felis, sed imperdiet dolor libero nec quam. Etiam eleifend orci ac neque convallis eget hendrerit libero sagittis. Praesent ut sem tellus, suscipit auctor quam. Vivamus ultrices ultricies vestibulum. Aliquam quis augue est, pellentesque scelerisque urna.