Things to consider while developing your iphone app ideas
Are you an Entrepreneur looking to make iphone apps? a CEO with a mobile strategy perhaps? or even the head of marketing or a key decision maker for iphone development? Here's a quick guide for you to understand the capabilities and limitations of these devices based on our experience to help you define your app more clearly.
Capability #1: Social, social and more social....
Facebook and twitter are huge. So try to get your app developed in such a way that anything thats of interest to him/her can be shared via facebook/twitter. It could be the score of a quiz you're making, a jewelry set, a great offer, discounts or anything in general that a user can rave about to his/her friends.
However, keep in mind the corporate customer as well and provide an option for users to share content via good old email as well.
Capability #2: Foursquare it or be square
Any location-specific information like your store locations or outlets should be visible on a map to the user. Period.
If you're getting this developed, insist on the map zooming to a level where the user can see the nearest store/outlet from where he/she currently is. Also, try to include as much information as possible on the map. We actually drew icons of various amenities around an apartment in the map to help users choose the most convenient apartment for them.
Capability #3: The User Interface
It should be possible for any app to be developed in such a way that everything looks smooth and elegant. Pop-ups and screens that just disappear in a poof before another screen shows up is simply unacceptable. Everything should look smooth and elegant.
At the same time, insist on a minimalistic interface that shows exactly what the user needs to see. Be aware of hotspots on the screens(areas where users typically look for information) and don't make any radical changes in this department.
Limitations: This is not a computer
This is famous and has caught us off-guard with many customers. Well, yes, your iPhone is a computer from a hardware point of view...but the software side is very very different and in general you cannot map PC/Mac functionality directly to the iphone...not without making some changes anyway. Here's the list of things you simply cannot do with an iphone. I've tried to outline some of them below as well as workarounds, if any to help you out.
Limitation #1: Files, folders, disks and such....
You have files, and you do have folders on a phone. But, each application on the iphone is completely isolated from each other. Documents of one app cannot be shared with another app. The only thing you can do is open a document from one app in another app. There is no way to get a listing, no way to copy or move files between apps, and definitely no way to delete files of another app.
One workaround with this though is to use cloud storage. Most cloud-based storage software like box.net or Dropbox provide an SDK to integrate their services into an app.
What we do however, is maintain our own data syncronization service which took a whole lot of time to develop but is worth it. This is because most enterprises don't want to share sensitive data over the cloud. This service can be installed on almost any server and configured for secure access.
Limitation #2: Multitasking
The iPhone and iPad have a lot of ground to cover in terms of multitasking. So don't even dream of any kind of background execution or scheduling when the app is not running. It is important to note that background execution can happen when the app is running.
What this means essentially is that you can't have a web-service call an app at a any time to update information stored in the app, for example. You have to plan operations in such a way that everything happens when the app is running.
A few exceptions to this rule include
1. You can do some simple operations when the user's location changes
2. The app can schedule a notification which when tapped on, opens the app. You could also send a push notification from a server which opens the app. However, push notifications require paid services like Urban Airship.
3. You can do some operations with VoiP in the background. Thats pretty much how Skype works in the background.
Thats about it...nothing else can be multitasked.
Limitation #3: Collaboration without some help from a web server
Limitation #4: Changes to the iphone interface
Being a closed platform, it is impossible for you to change the look and feel of the iphone interface itself. This means that, for example, you cannot change the locking mechanism of the iphone. Neither can you force creation of app groups or re-arrange the icons. There also is no widget mechanism to drop information directly into the home screens of the iphone.
This is a hard limitation of the iphone platform. There is no workaround available for this currrently.
Don't let these limitations get in your way however, iphone and ipad development can really benefit an organization. I personally know quite a few who have developed their apps and continue to make fantastic apps with them.
Also, don't let these limitations make you force yourself to keep your app simple. Dream big with iphone apps....while limitations do exist, the platform is very powerful and you shouldn't be comparing it to a regular mobile phone.
I hope this article helped you understand the iPhone platform better from a business perspective. Do let me know if you come across other limitations so that I can refine this article further, and make this a single place for good iphone development advice.