Upgrades are an inevitability in our modern technological world. A new phone comes out every year or two, and the migration process begins. So why don’t devices have a special mode, priming them for upgrade and migration? This really hit home recently, as I upgraded the hard disks in my Drobo, but it applies equally to laptops, phones, and services like e-mail.
So It Goes
Most well-designed devices are remarkably adept at recovering from errors, and some use this capability as an upgrade mechanism. Pop one drive out of the Drobo and replace it with another and the system will happily rebuild. But this process takes hours or even days, and data is left unprotected all this time.
Computer operating systems are also fairly capable of adapting to change. When I swapped the mechanical hard drive out of my MacBook Pro in favor of an SSD, I copied the data over, switched the drives, and powered on with little obvious impact on my work environment. But Microsoft noticed the change, and I had to reenter my Office 2011 serial number. Things were a lot more challenging when I moved from my old MacBook Pro to the new 2011 model. Storing data in the cloud made things much easier, but migrating between laptops remains problematic.
Thankfully, my last three phone upgrades have all been in the iPhone family. This has allowed me to leverage iTunes to move my applications and data without interruption. Switching from iPhone to Android is much more difficult, even with e-mail and contacts stored in Google’s Gmail cloud.
It seems to me that the key to a successful migration is minimizing the time in between the old state and the new. Consider the Drobo: thanks to the devices beyond raid data protection technology, I don’t really worry about the integrity and protection of my data. But swapping out hard disk drives leaves my data in an unprotected state for 48 hours or more. This critical time is nerve-racking.
The same often happens when one migrates from one computer or phone to another. It is critical to immediately give up the old and adopt the new, but moving data and applications can take hours or days. I recently used Microsoft’s Easy Transfer utility to upgrade a friend’s computer from Windows Vista to Windows 7. But they never really got used to Windows 7, leaving the new computer unused on the shelf.
What is one supposed to do during the time in between devices? We may not be able to actively use the new device, but we cannot continue making changes to the old. Should we simply set things aside and take a vacation? And what if the migration goes awry or the user decides they can’t make the transition?
Prime the Pump
Why don’t devices have the ability preemptively to “prime the pump” for migration? Why can’t they prepare data and applications, and perhaps even the user environment, for a smooth transition? The obvious answer is that an old system does not “know” when a new system requires. But there are certain cases where this could be done.
Two years ago, I suggested to Drobo (then called data robotics) that they should have a pre-eject button in their management application, allowing the user to notify the array that drive was about to be ejected. The Drobo could then move data around and prepare for this major event without leaving everything unprotected for days. This feature still has not been implemented, however. And you can only upgrade one drive at a time, meaning my data will be unprotected for over a week while switching to four larger drives.
What if Windows Easy Transfer began packing up user data while the old system was still in use, perhaps synchronizing it to the new computer while changes were being made. It could even keep both devices in sync for a while, allowing the user to adjust to the new interface. Certainly, this would improve the user experience, and Microsoft may be able to entice more users to upgrade.
And wouldn’t it be nice if our favorite phone application developers offer the ability to trade in iPhone apps for Android equivalents, or vice versa? Apple hasn’t even allowed this in the Mac App Store, and the incentives are questionable regardless. But this is what the average user wants, so why can’t it happen?
Although it’s not really practical for all devices, manufacturers should consider that migration is a critical time of user frustration and the loss of future revenues. If they spent some time reducing the impact of migration, they might build a repeat customer base. And the ability to prime the pump for migration preemptively is one concept that might help make this happen.
Bill Plein says
Some operating systems have protection for upgrades: OpenSolaris had their BE (Boot Environment) management scheme where a snapshot was used to protect the “before” state, and then you’d upgrade and boot into the “after” state, and if you didn’t like it, you could roll back.
There have been similar efforts to make something similar to that on FreeBSD, but they are individual efforts and not part of the plans for the main code base as far as I know.
The challenge with your Drobo is that you may not be able (if you are using most of your capacity) to move all your data to a protected state without all of your current drives online. But it would be nice to have the option ~if~ you did have enough spare capacity.
M. Thibault says
Yes. I too wish my Drobo had a button in the Drobo Dashboard where I could say “Hey, you! I’m going to eject this drive soon…care to move some data around so my migration hurts a little less?” In my case, and as Bill mentions above, it’d be impossible to move ALL the data off my smallest drive and into a protected state using only my three other ones (I have a 3x1TB + 1x500GB configuration on a 4-slot Drobo). However, it’d certainly save a little time (and cut-down the nerve-racking “OMG what if something goes horribly awry” time) while upgrading. Rational thought of course would tell me that the likelihood of a drive failing during migration is pretty low…but those yellow flashing lights can really psyche me out sometimes. >.<
The effect would be cumulative on a Drobo. Upgrade one drive, and you'll have more space to work with. Tell it you'll eject another drive, and with the extra space, it might get closer to a safe state on three drives, and so on. By the time you're at the last drive, there probably wouldn't be any unprotected time.
Maybe you can prod Data Robotics about this issue? It'd be one heck of an amazing feature to have. That and it just makes sense for them, since this upgrade-when-you-bloody-well-want-to idea is something of a raison d'etre for Drobo.