Desmos's new Android app only supports Android 5.0+. We know this will affect a number of our users -- this article gives some background on our reasoning.
Background: versioning in Android
One of the best things about web development is the continuous improvement it makes possible. Every week when you load the Desmos calculator there's probably a new feature, a speed increase, or a bug fix. When Google launched Chrome in 2008, it did something novel for browsers: it included auto-updating. Every 6 weeks, Google releases a new version of Chrome, ideally improving the performance, power, and security of your browser. Firefox followed Chrome's lead in 2008, and now Internet Explorer (Edge) is doing the same.
The ever-improving browser platform has led to the phenomenal power of apps on the web, apps like Gmail or Netflix that wouldn't have been possible 10 years ago, and were noticeably worse 2 years ago. When companies do their job, it means less-buggy, more-secure, ever-evolving software.
Android doesn't benefit from continual upgrades. More than 2 years after it was superseded by version 5.0, Android 4.4 still powers 25% of active devices. 15% are on earlier versions still. Bugs -- including really bad bugs -- still plague the browser that shipped with Android 4.4. Touch events still fail to fire for inscrutable reasons, resulting in unusable buttons. Image uploads still crash at random. One of our company values is "Works every time." We just can't achieve that on top of buggy software.
Unfortunately, many users don't have control of their operating system. We know that our decision to focus on newer versions of Android will leave some of our users behind. One of our goals is to get great free math tools into everyone's hands. The rest of this post focuses on how we'll achieve that.
Our goals with Android
- Keep our Android app up to date with the website through regular releases.
- Support at least the two most recent Android operating systems (today, Lollipop and Marshmallow).
- Ensure that our mobile web app works well on the Chrome Browser on any Android device that supports Chrome.