It seems like every business now has its own app, which usually offers remote ordering, as well as discounts. I do my best not to use any of them, because they demand (and transmit to the business) all sorts of private information from my phone. This seems to me like something my phone ought to fix.

Front screen of my phone, showing folders of the apps I use

It ought to be pretty easy on the phone to provide a virtual machine which only passes to an app whatever information the phone owner wants to pass on. For example, you could configure a video loop to provide, if the app wants to turn on the camera, or an audio file to provide if the app wants to turn on the microphone.

You could get quite fancy about things like location, if you wanted to. For example, a fast food app could be provided a random location, but one that was a configurable distance from the fast food restaurant. (I’m imagining that the fast food apps either already do, or soon will, adjust the price based on where you are. For example, if you’re already in the parking lot, they can raise the price, assuming that you’ve already decided to buy from them. They can cut the price if a competitor is closer to your location, to reduce the chance that you’ll stop there instead. The phone could pick a location to maximize your discount, to the extent that people had been able to figure out and share the algorithm.)

These sorts of tweaks would be easy to implement, but there’s no functionality in phones to provide them. It’s as if the manufacturers of the phones want to rat you out to every business with a phone app.

I resist by strictly limiting which apps I install on my phone. But I’d be a lot happier with a virtual machine which would put me in control of what data about me those installed apps could get.

Alexandru Bolboaca rejects the notion that software hasn’t become a proper, professional engineering discipline because it’s too young:

It recently dawned on me how often I say or hear the words “our industry is young”. There’s truth in these words. . . .

And then he goes on to explain the many reasons why “too young” is a lame excuse for a lack of professionalism in software.

But I think he misses the real issue why software is mostly written by people who lack the discipline he’d like to see: It’s because software is so easy.

It’s really hard to make a bridge that won’t fall down. It’s much harder yet to make one that not only won’t fall down but is also affordable.

Relatively speaking, software is trivially easy and very cheap. Anybody can start making small programs, just like anybody can stack one rock on top of another. But scaling up from small programs to medium-sized ones is something that actually works—anybody can do it. Scaling up from stacking one rock on top of another to building a stone bridge is another thing altogether, because relatively speaking software is so easy.

I suspect that we’re about to get a test of this notion. Pretty soon now I suspect that materials science will give us some new structural materials that are cheap, extremely strong and very easy to work with. I don’t know what it’ll be—carbon fiber, nano-assembled sapphire, resin—but it’ll be cheap enough and strong enough that any yahoo will be able to put up a structure that’s as easy to build as a lean-to but as sturdy as a house.

My prediction: Once that happens, we’ll see a partial collapse of architecture as an engineering discipline. There’ll still be real architects (because the education programs are so well established), but very quickly only large or public buildings will be designed by real architects. If you can throw up a sturdy building in a few hours for a few dollars, people will totally do that, just like they’ll currently write little programs that do something they need done, even if the programs are otherwise crappy in many ways.

Here’s an idea for an app that someone should write. I call it MeetAt. The code should be pretty straightforward—you could easily enough build it on the guts of any location-aware app.

The user interface is simple. You see a short of list of common contacts (but probably also access to the whole contact list). You pick one or more contacts to whom you’ll send a message in the form of “Hey, let’s meet at [location]!”

Next you see a short list of common locations—home, work, the coffee shop, the library . . . Ideally the list would piggyback on some already existing list of locations that you care about, but in any case it would be configurable.

That’s all pretty obvious, but here’s the (slightly) clever bit: At the top of the list would be a button for “somewhere in between,” and when you clicked it you’d get a list of locations that are in between where you are and where your contact is. (This is assuming that you’ve previously approved sharing location information with one another via this app.)

The easiest implementation of that would be simply to draw a line, find the midpoint, and then do a Google location look-up which will present you with a list of named places near that location. (Or, if you want to be Google-free, something based on Open Street Map or something else.

You could, however, enhance that in a lot of ways. For example, your device could detect if one of you is on foot or on a bicycle or in a car, and could suggest locations that could be reached in about the same amount of time by both parties, given relative travel speeds. If one of you is on a bus, it could identify which upcoming bus stop would be the closest walk for the person on foot.

The app would also generate an expected meeting time, based on whatever travel modes it was expecting people to use.

The result would be a message sent that says, “Let’s met at [location] in [n] minutes,” to which the other person could reply “Okay” with a single click. With a few more clicks, the other person could propose an alternative location or time.

Personally, I’d use an app like that all the time.