Wednesday, 21 September 2016

Back in the Saddle (and where the horse is going)

It has been some time since I have blogged on a regular basis.  But I’m back now and it’s time to write about what’s happening around the Windows Development world and where we might be going.  The plan is to put down some random thoughts about stuff at a high level and work on exploring those thoughts in more depth in posts over the next few months.

Measured Productivity

Before I begin to dig into things that you should be keeping an eye on, let’s take a moment to reflect on what we do.  I am a developer.  I love to write code and more importantly create useful “stuff” for people to use.  At it’s essence, developers need to be a bit of a creative personality.  At least the best developers I’ve worked with do.  That doesn’t mean they can draw beautiful pictures or even be creative designers (that’s another entire blog), although some can and do, but it means they sometimes need to come up with unusual, dare I say creative, solutions to very difficult problems.  To do this, they need to be sharp.  I discovered the hard way that it’s difficult to do that for long intense periods of time with little to no sleep.  I won’t preach but I will tell you from personal experience that lack of sleep because you are “in the zone” rarely produces good results.  These are the things I discovered:
  1. Lack of sleep damages judgement.  It’s easy to “think” you are doing a great job when in fact you may not be.
  2. Lack of sleep is dangerous to your health but you probably don’t realize it. (see #1)
  3. You produce more and better code in less time when well rested.
  4. Those afternoon “power naps” are a message…  hear and obey.  You are probably not getting enough sleep at night.
Ok, pulpit time over.  IMHO, more rest = more and better results.

Cross Platform Development

With the advent of Windows 10 we were in a world of the Universal Windows Platform (UWP) where we could write an App for the phone and magically get Windows and a whole bunch of other devices like tablets, HoloLens, etc…  Well, now with the rise of Xamarin (and acquisition by Microsoft) we can build truly universal apps that will work on iOS, Android, Windows, Windows Phone, even MacOS.  Our developer user group held a meetup on Xamarin and sold out in record time.  We are soon helping with a full day Xamarin workshop and it’s seeing an amazing number of registrations.  Xamarin integrates right into Visual Studio and leverages your already existing skills in C# and XAML if you so choose.
It truly is a great time to be a developer, dare I say, it’s a great time to be a Windows developer!  If you aren’t already you need to learn this stuff.  More on this coming soon.

Windows 10 Adoption

There is a lot of Windows 10 out there.  It has far surpassed the combined numbers of Windows 8 and 8.1.  Because of UWP you have the ability to write for Windows specifically but get Windows 10 Mobile as a bonus.  While the numbers for Windows Mobile today are not stunning I, and some other devs, do find that revenue generation is still pretty good.  Windows Phone users tend to not have a problem paying for good apps.  That means revenue for you.  So, just because the sales numbers for Windows 10 Mobile phones is not spectacular, the numbers are still quite large and you can do pretty well, not to mention the burgeoning market of all the Windows 10 devices.  Every Windows 7 device that upgrades to Windows 10 is a potential customer… remember that!

Augmented/Virtual Reality (AR/VR)

Pokémon is here, and while it may not remain as popular as it is on this date, the concept of the augmented reality game is definitely not going anywhere.  It’s not just with games, but apps for doing a lot of different things can adopt the theory of AR to make themselves more compelling. A new App shown off by Microsoft at the grand opening of their “Microsoft Canada Excellence Centre” in Vancouver called “VanGo” let users explore public artworks in the City of Vancouver.  Using GPS, instead of finding monsters, you find artworks such as the famous digital orca or many other lesser known objects.  Seems like a very worthwhile endeavour to me.  In the creation of apps that interact in the real world, consider the examples of Pokémon, whether you like it or not, as an example of how you can generate user interest in your app.
Of course, there is Microsoft’s HoloLens too as the current king of Augmented Reality.  Even if you can’t get your own just yet (still a bit pricey for the indie developer) you can start playing around with creating apps using Microsoft Visual Studio and the HoloLens emulator.

It’s Smart Right?

You can now include a whole bunch of smart stuff in your app.  Microsoft now has a whole suite of “Cognitive Services” available to developers.  Services around Vision, Speech, Language, Knowledge and Search can be really nifty additions to your masterpiece.  You might have experienced some of them already in different places.  The “How Old” web app was an example of the Vision Cognitive API in guessing the age of a person in a photograph.  To develop with these services is generally free to get started.  Check it out, it’s a lot of fun!

More to come

Well, that’s a good place to get started on new fun tools and things to investigate.  Have some fun and get lots of rest!