Cross platform is tricky. It seems like a small "technical" buzzword but actually, it is one of the biggest challenges for many technology companies and has different aspects for different people in the organization and outside of it.
This whole story is under the assumption that some developer is jealous with the app success of another guygirl. Jealousy is not the only reason to try to disrupt the success of another appdeveloper - direct competition can also be a "bad" reason to do so. It all started one day when I saw that Look & Cook daily reviews report arrived to my inbox with something around thirty 5 star reviews. Cool? No. Each review was very short and lacked a personal touch. Of course it looked strange to me. It is not that I don't think Look & Cook does not deserve such daily treatment from its users:) but still my cynical sense got alerted. Judge it for yourself: So I checked out with my friends at Look & Cook to see whether someone decided to spend a hundred bucks on buying some good reviews just for fun and of course the answer was no. Look & Cook received naturally very good and authentic reviews from hundreds of users worldwide and we never had the urge to beef it up needless to say on the "lame" quality of such reviews. So I had to do something about it since I knew deep inside how Apple's fraud detection algorithm can work and spot such anomaly. So I went to their developer portal and it happens that they have a fraud reporting form which I guess was meant for other type of fraud and not for a developer reporting about a fraud on his own app. Anyway, I reported there the incident assuming this at least would be an evidence that I am innocent. Someone could go into an argument that in the dynamics of conflict resolution this could be also a tactic on my end to take the blame off my shoulders. Still that was the only thing I could doat that time. I got the usual auto reply from Apple that "we got your report and we will take care of this" although I never got until now any human response. At that night our app was probably detected by Apple's algorithm and we got dropped from almost every country ranking where we used to rank high on almost every country on the globe. This got me sad. Our app climbed on the countries charts not because we bought downloads or something like that. People really like it and use it and tell their friends and it took us a long time to get there. Still I understood the limitations of an automatic algorithm which decides such things blindly and I waited patiently for someone on Apple's side to read my report. And then I got this frightening email with the dreadful subject of:
Notification of iOS Developer Program License Agreement (PLA) violationLet me explain this - for a developer this is a point of crisis. It is like your mam and dad will get a long letter from the school administrator that you cheated on a test while you were the best pupil in the world and never done that in your life. It was actually even worse. I will not quote the email body but it had all kind of scary words like fraud and "terms of service" and I think you get it. So I got myself together and replied harshly, a bit, that I spotted that as well and I actually reported on this and never got an answer. Well, I did not get an answer on this mail too. Eventually the situation did not escalate and the app is slowly climbing the charts (since users like it of course:) all the way up back again. Also I am not getting anymore scary machine mails about me being a crook or something like that. And now to the hypothesis on how this happened. If you'l google for "buy reviews" then you will notice that there is a whole industry behind it. You can buy reviews by the meter, quality, language and target store. So the most obvious line of thought I had, in my conspires mind I have to admit, was that someone who doesn't like us/our success/our app/food in general decided to spend a hundred bucks to buy some good reviews. But then my "trusting" side thought that it is probably a mistake and some 20 cents an hour worker just got the whole iTunes link wrong. So to the conclusions: To Me - Stop bragging too much about the app's success. No can do - I enjoy that. To My Close Friends @ Look & Cook - Sorry for being suspicious:) To The One Whom Did it By Mistake - Please pay attention next time. To The One Whom Did it By Intention - The Good Guys Rule!!! To Apple Developer Support - Please reply in a humanly voice to the developers' scared emails, someone can get a heart attack and the liability will be on you. To Apple's Anomaly Detection Algorithm Developer - Why can't you attribute some credit to an app based on its good history so such anomalies will not put it immediately in the same category of apps like "playing chess with one finger in my nose". Now I feel better:)
One of the main problems with Android for app developers contemplating on Android vs. iOs is the fact it is highly fragmented. On iOS you, unconsciously, know that you need only to build one version (Let's keep the example simple) and it will work on all devices, you know that Apple is doing everything to make sure everyone has the latest version and that there is a decent level of backward compatibility. For Android developers things have turned up differently, due to the way Android is "openly" distributed, you can not be rest assured that your app will run the same way or will even run at all on your users' devices. Different incompatible Android versions, devices with different capabilities, OEM customizations and plain third party OS customization turn each Android device to be different then the other and that is usually a bad sign for developers. This infographics says it all. Android fragmentation is a topic that has been discussed and acknowledged quite thoroughly in the industry and that is not what I want to uncover here. On aspect of the fragmentation, which has been neglected and left out of discussion but has no lesser impact on the apps industry is the variety in terms of screen dimensions, resolutions and input capabilities. This variety in devices input and output capabilities does not really impact you if you are developing apps with minimal user interaction. Thinking of it then it is quite hard to come up with such an example in today's tablet/smartphones world. Most of the apps today are "intensively" focused on user experience needless to say judged totally by the experience itself. To design and develop a "good" user experience towards a single target device, with known screen and input capabilities is something feasible, taking into account even just one more device category then you are in a serious problem. From a philosophical perspective, I think a "nature" law can be suggested on how good a user experience of an app would be based on how many target platform it addresses, the more platforms targeted, the worse the experience becomes. Few thoughts in regards to this dark side of fragmentation are:
- web technologies ease the pain a bit since they allow "clean" separation of logic and presentation where the cost of customizations for additional platforms is just marginal. Of course for some app categories it is not an option since the experience has to be so "immersive" which make the browser as a container too restrictive.
- gaming and content driven apps suffer the most here
- google tries to minimize this by creating guidelines and removing the most problematic customize able "edges" from their user interface libraries but I think the problem is more rooted then that
- if someone feels a dejavu with Java ME then I got it too:)
- Deferred talks - actually you can talk to someone without him/her being on the other line and this "talk" will be transferred digitally as a textual message to the other side either immediately or based on some pre-condition, for example on birthdays.
- Activating apps by voice - If apps had a voice-based interface then we could do anything we want just by voice. For example say: "Alarm, wake me up tomorrow 7 am, ok?"
- Reply to incoming messages by voice without opening the device, reading the message, clicking reply, writing down the texts tediously and clicking send.
- Operate the phone basic functionality - for example a cool "silent" shout on a ringing phone can be something really nice
- Authentication by voice patterns
- Unlocking the phone by voice - the common check up we do on phones where we open the lock screen and see the status of mails, tweets, Facebook and other data we have on the dashboard can be done with a single word like "What's up?"
I am a big fan of apps! Both as an apps developer and as a smartphone user started way before the days it was even called a smartphone. I own several phones with all possible operating systems and never miss a chance to install any new app I encounter. I may be a major factor in the total 2011 downloads number in appstores:) Following this self-proclaiming manifest and after I achieved credibility as someone who knows something about apps, I want to go back to the question in the headline. Sarah Perez story on the end of 2011 A Web of Apps started with the following lines:"It is remarkable to think that we’re in the early days of the app era, when there are already close to 600,000 iOS applications and nearly 400,000 on Android (source: Distimo).". For me, these lines assume a-priory that the number of apps will keep growing a lot, at least much more than 1,000,000 apps!, a common notion nowadays. I think that every person that is somewhat related to the apps industry assumes whether publicly or silently in their "heart" that this number will grow; otherwise, there is no much of an industry in it, isn't it so? Of course one can argue that each app can "fatten" up and make more money on its own which means to grow vertical and not horizontal. In my eyes growing vertical after a hyper horizontal growth period is usually a sign for the beginning of a market saturation phase. To put it in the right perspective, I personally do feel it will grow much more (I got to, I am highly invested in this assumption:) so let's not start pessimistically:) even considering the mere fact there are so many others not using smartphones and many audiences not being addressed etc.. etc.. then we are ok, aren't we? To answer the question above I want to see if we can somehow establish our beliefs on some rationale that is at least discussable. Or in other words, at least something to help the ones who are highly invested in it to be able to get a good night sleep calmly. I think mobile apps and their acceptance present a major breakthrough in the computing world and this happened only thanks to the fact that people actually "met" these apps and discovered their existence (thanks Apple for creating the first effective apps distribution channel). The point of convergence of "capable" computing mobile devices, with good enough to go network connectivity and dynamically loadable small functional units called apps actually created something amazing - the ability to "upgrade" yourself instantly. It always reminds me of the scene from the Matrix where Neo loaded up the Kung Fu learning software and in a minute he was a Kung Fu master. I know we are not there yet but the metaphor has been established. The ability to load new functionality on demand on a computing device, which is actually your avatar since it goes everywhere with you, and then to be able to operate it is quite a leap from the usage perspective. So if we follow this line of thought then we can predict two trends in the apps world for the near future: 1. Apps will become narrower in functionality within time. We are actually witnessing this trend already where you can see every day a new app achieving a very narrow purpose. This won't mean there won't be a place for big "Photoshop" or "Office" like packages which are more like a wholesaler in a box, we will see those but they will not be the majority, not even close. This trend will occur simply because people have shorter and shorter spans of attention and more and more specific needs which can be answered efficiently only by something narrow enough and simple enough to learn and operate it immediately. In general, I put the "blame" for this trend on the low bandwidth we have available today for communicating with our phones and unless someone will invent a direct injection of new functionality into our brains we are of stuck with the growing trend of simpler apps. Just to put it in context, narrow apps does not mean "dummy" apps. Actually, the narrowing of the apps happens in terms of explicit functionality while there is an expansion in the implicit dimension of making the app adaptive to the specific context of the user which enables easier operation of the suggested functionality. This adaptation may require more technological investment in the app then other explicit features. For example, Siri has a very simple and narrow explicit functionality (she just listens and talks back with one button) while behind the scenes it holds a huge technological effort. 2. Thanks to the growing number of sensors and interfaces on mobile devices (and I know of few more developments in this area which are exciting) as well as the better connectivity options we will witness more and more human needs that will be addressable by apps. For example, the accelerometer which now assists people who run with their calculations and effort tracking, something that was not possible before this sensor was available. These two trends point towards a growth horizon that is very clear that lies on the axis of the diverse set of unique and shared human needs. If we add to this equation locality, languages, gender, ages, cultures, religions and other social grouping criteria then we run into a very big number. A number that is big enough to take us to the point where we will stop counting how many apps are out there in the very near future. One question that I still haven't got an answer for is in the title of the original story that got me started "A web of apps". The question is whether we can do a comparison to the growth of the world wide web. I know it is not necessarily what Sarah Perez intended to discuss in her story, which was more about potential apps discovery by connecting apps. Still, there are many talks about whether apps will grow in the same growth pace as websites did. Websites grew and keep growing mainly on the axis of topical interest or knowledge areas and from a gut feeling it feels like it represents a much bigger growth axis. Maybe more on this in a later post. What do you think? Will it grow forever?
I found today a news on Cnet titled Ballmer dismisses Google Android where the content of the news item is clearly described in its title. This kind of titles always attract to read further since usually when Microsoft dismisses something, I believe that something has a great future. It is amazing that Microsoft's CEO still holds the same position of disregarding things he does not understand (and his own words - "I don't really understand their strategy. Maybe somebody else does."). As far as I remember the last time he did not understand what Google does with search, that was the day he lost the battle on the search field.
Later on there is also another "funny" quote of him in regards to Google and here it is - "If I went to my shareholder meeting, my analyst meeting, and said, 'hey, we've just launched a new product that has no revenue model!'...I'm not sure that my investors would take that very well. But that's kind of what Google's telling their investors about Android," - again, if he would raise his head, he would that most of the things google does are free so why does he think their shareholders would be surprised or non supportive. he might be reflecting his own shareholders attitude where they are use to revenue based product and that is actually where they fall short.
As for Android (although my case above relates to anything Microsoft dismisses in vanity) did he maybe think, it can be their alternative OS for MS Windows with one difference - free. I know it is for mobile devices right now and a bit limited, but well, all devices are becoming mobile and given enough time it will have a laptop version as well.