What do Web Developers Need to Know About the Internet of Things?
‘The Internet of Things’ is a phrase that is seeping into modern-day parlance, in exactly the same way as it’s working its way - subtly and seamlessly - into our daily lives. While the dawn of The Internet Age was all about computers talking to each other, The Internet of Things Age is about a more diverse selection of gadgets and sensors communicating with each other for a whole plethora of reasons. Let’s look at a few examples; Alexa allows you to cut out a whole load of swipes and clicks to shop online. Instead, you issue a verbal command. WiFi connected baby monitors allow you to watch an infant via your smartphone, rather than an isolated pair of baby monitors. Even the temperature of your home, which was formerly controlled via a manual dial (or throwing an extra log on the fire, if you want to go way back), can now be controlled via the internet and your Nest app. Since every manual or analog task feels like it has potential to be upgraded and added to The Internet of Things, it’s an exciting time to be a developer. After all, the challenge of learning and inventing new solutions is what draws most people to the job in the first place. But as we embark on uncharted territory what - besides the fact, there will be plenty to keep you stimulated and employed for years to come - do you need to consider to stay ahead of The Internet of Things game?
We’re Struggling to Get Devices to Mesh.At the moment most devices and apps operate within their own bubbles and getting them to play nicely together is messy and complicated. Node.js has been a helpful framework to help Internet of Things devices efficiently communicate with each other, but there’s more work to be done regarding compatibility. Ultimately developers will likely work on apps that work across networks, not just as bespoke solutions for specific products. More on that later...
Usability is a Must.The days of complicated techie jargon running amok on user interfaces are long gone. Accessibility through simplicity is the order of the day. Since many products being designed today will need to be able to be controlled by smartphones, as well as directly through their control panels, controls should be equally easy to use on each, keeping the nitty gritty tucked away behind the scenes.
Prepare for Buffering.Since every Internet of Things command needs to pass through a server, developers need to remember to allow additional buffering time for that extra step. Poor network connections can make a product appear slow and ineffective - which a user will be quick to bin - so they must be designed to handle all network eventualities.
Don’t design a greedy product.A product that requires extensive computing power will sap juice from the battery and lead to frustration and disappointment for the user. Every element of your app or device should be stripped down if it’s going to flourish as part of the mostly battery-operated Internet of Things.
Security is Tantamount.As consumers, we’re all increasingly trading privacy and security for convenience, and that trend is likely to continue as The Internet of Things develops. That means developers need to offer some severe safeguards as standard. As well as building security and privacy into networks, developers need to pay careful attention to safety when creating a product, the more walls you build, the less incentive and opportunity you’re giving to criminals.
Learn New Languages.Certain languages are more suitable for the Internet of Things development, so chances are you’re going to need to expand your skillset:
- C is famous for now given its simplicity, but it’s likely to be outmoded soon.
- C++ is powerful, but its complexity means it's not widely adopted.
- Java is less potent than C++, but it’s more accessible and streamlined and so widely used.
- Python is now well-established and widely-taught, mainly thanks to its flexibility.
Prepare for big changes.Experts agree that unless Google and Apple can find a way of working together, one is most likely going to consume the other eventually. In a world where things are moving towards seamless interaction, two significant players like this - with such different modes of operating - will not sit well alongside each other. At the moment individual devices collect data and work independently of each other, down the line the most powerful apps will live within a network rather than a device, making the network more intelligent and individual devices more simplistic data gatherers and instruction-followers.
Things are Going to Get Personal.As the amount of data being collected and stored about each of us increases, the internet browsing experience is gradually becoming more bespoke. Imagine owning a connected fridge that sends data about its contents to an online grocery shop. Just like that, the retailer will be empowered to show you items you’re low on when you open up their website. All of this won’t happen without some complex back-end development…
Testing, Testing, 1, 2, 3.Testing is always the most arduous part of designing a new product. All the glitches, iterations and rejigs can really test your enthusiasm for creating something new. And The Internet of Things is only going to multiply the factors you need to consider when testing. What happens when the network lags? Can you reduce the power usage without compromising on functionality? Does the product work on all the platforms it needs to? Just a few of the things you’ll need to think about.
Going Beyond the Screen.Predictions suggest that devices of the future will communicate with each other without the need for user interaction. Thus the need for screens will be reduced. Front-end design will be far simpler - if there is any at all - while the back-end will house the sophisticated collection of data and resulting processes. So, all in all, these are exciting times. We’re only now seeing the tip of The Internet of Things iceberg. As such, speculation and experimentation abound, while standardization does not. Only time will tell how The Internet of Things will change the shape of our lives in the future, but as developers, it’s undoubtedly invigorating to be part of the molding process!
About the Author:Sajjad Daya is the founder and CEO of Symphoni.io. He is passionate about empowering people to live their dreams. At Symphoni, he empowers people to build software without writing code.
I fully agree with you, that every web developer should know this thing.