Serious doubts about the App Store
marco.org
marco.org
It's quite frustrating to want to spend more time on iPhone development but hitting a brick wall everywhere because Apple just doesn't seem to really care about making the experience better. And it's really saddening because their engineers are clearly awesome folks I love to have a drink with or talk to, but they just can't help much. WWDC, despite the one disastrous app store session, was the only chance I and many other developers got to personally hound engineers we didn't know to fix/workaround a lot of issues that nobody cared about. My one single problem (big enough that we couldn't ship the app until it was fixed) that was lounging in ADC and DTS support hell for months was fixed in under 1 hour (most of that waiting) by a single very awesome person there. Some of these things just shouldn't be waiting as long as a year for the one week in the year WWDC happens, but I guess we just have to live with it. I'd even pay more to get these problems fixed. But some of them have existed for...well...a year now. And new problems keep popping up that make me want to rip my hair out (like 17+ ratings for all apps with built in browsers and similar? what the hell!).
I've heard about and seen experiences with other mobile platforms that are equally as bad, but it's really disappointing when Apple comes out with this phone that changes the smartphone market but then just keeps this backwards and nonsensical attitude towards developers.
One thing that I think we all have to take into account is the fact that the rules for Cell Network access are a lot different than what we're used to for general purpose computing networks. The fact remains that these networks are extremely, rigorously, monopolized and maintained by groups that are not going to give them up without a fight.
Its an underlooked fact that cell networks are considered a military asset. Every single cell tower, its location, and its operational condition are monitored by the Pentagon on a realtime basis. You do not get access to these towers without permission.
It should come as no surprise that stringent control is being applied to the terminals used to gain access to these networks. For sure, we have a consumer mentality about it - freedom of choice, freedom to buy, freedom not to use, etc.
But the raw hardware on the backend: it does not belong to you. You are being granted permission to access it by the military-industrial complex which controls the means and resources by which the asset is maintained, stringently.
This is bleeding through, all the way through, and Apple are doing a pretty good job of picking up the attitude. Seriously.
There is no such control being applied to most of the other smartphone platforms. They all have their issues, either with the end user experience not being very good, with overcomplicated development processes, with low uptake, with poor or nonexistent app stores, etc, but only Apple behaves so strangely towards its developers.
Apple has come the closest to nailing the big picture: technology, uptake, user experience. Instead, the part they are failing on is treating developers like they care. It should be the easiest thing to fix -- and that's also what makes it so annoying for so many people.
They do. They're just not moving fast enough to please everybody.
Case in point: For months, ad-hoc distribution would fail unless you made up a config file with a special key (get-task-allow), fed it through gcc, and attached it to Xcode via some bizarre build settings. Just recently, this trick became documented in the official "how to build things" manual, even though ad-hoc builds have been broken without it since forever. (Also, nobody seems to know what exactly get-task-allow does, although there are reports that it maybe affects debugging. Somehow.)
For months, you had to put exactly the right incantation into the bundle identifier in order for things to sign correctly. Maybe you have to put in the part before the first period, or maybe you put in the part after. (Wait, you didn't include a period? Wait, not period, you're supposed to include an asterisk in there. WTF Apple added a period !? Wait, you expected a Unicode character to work just because that was how it was documented?) Maybe Xcode doesn't tell you when you've done it wrong. Maybe iTunes connect doesn't tell you when you've done it wrong, and you get an app rejected because the documentation is fail. This has all since been fixed, although it's still more complicated than it should be.
The iPhone is just a series of secret handshakes, and everybody winks very hard. If you are okay with that, and are okay with searching the forums for undocumented Apple bugs every few days, you will be fine, and possibly make lots of money, because there are lots of people who are not willing to wink hard and look the other way, and so you can bill $150/hr.
Don't get me wrong, I get angry too, and have little fits of rage at Apple for some stupid, stupid problem. But at the end of the day, I get a pretty good check for not much work, I write things that I'm proud of, and occasionally Apple fixes their bugs. Good project, good paycheck, good stack: pick two.
Problems with adhoc and provisioning in general were somewhat understandable and are (sorta) being fixed and documented all over the place, which is not what I have a gripe with minus the occasional issue that makes me want to rip my hair out and wonder why it's not any better. It's that situations change and then Apple announces some arbitrary change with seemingly good intentions but with disastrous effect on apps in the store now. You see things like the change where any app with UGC should now be rated 17+ lest Apple reject updates until you change it to 17+...who on earth thought that was a good idea?
So then when I do have this occasional issue that makes me want to rip my hair out, combined with all these new problems that arise and that nobody at ADC is particularly helpful when problems do arise (I still have unanswered emails to Apple that are over a year old), I wonder if I'm being paid enough to deal with this :)
The problem is that only a very small number of iPhones/iPod Touches are Jailbroken, and you have to deal with purchasing/registration yourself if you're a developer.
Maybe, someone who is an actual iPhone developer, can explain the process in more detail.
1) Debugging your own app (works only on your own phone)
2) Distribution : http://imgur.com/PFYnK.png
i) Ad-hoc, limited to 100 devices: http://imgur.com/HjwnN.png
ii) For the app store
So yeah, you can compile it for 100 friends if you have their iPhone/iPod UUID, but you can't make it freely available for everyone.
On the other hand... there's no easy way to charge. The provisioning profile is all that's needed to run the app.
Also, these profiles are intended for "internal distribution" (inside a company). I'm sure Apple will blow up your certificate if you try public distribution.
"Because it’s working for them. They’re making a killing taking their 30% commission on the 1.5 billion copies of $0.99 top-25 games that they’ve sold. Who cares if the App Store discourages good developers from putting serious effort into it? Apple doesn’t need to care. And, clearly, they don’t."
Yes, it's working for them. They are making money hand over fist. They don't care about developers because it's not in their interest to care. I know an app store dev with a top 100 app and he makes $5/day. The top 10 apps are making their authors rich and the rest of the apps are just trying to win that lotto.
While it's true that Safari, Youtube, and even Mail can be used to access unsavory material the difference is these apps can be restricted by parents, individual third-party apps cannot.
Aside from having parents block all third-party apps, which neither Apple nor developers want, the only option is to have a "your kid could potentially access adult content" rating.
Everything else in this article is fair comment though. If Microsoft/RIM/Palm get their act together I can easily see many developers defect.
...not to say that the 17+ rating should serve as the rating for "there might be adult-themed third party content", but that maybe apple should have one rating for the app itself and then a warning for the third party content...and a whole section in parental controls to enable/disable these particular apps with these warnings instead.
They could parent protect the data connection. I think this would work fine for younger kids who don't need to be on twitter or whatever, and for whom parental protection is the most important (presumably).
With the arrival of the 3GS, a 1st generation iPhone just trickled down to my 2 year old. I just put it on airplane mode, but I am guessing that trick is only going to work for a couple of years.
I can tell you that multi-touch has been a lot easier to teach than mouse use.
Will be interesting to see what the future holds - perhaps the idea of a separate mouse to a screen will be seen as quaint one day.
The funny thing is the mouse should be a a very basic instrument - its basically point and grunt. But the dexterity required for kids is a bit of a step - touch seems to make it even more intuitive.
...maybe it would even help get an app approved faster, if it was a hit on another platform first?
The device is a mobile computer and I can install any program I want on my laptop so why shouldn't I be allowed to install anything I want on my iPhone?
The only way I can see of this changing is for the users to change their opinion and side with developers. Only, then will Apple be forced to change anything. I hope that users realize how much they could benefit from more apps from more developers and less Apple control.
Until then I will start looking into Android...
"Almost no app updates were approved during the entire month of June with no explanation."
This is because they were launching 3.0 and all apps needed to be capable of running on OS 3.0.
It will of course be popular among the geeks first, but hey, how else have most of the web applications started out?
Bring on the democracy!
You aren't allowed to make an app that allows other apps to be installed. The App Store is the one and only way to install apps, forever.
The nail on the head issue is this: Apple are making buck$ from all this. They don't care a damn. Android, well .. Google may have its nefarious plans for us all, data-wise, but at least I have a lot more control, as a developer, over what happens. And frankly, I think the feedback cycle with Android users has been a much more positive one than with the iPhone crowd.
I sure hope Apple loosen up a little, though I won't be counting on it. I'll just focus on Android as my primary platform for now. Its better for me, and better for my users: and thats what really matters.
While Apple prevents any sort of app that provides a runtime or scripting language, Google developers have released something that lets you code Android apps on the phone itself in real time in a selection of different scripting languages.
The contrast is stark.
For instance, I'm starting to use TinyScheme embedded in my code. Pretty sweet.