What App Developers Want: Letters To Steve Jobs And Larry Page
techcrunch.com
techcrunch.com
"On the whole I like Android even more than iOS. [Mention of Java, and less polished dev tool chain]. I can live with those quirks, though, and otherwise it’s mostly a developer’s dream: powerful, flexible and open(ish)."
So, as you might expect, the Apple "requests" are "Please be more like Android". Having done a lot of iOS dev, Garbage Collection isn't even in my top 10 wants (his claim that it adding it would halve iOS dev times is bunkum). An Android like multitasking model is also not in my top 10 (widgets + the ability to do preemptive content downloads would cover ever use case I've ever wanted, and basically every other need I've seen). His repeated use of "fanboy" also gives the article -20 karma: Apple, and Apple developers never said multitasking is evil, just that unrestricted desktop (i.e power unlimited device) multitasking was a poor fit - a position that's still true.
For iOS, I do want: Better notification system. The ability to silently respond to pushes (i.e. Update my databases without showing any UI). Better system wide connectivity notifications. Better inter-app connectivity (something like Androids intents, I guess). Cocoa data bindings. A sync service API (desktop to iOS or web service to iOS).
I do not want iOS to become OS X, or a desktop OS. That is not helpful to me, or my users. A phone is not a tiny laptop, and frankly, nor is a tablet.
Seconded.
I, for one, would greatly like to see an easier way to build large, non-congruous table views and easier creation of cells.
A view subclass that handles rendering of formatted strings would also be a welcome addition.
UIWebView could also use some work - not much has changed on that since 2.0.
Fragmentation as the root of this problem - well, again, it just takes more time.
I want to see things change in the Markets of both platforms. This is an area I cannot change with more time - this is an area I have no control over and have a lot of complaints about.
My top 10 list all lives in the Market for Android.
Please DO NOT.
OLPC wanted to halt the CPU from time to time to reduce consume and discovered that it was feasible... if only the software let them. A lot of linux apps were designed using polling that make that impossible to do, so they had to modify it and remove the polling in all apps, a huge task that took an enormous effort.
Steve Jobs, who is not stupid learned from them and decided to not let coders be lazy with iOS so the same battery rocks way more than Android.
The difference between "What App develovers want", and "what iOS users want". Long battery life.
A few months ago I wrote a quick HTML5 app and when it came time to port it over to a proper iOS app, I found out Xcode only worked on Macs. And I'm a PC guy.
What did I end up doing? I made it into an Android app.
I'm sure I'm not the only casual app developer that didn't end up submitting to the App Store just because it was too much of a hassle. There's certainly no shortage of apps in the Store, but I think mine could have been better than at least 40% of them.
I am not very familiar with iOS development infrastructure but since MacBook is BSD based, it should be possible to at least make it run on Linux and FreeBSD.
> since MacBook is BSD based, it should be possible to at least make it run on Linux and FreeBSD
Mac OS X has a UNIX foundation, not the MacBook - you can run Windows on your MacBook if you really want to. A lot of the low-level system libraries are open source (http://opensource.apple.com) and can be compiled for Linux/FreeBSD. I highly doubt they're going to do the necessary work to port over the development tools and UI that sit on top of that, though.
Would it be nice? For some people - possibly. Is it ever going to happen? Nope.
Garbage collection is so simple. Once you're over the fear of feeling overwhelmed by having to "manage" memory it's really a non-issue.
Real multitasking? No thanks. I can't come up with a "real world" problem that the current implementation doesn't solve.
I'm actually from the "developing world," and I must say his argument is a bit of an insult to me. Sure, I we don't typically make as much money as an American or a European, but we buy the things we like... And if that happens to be Apple hardware then that's what we buy.
I can't argue with his Android points since I've just started coding on Android.
I would love rather an improved AppStore and even better access to some underlying part of iOS. I can't speak much for Android since I just started with it, but any developer learning iOS SDK should rather spend the appropriate amount of time to understand the simple concept of retain/release and how to use each framework to write stable application rather than apps that crash way to often.
What is really a bummer is that the iOS SDK provide some good tools to discover memory leaks when debugging the app (with Instruments) and even the great analysis tools now fully integrated with XCode 4. Unfortunately a good chunk of developers releasing apps in the AppStore do not necessary invest the time to learn the tools they are using.
I don't like that arbitrary hoop-jumping is effectively used to weed out low-quality code, but I can appreciate why developer convenience is not a priority for Apple.
That being said, I agree with the sentiment that most of what's in the store is utter crap. Personally, I think the barrier to entry is far too low. Apple opened the floodgates to try and get as many apps in the store as possible, and it worked. But now they're faced with the daunting task of cleaning house.
I would love to see them implement a monthly service fee - rather than charging $99/year up front, they should create a couple of price tiers with limits on the number of apps you can submit. That way, if your app isn't selling, you have a good incentive to remove it. They could also charge a smaller percentage as you move up the tiers.
As it stands, $99/year is just too easy to justify leaving everything in there - you're bound to get a few downloads from somewhere.
As long as they don't scare away the A-list developers, or hurt the quality of their apps, the development situation is good enough and they would rather spend resources on things that more directly benefit customers.
At the same time, the marketing dept. is milking their leading app count for all it's worth, so they won't be doing a purge. Rather, I think they will work on more ways for the cream to float to the top, like the "genius" feature of the app store, and on raising the quality bar with their own apps like Garage Band and iMovie.
Agreed. There are so many things that can and should be improved upon. I'm keeping my fingers crossed for iOS 5.
> They won't put the effort into fixing developer pain points if the only practical outcome will be more mediocre apps.
I think you're being a little too cynical. I prefer to give Apple the benefit of the doubt. After the whole Xcode 4 mess, I get the feeling that there's some disconnect between how Apple uses the tools and how the community at large does - a gap I hope Apple works to eliminate.
> At the same time, the marketing dept. is milking their leading app count for all it's worth, so they won't be doing a purge.
Yeah - totally agree. They'll never do a direct purge (ie "Hey, your app isn't selling, so we killed it"), but I'm holding out hope of my other suggestion of their using a price schedule to "encourage" developers of low-sellings apps to pull them themselves.
> Rather, I think they will work on more ways for the cream to float to the top, like the "genius" feature of the app store
It's a hard problem to fix, and I imagine we'll see some good breakthroughs in this area in the next year or so. I'm genuinely curious, though, about how your experience with the "genius" feature has been. To me it seems to just recommend random apps from similar categories; most of the time, I walk away thinking, "No, I already bought an app to deal with [x/y/z] - I don't need a second." Given the amount of info Apple has on me (app, music, and movie/TV show purchase histories, age bracket, metro area, etc, etc), I'm surprised that their recommendations are not better.
> and on raising the quality bar with their own apps like Garage Band and iMovie.
I think they've definitely succeeded with this one. After seeing apps like that, it really makes you want to push the boundaries and really up the quality of your apps.
Locking users down doesn't work forever though. iTunes did for a while, with DRM on every song. Finally users were able to pay to get rid of it, as other sources (Amazon MP3) were offering competition. The only way I can see Apple continuing to be so successful with iOS is through continued innovation, not by caving in to developers demands for features---what developer has refused to reach Apples enormous market because they weren't happy with development tools? Something like no garbage collection seems like a small issue when considering the upsides of developing for iOS. (I really hope better web technologies will change this.)
It reminds of a quote sitting in my high school journalism room: ``People like cocaine and prostitutes, but we don't give them that either.''
Let's not forget that a significant (however you choose to define that) reason for the success of the iPhone was - and continues to be - due to the apps available for the iOS platform. Apple understands this - just look at their marketing.
GC? As has been said by others, it's not really on the wishlist. Most devs have much simpler requests that would make development so much more enjoyable. By the time you've written a basic HTTP request-response wrapper for the 10th time, it starts to get really old...
If Google would officially support Go as a development language for the system it would be awesome. I'd support Android without hesitation then.
But Java? No thanks ...
The one app I ported to Android was massively pirated and minimally purchased.