Chronotron on ARM and the Chicken and Egg Problem

You may have noticed a number of remarks in the app change log regarding specific improvements on ARM CPUs. Knowing that Chronotron isn’t available for Windows Mobile, what’s the point of those “DSP performance enhancements on ARM”?

The answer is that there are a few Windows laptops and convertibles out there which sport an ARM CPU instead of the more familiar Intel x86 chip, and Chronotron should be able to run on those. For example, the Asus NovaGo, the HP Envy x2 and the recently announced Lenovo Yoga C630 WOS all run full Windows 10 on ARM. And by full, I mean Windows 10, not its Mobile sibling.

I haven’t got my hands yet on a Windows on ARM device I could use for testing and debugging. Currently I rely on the fact that Windows Mobile implements a fair subset of the Windows 10 APIs, so I can run Chronotron on a Lumia 950 phone – which happens to have the same kind of CPU – to perform limited testing and performance optimizations.

This means that I presume the app runs well on Windows on ARM devices, but until I could actually acquire one (they aren’t generally available here in Europe as of this writing), I won’t be able to tell for sure.

It’s not that I haven’t tried, though. I contacted the regional Asus distributor to get a test unit. At the time they didn’t have a review unit yet; however, they told me that once they got one, it would be sent first to tech magazines and websites. This is unfortunate for me, though understandable.

Another thing I did was submitting a suggestion to the Microsoft Developer Rewards Portal about issuing a few perks for developers porting their apps to Windows on ARM. After all, if Microsoft really wanted to incentivize developers to port their apps, the portal would be the place to facilitate early access to the platform. No reaction so far.

There’s also the software side of things. Some tech websites tell you that porting an app to ARM is “as easy as recompiling”, which is not entirely true. For example, Microsoft forgot to enable one of the components of the Windows SDK for the ARM64 target (namely Microsoft.Midi.GmDls), so apps using that specific component can’t just be compiled for 64-bit ARM.

Developers of apps that rely on advanced CPU features and multithreading – like video games and media players – face enough significant differences between the x86 and the ARM architectures to justify serious testing on each. Also, let’s not forget that there are also compiler bugs that surface only when targeting certain CPU architectures.

Going back to the original question in this post, I share the enthusiasm around Windows 10 on ARM: getting Chronotron ready for when such hardware becomes mainstream reflects my endorsement as developer. At the current level of Microsoft involvement, though, it looks like this will take a long time.

The situation I describe above is often referred to as the chicken and egg problem: a platform success depends on apps being developed for it, but there won’t be many apps developed for a platform that isn’t widely available.

Until then, Chronotron on ARM is a chicken hatching from a dinosaur’s egg.

One thought on “Chronotron on ARM and the Chicken and Egg Problem

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s