Wednesday, July 28, 2010

The Busy Bee

Busy Bee is one of the iPhone app ideas that started off simple. While working on a few other project ideas this got to be a spinn off and became an app of it's own.

What we tried to achieve was simple yet was/is not available for the iPhones. The idea was like most other phones (Nokia, etc) when you get a missed call / reject call, automatically compose a message (text/sms) to the caller from a template of messages. This becomes very useful when you are busy at a meeting or while driving, etc. This is not new and widely used.

Now one might think it must be easy. Yes it sounds simple, but when you have to work with iPhones (not jailbroken) you obviously don't get much freedom outside the boundaries set by Apple. That is one of the challenges about iPhone development.

We saw some limitations and a "gray" area where we decided to take a chance. The biggest problem we had was even thought the Core Telephony framework was introduced, it never gave you a way to get the caller ID of the incoming calls. This created a major problem as we can't automatically put the number after composing a SMS (the new SDK did allow you to compose a SMS though you can't send them out automatically). So the solution we thought of was to take a risk with an private API "UIGetScreenImage()". What we did was while the app is running in the foreground if an incoming calls comes we capture the screen and process the image and do an OCR to capture the number (MSISDN) of the caller. This included looking into the Address book if the caller is already listed. This solved the problem of call id, next we implemented a white list and a black list option for the user along with options to customize templates. This did the trick. This was not the right way to get things done, but we had no other option to solve the problem.

The risk was in late 2009, Apple announced it would begin to allow iOS apps to use the private API however it did also say "A future release of iPhone OS may provide a public API equivalent of this functionality". This proved to be the case when we submitted the application, we got rejected. This was expected. We took our chances.

Since we had done some work on the App I did not feel like giving up. It was a small project but I always enjoyed this kind of tools and it was a fun project. So we decided to take off the features and put up a basic version with a new UI. The new app will still get you a composed text message when you are on busy mode, but you had to manually fill in /select the number. You also could use the app as a SMS templates application as the iPhone does not come with any SMS templates features. This becomes useful when you want to send out standard SMS messages and if you are busy/lazy. Example "Almost reaching, come down in 5 mins", etc.

As of today it's still pending approval as Apple usually takes around a week or two to process. Below are some screenshots of the new app. This is one of those fun apps and I thought I'd share the experience with other developers.


The app is approved and in App Store.

We also were listed on "New & Noteworthy" Apps in App Store.

No comments: