“Operating system vendors face this problem once or twice a decade: They need to migrate their user base from their old operating system to their very different new one, or they need to switch from one CPU architecture to another one, and they want to enable users to run old applications unmodified, and help developers port their applications to the new OS. Let us look at how this has been done in the last 3 decades, looking at DOS/Windows, Macintosh, Amiga and Palm.”
Wow, hats off to Michael Steil of pagetable.com for this thorough and informative article. I want this to be on Page 1 here on OSnews, but that means having to write something about it; and what is there to write that hasn’t already been covered in the article?
I personally have gone through a number of OS transitions, and whilst the article does cover each vendor’s personal migration path up the version numbers, we should consider another migration path that many of us do–switching from one vendor’s OS to another!
One can argue that there is no direct [vendor-supplied] migration path for this, because it’s different vendors with mostly proprietary software and file formats. Applications on the one OS are not available on the other.
In fact—if anything—vendors have made it easier to migrate version numbers, CPU architectures and bitness than to migrate to a new vendor entirely, when theoretically, the easiest movement should be sideways–just taking your data to another OS that provides transparent mechanisms for manipulating that same data.
Apple provides a “Move2Mac” product to transfer your Windows files to a Mac, and now can even do so in-store as a customer service. Microsoft don’t provide
Asa Dotzler, Mozilla engineer had this to say (in 2005!) about the issue of migrating to Linux:
The first issue, migration, is pretty serious. For “Regular People” to adopt Linux (which usually means leaving Windows) Linux is going to need a serious migration plan. It will need to install on machines next to Window, leaving that completely intact and easy to return to, and carry over all or nearly all of the user’s data and settings. Regular People may be willing to take a look at Linux, but as long as all of their data and settings still lives in Windows, they’re not going to stay very long — no matter how appealing it might be. We learned this lesson in the Mozilla world. It wasn’t until we implemented a very capable migration system in Firefox, which carried over the user’s IE favorites, cookies, history, passwords, etc. that Regular People started moving over in serious numbers — and staying (and bringing others over.) Linux needs to do the same.
It’s clearly a much bigger task for an entire OS and all of its major applications to accomplish, but it simply has to be done. When Regular People fire up the Linux desktop for the first time, the browser, office suite, email client, IM client, file manager, etc, each need to carry over as much as possible of the Windows application settings and all or very nearly all of the user data. Without this, the hill is just too steep to climb and Regular People will not make the climb. – source
This issue still stands. Vendors have become ever better at migrating users over to their own new products, bridging incredible gaps like entire architecture incompatibility, but in order to make gains in the coming future vendors are going to have to make it just as easy to switch from another OS, and that means migrating the incredibly difficult “data-gap”.
I downloaded Safari 4. I was willing to give it a month to try out the new interface and see if it stacked up. It had no option to import my Firefox bookmarks. I don’t use Safari at all anymore.
I try every version of Ubuntu that’s released on my MacBookPro and since Intrepid everything has worked out of the box. But it’s nothing more than a toy without my data. Could I migrate that data myself? Yes. Should I have to? No. If all my data were already there, in the right places — My Firefox profile in place, Pidgin instead of Adium and so on — then I could start working right away and the chances of me sticking with Linux would be some 100x greater.
As it stands it’s a freekin’ chore and it’s not going to happen.
So whilst Michael Steil has documented how vendors have overcome massive hurdles to keep their users on their OS, can Linux overcome the hurdle to get users to migrate to theirs? It’s at least 4 years late already in my book.
… and genuinely nice guy. He did an amazing C64 talk at the last CCC (was on OSnews) and the spearheaded the Xbox Linux projects. He knows his shit
(Insider info: He claims that his employer forces him to use OSX. That is obviously just a lame excuse to avoid getting stoned by the OpenBSD-loving CCC Hacker community, but nobody is perfect.)
> It had no option to import my Firefox bookmarks. I don’t use Safari at all anymore
Yes it has !
I personally imported Firefox 3’s bookmarks to Safari 4 on my work’s PC.
It’s not in the basic menu so you have to make appear the “full one”, but it’s available.
Please correct the article.
Edited 2009-04-29 08:49 UTC
Not on the Mac. There’s an “Import Bookmarks” menu but that gives you a Finder to select an HTML file. It’s not compatible with Firefox 3’s Places SQLite bookmarks.
On the PC, I did it through the “HTML” too.
Not elegant, but it worked well.
I didn’t check on my Mac.
Just Googled a solution – export to HTML from Firefox first, then import in Safari 4. Too late now, I’ve already made my decision, Firefox 3.5 is much better.
Given that Firefox is open source, it really wouldn’t be difficult for Apple to add Firefox bookmark import into Safari, even IE8 does it now as they’ve had to admit defeat. The point with migration is that if it’s not offered right there at the start then it does nothing to endear me to the product. I shouldn‘t have to Google this stuff, because regular users certainly won’t.
Since my bookmarks rarely – of ever – change, I just keep an exported HTML file of them on my shared external drive. This way I can easily import them to wherever I want.
Too much change going on for me, let alone how disorganised they are x_x
Either way, regardless of whether it’s possible or not, we’re talking about migration (either from one browser to another, or more importantly from one OS to another).
I want to be able to install Ubuntu and have my Firefox profle imported for me (or cross-import from Windows IE if a user is new to Firefox). This currently isn’t done, and it’s not rocket-science. Do it peeps, your users need it!
After reading that part bit, I thought that you just used an older version of Safari.
I find it troubling they don’t provide that option. Opera has it since I can remember..
Anyways, the bigger problem with migration is the new paradigm the users need to adapt and not so much the settings – tho adjusting it can indeed help.
However copying all the documents to new folders and having independent programs like KDE, Fx, or whatever to import user settings from Windows users wouldn’t it be more of a application problem?
Well.. Not copying documents, that could be implemented as something automatical during installation, but it would potentially slow it down very much. If the user did import settings using some app provided with OS – like Macs, then it would require constants updates to meet the standards of all the apps it would be importing settings to.
Writing the code to be able to migrate from one version of an OS to another is not easy (especially if changing architectures), but it has to be done.
I’m saying the same goes with data. Importing data from one application to another, on different OSes is not easy — but it needs to be done, otherwise there is no option of migration, and Linux needs migrations.
use Opera.
It may be too smart for some users but it’s still the best browser, hands down, I have ever used. With Opera Link, my bookmarks and settings (and I mean ALL settings, profile, etc.) are syncronized over multiple machines (and multiple OSen) with no effort on my part.
Sync across platforms, sweet. Is Opera managing that all by itself or does it first sync to a website then back down to the other machines?
Opera uses a sync server, although I don’t know how the back end works. It’s all automatic, you just need an account on the server.
Thanks, I see how it works now. I like the feature being native rather than a plugin though my own apprehensive would be with including an unknown third party in my data storage.
For the Mozilla family, I believe there is a flicker/facebook kind of site for browser bookmarks. Actually, if that’s still around it must support the various popular options.
I use:
http://www.foxmarks.com/
on multiple computers and multiple browsers, but it works best with Firefox and has the most features.
Foxmarks, or Xmarks as it’s now called, is definitely the best solution for maintaining a single list of bookmarks across multiple browsers/computers.
I think you guys are missing the point.
Whilst its helpfile to show that there ARE ways to migrate firefox bookmarks.
People arn’t always prepared to make migration from one platform to another into a research project. When a feature like this isnt built in it could mean 5min on google or 30min of dicking around.
Agree that software migration is useualy a chore, though I get a bit fed up with how people continuously judge new products by their migration path from other mainstream software.
Maybe it’s just me, but this article really passed my by completely. Because I’ve run Debian GNU/Linux on PowerPC, Alpha, Sparc, ARM, x86, AMD64 for more then 10 years. There really isn’t anything special about it, everything just works. 🙂 All applications I use are in Debian, so they all can be compiled for the architectures supported by Debian (and they are just an apt-get install away). There really isn’t any migration.
You just do dpkg –get-selections and install the other machine and install those packages there too and copy your home directory and done.
What migration ? CPU ? Versions ? Upgrades ? It all just works. 🙂 I know Debian spoiled me. 😉
This is both a pro and con of unix in general.
The basics tools and structure stay the same between versions, but almost all original approaches to problems (dbus, pulseaudio) end up almost tacked on top, apart from the system and distinct from the unix philosophy.
This makes migration between versions easier in the short term, but also ensures that re-architecting of the system, like from 9 to X or 95 to NT, can never happen.
Your kidding right ?
Like Windows doesn’t have that problem ? Some people have said: 50% of the code of Windows and it’s associated parts are compatibility layers and old code that will is very hard to take out.
Just take any ‘modern’ Windows, all files in the Windows-directory are still in 8.3 format and a progra~1 directory still exists.
I’ve never seen any Unix with such a file-system specific backwardscompatibility problem.
I actually think Unix-like operating systems are doing a lot better in that regard. A lot of current Unix-like (software) is open source and this means a lot of the upstream applications in distributions like Debian get a patch from their downstreams to support newer libraries/API’s, I actually think a lot less is left behind. People often discuss the duplication in the Open Source world, but patches from Ubuntu end up in Suse, patches from Suse end up in RedHat, patches from Fedora end up in Debian, etc.
And what is wrong with running deamons for specific tasks like dbus or pulseaudio ? It’s better when it’s seperate, because it can easiliy be replaced. Just an example, who still runs Sendmail, other then a few large users ? OK, some people who care for a certain type of license in their base-installation (OpenBSD for example, but they are busy replacing it with their own opensmtpd). Why is that ? Because it’s just pipes, files, sysctl’s and text. Any part can easily be replaced.
Could you please explain what you mean with distinct from the unix philosophy, maybe I just misunderstood. 🙂
Maybe you were thinking of Plan 9 or something like that ? Many of it’s ideas have already found a place in current Unix-like operating systems. OK, maybe unionfs isn’t such a great implementation. But /proc is their in Linux.
*nix systems are more straightforward to migrate/upgrade between versions, because few if any changes are ever made on a ‘unix’ level i.e. the bare iron. the /etc directory was there in 1987, 89, 99, 2009 and I’ll wager it will be there in 2019.
The linux kernel being distinct from libc distinct the gnu userland etc., and so system wide changes just can’t happen, they just aren’t practicable.
Nobody controls the whole OS from boot -> shutdown like, say, the MacOS or NT teams would. Even the BSD teams don’t have direct control over more than the core utilities. This is not a bad thing IMO!
One side-effect is that us *nix users will probably never need to go through the sorts of migrations mentioned in the article, something that you can testify. A unix system will be a unix system, forever and ever 🙂
This is good in terms of upgrades, continuity and predicability. I for one won’t enjoy upgrading one night to find /etc merged into some binary registry 🙂
But this also means that there will never be a quantum leap moment like 98 to XP for the linux community. No big changes, rearchitecting linux to be a BeOS or even a Plan 9.
Nothing against pulseaudio, dbus etc. as daemons, but they do not sit in /dev as *nix intuition suggests. There is nothing specifically unix about them, they would feel just as home as an NT service.
Unionfs on netbsd has always frozen for me, and /proc is useful to help create unportable scripts^W^W job security 😉