Hacker News new | comments | show | ask | jobs | submit login
Apple: The Obstacle to America's Future? (decomplecting.org)
37 points by canweriotnow 1295 days ago | hide | past | web | 61 comments | favorite

The App store is a big step back for developers as far as healthy rapid iteration practices go. Week-long byzantine review cycles, expensive closed-source tools segregated to one platform, a single source for all downloads, inability to beta your product etc. This all set us back considerably with regards to where we are now on the web. For now Apple can get away with this, their lead is massive and the customers are very passionate about their products, but they won't be at the top forever.

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.

> The App store is a big step back for 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.

This. This right here. This is why I detest Apple as a professional developer.

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.

nobody complained about this junk when it was nintendo and sega doing it, for a lot more. It's just that this time; 1) people have this illogical apple hatred and 2) people buy into google's spiel about being open.

The app store, is a tradeoff. It's some inconvenience for developers in exchange for a trusted, safe marketplace for applications for consumers.

> nobody complained about this junk when it was nintendo and sega doing it, for a lot more.

I'm sure someone did, but they didn't have the internet to vent their frustrations.

> 1) people have this illogical apple hatred

I'd say there's valid reasons to dislike Apple's stance on many issues.

> 2) people buy into google's spiel about being open.

Every OS Google has is open-source - Chrome OS, and Android. Yes, we know they do have services that aren't, and some that require payment, but you can use, fork, and hack on Android or Chromium if you want to.

Is Google a 100% open source company? No. I would personally prefer Firefox OS and Ubuntu become the major smartphone players, but Google is better than Apple or MS.

> The app store, is a tradeoff. It's some inconvenience for developers in exchange for a trusted, safe marketplace for applications for consumers.

It's not about the app store. It's about restrictions on side-loading your own app onto a device you own. With an Android device, I can test my own apps without having to sign up for anything. I hear Firefox OS is just as open, and they make it very easy to test out your HTML5 apps (even without it being hosted on a website).

This is a late reply, but just in case you read it.

> I'd say there's valid reasons to dislike Apple's stance on many issues.

That's not apple hatred, and it's not what I'm talking about.

> Every OS Google has is open-source - Chrome OS, and Android. Yes, we know they do have services that aren't, and some that require payment, but you can use, fork, and hack on Android or Chromium if you want to.

Read this: http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-....

I don't know what your argument is, but also consider that apple has an opensource core to their OS too - http://en.wikipedia.org/wiki/Darwin_(operating_system). But they have a closed source shell on top of that? So does android.

> Google is better than Apple or MS.

This is what i'm talking about when I say illogical apple hatred. Google is not better than Apple or MS.

> It's not about the app store. It's about restrictions on side-loading your own app onto a device you own

If people could sideload anything on their devices, it would break trust in the platform. Apple want a platform that people trust, and most people want that too. It's not fundamentally wrong to be different, but just understand that you're a minority on this planet and that people who don't want to sideload apps are the majority.

Using examples from late 80s boxed software is absurd, and you also don't know anything about whether developers at the time complained about the restrictions or not.

Development practices for the web era are nothing like those of 30 years ago, unless you like to do it wrong.

What are you talking about late 80s? it's still happening with consoles today. On XBox, for example, you need a dev kit. They have a lengthy sign up process, they don't allow students or universities to get one, etc. It costs $$$.

Yeah development practices have changed, but you also have a choice of platforms.

Any platform has tradeoffs and those tradeoffs have an impact on your development process. That's what a platform is. It's an environment, and that environment imposes restrictions. So there is a tradeoff between restrictions to benefits.

Why would the speed of App Store review affect rapid iteration? You distribute test versions during iterative development directly to testers. The App Store is for release versions.

Modern day web companies push changes into production dozens of times a day, if not more often (see the illustrious etsy example). We have continuous integration and delivery for that reason. Having to wait a week for something to make it into production or to fix a bug is no longer acceptable.

Apps are not web sites. Consumers expect a higher level of stability and quality from their apps than they do from web sites.

Apple's reviewer aren't able to do in depth testing. They just make sure the app doesn't crash on launch, and the app doesn't use some kind of payment that by passes the app store.

As simple as it is, this test takes at least one week. For critical bug fixes, it is simply unacceptable.

So have the kids learn to code on Android.

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.

I am gonna pull a Stallmann here and say it does matter how you are introduced to coding or even computers in general. I know a few younger people which are "educated" through this whole company driven, web-service addicted and golden cage world. For them it is completely normal not to have any content on there devices - just have it on some web service, they don't know anything else than closed ecosystems and so on. They have no incentive to even think about criticizing things like closed app stores, fees for publishing, licensing issues, censorship and so on because it's all the know.

Isn't that the point that was being made? FTA:

... 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.

Problem solved, if kids have access to Android. Apple is aggressively pursuing the edu market, and seems to be winning there. This is antithetical to the "kids learning to code" ideal.

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.

The $99 is to publish apps - I've made a couple of little quick fix utils for work projects by building and deploying straight to the phone via USB, no subscription required.

Without jailbreaking?

Of course without jailbreaking

Google is aggressively pursuing the edu market with Chromebooks, so what?

You can develop for Chromebooks, on Chromebooks, for free, and it's one-time $5 to distribute. That's what.

The point is about access to the tools, the skills, and the ability to share; if the vendor controls any of those, FAIL.

Well, then we are lucky that we live in a free country where school administrators can buy whichever tools they think are best for the children.

Interesting take. I'm curious how you respond to the counterpoints I usually hear to this argument:

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.

Apple can do a lot better, in fact all these counterpoints you mention are tripe, let me elaborate:

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)

a) $100 is steep, but $25 on Android seems percentage-wise much higher, considering you can get Android devices for so little (you can probably get an old device for less than $25 on classifieds). I don't think the device-to-development percentage fee really holds up. Absolutely, yes, $100 is more than $25, and I think Apple should lower it just to encourage more people to try it out. But then again, free XCode with all simulators isn't enough to try it out?

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.

The $25 mentioned for distributing apps to friends is actually only if you want to do it through the Google Play store. Your friends can install any app you give them as an APK file free.

1 - That's the guy's entire point. That "quality" tier is filtering out your 12 year old kid's coding efforts?

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 quality filter argument is bullshit.

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.

They also provide extensive WWDC documentation and videos https://developer.apple.com/wwdc/videos/

^ I hope to Eris you're trolling.

Apple developer documentation? comp.os.linux was better documentation, in 1996.

Why is "learning to code" equated with "writing an app for iOS"?

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.

For that matter, write some HTML and JavaScript and make a thing that works on just about anything. Distribute it to your friends for free. "Coding" needn't be synonymous with native app development.

Yeah, but if you want to run that code on a device you own, why should you have to pay Apple a $99 ransom?

Good thing he didn't say "Build apps for your Playstation or xbox", you should see those ransoms...

Edit: Also, if you dad buys you a $500 phone, I'm sure he can spend $99 to for educational purposes.

Well, if it's a web page, you don't.

I'm guessing because today Obama said something along those lines.

I'm sorry, but if you think iOS lock-in is the obstacle to America's future — not pathological consumerism, not Tea Party politics and a government that can't function well enough to pass laws, not your disappearing middle class — then you're not seeing the forest for the trees.

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.

Many seem to dismiss the issue too quickly. You can't tell kids to learn to hack their devices if you do not do it yourself. I'd say 80% of education is just giving the example.

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).

Is $100 really that expensive? I'm quite broke, being a freelancer with irregular income, but even I could save $100. It's $100/yr not $100/app or per month. Also, it's one ecosystem out of many. Don't like it...can't afford it...don't build for it. You can still code without having to build a product or create a startup.

... and seeing as you're defending Apple, I'm assuming you already had a Mac, which is also required.

Practically, you can still install(, or STEAL from Apple's perspective,) a Hackintosh if you have plenty of time and energy to do the homework. If you have already secured a job and have a salary higher than the price of a Mac Mini divided by the time you need to invest for Hackintosh, just buy a Mac Mini. It's simple and straightforward economics.

My siblings, all younger, have Macs. They can download Xcode for free and mess around with building apps--mobile or otherwise--all they want.

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?

Weren't you listening? Apple is involved, so it's obvious all evil. Apple has never done anything at all without an evil ulterior motive; don't you read HN?

I use a Mac for work. Mainly (sadly) because XCode. But other than XCode crap, I could do everything else on Linux, BSD, Solaris, etc.

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.

This is idiotic! Apple is not THE obstacle, it's just another platform. People who love apple get accused of being fanboys. What is the opposite of that? Some one who drags in Apple into any an all argument, and figures out a way to blame them for anything and everything. Teenagers who can't afford to pay $99 have a clear option, Android.

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.

When you're talking about K-12 edtech education, in many cases the kids have the patforms their schools/districts endorse. And in many, if not most cases, that's iOS.

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.

>> When you're talking about K-12 edtech education, in many cases the kids have the patforms their schools/districts endorse. And in many, if not most cases, that's iOS.

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.

If you are in K12, you have a cellphone, it's as simple as that. Want to learn how to program, Jailbroke your iPhone, get an Android, or pay $99 and learn. You have options.

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.

If you really care about $99/yr, why do you not just buy an Android phone?

This is absurd. I've done a lot of PC, web, and mobile programming in a variety of contexts, yet I've never owned or extensively used an iOS device. You can absolutely ignore Apple and their ecosystem and still learn how to code.

Article was poorly written lament from current android developer that wishes he was an iPhone dev but on principle doesn't have $100 to take his developed app to market. Overall, proud of Obama and I hope youth hears his call.

OP here, current iOS and Android developer with active accounts on both. Difference being: I'm happy to be an Android developer (will be happier when the Clojure/Android project reaches fruition); every time I have to dip my toes in Apple's filthy ichor of an app ecosystem I want to vomit.

Not about money for me, but if I was a little kid hacker again, money would have been a big deal.

Why do kids have to learn to code for iOS? I learnt to program on a mac and have never written anything more than the most basic Mac os iOS apps; it's just never interested me. I've spent most of my time writing Haskell and C, among others, both of which new coders could learn relatively easily and both of which work on many platforms. New coders don't need to know anything about any company's ecosystem, they need to know how to code in the language they've chosen, be it C, python, Haskell, ruby, C++, java, brainfuck, Modula-2, Ada (highly recommended) or anything else.

I've done some Android and iOS apps and I also feel uncomfortable contributing in my own small way to Apple's ecosystems.

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.

When it comes to 'learning to code' I'll have to go with the Stallmans of this world - open systems are better.

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).

I started coding on vintage Atari and Commodore PCs, where the first thing you saw after powering up your machine was a flashing cursor ready to accept basic code. The whole machine was an open slate, and it was easy to drop into assembly and call into the system directly.

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.

OP here... I think my tongue-in-cheek intent might have been lost in dry prose.

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...

100 bucks isn't that much. My 13 yr old son has quadruple that saved up from odd jobs, chores, and gifts, and can't decide what to do with it. If he wanted to get a license for Apple Dev, it'd be no big whoop. Seriously, 100 ain't what it used to be.

(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...

I completely disagree for several reasons: 1- 99% of the people who learn how to program nowadays starts from web development, not Java or Obj-C 2- I decided to learn Ruby on Rails because I like to build things, being an extensive Apple user didn't slow me down a bit (actually made it easier in some ways). 3- Only because I know how to develop doesn't mean I want any type of crap on my phone or something I'd enjoy less to use.

Why do you need to pay $25 in order to share code with your friends?

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.

You don't. It's $25 to publish on Google Play; you can share a *.apk with whomever you wish.

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.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact