The iPad Falls Short as a Creation Tool Without Coding Apps
wired.com
wired.com
I can't believe this article quotes Mark Pilgrim and yet inexplicably fails to note the presence of the first-class, top-quality, absolutely free Javascript runtime that is built into every iPad. No license required, and you can built more than just rudimentary tablet apps with JS if you are so inclined. Bonus: They will run on your friends' machines too, even if those machines don't run iOS.
So this article is just a giant pile of fallacy.
And, yes, if you are a young hacker who has exhausted the possibilities of web apps and who wants to develop for iOS you will have to spend money. To wit: you need at least a second-hand Macintosh, and to actually run your apps on a device you need a $99/year developer subscription.
But how soon we forget that to write first-class apps for, say, the Apple II also cost money. One reason that I was a lousy Apple II assembly programmer is that I never owned a real macro assembler [1], because those cost real money:
http://apple2history.org/history/ah17/#05
The cheapest commercial assembler in this list, the "four character" Microproducts Assembler, was "inexpensive at only $39.95" in 1980. But $39.95 in 1980 dollars is $102.67 in 2009 dollars.
I didn't know about that assembler back in 1980. Instead I vaguely knew that real programmers used Merlin, but I remember Merlin costing real money. I can't find reference to the original price, but it must have been at least, say, $75 1980 dollars ($193 in 2009) and might have even been several hundred dollars ($400+ in 2009).
What I really wanted to use in the 1980s was Pascal. I taught myself Pascal from a book, circa 1984; I wrote all my code on pieces of paper and never executed it because it was another two years before I got my hands on my first Pascal compiler. The Apple Pascal compiler cost hundreds of dollars. It came out in 1979 at $495. ($1443.88 in 2009 dollars). No way I was going to afford that.
Of course, eventually we were all saved when Turbo Pascal came out, and later Turbo C. Turbo Pascal 1.0 was legendary for being inexpensive and accessible: It was only $54.95 (with shipping) in 1984. Of course, that's $112 in 2009 dollars. And you needed to own an IBM PC or a CP/M machine, which I did not, and which could not be bought on Craigslist for a few hundred (2009) bucks the way a second-hand Intel Macintosh can.
Of course, you could pirate Turbo Pascal. If you could find someone else who owned it and was willing to give it to you. In the days before broadband and BitTorrent that was much more difficult: You had to learn about BBSes, and about such esoteric concepts as leeching, and you had to learn to live without the documentation.
The scrounging process is now much easier. Obviously, "piracy" is now simple and fun, but you needn't even resort to that: You can scrounge everything you need for iOS development legally and fairly easily -- schools own Macs, libraries own Macs, xCode can be downloaded for five bucks, and the docs are all free and legal, and even the emulator is free. The only thing you can't fudge is the $99 license to install your apps. But you can find one friend or teacher who has the license and convince them to install your app for you, legally. If there's popular demand for school libraries to own iOS developer licenses we could easily start a charity to donate some.
---
[1] Though this is just the least embarrassing reason, not the most significant reason.
The original comment was that people don't need Macs anymore: that kids can just have an iPad. This article claims that that overlooks the importance of programming.
Meanwhile, the points in the article are both about a lack of a development environment /and/ that the input mechanisms available aren't even appropriate for the task.
You can disagree with those points if you want, but you can't just claim "dude: JavaScript", and believe you won some battle. Yeah: there's JavaScript... now what? Can I edit HTML files on the device and load them? No.
An argument you /could/ try to make is that anyone can get an account on EC2 and then use iSSH from the App Store and the bluetooth keyboard to do development, attempting (painfully) to task switch between a browser that barely has a memory cache (and has no disk cache) and an SSH client that is killed if you leave it in the background for longer than a minute. Of course, that's all assuming you manage to get your EC2 server bootstrapped using the web console, which I think might actually be a flash app... I guess there are other hosting companies, right?
----
[1]: http://itunes.apple.com/us/app/javascript-anywhere/id3634522...
I just saw a demo of Eclipse Orion:
http://jaxenter.com/eclipse-orion-the-new-ide-paradigm-33431...
... so at the moment it is blindingly obvious to me -- apparently so obvious that I forget to mention it to other people -- that you could easily build an HTML5 app that allows students to edit and run Javascript from Safari on the iPad. Having grasped that, I have already started assuming that such apps exist and acting accordingly. But I'm ahead of myself, so I'll concede: It might be impossible to usefully write executable Javascript on an iPad today. We might have to wait a few more weeks.
If iPad-friendly HTML5-powered Javascript editors don't already exist, I don't know why not. Perhaps there is too little demand. Perhaps we were all waiting for something like Orion to provide the proof of concept. Perhaps nobody has gotten around to it yet. Perhaps the founders of the appropriate startups are still building it and haven't launched yet.
Or perhaps nobody wants to edit code on an iPad when PCs are a dime a dozen. I can hardly blame them for that. I like real keyboards for hacking, just as I like oscilloscopes for designing audio electronics. But it's not Apple's fault, exactly, that the iPad isn't particularly well designed for typing code. They make other machines for typing code. The iPad is designed for iPad things, just as my car is designed for daily driving and not for stock-car racing.
In iOS Apple has reversed these trends not only by restricting access to the OS but by limiting the available tools as well. With yesterday's announcement that Xcode will henceforth cost money, Apple has taken another step to thwart casual programming.
In the larger picture, it costs $99/yr to publish applications or get the provisioning certificate to load an application, which is the primary money barrier.
Only the new update costs money, which some people are speculating is due to Tax laws. Apple has always given Xcode away with their latest OS, never have they done a full version upgrade before a new OS has been released.
The author makes the argument that if you can't create applications for the iPad with the iPad, youth will experience a disincentive to build programs. I posit two things:
A) That disincentive is offset by the appeal of the iOS platform and the "magic" of a solid touch platform (hardware and software)
B) Not every musician wants to make their own instrument
The author also holds up the rejection of Scratch as proof of his other arguments. I view applications like Scratch as a distinct issue, separate from "professional" application tools on iOS. I understand why Apple doesn't want to allow tools like Scratch -- because they don't want to create loopholes -- but I do find it disappointing that they don't make an exception for educational products. I've not seen a computing device that reaches kids like the iPad does, and it would be great if we could at least introduce them to the concept directly on the iPad.
I believe there is a big opportunity here for web app developers to fill a void. Take a look at CoffeeScript. If someone can re-package Javascript in a way that resembles Ruby, I don't see why that template couldn't be pushed further.
For example, GitHub is driven by git. This is a tool that anyone can download and use. The entire GitHub interface is HTML/JS. I could run through and rip off every bit of their interface code and I'd be a large portion of the way toward running my own GitHub. There's the issue of the server-side code and scalability, but these are problems I can solve with a reasonable up-front investment and iterative problem-solving, just like everyone else. What I can't clone is the community and spirit of GitHub.
If the success of your organization relies on the inability of your competitors to copy your product, you have a much bigger problem.
Also, from the perspective of education, this is actually a feature: it's very easy to learn from other people's Javascript code, and there's plenty to look at on nearly every website.
Sounds like something a tosser would say if you ask me.
it's all about the right tools for the job, and i still believe that the ipad is best used for consuming.
programming is inherently a lot of typing, scrolling and adjusting. unless you hook up a real keyboard and/or a mouse or invent some damn elegant ui paradigms ... i'm just not seeing this being a strong tool in the programmers toolkit. reviewing code, perhaps? but the daily grind, not so much. at least not in the near future...
There are several browser-based programming sites such as http://www.playmycode.com/, cloud9, http://jsdo.it, jsfiddle, etc. Even Eclipse is coming out with a browser-based version soon (project orion). Now, some of these don't work on mobile or tablet devices yet (broken contenteditable in the browser), but they will. See for example the codemirror 2 editor, which does work on an ipad, albeit not perfectly: http://codemirror.net/2/
A related issue is what the author talks about - it's harder and slower to type on an ipad or smart phone than a device with a regular keyboard. I don't know of a solution to that yet. Perhaps it will involve better touch-driven keyboards (sort of like swype and related options - but tailored for programming), or perhaps using voice or the camera (gesture recognition) for input, or perhaps we'll just adapt and get used to the current on screen keyboards - kids aren't really complaining about them, and are pretty fast at using them, but there's a difference between typing a text message and programming with all the special symbols and indenting used (a pain without a regular keyboard). Or perhaps more scratch-like programming environments will gain popularity (program by dragging and dropping blocks instead of typing). See my post: http://edtechdev.wordpress.com/2011/03/03/contentnoteditable...
That said, a sort of elementary tool to make toy apps or games on the iPad would be a good gateway drug.
But a lot of people don't have that, I hope Apple follows the line of MSDN Academic Alliance and partners with all walks of educational institutions to open up the Apple development platform to students for free. I don't mean give them a free iPad but give them Xcode 4 and a non-commercial ADC license for free.
With the continued growth of Apple Stores maybe they could run introduction to the Objective C and Cocoa frameworks for those who wouldn't normally have access to it?
You are not the ipad's target demographic.
The end.
It just doesn't make any sense, and these kinds of posts show that our community really doesn't understand exactly why the ipad is the success that it is.
Apple is worried that Netflix or Amazon will stream movies and ebooks through Scracth Apps and bypass the 30% cut or what?