dt {
margin-top: 1em;
}
dd {
margin-top: 0.5em;
margin-bottom: 1em;
}
p.quote {
font-size: 150%;
margin-left: auto;
margin-right: auto;
margin-top: 1em;
margin-bottom: 2.5em;
width: 24em;
font-style: italic;
}
p.quote span.attribution {
font-size: 50%;
display: inline-block;
clear: left;
margin-left: 12em;
font-style: normal;
}
There were lots of buzzwords flying around during today’s keynote presentations. Some of which may seem new to many “traditional” Microsoft platform developers. That’s OK – things are changing rapidly in the industry and it’s easy to miss a beat. Especially when the lines between software and hardware become as blurred as they have been over the past few years.

The Key Buzzwords

If you’re feeling a little confused, here’s explanations of a few of them in terms that hopefully makes sense. So when you take that client out to dinner and want to strike up a conversation about computing trends, you can drop some of these buzzwords on them Like A Boss

Internet of Things

This is a term that has been making the rounds over the past few months but has been in use for a couple of years. Simply put – the “Internet of Things” (or “IoT”) is a reference to the proliferation of semi-smart devices throughout our daily lives. It usually refers to small devices such as your home security system and thermostat controls. The fitness gadget on your wrist. Blood pressure / glucose / pulse meters. Weather sensors. Drones (not the kind that shoot at people). A range of devices within your car. Yes, eventually even your refrigerator, toaster, and espresso machine. These devices are rapidly becoming internet-aware because of the proliferation of internet access and the rapidly dropping cost of adding WiFi capabilities to even the smallest low-power devices. As of today, it only costs a device maker a few dollars per unit to add WiFi connectivity to nearly any gadget – and that price is still dropping. It might sound silly to old farts like me, but it really won’t be long before my refrigerator is talking to Cortana, letting her know that I need to pick up a new water filter the next time I stop by Home Depot. And this is made possible by the Internet of Things.

Ubiquitous Computing

Because of the pervasiveness of the IoT and the rapid growth in the markets for larger “mobile” devices such as smart phones and tablets, along with the ready availability of internet access, we are becoming increasingly exposed to connected computing nodes. We are surrounded by it – even when we aren’t aware of it. If you think of each of these nodes as a terminal into the larger global internet, then the concept of each being a small tap into the greater computing power of the cloud should be apparent. But it isn’t only the accessibility of computing power that is becoming ubiquitous – it is also the generation and capture of data. Our phones are capturing usage and location data. Security cams are capturing video data. There are economic microtransactions everywhere. Even your toaster will one day be able to provide usage statistics. Perhaps people in Georgia are more likely to prefer peach and strawberry poptarts while those in the midwest tend to prefer just simple toast and jam – the toaster will simply identify how it is being used, and anonymously report that back to an online service. It is data collection without the statistical problems introduced by opt-in survey takers (what kind of person opts-in for a survey on how they use their toaster anyways?).

Ambient Intelligence

At first glance you might think this means smart devices, but that isn’t so. Simply put, smart devices (like your phone and tablet) are very expensive to design and manufacture. Ambient Intelligence is about technology that generates the sensation that your devices are smarter than they really are. This is another way that cloud-based computing comes into play. It will be a long time before your thermostat will be intelligent enough to be able to anticipate upcoming weather changes by itself – but because of the IoT and Ubiquitous Computing your thermostat will easily be able to contact a cloud service to find the local forecast and whether it should enable the heater tonight or the air conditioner. And the thermostat can remain a very simple (cheap) and low-power device even though it seems to be more intelligent than it is. This is a dumb device that leverages the smarter (ambient) cloud.

Mobile-First

This refers to the notion that applications should be designed with mobile devices in mind as the primary point of interaction with users. In other words, desktop utilization is trending downward, and mobile utilization is trending upward. Also, while a mediocre desktop experience in an application is usually not a crisis, a poor mobile experience will be. It’s simply too easy to uninstall a mobile app and use a different competing product. So you need to get mobile right if you are going to do mobile at all. And with users deserting the desktop and flocking to tablets and phones, chances are fairly good that you really can’t ignore mobile. So focus on the mobile experience when you are forced to choose between mobile, desktop, and even traditional web.

Cloud-First

This refers to the idea that through the proliferation of the other concepts above, there is but one common denominator in all of it – the cloud. Whether you are building tiny IoT devices, cell phones, tablets, desktop workstations – or more accurately, software for any of those – then you will almost certainly be at the very least interacting with some aspect of a cloud service, and more than likely relying on cloud connectivity and services as support for a large portion of your application features. And the bar is already set fairly high – your users will simply expect your applications to be cloud-enabled. So it makes sense for most applications to plan for it and build out a platform/architecture that embraces the cloud.

Note that these are all rather broad terms, you might even say they are vendor-agnostic. Even when saying “cloud”, I’m careful to not say “Azure” because there are other options (sometimes complementary, sometimes competitive) and many organizations choose to dabble in multiple. Also, this definition of IoT may seem somewhat over-generalized – after all, when Microsoft uses the term “IoT” they are often pretending as though Windows Embedded is the only player in this space, while in all reality they are one of the smallest players in the embedded systems market. Embedded systems are in fact dominated by ultra low-cost platforms, where components are sourced at such volumes that a manufacturer will spend the time and energy to revise hardware layouts just to switch one part out for another that costs only a couple of pennies less per unit. And in those environments, there is no headroom to run beefy software like a full Windows stack (or Windows Embedded).

So, what’s the takeaway?

As we saw today, Microsoft is betting heavily on cloud. They are “all-in” as they say in Vegas. As a developer, this is very important – because if means that if you are on the fence today or unsure about where things are going, it should be very clear at this point: the industry as a whole is moving towards a cloud-centered and highly distributed landscape. Now is the time to be learning, understanding, and getting your hands dirty with cloud technology. Whether that means AWS, Azure, or something else to you is less important than getting the foundational concepts down – because applications for the cloud (or that interact heavily with cloud services) have very different challenges and best practices from what you may be accustomed to.

Amazon takes cloud technology very seriously, and are easily the top player on the global stage in that area. They had a massive head start. Microsoft has a solid foothold, with great products in this space, and is thriving despite the hiccups in the Windows and Office product lines. Google is just now realizing how important the cloud as a platform is becoming, and are desperate to plant a stake in the ground (as witnessed by this week’s savage price war). And there are others in the race as well, plus a multitude of vendors hawking cloud-centric products and services.

And here at Wintellect, we also take the cloud very seriously. We’ve already embraced it, and have some great architecture and implementation stories there. And while we typically focus on cloud computing in the enterprise sector, it encompasses so much more than that. Today’s revelations at //build were something that we were fully expecting – although they might be happening slightly faster than we anticipated – and so it comes as no surprise to us. In fact, I am personally greatly pleased to see the messaging today from Redmond, as I am 100% convinced that Microsoft’s direction is the only long-term strategy worth playing.

<

p class=”quote”>“If you’re not in the cloud, you’re last” – Ricky Bobby (or someone like him)