What is the motivation for developing and building many Internet connected devices? What are the arguments for and against the Internet of Things (IoT)? Would they make our lives easier?

Pros: 

  • Convenience – to unlock my front door, I now don’t need to carry around keys anymore and can simply use my mobile device instead
  • Sophistication – if my car’s navigation is connected to the Internet, it can give real-time suggestions on routes based on current traffic
  • Scalability – Instead of having to create a physical key for each door, simply have a program generate a private key automatically and you have instant access

Cons:

  • Security – Looking at my “scalability” answer, the same idea is very much a negative (you can easily hack access to someone’s house)
  • Privacy – With more everyday devices connected to the internet, the odds of being tracked by the government and/or companies are much higher

The question is: do the pros outweigh the cons? In my opinion, no. History has shown that no system or application can be made 100% secure, and IoT devices are no exception. Also, the fact that we will be tracked more often by government agencies is a big negative.

“If the Internet is a free-for-all, and with the Internet of Things we’re putting the entire world on the Internet, what does that make us?”

-The Internet of Things is a Surveillance Nightmare

That being said, it is virtually inevitable that IoT will become more and more prevalent in our lives with each passing day.

How should programmers address the security and privacy concerns regarding IoT? Who is liable for when breaches or hacks happen?

With the same amount or even more care than the security and privacy concerns regarding software in general. The company that sells the IoT product is responsible for breaches and hacks, and indirectly the programmers and testers of the product are responsible as well. It is your job as a programmer to test extensively, and when a device is going to be integrated so much into people’s personal lives, it becomes more important than ever to write secure code. You don’t want to be the developer who introduced a bug that allowed a hacker to crash a vehicle on the highway. Sure, maybe your name won’t reach the media, but you know that it was you who wrote that code. But, humans are humans. There is no human who can write perfect logic into software without any possible errors. A hacker who spends all of his or her time trying to reverse engineer your product may eventually find a way in. And no, it is not your fault. It is human error. Which is why I am worried about the possibilities presented by IoT connecting too many facets of life.