piZap Photo Editor, Collage Maker & Stickers

Hi Gents.

Today I would like to talk about pizap - online and mobile photo editor. I work on this project about 2 years. For me, working on this project has become a very pleasant surprise. I did not expect such an interesting project in the near future. At the moment, traffic to the site piZap is about 1.5 million hits per day! I was surprised too when I found out about it.

Key technologies - is PHP, MySQL and Flash. Used about 20 servers. Before I came to the team there were only two people: one - flash designer and developers, and the second - php developer.

The application is quite simple, but is in really popular in the U.S. and the Philippines.

What is piZap?

Well, maybe it is enough to talk about how I like to work in the piZap team. It is better to explain, what kind this project is.

The application is user friendly and at the same time fun tool for photo editing. You can upload photos and “mock” over them. Add stickers, and other photos, add a mustache, nose, ears, horns. In addition, you can create a collage or timeline images for your page in facebook. The application is closely integrated with facebook. You can take pictures from the facebook edit them and save back. In general, piZap is mini editor for your images. Mainly it is popular between young people.

Technologies used

Server side:

Before there were user Symfony PHP framework and MySQL DB. But Symfony seems too heavy for piZap needs, a lot of not needed files, builds etc. Slim does everything we need. And MongoDB much faster works then MySQL.

Mobile application side:

We even didn’t think about building the application with native SDK. A little bit we were challenged by facebook fail with it’s first mobile application, based on HTML solution. And eventually started development in March 2012.

We started with single html page with canvas on it and KineticJS library. After that, tried to build native application with Cordova, and it was really fun. And I am not sure how, but I decided to use Sencha Touch for all the navigation, lists etc. And I can tell you that Sencha Touch is really cool and powerful. Now I work on another project with Jquery Mobile and I am really disappointed. But it is another topic.

Once I started this project I learned a little bit ObjectiveC and Java. It is required to write plugins for Cordova. Cordova plugins has 2 parts: native and JavaScript. It is used for camera and library access, upload picture to the Amazon simple storage (S3), saving picture to the library etc. We were thinking about using Sencha Touch native packager, but it doesn’t allow to write custom plugins, which is critical. For example, simple picture saving to the library is not implemented. So we had to develop simple plugin to do it (about 20 rows of native code).

It took for me about 9 months to build iPad application. I just started this new technologies research and I was moving slowly. But eventually, we released it to the appstore:

piZap Appstore

After that we hired new JavaScript developer and continued with iPhone and Android port.

Few months later we published iPhone release and in 4 months we published Android release:

piZap Android

And here is some screenshots:

piZap home screen

piZap open image

piZap collages

piZap editor

piZap effects

piZap save

piZap paint

piZap text bubble

The iPad application takes about 20K hits per day. iPhone app takes about 30K per day. And andrpid application is on top (50K hits per day) :) I am more than happy to see it.

So I think that is it. Maybe I will publish some update about this application, just later.

Thanks for reading.

Andrew Kovalenko

Developer & Team Lead

Kiyv, Ukraine http://cybind.net