At the time of this writing, this article titled “50 things you didn’t know your iPhone could do” had hit 55k Facebook likes and is getting a crazy amount of shares. Considering the time people have had to learn about what their smartphones can do, why does an article like this – published on December 6, 2013 – even need to be written?
Because we are limited by what we don’t know and the average person doesn’t want to spend time learning anything complex. I work in the tech world, I live and breath new technologies. But this doesn’t mean I can see the potential of every new development or product that I hear on the grapevine.
The “Internet of Things” and open source hardware and software is surely going to turn up some ingenius uses of smart devices – and these are going to arise from the next crop of entrepreneurs and niche start-ups. They will have the freedom to play with IoT systems and devices, and their only limits will be themselves.
These are the ones who are going to expand our minds to the possibilities of new technologies – by tinkering, playing and trying out crazy ideas.
Do app developers have the tools to make the most of the Internet of Things?
The app market is huge – and growing. The Internet of Things is only going to make it grow faster, as the demand for apps to control the plethora of sensors increases.
With every new major step in technology, the opportunity for app developers to create the “next big thing” emerges. The ones that will survive are those that are able to best discover a product/market fit on time. They know their personas intimately and know how their user’s lives can be positively influenced by what they have to offer.
So the question being asked here is, “Have current hardware developers for the Internet of Things satisfactorily created devices for developers to smoothly get their job done?” Are app developers enabled?
Limitations for app devs with current hardware
As a microcomputer the Pi is fully programmable linux environment.
However Python rules the ecosystem here, So if you want to work with tutorials you’ll have to learn the language.
Need to learn a different programming language (C-based Arduino)
If you’re happy on the command line, you’ll thrive here. If not you’re going to have to learn a lot of new tools.
Need to program with the Arduino IDE, which lacks most of the features of a full modern IDE
Also the same issues as with Arduino Kits and models.
Where there are ready-to-use ‘kits’ they can use them to construct someone elses design. The kits may require some tools and soldering. if not they will need to learn a lot about hardware first – steep learning curve
The Raspberry Pi and Arduino board are essentially hobby-enabling hardware and are limited in scope. They cannot intake information as a sensor, but they can be programmed by individuals to perform unique actions.
They are also quite messy-looking with all the wires sticking out. One bump of a cable and it can become dislodged and require manual repair. This is frustrating for anyone used to the convenience and practicality of a wireless world.
The app dev’s tools are improving
The world of programming is not perfect either – unclean code can result in a poorly performing app – but the rapid adoption of HTML5 as the most-used app developing language means that more replicable code is available which will speed up the coding process.
HTML5 also means a much easier path to creating cross-device apps which is a huge step forward for app developers. The Kendo UI survey (January 2013) of app developers found that 39 percent of developers were using their time to make cross-platform versions of the same app, instead of creating new features or improving existing apps.
How complex will creating apps to deal with all the incoming sensors be, let alone programming the sensors in the first place? This is why devices such as Nest thermometer will need everything pre-programmed and an app pre-developed.
But then… how crazy will it be to have an individual kettle app, a shower app, an oven app, a garage app, a nightlight app, a plethora of light apps… ? The Ninja Sphere, created by the Ninja Blocks team, is trying to solve this issue by allowing you to connect all the sensors within a defined 3D area, such as your house.
But can the devices themselves be programmed to fit your individual needs? Not at the moment.
There are still few ways that app devs can individually program the Internet of Things
If there’s one thing that developers love, it’s creating something of their own. The Internet of Things and the sensor world is currently limiting app developers. Who knows what they could come up with should they be given more control over what sensors can do?
Bill Wasik said it best.
“This, finally, is the Programmable World, the point at which the full power of developers, entrepreneurs, and venture capitalists are brought to bear on the realm of physical objects—improving it, customizing it, and groping toward new business plans for it that we haven’t dreamed of yet. Indeed, it will marshal all the forces that made the Internet so transformational and put them to work on virtually everything around us.”
App Developers have started, now the barriers need to be lowered even more
The Philips Hue Bulb, The Nest Thermostat + Protect, The Withings Scale (and many others) are individual apps connected to a device. They are at the forefront and have paved the way, whetting the appetite of early adopter developers around the world. They have provided the first fairly easy, fun and usable experience for developing for the Internet of Things with one device.
These devices therefore offer a first glimpse of the massive app economy potential for next generation of smart apps (digital app + physical device: internet-enabled, sensor-carrying).
Of the device manufacturers, none are open source – but they realized the only way forward is to open their APIs, which some (like Nest) did over the last year. But it’s just the tip of the iceberg – some companies like Belkin are unsure if they want to open yet.
Meanwhile, the number of smart devices from the established giants as well as the plethora of start-ups, and from hundreds of thousands of “makers,” is expanding exponentially.
So if you are an app developer and a fan of Philips, Withings, Nike or Nest, thats great! There is an API for that, or will be soon and you can develop apps for the growing population who own these devices.
Nike Fitbit now has 36 applications on their dedicated Apps page, while Philips Hue shows some 40 third party apps in the iTunes App Store. There is initial traction.
But history shows that people want to connect different devices in ways we cannot imagine. Joe Consumer is not going to surround himself with only Philips products… or Samsung for that matter.
The consumer wants maximum purchase flexibility, and will want maximum freedom to choose the best apps to monitor and control any device they buy, across different devices regardless of manufacturer.
So how do you make it even easier for developers to offer consumers maximum flexibility?
You lower the barrier even more, to accelerate the consumer-facing, App Development ecosystem. It is unrealistic to expect an average app developer to manage thousands of APIs, one for each device.
The answer must and will be, a single point of entry – a single API that connects to the various other devices, and an easy toolset. This is so app developers can develop not against manufacturing brands like Philips, Samsung and Bosch but against device types, i.e. a light bulb, a weighing scale, bicycle or even more basic a motion sensor, or a contact sensor.
Only then will you spark the creative innovative potential of the developer community, to come up with things we cannot conceive of today. This hearkens back to the pivotal year of 2008, before we knew we would all have smart phones and apps to help us monitor and control our lives.
Qualcomm’s AllJoyn initiative is one of the efforts closest to realizing this vision. They are trying to create an open platform overlay for all devices. Naturally, as a Qualcomm spinoff have vested interests, even if they are partnering with Panasonic, LG, Sharp, Cisco, HTC, and others.
We remember the decade-old and failed efforts by telcos to establish M2M protocol standards. The market will instead find an independent, small, super agile, private company, with best design practice and easy open developer tools to establish the standard.