Tag Archives: tools

WWDC 2013: Getting Out of the Way

Apple’s Worldwide Developer Conference wrapped up last week, and amidst the announcements about new user-facing features in the next versions of iOS and Mac OS X (versions 7 and Mavericks, respectively), there were a ton of announcements and sessions about new developer features as well. A new version of Xcode was featured, along with a slew of new and revised APIs.

As I watched the sessions related to one of those APIs, Sprite Kit (which is a pretty amazing new gaming engine that includes physics, particle effects, and 2D graphics awesomeness), an offhanded comment by the presenter resonated with me. The intention of the new toolkit (and, ya gotta hope, other changes) is for the technical environment and hurdles to fade into the background, and to make the execution of the content as seamless as possible.

The point is to get out of the way.

It’s a worthy goal, and certainly by eliminating the need for some game developers to deal with a third-party toolkit, I’m sure Apple has made some headway there. But thinking more broadly, there’s still a ways to go.

Think for a minute about a technologically-proficient non-programmer who wants to build an app. What are they to do?

Learn a language (in this case, probably Objective-C), learn a development environment (e.g., Xcode), join the developer program, and learn the APIs. While there are many people who are doing just that, it seems like there are ways to better get out of the way.

For some examples, we can look to history. In the earlier days of the Mac, there was HyperCard. Bill Atkinson created the visual hypermedia authoring tool nearly 30 years ago, almost a decade before the WWW showed everyone how powerful hyperlinks could be. With HyperCard (and its successors, including SuperCard, which is still shipping and works on current OSes), an elementary-school student could create an app. Little to no formal “programming” — just point, click, and develop.

For more sophisticated applications, there were graphical development environments like Prograph (now resurrected as Marten). In these IDEs, you still need a knowledge of the APIs, but you string the calls together graphically, with your custom functions and routines represented as graphical units that can be strung together. It requires more knowledge than HyperCard, but definitely less than the current standard toolsets.

But back to the present day. Programming is still a niche skillset, despite the ubiquity of technology in our lives. Students in middle and high schools are showing middling interest at best. One (of many) reasons that’s true has to be the lack of an easy way to get novices building sophisticated apps. The tools and processes are just too much “in the way.”

Apple’s moves in the direction of easy and sophisticated development are admirable. But there’s a long way to go to realize the promise that Atkinson made back in 1985.