18 Comments

Summary:

One of the biggest changes that came as a result of the introduction of the iPad and iPhone was in the way developers design and develop software. And this change appears to have a much farther reaching impact than you might have imagined.

mac-app-store-feature

With every revolution there is change. Sometimes the change is the reason for the revolution, and other times it’s an unexpected outcome. With the dawn of the iOS platform and the introduction of both the iPhone as well as the iPad, certain changes in the way we use technology were to be expected. One of the unexpected changes was in the way developers design and develop software, and this appears to have a much farther reaching impact than you might have imagined.

Origins of the Revolution

The bulk of the credit does not go to Apple. it actually started with the communication revolution brought on by the likes of Twitter and Facebook as well as the simplicity of Google’s search interface. Highly-optimized, single-purpose, rapidly-developed solutions that improve without necessarily expanding over time. What Apple did was provide an ecosystem for developers to create their own rendition of this paradigm: apps. This trend may have started in the cloud, but with the introduction of the App Store, the iPhone was commercialized into a go-to market strategy that developers could quickly capitalize on. It wasn’t until these smart devices truly conquered multitasking that individualized workflows started to evolve.

Multitasking Workflows on Smart Devices

As an example, consider the options available for posting a photo online. There are several different choices of camera apps, several different choices of photo editing and manipulation apps, even more choices if you want to make a collage or crop your photo into a custom frame, and of course, several different solutions to post online and announce your posting to your personal community of followers. Apps are being designed to get along with one another in what is quite possibly an infinite solution set of combinations.

The Trend Is Spreading to Your Desktop

This trend to create single-purpose, highly-optimized apps is spreading to your desktop as well. The Mac App Store is proving to be a great medium for exposing workstreams of integration points similar to those seen on mobile devices between OS X apps. What’s further fueling this revolution in app design is the growth of cloud-based services that support such single-purpose designs. The techniques being employed to define an API have been moving away from a tightly-coupled, Schema-based paradigm and toward a more open and loosely coupled Restful paradigm.

Enterprise Caught Off Guard

This reality scares enterprise. With the costs of personal IT reaching ridiculously low levels, the ability of individuals to self-fund their own IT services is not only possible, it is becoming as common place as cable television. From broadband to wireless data access, to online email, data storage and even more specialized tools, ideas and collaboration services, individuals are spreading their corporately-owned intellectual property all over the place.

Even Apple has decided to pull apart their iLife and iWork suites, which furthers this trend. What do you think? Have your daily app usage trends changed? Do you find you are using more single-purpose apps each day, and/or fewer, general-purpose apps than you have in the past?

You’re subscribed! If you like, you can update your settings

  1. I think you’ll find that long before twitter, facebook and google apple was already useing single purpose app such as mail, contacts. This has been the apple way for some time

    1. re> Small, single purpose applications…
      re> “tiny programs that are really good at doing one thing”

      Surely you are referring to “Desk Accessories” which before OSX were installed under the Apple Menu using the Font/DA Mover. Used the heck out of that calculator and I really miss KeyCaps.

  2. Geoffrey Goetz Friday, April 22, 2011

    Even with those applications, there is a simplification movement. Take Sparrow as an example. It simplifies that which was already been simplified, Mail.

  3. At what point do all those Windows tech support personnel, along with many other IT careers, get displaced? I’ve always joked that Windows was the Bill Gates full employment act.

  4. Wendy Scranton Friday, April 22, 2011

    A big difference between Mac OS applications and iOS apps, is automation. On the Mac we have numerous AppleScript and Automator scripts to process and move text and images between various applications. Our shop relies on automated processes to get work done correctly and on time. iOS, as best as I can tell, offers no way to automate our key business processes between applications and even within applications. In Excel on the Mac, we use scripts and macros. What does Numbers on the iPad have?

    1. What type of shop?
      From my experience, in most companies the 80/20 rule applies – Only 20% need to create things – budget spreadsheets (macros, etc), documents and such whereas the rest consume these and don’t need those abilities. These new apps won’t work for everyone or every company but will for the vast majority.

  5. “Unix is simple. It just takes a genius to understand its simplicity.” – Dennis Ritchie
    This is the Unix philosophy:
    Write programs that do one thing and do it well. Write programs to work together. [1]

    Then along came, cpio,find, vi, emacs …. Let’s see if history repeats itself, since it seems like design history is already forgotten.

    1. http://en.wikipedia.org/wiki/Unix_philosophy

    1. Good point about Unix, although in that environment this approach to design has really only happened in command line tools and I think is largely absent when you are in a GUI environment. You will find Unix GUI applications that are built on top of command line tools to do their work (often the GUI being a nice front-end to the tools), but I don’t think there are many examples of GUI applications themselves being written this way.

      Ultimately though this really isn’t a matter of the right way to do things or one approach being better than the other. It just depends on context. For many desktop class application, you end up with larger more complicated applications, because that is appropriate for the environment: the user sitting there in front of their computer for hours doing some work like writing a novel or creating art in Photoshop. On mobile devices, however, we tend to have more frequent but shorter interactions with applications which leads to smaller more dedicated apps.

      There can also be a serious price for a more modular approach. You can end up with things like COM/ActiveX with extremely complicated interactions between components for them to work together. Or by stitching programs together you will probably have a less cohesive experience as the user moves between unrelated entities.

  6. Dianne Hackborn Saturday, April 23, 2011

    This is not something Apple created, this is a characteristic of mobile applications that just applies to iOS as well. You can look back to PalmOS for a previous example: the application ecosystem there also revolved around smaller dedicated applications. This isn’t because it is an idea being created by the platforms; it is because this is the kind of application that is most useful on a small mobile device that the user has with them everywhere.

    Also as far as I know the iPhone platform is also not so novel when it comes to “apps … designed to get along with one another in what is quite possibly an infinite solution set of combinations.” PalmOS had a concept of “sub-launching” that allow one application to directly invoke another to perform an arbitrary operation, which was used fairly extensively. In Android we embraced that idea and greatly expanded it with the concept of Activities and Intents as ways for application to expose parts of themselves as functionality that can be invoked by others. (For example the “share as” facility is built on top of this, as well as other more subtle thing as content pickers.)

    As far as I know iOS some simple facilities for doing this through the ability to launch other applications through URIs. This doesn’t seem to be as much of a focus as even PalmOS (which had a strong emphasis on sublaunching and cross-application interactions using it), let alone Android which has built core application UI flow around the model.

    Not to say this is not all interesting stuff for people to know and an interesting development in application development, but I get a little tired of the common emphasis on iOS as providing a great new thing that has never been done before. :} Android’s core design around Activities and Intents was in the very first Android SDK, before there was even a concept of native iPhone applications and the app store.

    1. The state of Android development as exemplified in talks at last years IO, from the outside looking in.
      First a talk about ListView[1], then a talk about UI patterns[2]. In which the presenter mentions, don’t use my examples with ListView. I attended the talk earlier and apparently I use it wrong and I’m not a GUI designer.
      It’s not about who had it first, it’s about who made it useful.
      I hear through the grapevines that Apple is working on an implementation of context. My guess is. Before they have it fully fleshed out it will be 2 full OS generations (3-4 years), will Google come out afterward and claim, but we could have done the same thing.

      BTW: I work on an Android implementation of “something”.

      1. http://developer.android.com/videos/index.html#v=wDBM6wVEO70
      2. http://developer.android.com/videos/index.html#v=M1ZBjlCRfz0

  7. People have been calling Applications, Apps, for a long time. I don’t think we are seeing the death of the Application. Photoshop and Word still have a job to do. What we are seeing is that the economics of releasing a simple, single purpose app have changed. They are now viable. People used to write small, simple apps for the Mac, they just could not make much money doing it. First there was the problem of discovery, then finding a method to collect payment, then the trouble with installation and updating. All of those hurdles limited the market for small simple software. The appstores change this by removing a lot of these hurdles. Now you can find and buy small apps that are make money for developers – and those apps take their place along side the big apps suites that have dominated for so long.

    1. I’m with roz above. The appstores revolution is that it makes making small, lightweight app purchasing transactions commercially viable. There weren’t before. Hence the BIG software. It justified the effort required by everyone involved, even if many users only used a tenth or less of its features.

      Take Microsoft Word for example. It used to be where I wrote everything.
      Then Scrivener became my “goto” writing software, with a tenth of the functionality of Word.
      Now I’m using Essay on iOS most of the time, with a tenth of the functionality of Scrivener.
      I feed what I do back up through Scrivener and then to Word and ultimately to Indesign as it reaches various stages of completion.

      I don’t need Scrivener until I’m organising. I don’t need Word until I’m formatting, and I don’t need Indesign until I’m publishing. Essay on iOS, is JUST words. And it’s because of the appstore that it exists. Not because of google. Or twitter.

  8. Roz has it right. For 10 years Cocoa has made it very easy for a single developer to build an application of extremely high quality in a comparatively short time. This is the power of Cocoa. However, independent developers always have a tough time getting noticed and the infrastructure of providing serial number generation/collection, and credit card processing has proven time consuming. The App Stores take those issues off the table for indie’s (for a nominal 30% cut of your app), and so far, the developers seem to love it.

    1. NextStep…

  9. Great Article, Long Live App.

  10. TWiT Commander Monday, April 25, 2011

    If these “Apps” are tiny programs that are really good at doing one thing, and they can do only that one thing, may be we should call them “widgets” instead of “apps”.

Comments have been disabled for this post