« You own your brain | Main | Segmentation and decomposition »

Touring vs tunnel vision

My experience with software started, and still largely sits, at the user end. More often than not, interacting with another's design. One thing I have learned from the user experience is that truly great interfaces are engineered to stay out of the way. The interface is only a skin atop the real work that software does underneath — taking inputs, applying operations, producing outputs. I'd say most users of computers don't know how to compute without an interface. I'm trying to break free from that camp. 

In The dangers of default disdain, I wrote about the power and control that the technology designer has over his users. A kind of tunnel is imposed that restricts the choices for interacting with data. And for me, maybe for you as well, the tunnel has been a welcome structure, directing my focus towards that distant point; the narrow aperture invokes at least some forward motion. I've unknowingly embraced the tunnel vision as a means of interacting without substantial choices, without risk, without wavering digressions. I think it's fair to say that without this tunnel, most travellers would find themselves stuck, incapacitated by the hard graft of touring over or around the mountain.

Tour guides instead of tunnels

But there is nothing to do inside the tunnel, no scenery to observe, just a black void between input and output. For some tasks, taking the tunnel is the only obvious and economic choice — all you want is to get stuff done. But choosing the tunnel means you will be missing things along the way. It's a trade off.

For getting from A to B, there are engineers to build tunnels, there are travellers to travel the tunnels, and there is a third kind of person altogether: tour guides take the scenic route. Building your own tunnel is a grand task, only worthwhile if you can find enough passengers to use it. The scenic route isn't just a casual lackadaisical approach. It's necessary for understanding the landscape; by taking it the traveler becomes connected with the territory. The challenge for software and technology companies is to expose people to the richness of their environment while moving them through at an acceptable pace. Is it possible to have a tunnel with windows?

Oil and gas operating companies are good at purchasing the tunnel access pass, but are not very good at building a robust set of tools to navigate the landscape of their data environment. After all, that is the thing that we travellers need to be in constant contact with. Touring or tunneling? The two approaches may or may not arrive at the same destination and they have different costs along the way, making it different business.

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (6)

Stop reading my mind again, Evan! I was just thinking about this this morning and posted on Twitter; "It's 2012 and there is still not one good multi-azimuth-pre-stack interpretation, velocity analysis & inversion tool to rule them all. Sigh." I followed that up with, "one _non-proprietary_ multi-azimuth-pre-stack interpretation, velocity analysis & inversion tool, that is."

Shell, for instance, does have software in which you can tour and tunnel. It's their internal, proprietary interpretation suite. Great stuff and built on with years of software engineering guided by geoscience expertise. The fact that very few companies outside Shell (maybe BP and Chevron) have internal subsurface technology groups that make versatile tools for their users is very telling. Paradigm may come close, but Landmark and SLB are far, far, behind. Their infrastructure and who they buy has become more important than customer utility.

November 14, 2012 | Unregistered CommenterMaitri

Well your dodging the term, But your essentially describing The Black Box problem. This industry always has been, and I would argue always will be driven by black boxes. Now they are getting better different companies keep competing to show who has the best black box, Some improve the output, some add more and better knobs. a few make the casing clear so you can see what's going on.

Now you could build your own widget from the ground up. Take the box of gears that is python and get something that does exactly what you want. The issue is your version is better because you know how it works and what it does, But it's probably hard for some else to use. The pretty knob on the blackbox requires a screwdriver to get to on your contraption. Plus it's probably time consuming to maintain.

No the real answer is opensource. (I'd prefer F/OSS. But the free isn't required) People need to be able to open the blackbox and see what goes on, take a spring out and putter a stiffer one in. add entire new assemblies and functionality.

Petrel is part of the way there with their Ocean plugins.

The industry is becoming more and more specialized, and I don't think that is a bad thing. Geoscientists shouldn't have understand O(n) notation or how to properly write multi-threaded code. You shouldn't have to be an expert on vizulization and opengl, Or designing software interfaces(GUIs).

I guess you could go to a company like Enthought and buy an empty box to put everything in, But I guess my point is It's better to start with a mostly functional tool and make it do what you want/need.

November 14, 2012 | Unregistered CommenterToastar

Toastar, it was nice to meet you at SEG!

About black boxes: Hampson Russell's inversion is a bit of a black box to me, in that we will never know how exactly they "invert" It's not detuning like Jason but then what is it? Of course, they aren't going to tell you what's in there. As a geoscientist (who can code, but that's beside the point), you're right, I don't want to have to write multi-threaded code, but I do want to know the algorithm that, in this case, takes my seismic and wells and produces an impedance volume.

For this, we need base software that easily takes our plugins and externally-written scripts, to do what we want without having to pay Petrel, HR or whomever an arm and a leg for the privilege of allowing us to play with their tool. So my question is: What's the best way to take that mostly functional tool and make it do what we want. How do we make it efficiently "extensible?"

November 15, 2012 | Unregistered CommenterMaitri

@Maitri - you really woke up and thought "It's 2012 and there is still not one good multi-azimuth-pre-stack interpretation, velocity analysis & inversion tool to rule them all."? That's usually a noon sort of thought for me. ;)

Evan - I initialized bristled a bit at your tunneling premise, but I think it's an interesting way to look data interpretation. I wonder though - is it more telling that you chose a tunnel as the metaphor, instead of say a road? To me, a tunnel has one way in and one way out, and so from the perspective of data analysis if your software is a tunnel, does that mean your analysis will always lead to the same point?

I guess that is probably what we want to some degree (repeatability and reliability of testing is the foundation of science), but you are right that you miss the scenery along the way too, and sometimes that scenery can be valuable. If I'm driving from Vancouver to Calgary maybe once I hit the Okanagan I see a stand for fresh fruit and I want to stop and get out and get some fruit. Maybe at Banff we decide to stop for the day and spend a night there. Just as these diversions can be valuable and enriching in real life, so too can they be metaphorically as well.

Of course there is always the possibility that the fresh fruit you bought has bugs, or the place you stay is overpriced and dirty, or your diversions otherwise waste your time/money/sanity. Here is the advantage of a tunnel: it may not be pretty, but it's efficient. It's predictibility is it's weakness, but also it's greatest strength.

By the way, tunnel with windows = train. Feel free to run with that metaphor!

Ultimately, any tool, whether it's designed like a tunnel or a tour guide, has it's purposes and situations where it is going to be more useful, and situations where it is less useful, and sometimes where it is just plain the wrong choice. When you have a new power drill, every problem looks like a screw (even christmas ornaments?), but sometimes you need a hammer. Or a lathe.

And sometimes even tour guides will take the tunnel.

*digression coming: it's safe to leave now*

We are reaching an interesting point in the use of technology in our world. Technology has become incredibly user friendly, with pleasent animated GUIs and touch interfaces that let us have a very physical and intimate computing experience, but in order to make the user experience more broadly appealing and frankly easier, it has also been dumbed down quite a bit. So much so that while the average computer user may think and act like they have their computer mastered, when something even very minor goes wrong (I'm looking at you, Windows UAC dialog boxes) the whole illusion comes crashing down and the user becomes useless.

For example, last Monday morning I was greeted by a hysterical employee who told me they came in over the weekend to do some work but their e-mail has been down. They believed the server had crashed, all their data was lost, incoming e-mails were lost in the ether, etc. The problem? They had accidentially put Outlook into "Work Offline" mode. Two clicks of the mouse and they were back up and running.

Now, why did I know to do that and not this employee, who we'll assume is an otherwise intelligent and successful human being? Is it because I have studied computer science? No, we used UNIX, not Outlook. Is it because I had previous experience? That helped me diagnose the problem quickly and move to the solution directly, but there was no magic button that only I could press, no administrative password that only I could enter.

The difference is, I think, is that I've learned to explore the computer, to pick at the seams and play around with it. Most users never do - they stay in the tunnel and they never veer off the path. And if they run in to a problem they are paralyzed not because they don't know what to do, but because they don't know what they CAN do.

And this is the irony of our times - technology has never been more widely adopted and accessible, but it has become so good and so accesible that people don't have to train or study how to use it any more. We don't have to take a course on using an iPhone, you just pick it up and use your finger and "it just works"(tm). Until it doesn't - then i get a knock on my door.

Just because you have a sweet new hybrid EX fully loaded slick-mobile doesn't mean you shouldn't know how to change the oil, and if you are going to go on a road trip you should still bring a jack and a spare tire and a map. Having the best new technology is not an excuse to stop learning - technology is just tools, we still have to provide the brain.

November 15, 2012 | Unregistered CommenterReid

Relevant blog post from 2009 here ...

REST, soa, cloud, html5 etc will ensure that we won't stay in the current rut for ever ...

November 15, 2012 | Unregistered Commenterdjc


Yes, in fact, I often wake up with these thoughts in my head. And lose them by about noon, which is why I have to inflict them on my masses before 10am or *poof* Funny, I'm not even a morning person.

Back to trains, expert users and Future Shock:

I like the train metaphor, but what I want to be able to do is be able to get off at stops, go explore in a car or by foot (myabe buy rotten fruit or twist an ankle, but hey, I explored and learned), and come back to that station, catch the train at another station down the road or get on another train altogether. Maybe even a plane or a rocket! (Yeah, right.) All of this is possible right now, but not in a way that very easily allows you to leave the train and get back on or onto another one. I lose a lot of time doing this daily.

Also, how do I know my train is even headed in the right direction without external ways to verify? Just found out this morning that our overdependence on "evergreen" databases results in some bad things.

Which brings us to users, superusers and flexible software: Let's take interpreters, as an example. With these folks, it is not useful to compare them with Outlook or iPhone users. If you really learn the underlying science and on many different tools, you know that one "tunnel" is better than another for a given problem and, with time and experience, can perform sniff tests to see if the software meets scientific criteria (or is even mathematically correct, to begin with). Interpreters are super-users, in this regard, but do and should spend most of their time interpreting and also touring, but not necessarily have to possess the expertise or the willingness to create the tools with which to tour, pick at the seams and play around with it. My question is: Once I reach the edge, how do I get from here to knowing fully where I want to be, easily and without having to create the tool myself?

November 15, 2012 | Unregistered CommenterMaitri

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>