وحشتني يا ميدان التحرير #Tahrir #Jan25 (Taken with Instagram at Tahrir Square)
- 2Do (iPhone & iPad)
- Adobe Ideas (iPad)
- Angry Birds HD (iPad)
- AppShopper (iPad)
- Birdbrain (iPhone)
- Calcbot (iPhone & iPad)
- ContactCars (iPhone)
- Cut the Rope HD (iPad)
- Dictionary (iPhone & iPad)
- Dropbox (iPhone & iPad)
- Evernote (iPhone & iPad)
- Facebook (iPhone)
- Flipboard (iPad)
- GoodReader (iPad)
- Gowalla (iPhone)
- IMDb (iPad)
- Instagram (iPhone)
- iStudiez Pro (iPhone & iPad)
- LIFE (iPad)
- Momento (iPhone)
- Moneybook (iPhone)
- Numbers (iPad)
- Outpost (iPhone & iPad)
- Reeder (iPad)
- Twitter (iPad)
- Weightbot(iPhone)
- WhatsApp (iPhone)
- Wikipanion (iPad)
- wunderlist (iPhone)
All people in mobile apps market are judging it from a web goggles.. No, it’s different, totally different..
The main 3 differences: you don’t have this space of creativity to design an app on your own, you are limited with OS, hardware and guidelines.. you don’t have all the control over an app that user installs on his phone like any website, because it’s a (released) software.. working in a totally new market in Egypt that everyone is talking about but no one has penetrated it yet .. and here comes the triangle of pressure..
Design & UI angle:
- Designing for web has no limits but your browser capabilities, on mobile apps, you better: match the OS look-and-feel, follow the manufacturer guidelines, accept what the SDK permits or go custom-controls-maniac
- Totally new concept of designing the minimalist UI components, and putting there the only stuff the user actually needs, with special handling for touch screens and spots of touch intersection
- Maintain the enormous number of screen resolutions, specially for platforms where there are different OEMs or device specs like Android and Symbian
- Arabic support: fonts are a big headache, at some platforms you should even dig into system to make your app speak Arabic.
- Support RTL orientation.. Not all platforms support RTL by default, you should programmatically put that button at the right and reverse that screen transition to be from right-to-left
- UI building: so far the UI builders (not even talking WYSIWYG) aren’t that easy like web that a web designer can develop, it needs the mobile developer to build every single pixel of the app according to design, unless you have got a great designer with great programming skills (only found in Utopia)
Technical angle:
- Working on a totally isolated digital product that you don’t have control on, except through a middle layer (API) in between
- Whenever you know there is something wrong with your app because of the API, you dance happily, not because you hate the backend developer, because you know you can fix it later (even after the user installs the app)
- Web developers are usually preceded by a UI designer, UI developer and followed by a tester.. mobile developers are preceded by UI designer, API Web developer and followed by a tester and a store reviewer
- Releasing updates is a tedious process, some platforms manage it flawlessly like App Store or Android Market, however you can’t always make sure that all users installed the update, you will be lucky if 80% of your users hold the latest version of your product
- You are not done by releasing the app, there is a big brother called store review process
- You should keep an eye on device memory, making sure that your app doesn’t crash and freeze the user’s device
- You should always check that there is internet connection, and that the API is up.. Or the user won’t get what’s wrong
- You should keep version of the current app installed on user’s device and compare it to latest version released.. so if a lazy user didn’t update the app, he gets alerted
- The app should be responsive, when the user clicks or taps, the UI should respond.. or he will think there is so something going wrong, and simply close the app or uninstall it
- You are totally captured within the API of the platform, and the most common (not latest) SDK capabilities, so even if the platform provider releases a new SDK, but still the most common one is a retarded one *coughBlackBerry *cough*, you should obey
- Caching: you need the app to be fast, minimize loading time and works offline, so you go for caching.. with all its awfulness: slowing the app startup time as it loads data from both internal memory and remote server, also syncing with server for new/modified/removed data isn’t always a pretty handled process
- Push Notifications: believe it or not.. it’s not as easy as it sounds.. it’s server-server thing, you just use the mobile app (agent) for authentication to push server
- Integrate with other apps you have no control on, like maps, media player…etc
- Integrate other SDKs to support something like advertising system for examples, with every single meaning of integration headache.
- Localization: this one is much like the web, but you can’t add new one on the go without releasing an update, unless you do a big chunk of work and host your localization files remotely and maintain the UI for both RTL & LTR orientations, and briefly there is no easy systematic way to do so.
- Backward compatibility: you should always make sure that your app supports at least the latest OS version - 1
- App signing: you can’t just put the app on a device and go, No! You should first install a certificate on your machine (most of the time not free).. And then sign the app to install it on the device
- Wait for the emulator to start.. Enough said.
- To track an issue: it functionally doesn’t work in the app, check the app code, no problem there.. check the API, no problem there.. check the backend web application, no problem there.. check the database.. Catch it!
- Testing environment: you should be richie rich to setup a testing environment with all those devices in market
Business angle:
- Answer the holy questions: which platform to target? and how many users for each in your local market? with which devices?
- You should make sure that everything you need to have control on is there at the app release, because you have no way to change it after user installs the app but through updates
- Cross your fingers that the apps gets approved on the anticipated time, or all your marketing planning would go in vain.
- Extra effort: Prepare app description, keywords and screenshots for store, surprise!
- Accept the harsh ranking, ratings and reviews of app store
- Keep track of numbers, by which I mean: downloads, updates, sales, new users, active users, session length, geographical access, devices, OS, geographical distribution, users retention…etc
- Maintain good relationship with users by hearing their feedback and act accordingly so they keep loving you and your app
- Deal with dumb stores like Ovi or App World (why on earth doesn’t it support Egypt?!)
- Sell an app in a market where buying a digital product is like paying money for your own wife to sleep with you.. It socially sounds awkward and inappropriate.
- Working under a quota: your limits are the data package of the operator, aka the daily quota
- Keep evolving: a new platform, a new device launch, a new OS, a new SDK, a new API for twitter or Facebook… evolve or die
- Work in a handsets market where the most common: Symbian (outdated), Top hyped: BlackBerry (sucks), Most app-ready: iPhone (pricey), Top developer favored: Android (rare)
- Monetize app: Ads? Egyptian Marketers don’t talk mobile apps, yet.. Paid? Egyptians users don’t talk buying softwares, ever.. Mobile credit payment? Operators don’t talk micro payments, easily.
- LBS: working in a country were GPS was banned a year ago is not Ok.. Egyptians aren’t GPS-friendly yet, neither do our streets, neither do our government as well! and strangely many Egyptian mobile startups are building their business model on LBS, crazy market!
- When you build an Egyptian website, you have more than 18,000,000 potential customer.. on mobile apps it’s different.. You definitely don’t have more than 60,000,000 potential customer.. Egyptians are not the 300,000 who own advanced smart phones… This represents less than 0.5% of Egyptians with mobile devices.. They are just trend setters for the time being.. Accept this fact.
The verdict: Mobile Apps development isn’t fun as it sounds from a user perspective.. some secret skills are needed to build a fairly good app, specially at this part of the world.
Found guilty for being delicious @NolaCupakes (Taken with instagram)



