From Dublin to Singapore: the history of the development of iPad applications
Hi habrochelovek!
The other day I released a coloring app for the Colorific iPad. Development has been delayed for a year, but now that the main work has been completed, I want to share some lessons learned from this whole story.
')
I started “messing around” with Cocoa about six months later, after I had a white iMac G5 20 "in 2005. Then I spent almost all my monthly salary on it. After 4 years, MacOS ( At that time, Tiger was like a breath of fresh air.
The next time I opened XCode when Apple released its SDK. I was enthusiastic, because they went about the way I told friends. I have always disliked the “anarchy” in J2ME development, and it seemed that Apple should take the Qualcomm Brew path, only to make it not so “clumsy”. Actually, everything — the Xcode, Instruments and App Store development environment seemed to me to be just the ideal of how the mobile SDK should look. I had very little experience at the dawn of J2ME, and we could not even dream of such an infrastructure.
But you can't make much money out of it alone. I myself somehow did not dare to start, and all the familiar developers rested on the need to buy poppy and unwillingness to invest money even in the Mac Mini. So I overslept the era of the "gold rush" in the App Store.
In 2010, Apple announced the release of the iPad. This time I decided not to miss the moment. By that time, we had already moved to Dublin and my friend, a professional J2ME programmer and Android fan, decided to join me. At that time, I had an iMac and MacBook and I shared a beech with it. We decided to make a coloring for children, since the iPad format was perfect for this. We started when the iPad has not yet gone on sale but the SDK has already appeared.
We quickly began to write code and quickly made a draft of the program. You could choose a color, draw a finger across the screen and fill the closed areas. Everything worked very well on the simulator. Then sales of the iPad began in the UK, I got into the car, drove to the nearest city in Northern Ireland - Newry - and bought the coveted device.
After testing the application on the iPad, we realized that the current version is no good. Core Graphics shamelessly braked when drawing a finger across the screen. You can see this in most free painters. After a little research, it was revealed that all the “competent” drawing machines contained the OpenGL ES library, and it was decided to rewrite everything.
None of us have ever worked with OpenGL before. We read Jeff Le Marsh , looked at the sample code and started writing. As a result, after some time they came up against the lack of knowledge in this area. There were two View classes: one knew how to draw, the other did fill. There were problems with combining them into one class. In the end, after some torment, we scored. I must say that at that time I already ordered the design and paid for it, and it was very disappointing to leave the project.
Then my own problems began - the company decided to close the office in Dublin, I was offered to move with a promotion to Singapore. We thought for a long time, then decided to move. Naturally, at this time it was no longer up to the development. So, from September 2010 until May 2011, development was not carried out at all. In May, I decided that once the money was spent, I had to return it :) I started to fasten the drawn interface to the code. At the same time I found a programmer on free-lance.ru , who partially helped me with OpenGL. The designer ordered another website to be made for the application, which he successfully did in a few days. Well, hired an illustrator to create templates for coloring.
It should be noted that at this stage I have already spent a lot of time. I had to give up running in the evenings (I ran 10-15 km) because there was not enough time.
As a result, by the end of June, the application was ready, and I started beta testing. Since the application is designed for children, and while we do not have them, I set out to find beta testers with children. Among the acquaintances, there were few iPad owners with children (only one pair), so I decided to launch public beta. On the macrumors.com forum , I posted an ad for beta testers. For beta distribution, I used the Test Flight service. It is very convenient - it provides a registration form for testers, automatically collects UDID and collects information about devices and iOS versions, helps collect feedback, send out new beta versions, etc. In general, I highly recommend Test Flight to people who want to engage in public testing of their application.
After the tests, some flaws were revealed, there were several requests for new features, etc. Almost everything I requested was implemented in the release. As a thank you to testers who sent reports, I sent out promotional codes for the release, and sent the stylus for the iPad to the best tester.
Then began the process of pouring the application into iTunes Connect, waiting for review by a team of censors, etc. What can I advise here for beginners (and maybe not only for beginners). If you want to fill in the translation of descriptions, do it before uploading the binaries to iTunes Connect: after uploading, while the app is pending, you cannot do it. This was my mistake, since I ordered 2 translations, but decided that while they were considering the application, I could wait and then add translations. It turned out that there is not :) We need to add localization (even if we are talking about translating the description in the App Store) before adding the binary. Now I have to release an update to add localizations. The app was pending review for about a week and a half. We reviewed it in a few hours, and then we released it in the AppStore.
Fun fact: it took only 2 sales in Bahrain per day to bring the application in the local App Store to the Top 4.
What I learned from my first experience: 1. Start marketing before coding starts. The choice of the application, the target audience - is also marketing. Read the App Savvy book - it describes the development process by a non-developer very neplozo. 2. Develop quickly. When we started there was not a single coloring for the iPad. When we came up against the problem with OpenGL there were only 2 very poor applications. A year later, my application is lost in the App Store. 3. Do not try to make a design yourself if you are not a professional designer. All reviews of my application began with the words "what a cool design you have" or something like that. It may not be perfect, and we still have to work on it, but most of the colorings and children's drawings are really bad. 4. If during development you have come up against the problem of lack of knowledge - consider the possibility of outsourcing. I am sure that if I came to this decision 8 months earlier, the sales would be an order of magnitude different. 5. Test on the device. A better few. We have both iPad models in our family. Even the application rewritten to OpenGL slowed down on the first iPad. I had to rewrite part of the code on plain C and significantly optimize the algorithm. 6. Be prepared to give almost all your free time to develop. And even when the development is over, I spend all my free time trying to promote the application. But do not bring them to fanaticism (today I found 3 hours to run;))
And of course, I want to give here links to my application and screenshot, I hope you do not mind. Perhaps this will help me raise the rating a bit in the Russian App Store. I organized a small lottery - I sent the painted coloring to me by email or posted my work on the application page on Facebook, I send it to the stylus. I will send 15 participants with the most “Like” on their Facebook picture.
Also, taking this opportunity, I want to say hello. I want to try to find a person with knowledge of Objective C and OpenGL ES. I need to fix some things and, perhaps, to optimize, of course not for thanks;)
If anyone has suggestions / feedback / advice on the application itself, promotion, etc. - please welcome to kammenti. Well, or write on twitter @colorificapp .
Parts of the application code were written in: Ireland, Singapore, Ukraine, Malaysia, and some in Moscow.
Good luck in your development! "Who does not risk, he does not drink champagne." (C) Popular wisdom
UDP: I have just been "hated" on a habre by the designer of my application and site. This is a Mokkey user.