Release to Manufacturing

Paintbrushes

In these dire times something as trivial as a software launch is likely beneath your attention. We live in the most interesting of times. Fascism is on the march. They’ve come for the children, and they’re not giving them back. There is no app for that, not even a moral compass.

All we know is that there’s a lot of travelling in our future. Maybe we’ll be going to a march to protest state-sponsored child abuse. Maybe we’ll casually visit a country without extradition treaties. Or maybe someone will put us on a train. Either way, there is an app for that, and if we manage to smuggle a smartphone in our underwear we might be able to use it.

With that in mind, it is our pleasure to announce that our Android app has officially left Beta and is now available to everyone in the Google Play Store. With version 2.0.5 the app has finally graduated. Maybe you can even offer it a job.

We stand by our usual principles for this release: if it’s not good enough for us, it’s not good enough for you. To that end, we spent ten days in May wandering off the grid in southwest Utah, with Backroads for Android as our guide. The app performed admirably, and we came home with a bunch of tracks recording our adventures. They even synced up to the cloud and happily jumped to all of our devices without even asking us. This might not be the app the world needs these days, but it’s become a mighty fine tool for adventure travel.

Safe travels, and watch out for fascists.

Trip Sync

Mauna Kea Summit

You might think that keeping things in sync would be fairly simple. It’s just copying data around, right? But no.

What makes it difficult is handling conflicts. Just like in the real world, we’d have fewer problems if we all just got along. But like a programmatic Middle East, some data synchronization conflicts are simply intractable. In the abstract, there’s no right answer. Just, if we’re lucky, a compromise that all parties can agree to.

But we’re just a humble software program. The only game we know is abstraction, and we’re not invited to any of the good parties.

So we do our best, but even when we do everything right there are cases where the result is wrong. We don’t even know why, but we end up accused of corruption. There is no trial. We’re uninstalled. Game over.

Next time around we have a thought. Spending some time in the real world always brings inspiration and, sometimes, solutions. This one is simple, and it seems to work for almost everyone in this day and age: what if we hand off all of our externalities to someone else?

It turns out we’re not really in the data synchronization business at all. Instead, we simply provide a conduit for data to be synced. A higher authority can decide what’s right and what’s wrong, and worry about who killed who. We’re just a data-agnostic platform, a neutral happy medium without a message, an arms dealer to good guys with trips to sync up and down. If we had a business model, it would be keeping our hands clean.

One question remains unanswered. To whom shall we externalize the problems that weigh so deeply on our souls? Well, dear user, if you don’t know the answer to that, then it’s probably you.

Which brings us to our latest Backroads premium feature. As of version 2.0.0, you can now use your OneDrive account to sync trips between your devices. And when we say sync, what we mean is that we give you upload and download buttons on your trips and you decide when to press them. The app will warn you if you’re about to overwrite local changes, or about to upload an older version to the cloud.

It works quite well, and we think you’ll really like the feature. We think there’s at least one more fun thing we can do with cloud storage, so this isn’t the end of the story. And maybe this cloud thing will catch on after all.

I Sync, Therefore I Am

Utah 476

A few years ago, back in the late Cretaceous, programming was a lot simpler than it is now.

In a nutshell, the bar was lower. Users had lower expectations. Software didn’t do all that much, and it was perceived as a minor miracle when it actually worked. Shrines would be erected, candles lit, flowers arranged. Celebrations might continue until the IT guys got tired, sent everyone home, and finally got some sleep.

Most of our recent work on Backroads has focused on improving the tracking experience. Of course, someone interested in travel is probably also going to be interested in recording their travel locations. And yet, we released many versions of the app without any support whatsoever. Intolerable, for the world’s best travel companion app™.

However, even with world-class support for tracking, it still seemed like something was missing. In our dreams we were haunted by Zawinski’s law, feverishly tearing open fractal matryoshkas of envelopes with no underlying message to be found. We’d awake sweating under rumpled sheets, hoping it was just the head cold.

Clearly we needed something more. These days, if an app can’t successfully impersonate you on social media and overthrow foreign governments with carefully crafted fake news, it’s barely considered sentient. Three stars at best. Your minimum viable product is viable no longer.

But deep down, we didn’t want to read anyone else’s email. Nor did we want to add to the noise on Facebook and Twitter with travel-related spam. There’s quite enough of that already, and election interference really isn’t our forte.

As we tossed and turned, we remembered that computing, at its core, used to mostly be about copying things around. Registers to cache to memory to disk and then back again, until CPUs got so complicated that even the bus you take to work is now mostly speculative. The same principle can still be seen in modern computing, which at its core is about making permanent copies, surveilling them, and then selling you ads. One might call it standing on the shoulders of giants, except the giants are probably robots.

Then it hit us. Just like the embarrassing social media posts that will follow you around forever, what if we synced copies of your tracks around to every device you own? The future is now, and it’s an indelible data stream that can’t be turned off. Why wouldn’t we want to participate in that? And as of Backroads 1.1.4, you can too.

Now all we need is a blockchain and a neural network.

Android adventures

Leprechaun Canyon

Well, our secret is out.

We’ve ported the Backroads app to Android and released it to the masses as a Beta. You can now get it from the Play Store for free for Android 4.0.3 and above.

In case you’re curious, we used Xamarin Forms to create the Android app, allowing us to share our core business logic with the Windows version. Startup times are a bit long and the app is a little sluggish, but it’s a minor miracle that you can even write a decent Android app in C#.

A shortcut we chose is to only expose the trip companion aspects of the app in the Android version. Trip planning is a fairly involved activity, requiring substantial amounts of user input, and is best done with a keyboard, mouse, and monitor. So the recommended workflow is to plan your trip on your Windows PC, export the trip to your Android device, and follow the day-to-day of the trip on that device. If there’s something you would really like to do on your phone, but can’t, please let us know.

One thing to note is that Google Maps needs a network connection once in the lifetime of the app before it will work. So make sure you run the app and enter a page containing a map before you disappear into the hinterlands and run the app for the first time offline. Otherwise, mapping functionality won’t work at all. Thanks, Google.

There’s also no system-wide support for offline maps in Android, so don’t expect to see any map markings while your device is offline. Your GPX tracks, will of course be rendered as you’d expect. So make sure any waypoints you care about are present in your tracks.

Beyond that… as mentioned, the app is still in Beta. We’ve dogfooded it quite a bit, but it still isn’t quite as battle-tested as the Windows app. We also haven’t run it on that many Android devices, so we’re looking forward to your feedback on how it works for you. Enjoy the app, and stay safe!

Alternate realities

Kanarra Creek Canyon

Every generation has a world view. It’s not a consensus but an aggregation: the epistemic closure of all extant ideas of the world, plus dusty notions found in books and charts or obtained by parental contagion.

World views provide meaning. An impossibly complex reality that probably actually exists is sampled through our senses, experience by experience, made simple and limited by our own limitations. This data stream is transformed and made intelligible us as it filters through the preconceptions and optimizations that comprise our world view. The final product is raw metaphor, disconnected from its origins but representing them in ways that hopefully are conducive to our survival.

The final form of a metaphor is often based on a generation’s favorite technologies and tools. When we build something, it shapes our understanding of everything.

An example: this process, executed collaboratively by all of us together, is really just the universe’s ways of executing a massively parallel computation, rendering an unknowable world into discrete shared polygons of artificial reality. We live in our own simulation. (And now you know what our favorite tool is.)

In the nineteenth century, medicine conceived of the body as an industrial machine, built from pneumatic tubes shuttling various types of humors and vapors from one place to another. The twentieth century brought us cars and airplanes, and doctors went from being magicians to being mechanics, making house calls to tune up our bodies. Turing and von Neumann brought us computation, code and data, at which point our minds transformed into computers. We developed drugs to poke our memory banks, and psychotherapy to reboot our subconscious systems or flash our firmware.

This generation? Its metaphors are software.

Our minds became tangles of layered, conflicting subroutines, our bodies generic algorithms executed from gestation onwards. While dating remains a linear search that resists optimization, everything else is now indexed by user reviews and delivered to us on the next business day. Life itself is blockchain: the only part of our constructed reality that resists our newfound ability to undo, to CTRL-Z and forget it ever happened.

In many ways, this is a profound evolution. Like software, this generation is more flexible than any before it. It can operate on parallel tracks, focus on multiple goals simultaneously, and change itself while effecting change. This generation demands personalization and settings. With freedom to act, it will re-skin our reality.

And so for the humble trip planning software behind this blog, the mechanistic thinking of the past is no longer sufficient. Travel plans can change along the way, and our users now expect the ability to rectify and undo. And while we can’t actually reverse the blockchain of your life, we can at least help you find alternatives, allowing some sort of compensatory forward motion towards a better place. The past may have progressed linearly, but your future should offer you multiple choices.

Without further ado, we present a new Backroads feature: alternative days. They’re like real days, only alternative. You can have as many schedules as you want for a given day, planned separately based on some pivot. It might rain. You might be tired from yesterday’s hike. Road conditions to your preferred destination might not be conducive to survival. And so parallel universes must be available to you.

Now they are. As of version 1.0.22.