An offline apps essay by Dan Bricklin, CTO at Alpha Software.
This morning I went for a normal check up with a healthcare provider I hadn't visited in a few years. The receptionist handed me a clipboard with paper forms to fill out to "catch up" -- nothing pre-filled out. Luckily, I was given a very sharp pen -- the fields were often way too small (when you live in "Newton Highlands" you need a lot of room for "City"). When I got to the section on "Pharmacy" I remembered that that office had sent a prescription a previous time to the wrong location (same street and company, wrong city and address). To make sure this time, I needed the address and phone number. I took out my cell phone to look it up. One bar. Very slow and dropped connectivity. I found the address but gave up on the phone number. I saw across the room a little sign with "WiFi" written on it. I guess I could have gotten up and followed the info to connect to their wireless router, if I trusted it, but I was too lazy. I left the field blank.
Bob Frankston has written repeatedly over the years, we need to have ambient connectivity that works everywhere without a prior relationship or human intervention to get past sign-in screens. (For example, see Understanding Ambient Connectivity.) Yes, there was Internet connectivity where I was (in a normal office building in a major suburb on a busy street right near I-95/Rt 128), but it wasn't good enough or easy enough to answer a simple question quickly. For the laptops that the doctors and nurses used it was no problem — they had already keyed in the special codes. For a new mobile device walking into the office, it was trouble like waiting for an old dialup modem to connect or nothing.
In the world of the Internet of Mobile Things (IoMT) you want to be able to just connect. Mobile Things include smartphones, tablets, wearables, automobiles, and so many coming things. They move with (or on) you, or on their own. The connectivity environment around them changes. The Frankston Challenge is very real for them today.
For example, you can't, as Bob points out, require a pacemaker or wearable reporting info to doctors and other systems to be pre-authorized with wireless carriers and WiFi access points everywhere the person might go. You don't want to have to pull out a keyboard (and maybe a credit card) to authorize connectivity when you feel tightness in your chest.
This problem won't be solved overnight. Bob has been working constantly to bring this to people's attention. For me, though, I'm in the world of making systems for business people to build apps that run on tablets and phones that move around with the users. We can't wait. This means that we won't have reliable connectivity everywhere, even where you would expect it. We have to build our systems to tolerate loss of connectivity. A consultant may be visiting a client's retail site or factory, or a repair person out in the field fixing a pump or transformer. The apps they run that replace the paper clipboard with something better and more tied into the flow of their tasks must be able to run offline.
How Alpha Software is Helping Developers Create Offline AppsWe at Alpha Software have been working steadily to make disconnection-capable apps easier to build so that can be the default configuration. This is especially true for data capture applications. Not necessarily ignoring connectivity when available, but not becoming useless when it isn't. Disconnected support means your app continues to work offline without losing data or requiring users to have a reliable network connection.
A final irony. The office building where my doctor worked was the same one were my old company, Software Arts, had rented some space back in the early 1980s. It was across a parking lot from our main building. We used a centralized computer for timesharing to run our whole business. We had a very early Ethernet system installed to give "high-speed" connectivity to the terminals on everyone's desk. There was coax cable everywhere. (This was very early in the history of Ethernet and the IBM XT was just coming out.) To connect the "remote" office hundreds of feet away, we had a trench dug under the parking lot (and then paved over) to run cable to that other building. We had high-speed connectivity there. Today I parked within a few feet of that trench. Connectivity was still a challenge over 30 years later.