Sketching in Hardware 2011
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:
Interesting way of navigating by pictures.
Other websites I wish had APIs
favorites, but no way to make BOMs or multiple shopping carts
But what about other things?
- Robots (article)
- 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: