Local vs Remote: Diverging Trends in Computing

by Alex Mekelburg

(close)


See other posts by Alex Mekelburg

I was going to use a cute title like “Here, There and Everywhere,” but after a quick search I realized I wasn’t being very original in applying that phrase to the issue at hand:

Interestingly, I found almost as many relevant articles by searching for “here there everywhere computing” as I did for “local vs remote computing” “localization of computers” “remote computing” and “localized computing.” However, these drier searches did hit on better discussions on the concept rather than specific reviews of local or remote computing products.

The Concept

So what is the concept? Simply, it’s the observation of two trends:

  1. More powerful portable devices (e.g. iPhone)
  2. Virtualization (e.g. VMWare servers and Amazon web services) - particularly in combination with remoting technologies

(I’m considering virtualization as the virtualization of computing in general, not just running existing operating systems on top of virtualized hardware).

Generally speaking these trends are not at odds, but when you combine virtualization (v12n) with remoting technologies (software and hardware), you have a very compelling story for not caring so much about the trend towards more powerful portables.

The Story

It begins with a simple comparison of the local and remote options. “Local” means having a portable device that stores the data you need and is powerful enough to do what you want with that data. This could be anything from a phone to a laptop. “Remote” means having a device that provides the same user interactions (audio, video, text entry, pointing devices) but doesn’t have the power or storage to do all, or perhaps even most, of what you need. Instead it can just connect to the internet and allow you to interact with whatever you may have there.

As I see it, the main points of comparison are these:


Local Computing

  • Everything is with you - no worries about whether you have a connection
  • Fast - no network lag
  • Other people don’t have your data
  • You’re in charge


Remote Computing

  • Nothing is with you - no worries about data loss from losing or breaking a device
  • More available resources
  • You can get at data without having to plan ahead
  • Scales as needed

Balancing these issues is largely just personal preference. For me, this evaluation tips heavily toward “remote.” Generally I trust companies to store my data more reliably, do a better job of protecting it (while not using it themselves), and keep their hardware up to date more than I trust myself to do the same. If there are entire companies dedicated to doing pretty much just these things, why would I presume to be able to do it better myself - or, at least, why would I want to? (There must be at least one that’s good at it!)

The only real plus on the “local” side for me is not having to worry about having an internet connection to get at the information I need or the performance of whatever connection I have. However, we can see this problem slowly disappearing with the spread of wireless access (including airplanes).

Mix in some virtualization

The story began by comparing the ideas of “local” and “remote” by themselves. When we add v12n to the picture, I believe it bolsters the argument for “remote” beyond the question of personal preference. Why? To put it succinctly, its because it allows us to re-imagine human-computer interactions and lets us get there in small steps - not needing to take big chances on any particular paradigm-changing system. …This could (and will!) turn into a whole discussion by itself, so suffice it to say that the combination of remoting and v12n allows us to separate out the information processing completely from the interaction therewith.

Get Real

It’s a bit inaccurate to say that the “local” and “remote” trends are in competition. So why am I bothering to compare them? To get at the real core of the issue, lets start with something completely unrealistic and do a quick thought experiment. Imagine your ideal “local” and “remote” systems. Go ahead, do it. It’s fun to imagine.










OK, turns out this is a bit of a trick question. In imagining your ideal system for “wherever-you-are computing,” you probably don’t care about the implementation details. Those should be hidden and only the features should be important. In other words, your ideal “local” and “remote” systems would be identical (or nearly so) to any user. So lets think of some of those features you’d want.

  • The systems themselves woudln’t break down.
  • You’re going to want an internet connection, so infrastructure problems for ubiquitous access would be solved.
  • You would trust (in terms of security) the systems storing your data.
  • Your data would be safe (in terms of persistence) - you won’t lose it if something breaks
  • Your software could be upgraded automatically
  • Your would have access to as much power and storage as you need
  • If something goes wrong (you can’t idealize that away) someone else would fix it and restore your data. Maybe everything would be redundant enough that you’d never even notice
  • Your device would be “context aware” - know where you are, what’s going on around you, etc)

Two groups emerge from this list - features for the device and features for the systems that support the device. It’s obvious that the features for the device need to be implemented locally, and it seems clear that the features for the systems are best implemented on the remote side (to whatever extent that’s feasible). So now we see the real problem is not “Local vs Remote: Diverging Trends in Computing” but “Local vs Remote: Everything in its right place,” which fits well with the earlier statement that “…the combination of remoting and v12n allows us to separate out the information processing completely from the interaction therewith.”

The Proposal

I propose something like this (not to scale):

Details to come.

Tags: , , , , ,

Leave a Reply