This blog attempts to be a collection of how-to examples in the Microsoft software stack - things that may take forever to find out, especially for the beginner. I see it as my way to return something to the Microsoft community in exchange for what I learned from it.

10 August 2016

In the past I have been dealing with IoT equipment made by a manufacturer that shall remain nameless here, but their solution was - like a lot of IoT solutions are today - based on Linux. Now granted, they had a quite nifty data exchange option via LoRa meshing. But updating both firmware and apps was a nightmare. You were constrained to your own network, so pushing out updates was your own responsibility, you had to do that per (sub) network, one by one, app by app.

Now this was (semi) professional sensing equipment, not intented for use by Joe and Jane Sixpack. The stuff that actually can be purchased by Joe and Jane is even in more dire straits. See for instance this horror story about smart locks. Or actually, dumb locks, as it turns out

Now first of all, a lot of these manufacturers are at fault for delivering essentially insufficient safe equipment. What's even worse is that they refuse to fix it. But in the long run, they are actually right about updating the lock software. It has very little sense, as most of the users won't update the lock (or whatever smart device they may have purchased anyway), either because they don't know how to do it, or because they rather watch the Olympics or some other sports event du jour in stead of reading obscure websites about security to keep up to date on the status of their smart lock, light bulb or whatever other gadget they bought (or got from a well intending friend or relative).

The only solution to this, of course, is that both the lock software itself and the firmware could be serviced remotely, without requiring the user to do something. This would of course require some kind of secure communication protocol, centrally guarded... kind of like how a computer or a phone and it's apps are updated. And wouldn't you know it, that is exactly what Microsoft are doing. Rather too quietly in my humble opinion. Maybe because it’s still in preview. But this is a big deal, and I think it deserves a lot more fanfare.

Windows 10 IoT Core can already update itself, so whenever Microsoft adds new features or improves overall security and stability, the base software can be updated without affecting what is running on top of it. Now by making the apps running on it servicable as well, Microsoft are providing the ultimate solution for making IoT devices servicable remotely and securely, without the user having to do anything.

Drawbacks? What if your lock is just about rebooting when you want to go out (or in)? And then there's the age old "quis custodiet ipsos custodes" - who guards the guards? You (and manufacturers) will have to decide whether or not they want to trust Microsoft - a company that has decades of security expertise, a enormous cloud infrastructure, and basically runs on selling trust - or just hope some random hardware dude does a better job and do it right the first time, because they cannot update their stuff once they have sold it.

I think the time is ripe for Smart IoT, and I applaud Microsoft for making this move. I once dreamed about it in a closed conversation with some Microsofties, and now it's coming true. Not doubt my dreaming has nothing to do with it, but the fact that it does come true indeed, is not the less awesome

The second blog post in a row without any code attached to it. My apologies, I will return to code next time ;)

03 August 2016

Woe is us

No code this time, but a kind of a rant. Or some advice. Whatever you want to call it.

So we all saw the stories. Several pundits all over the world claim Windows Phone is going down, the Windows Store is going nowhere, it’s all going bust, blah blah blah doom and gloom, woe is us. I must admit I’ve been lazy converting my apps from Windows 8.x / Windows Phone 8.x to UWP too. Not out of defaitism, but, well, I got distracted. And for good reason too – there’s now so much fun stuff to play with. First there was IoT Core and some great IoT Azure features, then came HoloLens and UWP on XBox One - it’s hard to set priorities. Especially if you suffer from the shiny new toy syndrome like me ;).

A little confession

So far I have updated only one app to UWP, and submitted it to the store – good old Map Mania. It was my first serious Windows Phone application, dating back to the Windows Phone 7 days; it made it’s transition to 8, 8.1 and was languishing in the store. You can buy it for €0.99, although buying apps is an outdated model in these freemium days, right? And it was not even my most downloaded app – a little over 8000 downloads does not even come close to my more-or-less hit 2 Phone Pong. So why did I chose to update this app specifically? Well, mainly because I use it myself. It’s ability to show Open Street Maps is a great boon when making hikes in more rural places of Europe where the wife and me tend to go on holiday (although it was also great in finding spots around Rome). In addition, I think its ability to show WMS maps is also fun, a throwback to my years as a GIS programmer. And there’s sentimental reasons as well. Anyway, May 11th 2016 Map Mania Universal passed certification. Mission accomplished. I announced its existence with one tweet and forgot about it – because a HoloLens was on it’s way. That is why I am an engineer, not an entrepreneur– I know nothing of marketing, nor am I particularly interested in it.

Money talks. Numbers too

Now three months in, I browsed around some new Dev Insiders Pages on the Dev Center, and found these rather unexpected numbers in the payout pages:

Apparently, for every copy of Map Mania for Windows Phone 8.x, I am selling a little over 1.4 UWP copies. But well, ho hum, that’s nice. It’s not exactly breaking the bank.

I am going to share another number with you. Not one that I am very proud of, but what the heck:

The point is, look at the latest payout date. June 2015. In fourteen months I have sold for like €10 Map Mania 8.x. copies. But in three months I have sold UWP copies for an amount of €14.69 . Ergo: I net about 71 cents per month on 8.x, and €4,90 per month on the UWP app. That’s almost seven times as much. It’s still quite not time to call the boss and give my month’s notice, but still - seven times as much. And these are new users - because if you upgraded from an older version, you keep owning it.

What the [redacted]?

How is possible in the light of all the doom and gloom stories? If I check the new download reports I see quite a few Windows 10 mobile acquisitions, a little less tablet acquisitions – but both of those are outnumbered by a bucket load of PC acquisitions. Whatever “PC” may be these days – since Surface saw the light of day, the borders between a laptop and a tablet have become quite hazy.

I’ve been discussing this on Slack with a few people, and with my fellow MVP Ginny Caughey, and we think there are apparently three things at work

Relative small store = relative high visibility

The huge number of Windows 10 on PC installs is apparently kicking in

Those new users are apparently willing to put down money.

Long story short

Update your apps! There is life (and money) in the UWP market. Learn new skills, earn a few bucks, and who knows, maybe you will sell an app to a HoloLens user. But an ‘ordinary’ PC user’s euros, dollars or whatever are currency too, right? There quite a lot more of those.

Feedback, comments and tokens of appreciation

If you spot things that are incorrect, or if you don't understand what I mean, please drop a comment on the offending article and I will help you ASAP. You can e-mail me at joostvanschaik at outlook dot com or contact me via twitter.

If you find the information on this blog useful (and apparently some 600+ people per day do on average) please let me know as well, that encourages me to keep doing this. Or do tell others - that made me an MVP; who knows what more it might bring ;-P

Disclaimer and legal stuff

Although I take great care in providing quality samples, all postings, articles and/or files on this site are provided "AS IS" with no warranties, and confer no rights. The views expressed on this blog are strictly my own and do not necessarily reflect the views of my employer, or anyone else on the planet for that matter.

I usually make original content, sometimes building upon other people's work. Sometimes I explain things that can be found elsewhere because I felt what I read was not clear enough for my limited mind so I explain it the way it finally clicked with me. In all cases I take great pains to be sure to link to people or articles who deserve the credit. If you think I have shortchanged you on the credits please let me know.

Please note, I do not work for Microsoft and while I proudly wear the title of "Microsoft Most Valueable Professional", my opinions, files offered, etc. do not represent, are approved of, endorsed by or paid for by Microsoft. The only power behind it is me and my sometimes runaway passion for parts of Microsoft's technology.