Rockford Lhotka

 Tuesday, April 26, 2016

thHU21A440There’s a lot of speculation at the moment, mostly I think from the tech press, that there’s no future for Windows 10 Mobile (aka Windows Phone). To the point that Terry Myerson apparently released a statement to clarify that Microsoft is committed to mobile for many years.

Over the past couple years I’ve been increasingly critical of Microsoft’s mobile strategy as well – it is hard not to be when the platform has such low market share, there’s been a lack of flagship devices released, and there’s still a major issue with apps (that don’t exist or that are quite poor compared to iPhone/Android versions).

So at the beginning of this year I “threw in the towel” and switched to the iPhone. This was after talking to a lot of people in person and via twitter about whether to go iPhone or Android. The overwhelming advice was that if you live in the US you should go iPhone, so I did exactly that.

After a couple weeks with the iPhone I wrote a comparison between Windows 10 Mobile and the iPhone – from my perspective. I’m selfish – I’m looking for a good answer for me, so my blog post was about me and my personal experience. After a couple more months I realized that this is a real tradeoff, because Windows 10 Mobile the operating system is more consistent and polished than iOS, but the apps on the iPhone are almost universally superior.

At that point I thought I’d try Android. This was right after Microsoft Build 2016, where it seemed like there was a lot of love for Android, and where I encountered a whole lot of my peers who were incredulous that I had an iPhone instead of an Android (where they were last fall when I was soliciting input I have no idea – I begin to suspect that people only advocate for their platform when you have “the other platform” in your pocket). Basically, some of the iOS frustrations and inconsistencies were bugging me enough I wanted to look elsewhere.

I didn’t even last a couple weeks on Android though. I bought a OnePlus 2 – a high-end device with very generic Android. It turns out that generic Android pretty much sucks – much like generic Linux. You need to spend (in my experience) hours and hours and hours researching and trying different launchers, lock screen apps, email apps, calendar apps, contact apps, etc. Just to get basic functionality that works out of the box in the iPhone and Windows 10. O.M.G. I don’t understand how people can waste that much time just getting the basics to work on their phones!?!

Now I’m back to Windows 10 with a Lumia 950xl. And I’m happy.

I keep hearing how Windows “lacks polish”. Clearly this statement is being made by people who have not actually used Windows 10, iOS, and Android back to back like I just did. In some ways iOS might have more polish, but it is far, far less consistent than Windows, so I give the OS polish nod to Windows 10. Android isn’t even in the running – it has no polish or consistency – though maybe with another many hours of research and testing I could have found a launcher that I liked? That’s not how I want to spend my life.

I also keep hearing about the Windows “app gap”. That is obviously a real problem. It is absolutely the case that the iPhone has a lot more apps, and almost all the apps are superior. It is also the case that the Android apps are plentiful, but they generally look like crap compared to their iOS counterparts. But I’ll give it to Android that, though its apps are inconsistent and often cartoonish, they are full featured, unlike Windows apps.

One other note on apps: Android is clearly designed to work well if you are a Google user (mail/calendar/contacts) and it is pretty half-baked for people not on Google. I can’t say I support the EU going after Google any more than I did when they went after Microsoft so long ago – I think that’s just dumb – but at the same time, I understand their consistent view here, because Google is using Android to drive usage and lock-in around their cloud service offerings, not unlike what Microsoft did 20 years ago with Windows.

Finally, I keep hearing how Windows phone hardware is inferior. I even heard that from someone at Microsoft. I’m skeptical. It is true that the iPhone 6s is a really nice device, and I love the fingerprint unlock feature. Android device quality varies a lot, but the OnePlus 2 is pretty nice (if a bit heavy) and has a fingerprint reader (if you can find a lock screen app that supports it). The Lumia 950 is nicer and lighter than the Android devices I’ve seen and used (including the Samsung ones). But I’ll grant that it isn’t as nice as the iPhone. At the end of the day though, I think all three platforms have hardware that are basically in the same ballpark: reasonably stylish, light, fast, with decent battery life, and great cameras. If it was just down to hardware my ranking would be iPhone 6s, Lumia 950, Samsung Android, other Android – in that order.

At this point though I’ll remind you that I’m selfish here – I’m after a solution for me.

That means it comes down to iPhone vs Windows 10 Mobile – the Android OS is too unpolished, clumsy, and inefficient; and its apps are too ugly, inconsistent, and cartoonish. It is clearly the cheapest platform, and you get what you pay for. I’m willing to pay to get a more productive experience.

And at the end of the day there are only 3 apps that don’t exist or don’t work on Windows that I actually need: Swarm, Waze, and the Parrott Bebop app for my drone.

My bank does have an app on iPhone/Android, but it sucks and so not having it isn’t really a loss. To solve my bank app issue I need to switch to a better bank, not a different phone.

I weighed the value of those 3 apps against Windows 10’s more polished and consistent OS experience; and I considered that Siri is like Cortana’s dullard older sister (yes, Siri is really an idiot compared to Cortana, and Cortana on the iPhone is crippled compared to Windows or Android).

Ultimately I’ve decided that I’d rather go with the best OS on a regular basis. In my case I’m fortunate enough that I can carry a second phone (sans SIM) so I can still fly my drone – it just needs the app and wifi after all. That also gets me Waze and Swarm, because they also work over wifi, and my Lumia works great as a wifi hotspot when I’m out and about.

At the end of the day, until Foursquare, Google, and Parrot (and my bank) get their heads out of their @$$’s I am working around them via a two phone solution.

But most importantly, I’m happy using Windows 10 and Cortana for my 99% use case of email/calendar/phone/text/messaging/Office/etc.

And fwiw, I think the continued rapid adoption of Windows 10 itself (on my Surface and Desktop for example) will drive more and more companies to create UWP apps – perhaps not initially for the phone, but at least for the 300 million (and climbing) people running Windows 10. The thing is, once your app runs in UWP, getting to the phone is a pretty small step – and one companies would be foolish not to do for such little effort.

Tuesday, April 26, 2016 3:46:05 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Thursday, April 14, 2016

Earlier this year I embarked on an “adventure”. I was frustrated with the lack of apps on Windows Phone (Windows 10) and I keep hearing how magical the iPhone is for people. After a couple weeks with the iPhone I wrote a comparison blog post: Windows Phone vs iPhone comparison

More recently I wrote about my ongoing frustrating with the iPhone, justifying why I was going to try an Android device: iPhone frustration

I’m trying to give each platform a fair try, but after a few short days with Android (I have a OnePlus 2 – so very “vanilla” Android) I’m already finding that of the three operating systems Android is the worst. It is kind of like desktop Linux – cobbled together by a lot of people who don’t share a common vision, so everything sort of works, but nothing feels consistent and most things don’t seem professional or polished. Kind of the diametric opposite of the iPhone.

I’ve always thought that you get what you pay for, and I think Android reinforces that worldview. It is cheap, the devices are cheap, the apps are free or cheap. And they all feel cheap when compared to Windows 10 or iOS. But if your phone isn’t a budgetary priority in your life, yet you need a smartphone, then Android is probably the right choice – which explains why it is the most popular OS globally. Clearly the majority of the world’s population either can’t afford a professional phone/experience (which is largely true of course), or they don’t value their own time as much as money, so they are willing to invest that time dealing with Android instead of spending the extra money up front to get an iPhone or Windows Phone.

Notice that I’m still putting Windows Phone in this discussion, even though it has a low US market share, and only a slightly better global market share. In my experience with the three platforms thus far, my conclusion is that the operating systems rank like this:

  1. Windows 10
  2. iOS
  3. Android

The physical devices I’ve been using rank like this:

  1. iPhone 6s
  2. Lumia 950xl
  3. OnePlus 2

The availability and quality of apps rank like this:

  1. iOS
  2. Android
  3. Windows 10

If you assign numeric scores to each category, you end up with the following overall ratings:

  • iPhone (8)
  • Windows 10 (6)
  • Android (4)

So at least in my opinion – based on how I use my phone and what I expect out of it – I probably should keep using my iPhone, and keep grumbling about how dumb Siri is compared to Cortana. Or I should go back to Windows 10 and deal with the sad reality that it doesn’t have workable Waze, Swarm, or banking apps.

A lot of people I know do carry two phones (personal and work). I’m sort of considering carrying 2 devices – a Windows phone with a SIM as my primary (so I have Cortana and all the other stuff I love about Win10) and an iPhone without a SIM to run the apps that don’t exist on Win10, because they all run over WiFi. Just a little twist on the work/personal dual phone scenario – but in my case I’ll have one phone that’s fun to use (Win10), and one phone that runs apps that are fun to use (iPhone).

Thursday, April 14, 2016 8:53:23 AM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Friday, April 8, 2016

thO531UYN9Earlier today I tweeted that I have an Android phone on order, because I’m frustrated with my iPhone.

Not surprisingly that resulted in people wondering why I’m frustrated.

My iPhone experience started in mid-January when I switched from Windows 10 Mobile to iOS because I was frustrated by the lack of apps on my Windows phone. A couple weeks later I wrote up my Windows Phone vs iPhone comparison. After a couple more months of using the iPhone I stand by what I wrote in that post – Windows 10 is far superior to iOS, but the lack of apps on Windows phones is crippling.

But there are some things that really bug me about the iPhone – frustrations I face literally every day. Most notably:

  • No live tiles – man do I miss live tiles!
  • Cortana on the iPhone is crippled, and Siri is an idiot
  • The “back navigation” concept on the iPhone is ridiculously inconsistent and poorly implemented
  • The concept of sharing from one app to another is robust on iOS, but is also ridiculously inconsistent and convoluted
  • So many things that are simple on Win10Mobile require a lot more taps/swipes/effort on iOS

I know that Android won’t solve or address all these issues. Maybe it won’t address any of them, I won’t know until I try it. And I say that based on my experience switching to the iPhone; everybody prioritizes different features and abilities differently, so I find it virtually impossible to get at the “reality” of each OS by talking to other people.

Here’s what I think I will find on Android:

  • No live tiles – still my number 1 issue with any other phone OS
  • Cortana on Android is reputed to be much better than iOS; almost as good as Windows; and the new Windows 10 Anniversary Edition mobile integration features work with Android as well as Windows 10 Mobile (but not iOS)
  • Android has a back button, so I am hopeful the “back navigation” experience will be more consistent than iOS (which is, frankly, a very low bar)
  • I don’t know what to expect about inter-app sharing, but I suspect Android is no better than iOS (and let’s be honest, this is also a weak spot for Windows phones)
  • I also don’t know that Android will be as optimized for common tasks as Win10, but I can’t imagine it will be more awkward than iOS

At the end of the day though, my three daily frustrations are simple:

  1. Live tiles (and the lack thereof)
  2. Cortana
  3. Consistent navigation patterns (especially the back navigation concept)

Android seems to have a good chance of addressing two of the three, so perhaps I’ll be happier day to day than I am with the iPhone?

I guess time will tell. At least I’ll be able to know first-hand how all three mobile operating systems work for me.

Friday, April 8, 2016 2:58:49 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Monday, April 4, 2016

I’ve never posted one of these “opening the box” type blog posts before, but I took a bunch of photos as I opened my new Hololens on Saturday and thought I’d share.

At Build 2016 Microsoft’s Alex Kipman announced that the device was officially shipping. Within 15-20 minutes my phone chirped to give me the tracking number of the package. Seriously, they must have had people waiting on the loading dock to ship as soon as the keynote announcement occurred! As a result, two devices were waiting for me as soon as I got home from San Francisco Smile

Well, really they are for my team at Magenic – but I got to spend the weekend with the device Winking smile

The device came nicely packed in a shipping box that contains the product box:


Not only did the shipping box include the Hololens, but also a clicker (single button remote):


It is clearly labeled as a developer device:


Inside the Hololens box itself is a nice carrying case for the device, and inside that is the device:

20160402_223837348_iOS   20160402_223955345_iOS   20160402_224030877_iOS

The center of the carrying case includes some more items:

20160402_224640751_iOS     20160402_224816821_iOS     20160402_225029392_iOS


  1. A second node pad in case the default doesn’t fit well
  2. A micro-USB cable for charging and connecting to your Windows 10 development PC
  3. An optional overhead strap if you need that to make the device fit/feel better
  4. A wall charger (AC power to USB)
  5. A microfiber cloth to clean the lenses of the device

Here are some shots of the device itself:


20160402_224049143_iOS  20160402_224156940_iOS  20160402_224224939_iOS  20160402_224251471_iOS  20160402_224531303_iOS

On twitter and other places people have asked a few common questions.

How long does the battery last?

So far my experience seems to indicate that Microsoft’s stated 2.5 hour estimate is about right. I haven’t run it dead yet, but it seems like 2.5 hours is about right.

How is the field of view (FOV)?

Microsoft actually describes this as the ‘holographic frame’, and I’d say it is about the same as if you held an iPhone 6s about 15 cm (6”) in front of your face. Which is to say that it doesn’t appear in your peripheral vision, but does dominate your forward vision area pretty well.

Is it comfortable to wear?

It takes some getting used to, that is for sure. It isn’t uncomfortable, but it does take a while to get used to the feel of the device, as well as how it impacts your vision. After wearing it a few minutes I personally am finding that it becomes like a “new normal”.

Can you wear glasses and use the device?

Yes. However, I do think that people like me who have progressive lenses in their prescription glasses are at a bit of a disadvantage, because the lower part of my vision isn’t in focus and so I’m forced to tilt my head to look at the lower parts of holograms or 2d displays. Fortunately for me I am far sighted, so I can use the device without my glasses (because the projections are always far enough away that they are beyond where I need glasses to see clearly), but I suspect this may be a problem for other people, especially those who are near-sighted and still have progressives.

It is as cool as it seems?

That’s obviously subjective, but I’m going to go with yes. Even in a simple scenario where I pin multiple 2d apps to the walls around my office, it is pretty darned neat to look around at an office covered in live displays of various sorts (images, youtube videos, web sites, etc.).

While at Build 2016 last week I was able to participate in the Hololens Academy. This experience probably best describes why I think Hololens is as cool as it seems.


At the end of that event our holographic demo resulted in an “explosion” that “blew a hole in the floor”. Even though the 3D models and textures were intentionally unrealistic, the illusion was so real that our brains literally didn’t want to have us lean over the hole too far for fear of falling in. Sure, we rationally knew this was an illusion, but some part of my brain was screaming that the hole was deep enough that I didn’t want to fall.

Yeah, really!


There’s no doubt in my mind that Hololens will make a big difference in many scenarios where we want computing power, and we want our hands free, and we want to augment reality. I’m sure this will include gaming, but also medicine, probably inventory, manufacturing, insurance estimation, home improvements, many sales scenarios, and a whole lot of other areas I’m not listing here.

If you or your users interact with the real world while carrying around a phone/tablet/PC so you can simultaneously interact with a computer system, it seems reasonably likely that Hololens has the potential to make that process smoother and easier.

Monday, April 4, 2016 10:08:54 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Friday, March 18, 2016

ht-heroMCM-logo-sThe second codeathon focused on the MobileKidsId app will be on March 26 at the Magenic office in St. Louis Park, MN.

Our first codeathon was extremely successful, with around 20 people participating. During that codeathon we laid the groundwork for the app and development effort, including:

I fully expect that on March 26 we’ll be able to implement the majority of the edit screens where a parent will enter and maintain the basic information about their children. That’ll be a major milestone because it will allow some meaningful testing of the app so we get feedback from some actual users.

We are looking for volunteers!

In terms of skill set, the app is primarily built using:

  • Apache Cordova
  • JavaScript/TypeScript
  • Angular
  • Ionic

Given the groundwork that’s been done, at this point web or mobile developers with some background in Angular and/or Ionic are extremely welcome and will become rapidly productive. Cordova and JavaScript/TypeScript skills are also valuable.

We do have some back-end functionality written in C# running in Azure, and welcome anyone willing to help with that functionality as well.

If you are interested in volunteering – either on March 26 in person, or remotely via the Internet and GitHub – please contact me: rockyl at magenic dot com.

Friday, March 18, 2016 10:03:02 AM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Wednesday, February 24, 2016

thFZCMG746th0KQMQKB6By now nearly everyone is aware that Microsoft is acquiring Xamarin, and from what I can see nearly everyone is ecstatic!

If you missed it, here are a couple important blog posts:

I am generally positive on this, with the same reservation I’ve had since rumors of this idea came up a couple years ago: Xamarin has been able to navigate and maintain good relationships with Apple and Google (and others) for some years now – releasing support for those platforms concurrent with Apple and Google releasing new versions of those platforms. It may be difficult for Microsoft to maintain comparable relationships with Apple and Google over time, because they aren’t a scrappy startup, they are a peer.

On the upside, what I hope comes out of this includes:

First, rolling Xamarin directly into Visual Studio, thus making it part of my existing MSDN subscription. Just think about the consequences if everyone who has an MSDN subscription (so everyone with Visual Studio 2013/2015 today) can all of a sudden build cross-platform .NET apps for Windows, iOS, Android, and OS X – at no additional cost.

One big thing holding Xamarin back in terms of widespread adoption is its cost. At $2k/developer it is prohibitive for a lot of scenarios, and that has been driving people to less productive and robust tools such as Cordova. But if we all get cross-platform .NET as part of our existing MSDN that radically changes the equation – in a way that favors the use of .NET.

Second, enabling Microsoft to provide UWP (XAML and APIs) on iOS, Android, and OS X. The “U” in UWP is “Universal” – and that’d have a lot more weight if it meant all the popular smart client development targets available today, not just the Microsoft ones. I imagine such a UWP would replace Xamarin Forms with the same XAML dialect we see on Windows 10 and Windows 10 Mobile, and obviously there’d need to be some serious work in creating WinRT API support (yes, WinRT “2.0” is really what’s underneath UWP) for these other platforms – so we won’t see this overnight – but the long-term implications are amazing.

Microsoft’s biggest single problem, especially on Windows phones, but also on Windows 10, is getting high quality apps that target these platforms. A truly universal UWP might help this problem by making .NET/UWP become the single most cost-effective way to build any smart client cross-platform app.

On the whole I am quite happy and excited – congratulations to the Microsoft and Xamarin people who put this together!

Wednesday, February 24, 2016 3:16:56 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Monday, February 22, 2016

20160221_171836120_iOSWow, what a great Humanitarian Toolbox codeathon experience we had this weekend!

We had close to 20 analysts, designers, and developers working on the MobileKidsIdApp and allReady projects at the Magenic office in the Twin Cities. The allReady project was also the focus of a concurrent codeathon in Calgary. And some folks were remote for both projects as well.

So in total we had nearly 30 people working on two projects, across at least two continents and four countries. Talk about distributed agile development!

(special thanks to @mheggeseth for driving from Chicago to the Twin Cities!)

Here’s the summary of work for the MobileKidsIdApp project (being done in conjunction with Missing Children Minnesota):


And here the summary of work for the allReady project:


Here are some pictures from the Twin Cities codeathon.

The MobileKidsIdApp project generated a lot of interest from the Twin Cities news media:

Many of the people who participated in the codeathon are eager to continue the work, and we’ll most likely have another codeathon in about a month to keep up the momentum, especially around the MobikeKidsIdApp.

Humanitarian Toolbox (and these two project teams) are always looking for volunteers. You can contact HTBox via twitter and via their signup page.

ht-hero    MCM-logo      Magenic-Logo

Monday, February 22, 2016 11:29:05 AM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Wednesday, February 17, 2016

disqus-logo-blue-whiteI have switched this blog to use Disqus as a commenting system.

Disqus has modern commenting capabilities, good anti-spam, moderation (if necessary), and provides better performance and reliability than the old build-in dasBlog commenting system.

You’ll find the comments for each post in the post’s details page.

Wednesday, February 17, 2016 1:51:15 PM (Central Standard Time, UTC-06:00)  #    Disclaimer