[Development] Qt and IoT infographic

Jason H jhihn at gmx.com
Mon Aug 28 16:01:07 CEST 2017



> Sent: Thursday, August 24, 2017 at 5:00 PM
> From: "Thiago Macieira" <thiago.macieira at intel.com>
> To: development at qt-project.org
> Subject: [Development] Qt and IoT infographic
>
> Re the inforgraphic at
>   https://info.qt.io/whitepaper-building-the-internet-of-things
>   (not the paper because it's asking information I won't give before I get it)
> 
> First of all, I like that Qt Company is taking this seriously. You can improve 
> those graphics with target numbers for 2020, which are talking about 200 
> billion devices connected (I think the analysis is from Gartner).
> 
> My criticism is what I *don't* see in this: local communication. Cloud 
> communication *should* be secondary in IoT. In fact, few devices should 
> communicate with the Cloud, hopefully only those that have hardened security 
> and where the user can control the privacy settings on. In a given smart home, 
> you should be able to count how many of those exist in the fingers of one hand.
> 
> So where's the information about local network discovery and communication? 
> Where's the strategy on common protocols and data models? Publish and 
> subscribe of notifications?
> 
> Please see this article from Monday that is relevant to this topic:
> http://www.zdnet.com/article/sonos-accept-new-privacy-policy-speakers-cease-to-function/
> 
> See also my comment: https://plus.google.com/+ThiagoMacieira/posts/goErhFrhzoS
> 
> The infographic makes a spectacular error in this area. It says "Your data, 
> your code, your cloud". Well, no: that's your code and it may be your cloud, 
> but it's most definitely not your data. It's someone else's data.
> 
> And now you know why I'm working on QtNetwork and want to implement DTLS.
> 
> PS: it also says "Artificial Intelligence" in "The Backbone" part. How is that 
> relevant to Qt or where is it exposed in Qt?
> 
> -- 
> Thiago Macieira - thiago.macieira (AT) intel.com
>   Software Architect - Intel Open Source Technology Center


1. That URL takes me to a form I must complete despite being logged in with my Qt account.

Onto my criticisms of Qt wrt IoT:

2. ZeroConf should be a standard thing. Where's Qt's support?
3.  IoT generally use web services, namely RESTful APIs. Where's Qt's support for writing a RESTful server?
4. Qt has often neglected web architecture.  While I agree the web as a platform is terrible, and it's only ever been done right once (Wt), it's what we're stuck with. Qt has been amazing for making embedded apps, but fails at providing access to those apps over HTTP/S protocol. From QML's lack of Web Browser support, to the amount of work required to provide access via HTTP/S to QObjects, it's hard for me to take Qt seriously as a IoT platform.
a. QML needs an official web runtime, that is, make QMLWeb or one of the similar projects officially supported so it can be used for UI in browsers*, and,
b. Remove the GL dependency for QML, so that QML can function as a way to make a headless HTTP server that makes it trivial to map HTTP requests to QObjects or QML Elements**.

* The new 5.10 WebGL feature is nice, and amazing, but still leaves a lot to be desired. You really need to be able to partition the IoT offering as web service and UI. With WebGL, they are too tightly coupled. It does have merit for people who want to web-enable a device that supports one user at a time, but that is only a subset of IoT devices.
** If removing it is too hard an alternative engine may be provided. 

Until those conditions are met, you're better off not using Qt. At least not by itself. Which is where your problem lies. Now you have to have a C++ developer and a web backend developer and a web UI developer. For 99% of the market, you only get to hire someone who has two of those three skills.


 






More information about the Development mailing list