Nav Loading...

Mobile App Development

We build mobile apps for others, for the two major mobile platforms today, Android and iOS. We would be happy to empower your organization and your users by developing your custom mobile app! Please just drop us a line to get started.

  • iCheckIn is a private app used by Learning Tree instructors to report on their course setups and arrivals. We wrote the previous Android version. The current version was written in Flutter (see below) and runs on both Android and iOS.
  • jpstrack is an Android-only app for creating OpenStreetmap data or Google Earth data, using your phone's GPS. A portable version is being developed in Flutter.
  • PassMaker is a simple password generator. It was written for Android.

Troubleshooting Android Apps

I have a document on how to get diagnostic information via ADB to help the developers in troubleshooting an app that isn't behaving correctly.


Flutter is a recent cross-platfrom toolkit from Google. It has the potential to be the dominant way of building mobile apps: one codebase gets you Android and iOS mobile apps, web apps, and desktop apps for three major platforms: Windows, macOS and Linux. And Fuschia, Google's possible new platform for Android and Chromebooks, uses Flutter as its primary UI. Finally, it's all open source so you could in theory build support for niche platforms (do note that the Google engineers will not accept portability fixes to enable Dart or Flutter on minority platforms). Flutter features the Dart programming language, several libraries of UI widgets, hot reload that is somehow much faster than Android Studio's hot reload for Android, even on the same platform, and lots more. Some resources follow the figure.

Menu and Map in Flutter prototype app

Here are some Flutter resources:


Android is the leading open-source Linux-based mobile telephony platform, and one of the two mobile platforms that matters. Originally developed by Android Inc., a startup which Google purchased, Android was open-sourced and released by Google and the Open Handset Alliance. Now you'd be hard-pressed to find a major handset maker (other than Apple) that is NOT using Android for some or most of their handsets.

Android apps have traditionally been developed in the Java language with a custom API for the Android environment. However, Kotlin - which is somewhat a simplified and improved Java - is increasingly being used.

Of course my big item is the Android Cookbook. But there is lots of other information on Android as well:


iOS is the operating system used on iPhones, and thus, one of the two mobile platforms that matters. A variant, iPadOS, is used on iPads. Along with macOS and tvOS, this quartet of OSes are all based on BSD Unix and a CMU variant Unix kernel called "Mach".

iOS apps have traditionally been written in Objective C, but increasingly a new Apple-specific language called Swift is being used. We, of course, prefer to develop iOS apps in Flutter, which is then translated into the native languages for speed.

Finally, here is a list of cross-platform development frameworks.