App Inventor and the culture wars

Google’s new App Inventor gets to the heart of the cultural difference between Apple and Google. If you haven’t seen it yet, App Inventor is an experimental new SDK for the Android platform. What’s different about App Inventor is that there’s practically no coding per se; it’s an entirely visual language. Its heritage goes back to Logo, but more directly, to Scratch, which has a snap-together, building-block model for describing behavior.

App InventorApp Inventor’s intent is to enable people who wouldn’t normally program to develop the apps that they want; to make it possible to write Android apps without being a “software developer.” This is revolutionary; they’re not trying to lower the bar, they’re throwing it away entirely. I don’t know if App Inventor will succeed, but it’s an important experiment.

I want to contrast this with the iPhone, which has a much different model. When I last wrote about the iPhone, many commented on Apple’s focus on the perfect user experience. I largely agree (and said so in the article), and I think Google is unlikely to match that. Apple has an app store to guarantee that poorly designed apps never get to the user (the fact that many junky apps make it into the store is, well, another issue). The user gets the perfect curated experience. I won’t even begin to argue about whether App Inventor’s UI components are as elegant as Cocoa’s. They aren’t. But Google has taken another direction altogether: the user’s experience isn’t going to be perfect, but the user’s experience will be the experience he or she wants. If you want to do something, you can build it yourself; you can put it on your own phone without going through a long approval process; you don’t have to learn an arcane programming language. This is computing for the masses. It’s computing that enables people to be creative, not just passive consumers.

It’s sort of like travel: you can go to Club Med or take a cruise ship if you want a crafted experience. But you won’t find out anything about the local culture, you’ll only eat the local food in controlled settings, you’ll never hear the native language spoken. You’ll just do the limited set of things the organizers want you to do. Many years ago, I was in Juneau, Alaska, wandering around on a back street in what may well have been a “dangerous” part of town. I kicked a piece of trash lying in the gutter, and it turned out to be an Eagle totem crudely carved on a piece of scrap lumber. That’s still one of my prize possessions, and it’s not the sort of thing you find if you insist on the safe guided tour.

That’s an important difference. Apple is saying “trust us, it will just work.” Google is saying “We’ll help you to be creative and make your own stuff that works for you.” There’s nothing inherently wrong with either approach. Apple’s approach is more appropriate for an entertainment device, more like the ’60s TV, radio, or dial phone. It does more, but it’s still sealed; you can’t open it up and hack it. There are plenty of people who want that kind of experience — possibly a majority. Google is opening up the guts and letting you create — and taking the gamble that people who haven’t been creative in the past will start.

What will we see coming out of App Inventor? Probably lots of junk, but does that matter? In Cognitive Surplus, Clay Shirky talks about the “stupidest possible creative act,” which he associates with LOLcats. What Clay realizes, and what Google realizes, is that the “stupidest possible creative act” is much better than no creative act at all, or limiting creativity to a small elite. A world full of LOLcats is preferable to a world full of network sitcoms. The history of creativity is filled with lots of trash; but in a weird way, the trash enables the truly great creative works to come into being. You can’t have one without the other.

I did say that there’s nothing inherently wrong with Apple’s approach, but it’s clear that I don’t really believe that. I can muster some grudging respect for that position (and yes, I do like stuff that “just works”), but I can’t imagine anything more dreadful than a world where creativity is always mediated by someone else. I don’t think I’ll ever take a vacation at Club Med. Apple has built a culture around creating the perfect user experience, and they’ve done wonderful things in refining that experience, but at great cost: I cannot imagine Apple offering non-programmers the ability to develop for the iPhone. If ported to iOS, App Inventor, or its equivalent, would presumably violate the iOS developer agreement. Creativity — whether the creativity of others or your own — is what makes life worthwhile, and enabling creativity is a heroic act. Google has built a culture around enabling others’ creativity, and that’s worth celebrating.

Related:

tags: , , , , ,
  • Hadley Stern

    The notion of a GUI user interface for development is nothing new, I still remember playing with Hypercard on my first Mac. Emphasis on playing.

    I also wouldn’t read as much as you are in Google’s release of App Inventor. I’m sure it was a project of a developer there that got enough nods to finally be released. I don’t think it is a statement about their view of application quality, or lack thereof.

    At the end of the day App Inventor will be a blip. Developers who want to develop application will use the native tools. Non-developers who want to develop apps will either develop apps with a picture of a cat meowing, and move on, or not develop anything at all.

  • Karl Armstrong

    It’s worth mentioning that Apple actually allowed, and then removed, Scratch from the iPhone (ref: http://scratch.mit.edu/forums/viewtopic.php?pid=367528). It’s not a decision I like either, but like you said, there is some obvious rational behind it.
    I actually think platforms like Scratch, aimed at strictly casual users, are kind of collateral damage in Apple’s fight to retain control of the development platform. Not knowing where to draw the line (Flash, Java, .Net, …), they chose the simple brute force, and most restrictive, approach.

  • Israel Alvarez

    While I largely agree with the article, I really have to wonder: why does it have to be an “either-or” proposition? Why can’t we have a great curated app store *and* a Hypercard-like toolset? Why can’t we have App Inventor *and* and excellent UI for Android or App Inventor itself? I realize that the western world thrives on setting everything in binary opposition, but I really see no reason why we have to choose between two options in this case.

    • http://radar.oreilly.com/mikel Mike Loukides

      Excellent point. It does not have to be “either/or”. But, at least as far as iOS is concerned, that’s Apple’s decision. I would love to see App Inventor for the iPhone/iPad, along with a simple mechanism for sharing creations. And it’s worth pointed out (as another commenter has already) that Scratch was briefly on the iPhone, but then pulled because of the licensing restrictions.

      But I really don’t think that fits Apple’s culture right now. I would love for them to prove me wrong.

  • Jeff Ammons

    What a change from the days of Hypercard…

  • Rao

    Watching the multitude of applications, startups, websites, mobile apps, etc. that are being created and, in lots of cases, even funded made me think to write an article with the title (excuse the language):
    “The Age of Crap”

    This new tool will help in creating more exhibits for the article.

    If most of the talent and productivity would still be used to address hard problems and solve them in creative and thoughtful ways, I would have no problem, as experimentation is good. But I think the constant praise in the press and by manufacturers (e.g. boasting about having “100,000 apps”) is driving the talent (in particular young engineers and designers) as well as resources away from important problems and into “disposable crapware”. What an opportunity loss!

    This will indeed be the “age of crap” and a bust will come, just like the 1st web bubble busted as people were creating stupid companies (remember “attracting eyeballs”, “stickiness”, anyone…) and, hopefully in a short time, the new talent will come back to enjoy and appreciate the beauty of solving hard problems and creating a lasting legacy!

    • http://radar.oreilly.com/mikel Mike Loukides

      I’m sure were going to see a lot of crap. But what’s wrong with that? Here’s how I see it. I’m a classical pianist. (Some of my recordings are online, if you care to look.) JS Bach wrote thousands, literally thousands of musical pieces. We listen to maybe 20% of them. Handel wrote a couple dozen dreadfully boring oratorios before writing Messiah. Beethoven wrote close to a thousand, including over 500 songs. Have you ever heard a Beethoven song performed? There are a couple of thousand 18th century composers known to music librarians; I can name 20 or 30, and that’s more than most. There are probably ten thousand more whose music didn’t survive to get into the libraries. And I bet that most of it was crap. 18th century crap, which you may think is better than modern crap, but still crap. (The mere fact that something isn’t listened to doesn’t make it crap, but I’d still claim that, even with a composer like Bach or Beethoven, 30% of the output is great, 70% is mediocre. And if you’re a musician, you can learn an tremendous amount from that bottom 70%. But I digress…)

      What’s the point of this? Simple. You don’t get the B Minor Mass without the thousands of cantatas and oratorios (by Bach and others) that nobody cares about. You don’t get the masterpieces without the crap. And, while it’s not the point of this response, that’s one reason that it’s very dangerous for any single person or organization to appoint itself as the arbiter of what’s good and what’s not.

      I have some qualms about the notion of software as art, but I don’t believe software is fundamentally different. For every great app, there are a thousand mediocre ones. That’s how the world works. But if you don’t create tools for people to get started, you’re guaranteeing that they’ll never finish.

      (But yeah. Of the hundreds of thousands of apps in Apple’s and Google’s collective app stores, most of them are crap.)

  • Canuck

    I like the Club Med analogy. You could also compare iOS to Macdonald’s, which originally succeeded by providing a safe, predictable, and very tightly-controlled eating experience (I’ll take a messy experience at a street vendor in SoHo over a bland and antiseptic Macdonald’s any day).

  • Paul Souders

    I don’t know about app inventor per se as I haven’t used it, but I find it interesting that programmers routinely think the hard part of programming is writing code. Consider excel formulas, which must be one of the least readable/intuitive syntaxes, but in which surely the majority of the world’s accounting and statistics are computed, almost entirely by nonprogrammers.

    I submit that the actual barriers are 1) thinking like a programmer (for fun: explain recursion to your mom) and 2) all the necessary housekeeping, eg maintaining your build environment, dependencies, etc.

  • Brett

    The analogy is sort of awkward. You’re coming at it from the consumer’s perspective, but wouldn’t finding out the “guts” of the system, as you put it, be learning the native programming language and not an abstraction? Just like a Carnival Cruise to Cancun is an abstraction of what Mexico actually is…

  • Blazej

    This Apple-Google debate is now boring.

    It began with hate/love. Now its “I dig both. And I will tell you who’s right and wrong. What do they know. Google? Apple? Listen to me!”

    Why so judgemental?

  • Brett

    Forgot to add to Paul’s comment: I work at a financial institution and the labyrinthian Excel spreadsheets that I’ve seen are mind blowing. We’re talking 100 lines of smashed together spaghetti per cell (that probably took a month to create and is also probably wrong) that could’ve been greatly avoided by a weekend with VBA or even Access and its watered-down SQL.

  • Todd

    RE: lots of trash will be created:
    This is part of the process of developing creative talent; Many a song-writing, drawing, painting, creative-writing etc coach has said something to the effect of: You have to write/draw 200 bad stories/songs/drawings before you will start to draw/write the good ones. Just do one a day and get yourself moving along that path.

  • Paul Souders

    To extend what Brett just said: if you’re genuinely interested in Mexico, you’ll have fun learning Spanish.

  • Mark Brown

    “This is revolutionary; they’re not trying to lower the bar, they’re throwing it away entirely.”

    Michael, you do realize that this is not a new idea? Judging by your profile you probably have never heard of a little thing Microsoft did 18 years ago called Visual Basic?

  • Rao

    Paul, Mike, I agree w/ you, experimentation and practice is needed. There is a saying in my native country that roughly translates to:

    - You can’t improvise experience…

    So, yes, you need to experiment. However, making experimentation the end result and not putting it in the proper context, not extolling the virtues of dedicating enough time and thought to properly solve problems, creates, I believe, a problem of wasted talent.

    I would image there were many-a-crumbled piece of paper with crap music that the geniuses you mention put in their trash cans. Hard work, dedication, lots of time and yes, experimentation is required to create a master piece. But knowing that one is searching for the master piece is key, in contrast to trying to publish as much crap as one can produce, just to see if a few like it.

    My point is that it seems to me, that everyone (companies and press) is advocating just the latter.

  • Don Burnett

    While I laud google for this, after playing with this App Inventor isn’t half as easy to develop for as Microsoft Expression Blend 4 for Windows Phone 7 (granted those phones haven’t shown up yet). However designing UI is just one part of the deal..

    I think of Objective C and C++ as “your father’s programming language”.. for average people languages like C# and VB.NET are much easier. Even Adobe’s ActionScript is easier than standard C or Objective C..

    App Inventor doesn’t in my opinion go far enough for the designer/developer workflow focus..

    When it can do all of this then I’ll consider it a tool for the masses..

    http://www.youtube.com/watch?v=yMMbpWz5r08

  • Vincent Rodriguez

    I truly believe we’ll look back on history and see the App Inventor as a real revolution in application programming. For over 25 years, I’ve started and stopped programming many times. It gets way too complex for me; no formal training. I’ve seen a lot of my great ideas come to market years afterward by skilled programmers; I just don’t trust them to not steal my ideas. I was able to parlay one database app into a million dollar business, but that took over 4 freaking years of my time. I started and stopped with the iPhone App when it first launched; not for lack of vision but for lack of coding skills. Trust me, I will use the App Inventor to make a million dollar app; if nothing more than a app prototyper, at which point, I’ll hire a pro coder to whiz bang it. I’m chopping at the bit!

  • bonelyfish

    One point to note:
    With App for Inventor, there will be hundred thousands of apps for Android … mostly crappy, just like content on the Internet … as a result you will need a search engine to find the apps and Google will get boosted.

  • Sam

    Can someone tell me whether Android’s UI is as slick performance-wise as Apple’s? On a scale of Palm Pre Slow to Apple iPhone fast, how quick is it navigating menus and apps and such? this is what is holding me back from going android bc i don’t know

  • Ian Betteridge

    Mike, I think you’re making two mistakes. The first is simply to conflate creativity with programming. While I can understand that given the context of your argument, it weakens what you’re saying.

    For non-programmers, the “closed” approach is often liberating when it comes to creativity: consider, for example, the sheer number of photographs taken on iPhones. As I remember, the speed at which iPhone became one of the most popular cameras used to upload images to Flickr was immense, and far out of proportion to the number of iPhones then being sold.

    Why this is is a point for debate, but my theory is that, despite having crappy camera hardware, the iPhone made it very simple to take and upload an image, something that wasn’t true for most previous camera phones. What’s more, and this is important, it was a playful experience, one which was actually not technical and enjoyable.

    Second, I think this analogy falls down a little:

    “It’s sort of like travel: you can go to Club Med or take a cruise ship if you want a crafted experience. But you won’t find out anything about the local culture, you’ll only eat the local food in controlled settings, you’ll never hear the native language spoken.”

    I’d argue that the approach you’re taking, which encourages users to get deeper into the hardware and software, to (as you put it) “find out about the local culture” is actually more like requiring the passengers to do their stint maintaining the engines of the ship, whether they want to or not. The price they “have” to pay for getting on the ship in the first place is to become engineers.

    I think, though, that your analogy isn’t really relevant to the rest of your argument, and you could lose it without weakening it. The problem, though is that App Creator isn’t “programming for non-programmers” – it’s “programming for people who want/need to learn programming”.

    Most people simply don’t want to learn (or to have to learn) programming. If there’s anything that the history of the personal computer should show clear, it’s this. HyperCard died, not because it wasn’t brilliant (it was, and WAY easier than App Creator) but because 99% of people who got it free with their Mac never found a use for it.

  • Jen

    By “crap”, we’re not talking about lost Bach musical pieces that were written with love. We’re talking about people who look for ways to simply make money off of apps with no thought or work. It’s called spam. This is going to be the problem.

  • Nick

    I’ve started developing with the android sdk via eclipse recently and I have to say its pretty easy to do. Like Paul said, the coding itself is already easy. This is Java we’re talking about, which, like c#, practically writes itself. The developer is left to think about UI, algorithms, and workflow(which is hard).
    I think its a universal law that as a tool makes things simpler to do, it reduces flexibility, and therefore the number of possible outputs. We see this every day with blackbox libraries and user controls. They make A, B, C easy, but as soon as you need D, you wish you’d gone with the hammer n nails approach. If it makes it super easy, how many programs can it make?

    Also,like Jen said, this will further increase the # of punters, and the noise level in these app stores is already really high.

    All that being said, I am glad they’re trying to open the process up to more people. Limiting the contributors to just the coders will stifle innovation, and there may be a lot of good ideas out there that would never be seen because of the stigma of writing code. And we can’t have too many apps that involve mewing cats.

  • Antony

    I think you over-generalised here and i’ll tell you why.

    1. There are many ways to be “creative”, developing apps is just one of them.

    The iphone and ipad have jtonnes of apps for creative people:
    http://is.gd/dvGps (iPad Apps for Music Making)
    http://is.gd/dvGsL (Essential iPad Apps for Graphics)
    http://is.gd/dvGx8 (IPhone DJ apps destined for the Ipad)

    There’s also video editing programs, photo editors etc.

    Apple has historically a big platform for ‘creative’ types – and is sure to continue to be.

    2. The App Inventor is not meant to be serious app creation tool for the masses. It is designed more for educational use to be used in schools and so forth.

  • bex

    Lame.

    Yet another attempt by yet another “programmer” to do what can’t be done, because he never bothered to learn what a computer actually is…

    “Software is invisible and unvisualizable… The reality of software is not inherently embedded in space. Hence, it has no ready geometric representation” — Fred Brooks, ‘No Silver Bullet’, 1986, yet to be proven wrong.

    http://en.wikipedia.org/wiki/No_Silver_Bullet

    There are mathematical proofs from the frigging 1930s that clearly demonstrate that what Google is attempting to do is only possible in the most trivial of situations. Nevertheless, this snake oil keeps coming up every few years…

    Bad Google! No biscuit!

  • Esko

    So there are now three levels of programming tools for Android. There are these new visual tools for ordinary people. Then there are the Java toosl for third paryty developers. And, lastly, there are the native tools for Google to make the Google Earth, Google Maps and other apps.

    With iPhone everyone can develop with the same tools as Apple. And everybody can install their own aps on their own iPhone and on up to 100 iPhones of their friends also just by emailing the app. (This requires paying the 100 dollar developer fee, but the developer tools and support are all free).

    There are 8 year old developers on the App Store who have made thousands of dollars. Programming is not that hard. You just have to try. With iPhone you can use the same tools that Apple uses every day and that Tim Berners-Lee used to build the first browser.

    Lastly, why would a visual programming tool have to produce a native Android or iPhone App? A HTML5 app would work on most modern smartphones (including iPhone). Not only would Apple approve that (they would have no way to deny it), Apple would actively showcase it as a fine example of great HTML5 usage.

  • Mark Murphy

    I’m curious what some of the educators using AppInventor in class might get back with the assignment:

    Make an app to help your mom.

    The results would probably vary a lot with socio-economic background. I’m especially interested what would get created by students from low-income families as described here:

    http://applicationsforchange.org/2010/07/14/mom-look-at-my-app/.

  • Mike

    At the end of the day. It’s not up to any one individual to arrogantly state who should and shouldn’t be creating apps….. That’s a bit like technological eugenics. It’s a democracy, I look at ratings to determine what apps are right or wrong for me, that’s how I deal with the argument about apps being spam. Any search on google is a search through ‘spam’.

    If you want to get on your technological high-horse then you can argue that any company that released something as ‘different’ as Vista shouldn’t be allowed to write apps either…

  • james

    I think the important distinction to make is that the App inventor may actually prohibit innovation.

    I haven’t seen all the plug-ins or the extent to which you can actually extend it, but there is most likely a framework which will be more suitable for fast customization of personal apps, or inner-corporate apps, rather than anything which might be perceived as “innovative”.

    In this sense, I see it as a tool for customization or productivity rather than any sort of tool for the creation of something truly great.

    I haven’t used it, I don’t know what you can do with it, but at first thought, it does appear to be a drag and drop application builder.

    But hey… as noted in these comments, Beethoven only has how many piano keys to work with right?

  • Jonathan

    Mike Loukides wrote: “You don’t get the masterpieces without the crap.”

    Oh! Well that would explain today’s news and entertainment offerings. Excellent point!

    Innovation is great…it really is, but regarding App Inventor – Isn’t that what happened to the PC Application world? All these new languages and utilities allowed more incompetent coders to write bigger and more bloated apps without any type of restriction on size and efficiency. So, in other words, within a couple years we’ll be required to carry around iDevices or anDroids with terabyte storage for a few applications.

  • Hal Helms

    What an overwrought post: this is the future — enabling users to write their own apps! As any developer knows, what makes programming hard are all the edge cases, not the straightforward stuff something like AppInventor can deal with.

    Turning this into an Apple v. Google post really puts the entire post out of rational limits. The “reasoning” is not reasoning at all; it’s sheer animus at Apple glossied up with irrational exuberance over an interesting experiment. It’s more akin to an angry dissident complaining about “the Man” that it is a thoughtful opinion piece.

  • Jrock

    Wow, Apple is ClubMed, really? I guess I see it, but I don’t feel it. I love my iPhone and I love that it just works. I think if you want to be creative, you need to take the time to learn to use the tools that are required to be so. I see the value in letting people create their apps, I really do. But, at the end of the day. I want, I NEED, my phone to work.

    I guess I really don’t like thinking I’ve sold out and went to Club Med. I would never do that . . . well, not never, but it would never be my regular thing. Killing me now!!!

  • Moti

    Like MS-BASIC for the IBM DOS days and Visual Basic for the Windows days – App Inventor can play this rule for the SmartPhone era. One of the reasons that made the IBM based PCs so popular in those days was to ability to easily write programs using the BASIC programming language. Programs can be written relativly easy, and distributed freely. Same is true for Visual Basic – that revolutionized Windows application development.

    Sure, there are many visual programming languages out there that make it easy to build small and colorfull projects – however, this time it comes to your PHONE. Just imagine the options which are now become available: from coffee shops building an app for their menu, artists that can product a business card in the form of an Android app, or even start-ups for a product mock-up or demo.

    further reading: http://moti-tech-blog.blogspot.com/2010/07/there-is-app-inventor-for-it.html

  • Jeffrey McPheeters

    I see these as different approaches based on different objectives. Apple has given some tools in the past to allow non-programmers to create personal widgets based on what a user needs, and I could see this eventuality appearing in iOS as well. It might be that Apple will allow a 3rd party to create an IDE similar to App Inventor targeted for iPhone users.

    The line of demarkation between these approaches occurs when creating an app that could be delivered to other users: on Apple it will only be through iTunes and thus, mediated. With App Inventor, the author could conceivably share their personal app with anyone who might share an interest.

  • Montoya

    “I want to contrast this with the iPhone, which has a much different model.”

    Typical reporting-without-knowing. The Internet is easy, we don’t have to research anything. Apps can be made without a single line of code using Gamesalad and these apps are approved for the app store all the time. Moreover, there are a lot of crappy applications in the app store, some built with code, some not.

  • Bob

    Hypercard failed because of lack of scale. First of all very few people bought computers back then. And very few of them bought macs. Today almost everyone has access to a computer and AppInventor is available in almost all computers due to the power of web. Web has changed everything. It is an experiment worth conducting. And I love it. It may succeed or fail, but it deserves to be tested out in the field, rather in the head of a single person.

  • Benjamin ondari

    I am a programmer,and therefore it is obvious that I had to go through the mentally and physical process of learning all the languages possible and then had to put that knowledge to practice and try and make software from scratch,therefore it is only fair that the idea of the app inventor should scare me,but is it really a threat?from a personal point of view the app inventor is a great idea but is not good enough to replace the conventional methods of app develepment through coding,I think it will be very limiting in terms of the level of technicality of the apps made,I am sure like mentioned that it will help people design apps let the user tap the screen and intiate a cat meaow or a dog bark.why i think it is a great idea is because i am alive to the fact that i may be a good programmer but not a good chef,chemical engineer,sports analyst or geographer,but we need people who are really good and passionate in these fields to design apps using their knowledge and expertisee,I believe apps should provide everyday solutions to people like apps that can help people like me to improve my cooking skills and who better to do this than a chef who may not have an idea what java or c++ is but through app inventor could design an app that could never make a silly mistake like suggesting a recipe of eggs and broccoli or avocado cocktail! I ‘d like to liken the idea to the highly succesiful idea of blogs,before blogs ,only tech experts like me and you armed with the knowledge of HTML and other web design tools could be able to express ourselves online,locking out all the professionals eg health professionals,photographers,sports analysts,musicians .but the blog idea came up and today you can read loads of expert content on any field you desire,be it health,sports,history name it,most of them written by experts in their respective fields.I believe it will be the same thing with the app inventor idea.I think that before we startdismissing the idea we should consider the targeted users and most of them find the names used by techies like ‘google’,bing,java,app etc ridiculous and silly and they just bore them away in seconds.as for the high numbers of junk that will be made,take it like using a search engine,when you hit ‘search’ there are billions of results but who goes to the 100th result?so for an app to be at the top it has to be really good,the high numbers of apps will make competition very stiff therefore expect very powerful apps.I also think that google felt threatened by the size of the app store and wanted to topple and app inventor is a shortcut.

  • Benjamin ondari

    Ok sorry guys for the numerous grammatical error in the comment above,I turned off the spell checker in my word processor a few days ago because it couldnt let me write my swahili essay in peace,but am sure u get what i was tryin to say right?