Sketching in Hardware 2011

Michael Shiloh

Teach Me To Make

Engineer, artist, teacher

Electronics, mechanics, electromechanics, tinkering, Arduino physical computing, experimental interfaces, electromechanical contraption building, rapid prototyping.

With apologies to Zach, since I try to teach as much as possible in limited time, it all looks like foam core and hot glue.

In the early days of the internet, companies wondered:

Do I need a website?

Of course now the answer is obvious, but once upon a time people didn’t really understand what a website would be used for

Now they ask themselves:

Do I need an iPhone app?

Perhaps very shortly the answer to this question will be just as affirmative
and redundant as the previous. Perhaps it already is.

What would be a good next trend, that in a very short while might be just as
pervasive, obvious, and interesting?

I propose that the next trend should be APIs

Certainly some websites have API that have lead to fascinating projects:

Many websites have great data but no APIs:

Other websites I wish had APIs

  • Jameco
    favorites, but no way to make BOMs or multiple shopping carts

But what about other things?

  • Cars
  • Robots (article)
  • Refridgerators
  • The things that make up the network of things
  • Personal Music Players and Car sound systems (to create useful blends)

I’m not the first to say this:

“Everything Should Be an API,” Says FCC

Design for the loss of control.” (His point was more IT-specific,
arguing that the combination of pervasive digital infrastructure,
software-as-a-service, cloud computing, social software, and smart
phones have enabled employee- and customer-driven solutions to degree
that renders top-down IT systems obsolete.)

Let’s step back and see where an API goes. At the lowest level, it’s between:

  • Generic capabilities (hardware, data, functionality)
  • UI (website or application) that allows the user to access these functionalities or data

Why do we need access to an API?

  • When we want to use the functionality or data in ways  that the designer of the UI did not consider

Why might companies be reluctant to provide APIs?

  • It’s more work
  • It takes time
  • It takes money
  •  It is frightening (loss of control)

Consider that with early cell phones it was out of the question to install
your own application. Now iPhone and Android have huge application stores. (It’s even created a new word: “App”). How does someone say “there’s an app for that?”

In the case of the cellphone at least, companies have given up some level of
control over what you have on your phone. iPhone is much more closely
monitored, Android less so, but in both cases the vendor lets you customize it
the way you want.

Has this loss of control wreaked havoc in the cellphone world, or has it been immensly popular with consumers?

Would we expect that in the future cars and refrigerators also have app
stores? I can’t imagine why not, and I can’t imagine that the outcome would be
different: owners happy that they can customize their products.

What I’d like to suggest is that it’s time to suggest to companies to take  the next step in giving up control by providing access to underlying functionality and data by publishing APIs.

I propose this will increase creativity and innovation, spawn a new flood of
applications and customizations, and create more happy product owners.

Some phrases Mike used earlier this morning that seem to resonate with this concept:

  • …the screwdriver to pick up and fix the world
  • not just building things, but building things that people use to build things
  • social change
  • mythological Ben Franklin

And one from Brand New School:

  • “It just works” can be the enemy of “you can fix it”

I’d like to encourage you to request and demand APIs whenever you have the opportunity, so that someday everyone will say:

“There’s an API for that”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: