It "may" be for the better of the consumer, but that's also not clear. The only effect is likely that Apple doesn't offer half-baked apps, which affects only the perception of their store, and doesn't add much value to either consumers or developers.
It's definitely a big step forward for consumers. Apps in the store have been reviewed by an authority prior to release, they must follow guidelines to (as much as possible) ensure compatibility and protect my privacy, and they are sandboxed to protect my private data and the device's integrity.
You might not appreciate the difference, but it means I can confidently hand an iPhone or iPad to anyone -- tech savvy or otherwise -- and let them loose without being concerned about what they're downloading or installing. Gone are the days where I set up computers for family members and end up full of malware and spyware within a couple of months. That is HUGE.
The "hacker kids" issue is almost orthogonal, but I can't stand the idea of someone telling me what I can run on a device I purchased.
The app store, is a tradeoff. It's some inconvenience for developers in exchange for a trusted, safe marketplace for applications for consumers.
As simple as it is, this test takes at least one week. For critical bug fixes, it is simply unacceptable.
1) Apple is creating a quality filter for $99, one that seems to be successful comparing the aggregate quality of apps on iOS vs. Android.
2) Yes, to test on your own device it's $99, but XCode is free and has all the simulators you need. If you're willing to build an entire app from scratch and invest that much time, $99 doesn't seem like a terrible investment to publish all the apps you want for a year.
3) In terms of their nitpicking your apps, again, that seems to just be basic quality filtering that isn't in the Android space.
a. $100 (this 99 bullshit annoys me) is a pretty big investment for a student. A common argument is that if one is able to afford Apple hardware -- i.e. the Mac and a mobile device -- this $100 fee is puny in comparison. Not true. One can get an iPod touch for $200 and a Mac for $600 (Mac Mini). With a little more effort, e.g. trawling classifieds, one can get second hand hardware for cheaper. So the developer fee ends up being north of 12.5% of cost of ownership, and that's just for a year, it doubles to 25% if you use the hardware for 2 years, and so on. N.B. Even when parents buy kids their computers, this percentage argument stands. The simple point is, if someone wants to program their own device, why not let them do it? Why should they have to pay a 100 bucks?
b. The owner of the device (talking mobile here), should have the right to install whatever the fuck he or she wishes to install. Okay, do not open the door for people to do so by mistake, and have basic authentication. It should be trivial for Apple. Any device with an apple id tied to it, can and should allow the owner to plug in a cable to install a custom app. Make people enter Apple id's twice, once on XCode and once on the device itself, if that's what it takes (I bet there are easier solutions, but this came to mind first)
c. Now, for someone wishing to sell an App in the App Store, charge the $99. I think taking care of App distribution, developer documentation/videos, app vetting by App Store employees etc. would then justify the $99 fee and perhaps act as a filter.
P.S. I don't buy the filter thing either. Over time, the Android App store now has the same high quality popular apps as the Apple App Store (hold on, I know that tablet apps are still better on the iOS platform, but the big names are getting there)
b) I totally agree with this point, this does really bother me. If I'm willing to take the chance of bricking my iPhone, that should be my right. I've also been trying to do some testing with the new Bluetooth Low Energy tech, and not being able to unplug my phone from Xcode is pretty damn annoying.
c) I can dig it.
2 - So "free" XCode runs on Windows, Linux and commodity PC hardware or perhaps it only runs on expensive Apple hardware (3-6x the price usually)?
3 - I think "quality" filtering is very much in the eye of the beholder.
The criticism isn't that Apple should allow Mom's recipe database written in GwBasic into the app store. It's that Apple prohibits GwBasic on the phone.
Irrespective of robustness or user experience quality, Apple doesn't allow end users access to scripting languages, even though the only person who would suffer for bad code is the person who wrote it.
Apple developer documentation? comp.os.linux was better documentation, in 1996.
Problem solved.
There is no "Obstacle to America's Future" here. The point is for every kid to learn to code... not for every kid to build a business publishing iPhone Apps. Why does it matter WHAT they code on???
I learned on an Apple II e, why? Because that's the computer that was donated to my school. It was old and haggared and no... my programs were not compatible with the PC dos or that cool, slick new "Windows" thingy everyone was talking about at the time. And CERTAINLY nothing compared to the little Mac that was out.
But so what?
I still made a pretty cool Angry Birds style game on it using only hline and vline. It taught me the basics... that was the point.
If kids want to publish apps... well... publish them to Android. There is nothing wrong with that.
... if we really care about the next generation becoming hackers and makers, not just consumers, we need to reject Apple’s bullshit, reject Micorsoft’s (decreasingly relevant) bullshit, and focus on open systems. This doesn’t have to be Android. Ubuntu Phone looks promising, Firefox OS might not be more Mozilla vaporware, and Jolla looks incredibly promising.
I don't care what kids code on, I care about access. And forcing people to pay $99 to run their own code on their own devices is beyond unconscionable.
It's like arguing that Ferrari is preventing kinds from chasing their dreams of becoming race car drivers because they charge too damn much for their cars.
plus, we're not talking about $99 to publish, we're talking about $99 just to run your own code on your own device. I don't know about you, but when I was a 10yr hacker, that would have been a deal breaker.
It seems that what you are asking is whether the school should take steps to ensure that kids can develop mobile applications. If that is the case then the school could just set up a single app store account as part of a mobile development course. If the school really wants people to develop mobile applications then the $99 fee is meaningless. I doubt that there is any overwhelming demand to do that on the part of students or teachers.
Of course, any kid can develop a whole plethora of applications for a variety of platforms at very low cost if they really want too. Considering that it wasn't too long ago that it took thousands of dollars to even get a computer(and many people I know didn't grow up having access to a computer of their own) your criticism is essentially looking a gift horse in the mouth. There are a lot of factors that come into play with encouraging kids to get into computers, a $99 deployment requirement for an expensive device isn't one of them.
Is it idiotic to give iPads to school students? Yes. Is it apples fault that schools waste money on iPads? Ok, a little. But to claim that apple is the obstacle that prevents children from learning how to program wrong.
Walk before you run. There is more opportunity than ever for someone to get access to free software (BSD, illumos, Linux) and cheap hardware (Raspberry Pi, BeagleBoard) and do whatever the heck they want. "Coding" needn't be synonymous with an iPhone or iPad.
Not about money for me, but if I was a little kid hacker again, money would have been a big deal.
Unfortunately Android's audio & midi APIs just aren't sophisticated enough to support the kind of apps I want to write so I'm stuck with iOS for now.
Their computers ship with a Terminal app that implements a fully Posix-compliant Unix shell, so they can learn shell scripting.
It comes with a LAMP stack, so they can learn basic web development.
It runs C, Objective C, Ruby, and Python programs, so they can work on more advanced programming.
And of course it can run the Java VM and Javascript V8, which confusingly have nothing to do with one another.
How is any of this an obstacle to America's future?
I'm not completely against OS X... until they finally disable non-App Store software sources, the thought of which is, I expect, giving someone at Apple a massive hard-on at this very moment.
Why can't someone wipe the phone's storage clean and install their own version of Android, or some other OS?
Think back to the days before "smartphones", when your smallest computer was your laptop. Imagine if you had to pay Microsoft to be able to share a program you wrote with anyone else. Or if MS made it infeasible to remove Windows without making the laptop unusable.
On iOS, on the other hand, it's $99/yr if you even want to run your own code on your own device. And you have to 'provision' your friends' devices if you want to share with them. It's extortion, it's stupid, it's immoral.
Sure, vendor lock-in is a drag. But let's not forget that open source software and increasingly hardware have never been stronger as a cultural movement.
If father and mother both have locked devices or computers and have no interest in fiddling with them because "it just work" and "no time (to lose) with configuring/tweaking", then the kids will often follow the same tracks.
I have a 4yo boy and when I play with my adult toys (grinder, drill) he will very quickly find a toy with enough ressemblance with a grinder or a drill and just mimic me.
I would say it is the same for any kind of activities you wish kids would do (reading books, eating fruits, finishing whatever they started, play lego, hacking things), the best way is to just do it yourself first. (I'm giving no lessons here, I never eat fruit and now my boy decided he do not like them too, shame on me)
So I will agree with the article, the tendency to require all devices to just work, to be sexy design (but closed), to require no config, no fixing, to be replaced with a new one when broken, etc, all these which are kind of the signature of recent Apple devices, are bad for the future (i.e. bad for kids education).
You know what would be awesome? If kids learned to code on and tinker with Raspberry Pis. They could learn to code, turn them into robots, do all sorts of cool things. If a few break, no big deal, a 35$ pi is a drop in the ocean compared to how much schools spend on Macs...
For mobile, Firefox OS seems to be the only choice for a truly open platform, and it doesn't hurt that Javascript is the single most accessible programming language to learn (in that you don't need to install anything, just fire up a browser and a scratchpad).
Making coding this easy and this immediate was definitely an incentive to start hacking around and experimenting. Javascript + HTML hacking now is almost as easy but being able to hack the same hardware all your friends use as their main computing platform was cool. Now that mobile is becoming more and more the primary, if not only, way people interact with computers, the hackability of mobile platforms does matter.
That being said... I meant what I said about apple's mindshare. Take, for instance, LA County's iPad boondoggle[1]. EdTech is a particularly gnarly sector, and the fact that districts are going after iOS to this degree is a damn shame.
[1] http://pando.com/2013/11/29/ihave-a-dream-the-unanswered-que...
(he's already bought an iPod touch using the same sources, and easily could use one of my Macs as the dev env)
Plus I have a RaspPi i bought for him to learn to code. He's picked up some Python so far...