We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The Internet of Things - Thought about it? Now try it

00:00

Formal Metadata

Title
The Internet of Things - Thought about it? Now try it
Title of Series
Number of Parts
133
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The Internet of Things (IOT) has been subject to a lot of Hype, but it is here now and ready to be used. What it needs are great developers to pick up the mantle. So come along and find out how you can take on the challenge of IOT. This session will cover... Developing for the Internet of Things both from a device perspective and in the cloud. Looking at areas to use IOT outside of hobbyist areas and how to look at IOT in a new way to help build new types of solutions. From the Devices side this session will be looking at how to build great connected devices and from the Cloud side it will include a breakdown of the best ways to integrate and deliver meaningful insight into your IOT swarm of devices.
36
61
Thumbnail
1:11:04
73
107
Software developerDisintegrationBit error rateEnterprise architectureComputer hardwareTelematikPhysical systemInformationInformation privacyScale (map)InternetworkingExplosionTelecommunicationSpeciesWitt algebraPressureMoore's lawShift operatorInternet der DingeDegree (graph theory)Multiplication signData conversionVolume (thermodynamics)Arithmetic meanPolygon meshPower (physics)Transport Layer SecurityPhysical systemMassData managementView (database)Decision theoryLimit (category theory)Different (Kate Ryan album)Right angleDemo (music)BackupSpacetimeData analysisComputer scienceInformationProjective planeAreaInformation securityScaling (geometry)Form (programming)INTEGRALContext awarenessSoftware developerPhysical lawFlow separationCASE <Informatik>Enterprise architectureIdentity managementGame controllerRoyal NavySolid geometryTelecommunicationBitNumberWordCausalityResultantInsertion lossOrder (biology)Computer hardwareWater vaporConstraint (mathematics)Workstation <Musikinstrument>BuildingProcess (computing)Self-organizationQuicksortTerm (mathematics)Row (database)Single-precision floating-point formatGroup actionComputer animation
Moore's lawSoftware developerLevel (video gaming)Computer hardwareProcess (computing)Open setConfluence (abstract rewriting)InternetworkingInformationSource codeVirtual machineoutputIntegrated development environmentSoftwarePlastikkarteScale (map)Data managementInterior (topology)Lie groupProduct (business)Service (economics)Control flowInformation privacyInformation securityPattern languageAddress spaceTransformation (genetics)MathematicsForm (programming)Software maintenanceElectronic data processingSelf-organizationStandard deviationLink (knot theory)Point (geometry)Data centerSoftware maintenanceMereologyReal-time operating systemService (economics)Food energyLaptopCharacteristic polynomialTerm (mathematics)Integrated development environmentMultiplicationGame controllerSurfaceData managementBuildingPhysical systemMathematical analysisDecision theoryNumberMeasurementPower (physics)QuicksortValue-added networkPolygon meshTraffic reportingElectric generatorNeuroinformatikTouchscreenComplex (psychology)Source codeCycle (graph theory)Level (video gaming)SoftwareInformationTrailPattern languagePattern recognitionSpeech synthesisNetwork topologyLimit (category theory)BitProof theoryVulnerability (computing)SummierbarkeitWordRight angleProjective plane1 (number)Video gameDigital electronicsDialectInternet der DingePhysical lawInternetworkingCartesian coordinate systemOptical disc driveScheduling (computing)Computer hardwareSet (mathematics)Flow separationCovering spaceControl systemWorld Wide Web ConsortiumReal numberLocal ringReading (process)Computer animation
Software developerPlastikkarteMaxima and minimaLine (geometry)Operator (mathematics)Term (mathematics)System programmingComputing platformScale (map)PrototypeSoftwareComputer hardwareExtreme programmingBuildingMathematical analysisDependent and independent variablesGroup actionRule of inferenceClient (computing)Software maintenanceLibrary (computing)Information securityUsabilityConnected spaceLevel (video gaming)Service (economics)Internet der DingeSoftware developerValue-added networkCASE <Informatik>Data managementMetropolitan area networkSelf-organizationArithmetic meanUniform resource locatorProcess (computing)PfadanalyseMobile appOrder (biology)Perturbation theoryProjective planeVapor barrierPasswordEnterprise architectureBus (computing)Level (video gaming)SoftwareDrag (physics)Multiplication signSemiconductor memory1 (number)CuboidPhysical systemInformation securityBuildingReal-time operating systemVirtual machineTelecommunicationChainQuicksortDifferent (Kate Ryan album)Mathematical analysisSlide ruleMereologyLine (geometry)DiagramRight angleBitPrototypePoint (geometry)Normal (geometry)View (database)Group actionFood energyUniverse (mathematics)GradientLogic gateOffice suiteSet (mathematics)Message passingWater vapor3 (number)VotingNumberPredictabilityMusical ensembleRule of inferenceDiagram
Software developerCommunications protocolGateway (telecommunications)Constraint (mathematics)FirmwareComputer networkInformation privacyInformation securityData integrityIdentity managementAuthorizationScale (map)Message passingGroup actionCross-correlationQuery languageVirtual realityArchitectureBuildingPattern languageAddress spaceControl flowOperations researchService (economics)Time domainRemote Access ServiceNetzwerkschichtSign (mathematics)Server (computing)Mobile WebPoint (geometry)VolumeVariety (linguistics)Event horizonMobile appConcurrency (computer science)Process (computing)Streaming mediaComplex (psychology)Augmented realitySoftware maintenanceData managementQuicksortVariable (mathematics)NumberSoftware development kitBit rateGreatest elementMultiplication signStandard deviationEvent horizonReading (process)10 (number)Real-time operating systemPoint (geometry)Physical systemVirtual machineStack (abstract data type)Endliche ModelltheorieDirection (geometry)Complex (psychology)1 (number)Message passingWater vaporVolume (thermodynamics)DataflowConnected spaceData managementNatural numberInformation securityProof theoryQuery languageService (economics)RoutingComputer architectureDifferent (Kate Ryan album)Product (business)Line (geometry)Gateway (telecommunications)Software developerScaling (geometry)Right angleNetwork topologySet (mathematics)BuildingInternet der DingePerturbation theoryExecution unitProcess (computing)Temporal logicSelf-organizationInternetworkingBoss CorporationTransformation (genetics)Data storage deviceSoftwareOptical disc driveLevel (video gaming)Communications protocolWeightForcing (mathematics)Moving averageQuality of serviceService-oriented architectureBitStatement (computer science)Streaming mediaWindowInsertion loss2 (number)Pattern languageAcoustic shadowTheory of relativitySpecial unitary groupAnalytic setInterrupt <Informatik>SequelPrisoner's dilemmaLogic gateArithmetic progressionSystem callComputer animation
Source codeStreaming mediaSinguläres IntegralSoftware developerOpen setIdentity managementProcess (computing)Scale (map)Component-based software engineeringEvent horizonData streamPattern languageWindows RegistryData managementSuite (music)PredictionVisualization (computer graphics)Control flowCommunications protocolConnectivity (graph theory)Android (robot)Keyboard shortcutComputing platformCodeMessage passingMetreFreewareGreen's functionIntelComa BerenicesCore dumpReal-time operating systemInternet der DingeCompact spaceFormal languageJava appletScripting languageUniversal product codeComputer hardwareEnterprise architectureModule (mathematics)Device driverNatural numberUser interfaceConvex hullVisual systemTotal S.A.Point (geometry)Data storage deviceQuicksortCodeTowerEvent horizonSoftware developerStreaming mediaLatent heatComputer architectureData managementCuboidConnectivity (graph theory)Web 2.0Projective planeMultiplication signNumberProfil (magazine)WindowBitReal-time operating systemAnalytic setQuery languageCASE <Informatik>Hand fanEnterprise architectureInformation securityImage registrationWritingAxiom of choiceElectronic mailing listInternet der DingeFormal languageComputing platformProcess (computing)Message passingSet (mathematics)2 (number)Degree (graph theory)Range (statistics)Core dumpFreewareDemo (music)Mobile WebSuite (music)Product (business)Scaling (geometry)Default (computer science)Cross-platformVolume (thermodynamics)Line (geometry)Group actionUniverse (mathematics)Internet service providerLimit (category theory)String (computer science)Goodness of fitMultiplicationPhysical systemSystem callSequelBetti numberIdentity managementDifferent (Kate Ryan album)SkewnessInsertion lossLevel (video gaming)Open sourceReal numberAdditionTouch typingRight angleComputer animation
Software developerArmDynamic random-access memoryDemo (music)Internet der DingeClient (computing)Multiplication signSoftware developerBitTelematikWhiteboardPhysical systemPower (physics)CodeSemiconductor memoryVolume (thermodynamics)Virtual machineOnline helpObject (grammar)Scaling (geometry)QuicksortMoment (mathematics)Data managementMereologySoftware development kitLink (knot theory)Streaming mediaLattice (order)Cartesian coordinate systemLibrary (computing)WindowSpecial unitary groupChainComputer hardwareMedical imagingSelf-organizationTelecommunication10 (number)Line (geometry)Context awarenessConnectivity (graph theory)Water vaporDesign by contractRemote procedure callRing (mathematics)CuboidDemo (music)Binary fileTouchscreenSet (mathematics)Process (computing)SoftwareReal-time operating systemOpen sourceAdditionLimit (category theory)Flash memoryPointer (computer programming)Standard deviationExecution unitMusical ensembleInternet der DingeRow (database)Module (mathematics)Electronic program guideNumberComputer animation
Extension (kinesiology)Core dumpInternet der DingeBootingVisual systemInstallation artBuildingArmMathematicsSheaf (mathematics)PlastikkartePlanningSoftware developerWhiteboardDevice driverData managementFormal verificationReflektor <Informatik>GUI widgetInformation securityInformation privacyIdentity managementComputer hardwareComputer networkCommunications protocolProduct (business)Gateway (telecommunications)Pattern languageDependent and independent variablesImplementationDiscrete groupSimulationMalwareModul <Datentyp>Computing platformEncryptionData storage deviceEnterprise architectureGradientFirmwareComputer configurationArchitectureClient (computing)Portable communications deviceEvent horizonControl flowSuite (music)Data conversionUsabilityPersonal digital assistantService (economics)Software testingStandard deviationAreaComplex (psychology)Connectivity (graph theory)Mathematical analysisInternetworkingIntelOpen setCategory of beingRight angleRhombusMereologyCuboidCore dumpPlastikkarteBuildingInternet der DingeBitSoftware developerWhiteboardNumberLink (knot theory)Electronic mailing listGoodness of fitRoboticsWritingData miningProcess (computing)QuicksortData managementWindowInformation securityCausalitySoftware development kitMathematical analysisInformation privacyCodeGreatest elementStandard deviationWordMultiplication signBlogModule (mathematics)MathematicsDialectSuite (music)Pattern languageData centerGame controllerComputer architectureSocial classNumerical taxonomyBootingQuality of serviceTrailGroup actionDevice driverData storage deviceProjective planeComputer configurationPeer-to-peerDemo (music)Self-organizationLattice (order)Virtual machineMedical imagingRadical (chemistry)Connected spaceTouch typingIntelMachine visionLibrary (computing)Extension (kinesiology)Enterprise architecturePoint (geometry)Insertion lossTexture mappingExterior algebraNetwork topologyIdentity managementDifferent (Kate Ryan album)Inheritance (object-oriented programming)ResultantSystem callBoss CorporationControl flowCountingEntire functionMusical ensembleGrand Unified TheorySaddle pointView (database)Computer animation
Software developerGoodness of fitCASE <Informatik>BitBoss CorporationLatent heatSkewnessWindowLink (knot theory)BlogMedical imaging1 (number)VideoconferencingInformation securityGroup actionCartesian coordinate systemQuicksortInternet der DingeVariety (linguistics)Physical systemFreewareSelf-organizationEnterprise architectureMultiplication signCovering spaceRevision controlBasis <Mathematik>Cellular automatonSource codeUniform resource locatorExecution unitWechselseitige InformationCentralizer and normalizerComputer animation
Transcript: English(auto-generated)
Welcome to the graveyard shift of NDC. I'm assuming that Scott Hanselman's session was full. I've dutifully picked a subject which is tiny, or not, as the case may be. I've got a lot I want to talk to you about, so I'm going to go quite fast. My
policy is you should leave here wanting less, not more. I'm going to be moderately derogatory about developers. I'm a developer, I love developers, but a lot of the problems that I think are going to come out in IoT are developer-focused,
and I want, I'm very sorry about this, I want to make you think about IoT in hopefully a slightly different way, and at the end of this if all goes well you'll go out and you'll be able to plan and start doing great IoT stuff but hopefully not make some of the fundamental mistakes you can have a
better experience. If I've managed to achieve any of those I'm going to be pretty happy. I was going to do some demos but after several things, one I've got some time constraints, two somebody stood on and broke half my centre packs, both my primary, my backup, and because I'm a developer my emergency backup. So what I'm going to do, if there's enough interest at the
end, I'll actually record some demos to follow on from this on actually building some of the IoT pieces as well. So not only did you get the opportunity to join me for a whole hour, you then get some more of me as well. What more could you not want? Okay. So IoT, we've got the what, the why, a conversation about enterprise IoT, the how, some hardware, some wrap-up,
and then some summary. The reason I think there's going to be a disconnect in IoT, and it's interesting certainly in the arena I see that lots of people are thinking about IoT from either the maker space or the enterprise space and think it's the same thing. So really what this conversation is really
about saying, knowing which space of IoT any project you're going to be looking at is going to fit into. There's nothing wrong with maker and there's nothing wrong with enterprise but they're not fundamentally the same beast. They can be, but there's some practical limitations of stepping from one to the other. The next problem is nobody actually quite
agrees what IoT is. Okay? If you talk to anybody, you'll get a slightly different definition of what IoT is. Here's my view, and I hasten to add I'm always right, but you can decide if I'm right or not.
There are lots of devices. There's lots of siloed data, whether you've got an HVAC system for your heating control, whether you've got security data in your badgeries in your company, whether it's vehicle data inside your cars, and then there's a proprietary solutions that hold all of that data. And this is a problem that computer
science people went through and engineers and business people went through during the 90s talking about business systems. And actually exactly the same problems that people went into integrating information in business systems in the 90s and the noughties, I hate that word, but that's fine, in the
noughties, is actually the problem that IoT is going through now. The only difference is the devices are a lot smaller and, if I'm going to be honest, they're not as interesting. There is a different problem which I probably shouldn't be talking about. There is a problem that if you talk
to inside a business, if you talk to chief execs and managers about IoT, nearly everyone will go, oh, those are a little bit of electronics, why do I care about that? I've got my iPad. And it is a problem that IoT is going through a massive area of business growth and normally
the people making the decisions can't understand the concept of even what it can achieve. And I don't think all of the canonical views of that are actually set yet. So we also have problems around data accuracy and low time ethics. So, here's my take. Data without
knowledge is meaningless. What does that actually mean? So, if you've got a piece of data that says sensor 3007 says it's 21 degrees. Brilliant. I'm very pleased for sensor 3200, whatever it was.
I can't remember what I said last sentence. It doesn't matter. It has no meaning. Unless you know where that sensor is. So in this room, okay, we put a sensor in the roof and it says 21 degrees. Unless we know the room is of this volume and this size and how high the ceiling is, it's very hard to take what somebody sat in this row,
the temperature in here is not going to be quite the same. If it's a small room closet, then you've got a better accuracy. Does that make sense? So you need to know what the theme is, what the style of data is, where it is, what does it mean. And people doing IoT, when you're doing a single device,
you don't really think about that. When you think about the data analytics later on, you'll say, well, where is that sensor? How high is it? What does it mean? Are there other sensors in the room? What's the overall mesh picture of that room? And people aren't thinking like that. And then we have problems about people actually tampering with the data and breaking sensors.
And I'll talk about that when we talk about security as well. Does that kind of make sense? This is not what people are thinking about, but this is where the information and this is where the power of IoT is going to come. So to actually generate data across an organization and do great things, we need easier to connect devices,
we need secure connections, and we need to be able to do stuff. And let's be fair, we probably know what the answer is going to be. The answer is going to be cloud to get volumes of data and scale. The other thing, if you're having conversations in your organization,
the other thing to know is IoT isn't necessarily that new. It's about 19 years old since, because you really didn't see that, the joys of something. Fine. IoT, we're heading to about 20 years
since the concepts have started to move forward about what IoT means. But this is the one I think is actually the one I like the most. It's a quote from, I'm just going to turn my Wi-Fi off because I don't know what's going on there. That's fine.
I like this quote because it actually says, as time goes on, as the integration of IoT becomes real, you actually start to see electronic skin spinning around the world and all of the data forms together that we can then analyze and do things with. Why is it happening now?
I'll be quick with this, because most of you probably won't care, but I think it's nice for context. Everyone's probably familiar with Moore's law. That means we get more transistors and theoretically more power into the systems we're delivering. However, the second two are much more interesting. Metcalfe's law is suggesting that the more things you connect together,
the power of a network or the power of a mesh grows exponentially with the number of devices or pieces of information you connect together. If I know what the temperature is in this room, okay, that's rather interesting. If I know what the temperature of every single room in this entire building or this entire complex
and how all of the other sensors are wired together, I can make much better and much more informed decisions. Metcalfe's law is really important. So, IoT, building one device is hobbyist. We're doing something very interesting, building a thousand devices, 2,000 devices, 10,000 million devices,
the power of that mesh of data is much higher. And then the final one that most people don't know about is Coomie's law. And Coomie's law is actually how much computation you can do for a kilowatt hour of energy, i.e., how much power does it cost to compute things on a device?
And the answer is it's getting much higher. So, we're getting much smaller devices with very low power consumption, able to do a central amount of compute. Okay, so we've got a cost of hardware that's coming down, data processes coming down, we've got the cloud.
And the last part which becomes more important is we're starting to see a level of standardization. Most of the W3C and the OGC are starting some standardization efforts. However, if I was going to bet money right now, I'd actually bet on AllJoin.
I'll cover AllJoin a bit later on. AllJoin is basically all of the organizations building hardware have joined together and say, we'll all support AllJoin, which at that point everyone says, well, okay. AllJoin is probably going to become the de facto standard. I'm not going to guarantee it, by the way, but I would look at AllJoin, I'll cover that briefly.
I will also post a full set of links for all of the things you probably need to know from this deck by the end of Sunday, if that's any interest to anyone. So, what actually makes a device, devices and sensors that connect to the internet, they could not connect to the internet, as long as we can get hold of the data in real time.
And we actually want to communicate that information and then pull the data together. But the characteristics of what people think about a device, really there's another concept which is called the internet of everything. Most people think about smart devices
and they all look very sexy and they have dials and all that sort of stuff. But if you've got a traditional SCADA or control plant environment or an HVAC system or even devices which are traditional IT, a PC or a laptop which have sensors connected, they're IoT devices as well, in real terms because you're getting sensor data. And then you have dumb devices, which is me.
I couldn't think of another picture which would do a dumb device and I'll have to do for that. But that's just a dumb device, that's maybe just doing a single reading and posting it out. In fact, the majority of devices, no, they're not going to like me, it's not going to be that horrid, are going to be just single devices just pumping data out onto your local internet feed.
So, what's the entomology of an IoT project? Actually, I'm not sure entomology is the right word, but it'll do. All of the ones I've seen so far have been projects with really weak requirements because people don't understand IoT. Long proof of concepts with no conclusions that actually had any information in.
And then if they did something, they weren't then able to scale them out. And the scaling out is the problem. If you built something for this room, next room, if you can't then roll it out to the rest of the building, why bother? So, I'm going to go through some techniques or things you want to think about and how to solve that too. Okay.
Mandatory marketing slide, I'm not going to bother with this really. Everyone says it's going to be huge. Everyone says big numbers. Do you know, honestly, I think it's going to be large. I wouldn't like to predict which one, so I just put some numbers up and said, look, you know, do your own research. We're going to get into more interesting things after this.
Do be aware. I assume all of you have seen a Gartner Hype Cycle before. It's IoT is just at the top. So, what's going to happen over the next, you know, nine to ten months is there are going to be some epic failures in IoT. And they're going to go public, and everyone's going to say it's dead,
just like everything else, speech recognition. The hype, hype, hype, hype, hype, failure, failure, failure. And what's going to happen during that dip is people are actually going to do some proper work and then they'll come out the other end. I'm going to tell you all the things, reasons for failure, and when you see them, it's basically people haven't thought the problem through.
Worth knowing. So, why are you going to try and do IoT? The first thing I would suggest is telemetry. Gather the data and get insight from your data, whether it's temperature sensors, whether it's engine management systems, whether it's tracking how people are moving with your vans going around your organization.
Whatever data you're gathering, gather it and do some analysis. There's several reasons. The first one is actually a lot more practical. So, I'm going to do some patterns. These I've borrowed. I think that's the euphemism for stolen, but borrowed very gently.
It's very easy to take data and then do analysis and actually try and gain some insight. What actually happens, though, is people try and do much cleverer things on their first step into IoT. And that's where the failures start to come.
The second part, which is the piece that people always think about, is command and control. We're reading the data sensors coming in from this room, the temperature, humidity, and then we're going to control what happens in the room. I'm going to go back one. I apologize. This will get you 90% of your return from IoT.
Okay? Look at the data you have and find out what's going on. This is the bit that marketing people and managers want to see because it's the sexy piece on the top. It's not necessarily the true value. It might be. Be honest with yourself.
Having the control circuits and stuff, it's all recall. So, command and control is where we then can control and then manage. Now, command and control, actually, there's a halfway house. Things like predicting maintenance. So, if we're gathering all the data off our trucks and vans and that sort of thing, we then have a nice situation where we can predict when the maintenance is going to be and when we think the tires are going to wear out
so you can actually schedule maintenance for vehicles and all of that kind of thing. And that's an odd one because it's actually a halfway house between the two because you're not quite closing the control loop but you're actually generating reports to say, Vehicle 300 needs to go for a service in the next three to four days to stop failure.
So, there's a halfway house between the two and a look at that. Where's IoT applicable to? Well, everywhere, really. I did miss off Smart Agriculture about a year ago when I presented on this. And somebody from the agriculture industry then gave me a three-hour lecture on what it could be used for agriculture.
I was wrong. I very carefully put that up. If you're interested in agriculture, you're absolutely right. It's probably used in agriculture more than anywhere else, as it turns out. I don't often say I'm wrong. That's a slide to say that. But when we started to talk enterprise, we have another set of problems.
So, again, while I love developers, developers love charging ahead and building things. There are several problems with embedded devices that can be challenging. And I'll come through some of the challenges in a few minutes. They always have different device chains. Every manufacturer of a device will have a different build and a different system.
And that causes cost. The piece that people really don't think of is the line of business people. Not to put a fine point on it, quite often IoT projects are run and managed from a developer group.
And then when it gets scary, they hand it over to IT and run away. And if you're developers, I do apologize, but that's the truth. And I'll come back to that in a second. And then at the end, you want data, because at the end, we're looking for insights. And if you've got data scientists, again, people don't tend to look at the start
of what the data scientists at the end are going to use to actually generate their insight. Developers will try and do the whole lot and normally will fail on the second two hurdles. Involve everybody at the start and you're going to get some level of success. So, when we're actually looking for enterprise grade, we're looking for a much more scalable solution.
Just as a quick question, I've had this before. Do people know what hot and cold path analysis are? Okay. So, IoT has an interesting problem.
I've got some diagrams which I'll cover off in a few minutes. Hot path analysis is if we've got telemetry coming in from 100,000 devices and we want near real-time insight into what's going on, that's called hot path analysis. The data's coming in, we have to process it in real time. And again, developers are generally, without skills, pretty bad at doing that.
Cold path analysis is where we'll gather the data and then retrospectively look over the last week or month or year and do the analysis. So, we want live telemetry notifications, we want low barriers to entry, prototype and deploying,
we want it to be secure by design. This sounds like, I hate to say, a traditional software project run well. And IoT has that problem because people think of it as a maker problem. They look at it as a one-man-band style solution
and IoT for the enterprise is full software teams managed properly and delivered properly. So, let's look at the actual problems. I do have solutions, by the way, but it's not just problems, it's good, it's fine. So, we normally have a client-side app which is what everybody focuses on. So, if you look at this whole diagram, most people only focus on one box out of those eight.
We then have alerts and rules because we actually want to find out if maybe this room is on fire. That'd be kind of handy to know, right? And here's the one that people, oops, I did it in the wrong order. We want a messaging bus to connect them all together.
Alerts and rules, we then want to be able to do analytics, which we've talked about. And the one that developers quite often miss and it's the epic failure, or will be, my prediction, the epic failure in IoT. If we've installed 25,000 devices, we've sent a man in a van to every room in every building that we're managing.
We've deployed this and it's brilliant. And then we find a software fault. Okay? Now, a software fault, we're normally, yeah, we push it out through system center, right? It'd be fine. Not in this case. In most cases, that means the man in the van then returns to 25,000 locations and updates that device.
Now, if the device is going to cost $5, I would guess the man in the van time will be about $50 per visit. And these economics are the pieces, again, this is where the real is going to go terribly wrong.
We then got the joys of device onboarding. We actually want to manage devices because not only do we have to manage 5, 10, 15,000 devices, we also then have to think of the security.
Now, in parts of my terrible past where I've been asked to do sort of slightly, you know, make sure our systems are up to scratch, one of the classic ones I've done is, well, how serious are you? Very serious. And in a meeting, I've walked up to a box on the wall, smashed it with my fist,
pulled the electronics from the inside of the box on the wall, plugged it into my machine, and more times than I would care to ever say, well, this is publicly, more than I'd like to admit the number, you take the machine apart, drag the memory out, and sensible system passwords will be in that device. In plain text. Okay?
Not really acceptable in any enterprise, and the work I've done in those cases have been enterprise solutions. And those are enterprise-grade passwords on a $5 piece of tin. And then we've got cost all in. Okay?
I am rushing this because I've got a lot more to cover. Actually, I've got a lot more to cover. IoT itself is a journey. I'm a developer, so I started at zero, which is fine. I would say in most cases, organizations should be aiming towards three, and any more than that.
2.5 is pretty good. Three is pretty amazing. And unless you're a specialist software company, don't do four. The problem with IoT right now is most organizations try and go for four. What do I mean by those? So connecting means connect some devices, put some level of management in,
and do that job I said at the start. Gather the telemetry, do some analysis. This is my view, this is nobody else's. It's not far off the mark. If you're going to build the strategy, connect with what you've got. Look what's inside your organization right now, and utilize that, combine the data, and generate some insights.
While I love taking a box, and we'll come to that in a second, and plugging things in and putting it on a wall in a box that looks a bit manky, the reality is most organizations have sensors. You have security gates, you have temperature, all that sort of stuff. Your device management systems are normally accessible as well.
Look at what you've got and be honest, and then augment that as a repeat rinse cycle. Now, this is hopefully new to your managers. I'm guessing not with the organization. I've got in trouble. I presented this to managers and got shouted at. There is a problem that the stacks within every device is different.
The interop is pretty poor right now, but it means there's some great developer work. But that probably gets me told off, but it's a trick. We then have a set of problems around device topologies. So we have some devices that are going to be connected directly to the internet. We can have some indirectly connected via an agent,
because it might be they're just literally a thermistor with a couple of wires. Or you might have a gateway which actually converts protocols, or a gateway that actually just merges or augments. In general, and the difference just for reference, an agent will normally do a level of processing,
whereas a gateway will just route the data up. I would normally say for a lot of organizations, people don't do agents enough. They just throw all the data straight up, whereas agents can process out bad readings and that sort of thing on the fly.
We then have large amounts of connectivity problems where, well, you can read yourself, that's fine. Now, the ones that concern me the most are the three at the bottom. Telemetry we've already talked about, we've got quality of service, that sort of thing. But bringing notifications back into the device,
and then actually getting the command query right. So how do we actually move on? So despite what I said, you've got to think big, but start small. You want a sensible pilot, but you want to design it so you can actually scale it. And if you don't do that, you'll fall at the first hurdle.
If you try and do a massive rollout, I will guarantee you failure. I don't really bet, but I will bet you one whole shiny new penny you will fail. There you go. I don't like betting, it's just not in my nature. But proof of concepts fail because they don't think of scale. So if you follow these, you've got a better chance of success.
Again, you've got to think of the connectivity model. We'll come back to security and scale it in a few minutes. Again, if everything's going to be inside your own company network,
you've got much less challenges. If they're going to be remote through a gateway or public network, you've got a whole raft of security problems. If you want to know more on this, search for a gentleman called Clemens Vasters, if you know Clemens, and he has a very interesting talk on IoT connectivity models.
So, what's the architecture look like for end-to-end? I've got to step my pace up slightly. So, if we want to actually build something sensible, now, I'm using the Mysore stack for my examples, by the way. Other service products are available, that's not a force.
In reality, you've got event producers on one end. We're going to collect them either through gateways or direct. We need some kind of ingestion broker, and then transformation, and then storage and insight.
And again, if you look at what most people think about IoT, they normally just think about the end event producers, the devices at the end. In fact, most of the work in an IoT solution is this side here. The one thing I am suggesting, though, is don't try and write the bid in the middle yourself
unless you've got very, very deep pockets. Again, Intel, and there are many vendors that would love to sell you solutions for the middle part, by the way. So, go and have a look. But if I look at the Mysore stack, just because it's the one I know,
so, if we want to ingest vast quantities of data, we've got tens of thousands and millions of devices, and we want to process them in real time. I have built those systems by hand in the past. You're talking tens of man-years of effort, and lots of racks of machines to do it.
So, we have several problems. We have a problem about volume, millions of senders, variable writes, we've got predictable and unpredictable bursts. If we're sensing maybe the flow of water, oddly enough, on a public system, the flow of water probably between 7 and 9 in the morning, when people get up and go to the bathroom,
or 6 if you get up very early, or 10 if it's me, and then sort of the afternoon, your rates of data will always normally fit a pattern, based on time of year and holidays and that sort of thing. And to actually cope with that variable demand, you've got to put a lot of kit in.
You've then actually got velocity as well. How much data are you going to be producing? Just think about if you've got a thermostat responding every 15 minutes, and then you've got 100 devices across a home, and then you've got 10,000 homes,
you start multiplying these numbers up, and the amount of points of data are staggeringly huge. So, at the minute, there is not a standard unit for IoT. I'm not necessarily proposing one, but for the purpose of this talk, one boss unit of IoT is a volume of message
that one device generates over one day, based on one message a minute. So we've got about, give or take, 1,500 messages a day. It's a useful thing to think about, because that's one device. We'll come back to that just in a minute. By the way, people quite often call me boss, that's why I use that.
And then again, how are we actually going to ingest it? We've got problems about security, volume, and the other one, and the third one up from the bottom, durable. Durable is the one that some people argue with. Quite often, I prefer, I would say you normally wouldn't want
to keep the data in flight for more than a day. Some people want 30 days, take a few. And again, you want the thing to be cheap. We then want to do analytics. That's very fuzzy, never mind. So, one of the things I use a lot in mainstream analytics, has anybody come across ASA?
Silence. So this is basically hot path in analytics, or complex event processing, whichever you like. In reality, it's real-time SQL with temporal clauses. Everyone's really switched off at that point.
What we can actually do, and I thought people might know it, we can actually do a select statement. So I can select for all devices over a tumbling time window of 10 seconds where the temperature sensor has a temperature range
greater than 30 degrees. And we can stream those queries, multiple queries across the same data set in real-time. And then the data can go off either to dashboards or storage or whatever you like. But the key one is this concept of temporal joins
and tumbling windows of time. You write them as, I have to say personally I'm not a fan of SQL. I'm not a SQL boy, I'm a coder. But the fact that the queries that you can actually project across this real-time data is incredibly powerful and there's a whole poly-temporal clauses
means you can put up these queries very, very fast. And you can have 10 million points of data streaming through this in real-time very, very simply. Do have a look at ASA, it's very powerful. If you connect to an event hub and ASA by the way,
a lot of developers, because they're very good at being developers, put code in between the two and you will fail. Your code will not be scalable real-time. Your code will be a bit of code that adds two numbers up wherever it is. Let event hub and stream analytics these are high-volume things, leave them alone.
Other things we need to think about on IoT, identity, registration and management. Again, this is the common, again, I am a developer and I love developers so very much but developers do forget about IT. IT is something that you tread on in the morning as you come in to do your mighty ivory tower development projects
but the reality is IoT lives and dies on the IT management actually is going to deliver those devices. I have seen the number of times developers out in rooms sticking up boxes without telling IT and just there's a very deep syncing feeling
and you'll see why in just a second. There is a Mysore product that actually now manages that. It's called IoT Suite. It has reference architectures for pre-configured solutions. I will say the pre-configured solutions are pretty meaty.
So there's one for remote monitoring, there's one for, I don't use them personally, we tend to, if we look at the reference architecture, the reference architecture roughly looks like this. You can have web jobs, event hub, stream analytics, IoT hub, which I'll come to in a second, delivering all the data.
You're looking at quite a large delivery. The device, if you're looking, is don't look at IoT Suite, certainly right now. But there's one component you might want to look at, which is called IoT hub. Whereas event hub is for a large number of devices, you know, five, six thousand,
IoT hub is a more IoT focused ingestion engine where you can have up to 10 million devices, does full command and control, it does all of your device management for you, it does AMQP, MQTT, all of the things you need to run.
It also has full cross-platform support, RTOS, Linux, Android, the whole nine yards, and it's really easy to use. Basically you dial in the platform you're on and the language you want and it will generate your agent code for you.
All open source and easy to use. Java, JavaScript.net, C-sharp, whatever you fancy. So here's the cost. And this is why I'm saying you can actually do the scaling. If you want it for 8,000 messages a day, it's free.
If you create one, it defaults to create what's called an S1, which will cost you 15 pounds a month. But here's the interesting point. Let's convert it to some real numbers, a BUI. So in reality, that's five devices running free,
about 300, and about 4,000 or 5,000. So if you're connecting 4,000 devices for all of your IoT ingestion and processing and device management, it will be about 150 quid a month. You can't write things for that. But you can scale it by, you can try it for free.
I genuinely would suggest you look at IoT Hub as it's pretty amazing at what it does. Just a quick list of the devices so pick a device of your choice and it probably is going to be on there, both from embedded chips and all the way up. There are other platforms, but it's certainly worth a look.
However, there are two quick things. If you do look at it, get what's called Device Explorer because it will show you all the devices in your hub and all of your licenses and attachments, and that's for Windows. And if you're not on Windows, get what's called IoT Hub Explorer. I've got about 20 minutes to finish.
That should be fun. A couple of other things I want to talk to you about is hardware. Some good things and some bad things, many bad things about me. So I'm going to talk about Windows 10, which is a strange thing to talk about on IoT and you'll see why in a second. So Windows 10 IoT is actually something
that will run on a variety of platforms. It's what's called a Windows 10 core. You actually get all of the Windows things like BitLocker, Trust TPM, advanced lockdown, multi-user profiles and all sorts of stuff, all baked into an IoT device.
There are three editions, just in case you ever do come across them. These actually aren't what they seem. IoT core is for IoT. Mobile devices and industry devices is embedded phone and embedded PC, so you don't care about those too much. But here's the interesting one. You can have an embedded device,
which is actually running things like Windows Update and will keep your device secure and you can manage through things like System Center, if that's what you desire. So for example, two days ago, having built a demo to show you,
Windows 10 IoT pushed out an update and my device is promptly updated, which is quite sweet. So all of the security was revved up, SSH, device portal updates, which is nice, but if you're about to do a demo, which I'm not going to do today due to the damage, not to do with this case, all the security updates on my embedded devices went through.
There are specific SKUs for enterprise management for devices, which allow you to actually manage when those are going to be updated and that sort of thing. But Windows 10 also supports AllJoin. So if any device is on your network which is AllJoin and the Windows 10 devices are also AllJoin,
all of the libraries are baked in for you to actually discover other devices and manage those through the AllJoin network. And pretty much all the major vendors have signed up to AllJoin. So this is where I was going to try something. However, there is a slight problem.
Believe it or not, I am so bad at electronics it's actually written in my contract to my current employers that I am not allowed to use a solder guide. It is generally regarded I could set fire to a bucket of water with a solder guide in my hand. It genuinely is actually in my contract. I am just so dangerous with a solder guide.
But I love to do electronics. That doesn't really help. So, and some of you are going, yeah, that's me too. Has anybody come across Gadgeteer? Apart from me, I love Gadgeteer. I think it's a really, really brilliant concept. The concept is this.
It's done by Microsoft. But you have a base board, but as you plug modules in like a camera or a sensor, when you look at them in code, they appear as an object rather than a stream of data. The contextualize them. Effectively, it's object-orientated hardware development. That's my standard. I can cope with that.
Gadgeteer boards, a little bit underpowered. It's getting a little bit dated. And you might come across one of these. I think they're not very common, maybe. Nobody's ever heard of them, Raspberry Pi. Very nice little device. A gig of memory, you know, nice band power.
Just as a passing comment, if you are looking for remote devices for native Pi development, there's a WirelessThings.net who do these open Pi devices, all open source. They're really cheap, very nice to look at. Again, I'll do some links at the end. Now, a rather unfortunate named piece of kit
called a Fez Cream. I can't think of a more unfortunate name. I don't know why. What it actually does is, and I've actually got one here, it's a Raspberry Pi with a gadgeteer board.
So I can now plug reusable components into my Raspberry Pi and not burn down my entire neighborhood, which is rather handy. And again, the little modules are switches and LEDs and sensors and that sort of thing. It works remarkably well. If you have a grownup who can do electronics, that's great, but I'm not allowed near that.
The other one I was going to talk to you about, and I'll do these demos if there's enough interest at the end, and I'll record them so you can see them, is this concept by Intel. It's called Edison. It gives you an idea how big it is. The Edison board is about that big. That's a full edition.
It's basically a full-blown machine. It's got Wi-Fi. It's got Bluetooth. It's got memory. It's got the flash, everything else, and a full distro of Linux on it as well. Okay? It's about 30 pounds in volume, much, much lower. And Intel has seen that. This will be sort of a standard unit of IoT
going forward in the future. I love this board. It's absolutely fantastic. It's what's called Zado. So Zado is a concept a bit like Gadgetia, but done for the Edison,
and it's these micro boards that you can just wire together. So this is actually an Edison on that side, and on the back is the Zado hosting board, and I can then plug together a whole pile of these modules, like that's actually an LCD screen, and that's a set of barometer sensors,
and this is actually from a mobile kit, which I'll put some links up for, and you can just wire these together, and that's actually for a handheld device. You can actually bolt the pieces together, put them in sort of a small box with a LiPo battery, and it's a mobile device. Okay? So I'll put the links at the end,
and the demo I was going to do, which I'm not going to do because of general failure, is I was actually going to show you Windows 10 running on a Raspberry Pi, with a Fez cream connected to a pile of devices, a Zado collection with an Edison doing exactly the same job, feeding up into IoT hub with live telematics.
Would people like me to record that demo over the next couple of weeks and put it up for them to look at? Okay. You can see how it's all kind of pulling together hopefully quite nicely, but as you give a screenshot, this is actually Windows 10 running on a Raspberry Pi doing temperature and humidity sensing in real time,
pushing that data up to IoT hub. Now the Windows 10 is actually doing a sort of a desktop deployment, and this is the bit, have any of you actually done Windows development? So as you do Windows development, I built a desktop Windows application, UWP,
and I deployed it to my Raspberry Pi, and I ran it. So that's actually my desktop. It runs exactly the same on a Raspberry Pi. Same C-sharp code, exactly the same. Same build and deploy. And then that's why I think Windows 10 IoT is interesting.
You've got full system center management, and it depends on your ecosystem and your organization, but you can bring your tools chains down to a lower number of tool chains, and that's gonna save you a lot of money. Oh, I think I'm on track for time. Couple of notes. If you decide to do the IoT on Raspberry Pi,
the core dashboard is your friend. Do not try and build it yourself. Download what's called core dashboard. It will burn your SD card for you. It will find your devices. It's great. The first time you boot, wait. It's only the first time Windows will set itself up like Windows does.
After that point, the boot's incredibly fast. Visual Studio need update one. You need the tools extension. Have those written down. Build UWP. And then all you have to do for the gadgeteer is add a reference to the gadgeteer libraries, which will run when it's run on the gadgeteer device and not when it's running on your desktop.
The only one at the bottom might not make sense. Make the effort to change your package name because when you deploy it, the Windows device will go, oh, where's my gadgeteer package? And you'll find it's called E47A13444.
And if you change it to my IoT package, it's easier to find on the list of five. On Edison and Zadio, if you decide to do that one, the board I showed you was the Zadio board. It's nigh on impossible to update your Edison using that board.
And I'm not saying it brought me to tears, but it did. The Edison ships with the Arduino board, which is a full Arduino board. You can buy it with or without. For doing IoT, buy the Arduino board to get your stuff onto the Edison and then plug it into the Zadio for the final development.
Just the updates and getting your Edison going without the Arduino board was just too horrific for words. And the last one is if you're on Windows Insider, when you do an update of Windows, you have to reinstall the drivers. Now, nobody would be as stupid a day before their demo to do a fast ring update on their machine.
But if they did, they'd be sitting in the hotel room at three o'clock this morning reinstalling their drivers to run their Zadio board. But luckily, we don't know anybody that's stupid. That's fine. The last pattern I want to really talk to you about is the one I keep talking about. Security is the one that's going to kill IoT
or cause all of the big newspaper articles of the future. Please, please, please, if you don't know, now this is the Microsoft One, the one we use. Look at one of the security plans for defense in depth. Write good quality code across the board. You've got to. Remember the story, I've ripped boards off walls.
You go, the number of times, so in the example when I talked about the one where I ripped off the wall and they called the developer in, the answer was genuinely we didn't think anybody would, well, nobody would damage our property. That's right. A thief never comes into your property and says, well, I can't damage anything.
There's a big box of diamonds over there. I'd have to break a piece of glass to get it. That thwarted me. That doesn't happen in the real world. I'm not a baddie, but baddies don't care about your property. They'll smash something off the wall, and the developer will come up, I wouldn't do that. You realize, you're really sweet, but that's not how security works.
You need some bad people. Did any of you go to either Troy or Barry Dorrance's session? Right. For those of you who didn't, I'm going to recommend it again. Barry Dorrance is a dear friend of mine, and I suffer for it daily, but do look at his session and look at Troy Hunt's session on security.
You'll be available in the next two weeks. You really need to know security. When you're looking at IoT. So look at how to secure devices. I'll give you the Windows 10 options. One of the reasons I like the Windows 10 is you can put a TPM module on a Pi.
You can then use BitLocker to encrypt the entire device. So somebody rips it off the wall, it's encrypted. There's nothing they can do. Look at protecting customer data or more preferably don't store any data on an IoT device whatsoever unless it's under your control.
And that means if it's on the wall in this room and this room is secured, still don't do it. Because an employee, a disgruntled employee, unless it's in the data center and it's secured, it's not secure. And then put resist tampering around devices if you can manage that as well. One more last pattern.
Build a reference architecture, whether it's IoT, Suite, whether it's, it doesn't matter. But pick a reference architecture and deliver to it. Don't try and make your own up. If you're trying to make your own up, you're a big organization and you're going to invest millions of pounds. If you are going to build it yourself in a small group of people, pick a reference architecture.
And I'm sure, because I'm a pro Microsoft person or a Microsoft regional director, I'm going to say pick the Microsoft one. That's not the truth. Pick one. Pick a good one and use it and stick to it until the end of the project. If at the end of the project it doesn't work, pick a different one. What actually happens is people will pick one.
It makes them do things they don't like, like security. So they'll change it just a bit to not involve all the critical bits they don't like and then they're going to get a failure. Pick a reference architecture, pick a good one, be prepared to change it, but please pick one.
Ooh, I'm nearly on time, that's not bad. Wrap up. I haven't really touched too much on device management. It will become a pain. Even in IoT Suite right now, it's okay. You effectively roll a part of it yourself, but that's fine. Quality of service is something you've got to think about.
Whether you're going to go cloud and peer-to-peer. And the big one I really haven't talked about is governance. IoT governance is in its infancy, but build terminologies and taxonomies inside your organization and group to make sure that everybody means the same thing.
A tale from a long time ago, I was sat in a meeting with a developer I used to work with and the customer was talking about we need a process and it needs to have these properties and we need to be doing this. And the customer was talking about a business process and I genuinely saw a developer writing a process class
and was actually writing the code during the business requirements gathering. Because it was easy, right? And the different definitions of those two words would come to haunt that entire project. We now basically do one side of A4 at the back of a business requirements
is one of the greatest things you'll ever do. This word means this. Nice and easy. So, terminology and taxonomies are one of the things that are going to cause IoT from over the next few years, but they will get ironed out. There's also questions over privacy. Who owns the data?
Who owns the device? If I install my device in your home, do you own the device? Have I done some sort of weird lend-lease-deal sort of thing? It's kind of weird. And also the fact that if I've installed my device in your home and it catches fire, what happens then?
You remember? Don't let me solder. Top tip. And then standards are on the way. My bet currently is all join the sort of lead in the charge, but again, take a few. And just because I haven't nailed this hard enough, long enough, again and again and again, one more time, last time I promise, really think about security.
The security things, by the way, are actually relatively easy to overcome if you think about doing them early. So, in summary, the device is here. We have connectivity. The development tools, generally about there. Management tools, probably the biggest hole right now.
And the analysis tools are definitely here. Quickly spinning through, I'd certainly recommend these two books by O'Reilly. I've actually got a couple of this one to give away for the interesting questions at the end if you've got time. I would definitely recommend reading both of these. The Enterprise IoT is about the delivery and abusing the IoT is basically
what will happen is if you don't do the security. You've probably guessed which one I like the most. I've got some links for Kit. You don't have to take pictures. I will post all of these on my blog. I'll do a sort of a nice big list of links. I love the Intel stuff. It's really, really great.
Fez cream is a little bit hard to get hold of. I buy mine from a robotics company in France right now. Random, never mind. But there are UK distros, I'll put some links for those up as well. I would generally, genuinely look at that talk by Clemens and Dan.
It's from, I think, Build last year. It's a really good talk on security and IoT. And then again, the talks by Barry and Troy from this event, definitely worth a look. My blog, I work for a company called Black Marble. I probably should say at the start. Not a really great sales pitch, so that's fine. blogs.blackmarble.co.uk
and slash blog slash boss. There's pictures of us all. You'll be able to find this quite nice and easy. And I think we're on for a wrap up. I think that's about it. As the red light comes on, I rushed it a little bit. I apologize. There was a lot to cover. Yes, I repeated the security again and again.
It was a deliberate aim. You probably gathered that. Are there any questions? This part's been recorded. If you don't want to be recorded, you can come up at the end. I've probably got about three or four, maybe five minutes to talk to people.
Okay. So I'll repeat the question so it's on the audio. Windows 10 does the updates, which does most of the basic security. It's important. And of course, then you've got to update your application. They can be managed through things like system center
or rollout group policy, that sort of thing. Depends on how your organization is set up. There's actually quite a few ways of updating those. And in fact, one thing I haven't tried, and I can't quote, I've got an idea of how to do it, but I won't say this because in case I've got it wrong. But there's actually a whole variety of ways. In fact, any way you'd normally update a Windows device,
you could do it that way. But generally, the idea with the enterprise ones is you'd actually just roll it out with the image and the updates. But there's a specific skew for that. For the personal home versions, it's by hand. I might have an answer for that, but it's a guess, so I won't say it publicly. Take a book at the end, there you go.
Any more for a free book? I'll take a question for a free book. No one? We done? Okay, in which case, thank you very much. If you do have any questions you don't want recorded, come up at the end. Hopefully that's been useful. I will get everything up for the links and stuff by the end of the weekend, and I'll try and get some videos recorded
of the three bits I want to do. I'll try and have them up by the time the videos for this go up in about two weeks. Okay? Thank you very much. There we go.