Connecting Technology to the Real World

chicagoI’ve been spending a lot of time in Chicago lately, and this past week something caught my eye. When you get off the CTA trains, many of the stations have a large granite compass rose inlay on the ground. It’s a fairly handy thing to see in its own right (and they’ve helped me navigate on more than one occasion), but it’s also a great specific example of a really interesting general concept: These physical compass roses are a bridge between the abstract world of the map and the real physical world.

When I started thinking about them in those terms, I realized there are a lot of other great (and some not so great!) examples of the same concept.

There are a few really obvious instances: bar codes (such as UPCs) are a perfect example, but they aren’t really very interesting because the transition between the physical box and the abstract world of the inventory system is not really very smooth.

A better example is location-aware software. Geofencing is starting to provide software a seamless way to respond to an aspect of the real world (location). Another good example of this is Expensify‘s mileage tracking, or the weather apps ability to give you the local forecast wherever you are.

One of the most exciting examples I recently have been noticing is more applications integrating OCR. Evernote’s premium service will let you search through attachments like PDFs — but it also will do OCR on images you’ve uploaded, letting you do very reasonable searches through photos or scans of documents as well.

Expensify takes OCR a step further: they have facility they’ve branded SmartScan where you can take a photo of a receipt, and the app automatically extract information such as the business name, tip amount, and total.

Done well, the additional context that modern software knows about can really open up new doors and provides amazing opportunities for new automation. However, there are also bad examples too.

I’ve used various conference call services over the years, and I’ve been disappointed in them all. The problem with conference calling services is that instead of merely needing to know the basic contact information for my colleagues, I also need to know a randomly chosen dial-in number, a random meeting code, and a random audio controls PIN. Plus I need to be sure that no one else at Atomic is using our conference call account at that time.

Software is supposed to help us, but too frequently I find that we’re expected to type in our records or tell our applications half of the answers before they’ll help us.

Fortunately, that’s changing as more and more context is becoming available to our applications and the cloud is allowing us to apply more and more processing power to solve our problems. I’m eager to see what’s next.