IOT: The Competition for Attention

My most recent post on LinkedIn cross-posted here.


The Internet of Things (IOT) is everywhere. It was the only news at CES and it’s presently at the top of the hype curve with press attention on Apple’s new secret car,Homekit becoming available with iOS 8.1.3 and the Apple Watch launching soon!

But with IOT comes a whole new set of problems, and I (selfishly) believe that calendar and AI will be a key pillars in enabling the future IOT software platform.

Why? IOT devices are not meant to collect dust but to be actionable. Being actionable means being used and when your Amazon Echo sits on your counter and collects dust, it’s not actionable. To mitigate this, every IOT device needs to speak-up – they are competing for your attention.

To compete, they send notifications (email, SMS etc): “Cheerios are on sale,” “You’re running low on milk,” “You’re laundry machine will be done in 35 minutes,” “You haven’t walked enough steps today” and so forth.

As I alluded to in a previous post, your email is transforming from a collection of human communication to machine generated messages and tasks. And your calendar will follow because every great IOT notification is an actionable task which needs to be scheduled back into your calendar (eg “Oil change needed soon”).

So How Can We Fix This?

Well, first off, it’d be great if just 10 percent of the notifications I get on my phone were useful. And to do that would not be hard:

  1. Let me configure my notifications – Facebook and others give me too many notifications and IOT is going to fall into the same trap. Yes, I don’t want to be notified by my smart sink each morning that the water quality has negligibly gone up or down. It’s a novel concept at first but it gets old quickly — and even faster if you are sending it to me on every device!
  2. Learn which notifications I read and more importantly respond to – Email marketers are experts at this, they know when you open and click a link in an email. Notifications are the same thing, they are just another form of CRM. See Kahuna for example.
  3. Use the signals you have – More signals are not necessarily better, but the right signals can make a huge difference. Dear Nest, if you can tap into my calendar to better know when I’m home or not, and subsequently save me money on my heating bill, that’d be awesome!
  4. Be smart about when to bother me – Imagine a real-world assistant receiving a call while you were in a meeting. He wouldn’t interrupt your meeting unless he thought the call was important enough. This is hard and this is where AI and using the user’s own data (calendar, email, Facebook, Linkedin, location etc) to understand intent can make a huge difference. I do want to know “Cheerios are on sale” but only when I go shopping.

Next, distinguish between content and tasks. Most notifications are content and this can get overwhelming real fast. Two years ago, maybe one app told me whose birthday it was today but now I receive this notification from multiple apps on multiple channels each day this is annoying. Be smart about firing content notifications and focus on the unique, not the obvious.

Even better though are task-based notifications; telling me I need to buy milk is better but I don’t want that to clutter my email. Instead, map that task to my calendar, add it to my todo list, and present it to me at the right time.

The competition for attention is real – it’s happening and IOT will take it to a new level. Leveraging simple AI smarts, providing configuration and mapping those task notifications to your todo list and calendar will help. The winning IOT devices are those that are smart enough to keep my attention over the long run.

Network Responsibility

In the past 6 months, I’ve seen more and more infrastructure companies focused on network data optimization (and why shouldn’t they be with video consumption continuing to explode and now representing 40% of all data load). On the other hand, from an operator perspective, the introduction of data caps in creates the downside protection they need (eg if someone is being data abusive, they are paying a significant premium for it) – not a bad situation for the operator.

That being said, what I haven’t found much focus on is the shift of data consumption responsibility to the developer. Developers need to build network-efficient applications and unfortunately, I still haven’t found a best practices / guidelines for developers to adhere to.

I’m definitely not a network expert but certainly developers should keep in mind the following:

1. Chatty vs queued (I’ve heard that the opening/closing of network connections causes unnecessary pain; developers can design around this?)
2. WiFi vs 3G (It’s not difficult to determine network speed and then determine whether to do the “large” or “small” download. This is similar to how in prepaid days, apps may wait until nighttime to download data because of the cheaper tariffs)
3. Roaming or not (This would require network APIs to be available but assuming it is, this would absolutely impact when the application should be transmitting data)
4. Load on the network (Again, this would require network APIs, but knowing load can be used to a developers advantage)
5. Compressed vs uncompressed (Many argue that the PC resulted in inefficient app development and mobile made you efficient again with limited storage/memory/CPU etc. Now that mobile is the new PC, that may be happening again. If you have a server-based application, why not compress?)

And the list goes on…

Operators need to put more pressure on developers in writing network-efficient apps rather than pushing data caps, IMO. Let me know if anyone finds a list of best practices?