10 ms·
Man upgrades Windows 1.0 to Windows 7 (video)
- zdw 16y agoThis is a testament to how much trouble Microsoft goes through to maintain compatibility. I wonder whether malware from those early days would continue to run, or if newer versions of the OS would block it.
- mixmax 16y agoMuch more than you would ever know.. The original version of Sim City was written for windows 3.x and included a bug that read memory that had been freed to the system. It worked in windows 3.x, even though it shouldn't, because that particular range of memory wasn't being used for anything else until the program was terminated. In beta versions of windows 95 Sim City didn't work because the operating system allocated memory differently, and Sim City would crash as expected because of the bug in the program. Amazingly, in the final version of Win95 the original Sim City worked. Microsoft engineers had actually tested backwards compatibility with Sim city, located the bug, and worked around it in their sourcecode. Now that's serious dedication to backwards compatibility.
- ladon86 16y agoSpecifically, Windows actually checked whether SimCity was running and then allocated memory differently if it was. Joel Spolsky talks about it in this old article: http://www.joelonsoftware.com/articles/fog0000000054.html http://www.joelonsoftware.com/articles/fog0000000054.html
- k3dz 16y agoMore about Microsoft and backward compatibility is here: http://www.joelonsoftware.com/articles/APIWar.html http://www.joelonsoftware.com/articles/APIWar.html
- kenjackson 16y agoThere's a blog run by Raymond Chen, one of the engineers on the backwards compat team, which is about backwards compat and other arcane aspects of Windows: http://blogs.msdn.com/b/oldnewthing/ http://blogs.msdn.com/b/oldnewthing/
- rospaya 16y agoThe part about millions of people sending millions of checks to companies really hit me. Why are Americans still using checks? I haven't seen one in more than a decade.
- krakensden 16y agoBank transfers basically aren't supported by anyone you'd like to give a large sum of money to, so you have to write them a check.
- Hoff 16y agoThis isn't a fun choice for the OS folks to make. Backward-compatibility for cases such as this can lead to arcane and more complex code within the OS, to difficulty with adding enhancements and creating fixes in the future, and creates larger target areas for folks that are attempting security attacks, and more complex testing. Bug-for-bug application compatibility is not without costs.
- larsberg 16y agoI also remember that there was a version of <unnamed product> that rather than sending LVM_GETITEMTEXT would just read the ansi characters corresponding to the selected item during LVN_ITEMCHANGED off of a random location in the stack frame that they had "noticed" held the value. Of course, this eventually changed to a unicode string internally and broke WinZip... so the code that fired off this event would convert the unicode string to ansi and store a pointer in the stack. I recall being very confused when I encountered this code many years after it had been implemented and had to spend a lot of time tracking through bug databases before discovering why the listview implementation was doing that.
- StavrosK 16y agoI found it amusing how you avoided to mention the name initially only to lapse (I'm assuming it wasn't intentional) and inadvertently say it was WinZip later on.
- larsberg 16y agoWhoops! Yeah, I'd had WinZip in there originally, then I couldn't remember if this particular story had already come out. I've been gone from MSFT for a long time, but it was generally considered bad form when I was there to call out specific products publicly for their bad code.
- CountSessine 16y agobut it was generally considered bad form when I was there to call out specific products publicly for their bad code In a way, don't you think that by not allowing customers to know just how bad the code in the software they buy is, you're encouraging more of it? If there are advantages to producing quick-and-dirty code that violates platform programming guidelines (some would call this sort of sloppy programming "Getting Work Done"), and there are no consequences (Microsoft knows how bad the code is but Winzip's customers don't), doesn't this exert a subtle market pressure that works against good developers who take the time and make the effort to do things right?
- jdp23 16y agoSimilar issues came up for a lot of apps in the move to XP, and they wound up implementing a 'shimming engine' that would modify behavior of system calls for different apps to provied bug-for-bug compatibility.
- Gormo 16y agoNitpick: the original version of SimCity was released for DOS before Windows 3.0 came out. I never knew that MS went so far out of their way to fix a bug for a single game though - it seems that they were much more dedicated to backward-compatibility then than they are now.
- kprobst 16y agoMy copy of Visual Basic 1.0 (released in 1991) runs perfectly well on Windows 7 Ultimate.
- pbhjpbhj 16y agoLooking forward to someone doing the same sort of thing with other OSs.
- shii 16y agoYou can't do it with this level of preciseness in the Mac family at least. Between OS X, probably as long as you're not on non-intel processors. Like other commenter said, Windows/MS really goes all the way for backwards compatibility.
- jessedhillon 16y agoYou can take a G3 from Mac OS 7.1.2 (version which added PowerPC support) all the way to 10.4, which would take you from 1997 to 2005. I haven't done it, but I've read that getting 10.4 requires some finagling to achieve, so the last supported install you could do would be 10.3.9
- flomo 16y agoIIRC the minimum OS for a G3 was actually 8.something. (Apple generally doesn't/didn't support down-level OSes on their hardware.) Also the settings would have only been preserved in Classic, but that's to be expected I guess.
- tibbon 16y agoWonder if you could upgrade them, and then just rip out the hard drive and move it to another box. Wondering if 10.4 would be ok with one moment having a PPC and another moment having an intel processor.
- pbhjpbhj 16y agoIf at OS X you take your previous computer and attach it in target disk mode or something (I'm not a Mac person) will it do anything with the old OS, perhaps use settings or allow apps to run under emulation or such. Such quirks are partly what would make such things interesting. Slackware goes back to 1993, is there an earlier Linux distro still in major use? (looks like there isn't - http://upload.wikimedia.org/wikipedia/commons/8/8c/Gldt.svg http://upload.wikimedia.org/wikipedia/commons/8/8c/Gldt.svg). It might be more interesting with Linux to follow a WM?
- megaframe 16y agoIt's like taking every upgrade I've ever done with Windows and condensing it down to 9:49 (omit the various reinstalls)
- warfangle 16y agoI never used the upgrade option. I'd always get a new hard drive with my upgrade (to get OEM price) and install clean, usually using the original hard drive as a slave. The next cycle that hard drive would become an archive on the new slave. I have backed up files from 1996 on my home desktop.
- moe 16y agoDidn't everyone do it that way? I tried the upgrade-option exactly once. I can't remember whether it preserved my background color. But I do remember that all sorts of drivers got screwed, software installs would fail with obscure error messages, and it generally was nothing but problems until I finally wiped and re-installed.
- flomo 16y agoI upgraded from NT4 -> 2000 -> XP without any major issues. AFAICT it was mostly just a file replacement process. The DOSWin to NT upgrade path always seemed pretty flaky though. The demonstration cheated a bit by using a vanilla VMWare config; an actual PC would be loaded with crappy vendor drivers and startup software which complicated any upgrade.
- warfangle 16y agoUpgrading from the NT line to further along the NT line wasn't much of a problem IIRC. Upgrading from '95 to '98 to 2000 probably would be, if you'd actually used the machine. Registry rot from years of use would hinder this process. The idea of a well-used registry from Win95 being still used in a 2000 or XP machine makes me shiver in horror.
- megaframe 16y ago
- potatolicious 16y agoImpressive, but I have to wonder how many compromises had to be made, and advancements abandoned, to keep apps like Reversi and Dosshell all the way up through Win7...
- mey 16y agoIt's what their client base demands. It's part of their success. Think how many internal tools are relying on compatibility since they would be too expensive to rewrite. (I'm looking at you VB6) You may be interested in this technet article on the concept of Shims http://technet.microsoft.com/en-us/library/dd837644(WS.10).aspx http://technet.microsoft.com/en-us/library/dd837644(WS.10).a... Not only can you make your own, Windows ships shims with each release to provide compatibility support with popular user applications. Edit: fixed some grammar.
- pragmatic 16y agoGood point, but consider all those old business apps that can continue to run in small companies all over the world.
- forensic 16y agoand big companies...
- Hoff 16y agoThat would be the innovator's dilemma.
- nigelsampson 16y agoA lot I imagine, which I think makes their decisions around WP7 and breaking backwards compatibility even more surprising (although I do agree with it). I think it's one of those decisions where no matter what choice is made someone will complain about it.
- Sherlock 16y agoThere is a lot of people with the "if it works, don't touch it" mentality. MS would have sold a lot less if they had broke backwards compatibility. It took me some years to internalize the benefits of "if it works, don't touch it", and I currently apply to a lot of home maintenance problems, which are outside my area of expertise.
- deleted 16y ago[deleted]
- ReadyNSet 16y agobrilliant a testament to MS software compatability
- nrkn 16y agoNow let's see someone do this on real hardware, upgrading the machine as they go.
- maayank 16y agoBrilliant. A number of comments: * He mentions there is no multi tasking in dosshell. I'm not 100% sure about MS-DOS 5.0, but in ver 6.0 you could switch between tasks in dosshell [EDIT: this is also true for version 5.0, you can see the option at 1:13 in his video]. To switch tasks you need to first enable it through the "Options" menu ("Enable Task Swapper") and then you can either switch tasks by the all too familiar Alt+Tab or pressing Ctrl+Esc to bring up an ancient Task Manager (then titled "Active Task List"). * I may be mistaken, but in later service packs Win2000 had much better DOS emulation... Just mentioning it because he did test XP SP2 and later versions of Win2000 may have handled Doom2 better. This video got me to dig out my old DOS book to make sure I remember correctly... ah, the memories :) Very interesting to see many dialogs we all know from Windows even in DOS (i.e. the Run and Associate File extension dialogs in dosshell)
- georgieporgie 16y agoin ver 6.0 you could switch between tasks in dosshell That was task swapping, not multitasking. All but the currently-executing task were interrupted, written out to disk, and expunged from memory.
- bad_user 16y agoNot completely true. In MS-DOS you could terminate a program, but make 64K of its memory resident. And then you could program a time interrupt handler to wake it up and do stuff periodically. That's how some viruses worked btw :-)
- gaius 16y agoTSR, that was called, terminate and stay resident. It was a legitimate technique, software like Sidekick used it http://en.wikipedia.org/wiki/Borland_Sidekick http://en.wikipedia.org/wiki/Borland_Sidekick
- jessedhillon 16y agoAwesome stuff. I would have enjoyed a detour through Microsoft Bob, somewhere around Windows 3.1 or 95.
- elliottcarlson 16y agoThat was my first reaction to - where's Bob?
- jacques_chester 16y agoGod, the memories. I remember booting up Windows 95 for the first time -- I was so stoked. Everything was so new and smooth and perfect. Plus -- and this is the important thing -- PPP worked much, much better than 3.1 + trumpet winsock. Some time around 98SE I was dual booting into BeOS, which was so damn fast it wasn't funny. But it wasn't to be. And I remember browbeating Red Hat 3 into connecting to the internet as well.
- nailer 16y agoWeirdly enough my uncle actually knew the guy who wrote Trumpet Winsock. He says he got burnt by piracy fairly badly: computer magazines were including the full version of his app on their cover disks all over the world, ISPs were handing his app to their customers, and his company was too small to stop them.
- jacques_chester 16y agoI had no idea. We ought to set up a donation drive. edit: I was not being sarcastic. I wouldn't mind chipping a few bucks if a hat is going around.
- badmonkey0001 16y agoI thought it a good idea. His name is Peter Tattam (I did some google-leg-work to find it). His site is at http://petertattam.com/ http://petertattam.com/ . I found his name via a report at http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.3115&rep=rep1&type=pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.... If this is the guy, what should we do? Should somebody ask him what he would like?
- JonnieCache 16y agoI would totally send him a few quid. I remember using it back in the day.
- jacques_chester 16y ago
- sktrdie 16y agoThis gives a great deal of assurance for Windows developers. You don't have to worry about your app not working in future versions of Windows.
- jjordan 16y agoTry running a 16-bit application on Windows x64...
- derleth 16y ago> Try running a 16-bit application on Windows x64... There's no reason for this to fail: dosemu runs 16-bit code on 64-bit Linux systems just fine. You just need to do full hardware emulation which, at this point, is neither difficult nor prohibitively resource-intensive.
- iuguy 16y agoThere's actually a very specific reason for it to fail. There's an unfixable bug in the way that the Windows emulates 16-bit BIOS calls in the 8086 mode monitor. This is specific to Microsoft's implementation and is (if I remember correctly) an architectural issue (and not the only one). The options are rewrite an emulator or ditch 16-bit support in 64-bit. I'm not saying that this is the only reason, but it is one. Emulation/Virtualisation is different, but gets the support requirement off Microsoft's books.
- kenjackson 16y agoThere's an even more specific reason. There is no 16bit support in 64bit Windows. It's probably the biggest backwards compat kill they did for 64bit Windows.
- InclinedPlane 16y agoIt's actually not that hard. Just run it under dosshell or Virtual XP. It won't run natively of course.
- deleted 16y ago[deleted]
- billybob 16y agoI had to turn that video off to maintain my personal pride. I may be a nerd, but by gosh, I do NOT watch Windows installation retrospectives for entertainment! :)
- kenjackson 16y agoI wish I'd read this post earlier. I not only watched it but sent it to friends, never thinking that this actually might not be enjoyable to everyone. Isn't there a conference somewhere that specializes in boring topics?
- verisimilitude 16y agoYou might be thinking of "Boredom Enthusiasts Discover the Pleasures of Understimulation": http://online.wsj.com/article/SB10001424052748703395904576025482554838642.html http://online.wsj.com/article/SB1000142405274870339590457602...
- kenjackson 16y agoYes, that's it. Maybe he can make a talk of this for the next conference. "Observing the Installation of Every Version of Windows".
- vl 16y agoI actually found it surprisingly entertaining.
- pmsaue0 16y agoHe applauds MS for continually supporting their legacy software... my opinion is that such legacy support is what continually hampers their rapid development
- brazzy 16y agoWhen it comes to viability as an infrastructure for business, downwards compatibility clearly trumps rapid development. The same can be seen with Java: having all the shiny, fashionable features the tech geek blogs are abuzz with may be nice... but having old, boring, clunky, uncool software that your business depends on continue to work is far, far more valuable.
- droz 16y agoI think this is an important point that most people forget. Most developers may be interested in doing the latest and greatest thing, but unless it can add value to an organization, then it is worthless.
- icarus_drowning 16y agoWhile this is true, there is certainly a point where backward compatibility becomes a bit absurd. I'd personally peg it around the 15-year mark.
- flomo 16y agoAbsurd, and extremely profitable for the vendor which provides it. IBM mainframes can run binaries that are nearly 45 years old for example.
- deleted 16y ago[deleted]
- deleted 16y ago[deleted]
- icarus_drowning 16y ago
- phreeza 16y agoHe left out Windows ME. I guess that would be too much to ask.
- Legion 16y agoThe point of the video was chronicling Windows upgrades. ME wasn't an upgrade. :)
- yuhong 16y agoMe was not that much of an upgrade. It got rid of the MS-DOS mode. While it did change a few stuff and added a few features (new shell derived from Win2000, better ACPI/WDM/USB support, System Restore, etc...), it was still based on the 9x codebase which was unreliable and had many limitations.
- haribilalic 16y agoME was released after 2000, but 2000 could not be "upgraded" to ME.
- yuhong 16y agoYea, Me was the last release in the 9x series. Me was supposed to be for consumers, 2000 was supposed to be for businesses.
- icey 16y agoHe also forgot about Bob.
- mildweed 16y agoSite is Farked. Youtube direct link: http://www.youtube.com/watch?v=vPnehDhGa14 http://www.youtube.com/watch?v=vPnehDhGa14
- machrider 16y agoIt's funny, I submitted this in non-blogspam form this morning and it didn't get nearly as popular: http://news.ycombinator.com/item?id=2279618 http://news.ycombinator.com/item?id=2279618 I wonder if it's just luck or timing or this guy using spambots to upvote his submission.
- stoney 16y agoThe title is different on the two submissions. Could have been a factor?
- imsky 16y agoWow, 26 years condensed into 10 minutes...
- MarinaMartin 16y agoMy favorite part of this experiment is that he tested with Monkey Island. Go Guybrush!
- olalonde 16y agoGod I hate this in-text advertising thing.
- stretchwithme 16y agoQuite an achievement. And we are all the richer for it when these things go smoothly.
- bengl3rt 16y agoNo Windows ME? ;-)
- brudgers 16y agoAnd more importantly no Windows NT. This would have been the proper predecessor for Windows 2000 Professional. Windows 2000 Professional was not part of consumer upgrade path - ME was. Of course XP was was the successor to both.
- sdfgyhjty 16y agoClick on our website: ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ Website wholesale various fashion shoes, such as Nike, Jordan, prada, also includes the jeans, shirt, bags, hats and decoration. Personality manufacturing execution systems (Mes) clothing, Grab an eye bag coat + tide bag Air jordan(1-24)shoes $30 Handbags(Coach l v f e n d i d&g) $35 Tshirts (Polo ,ed hardy,lacoste) $15 Jean(True Religion,ed hardy,coogi) $30 Sunglasses(Oakey,coach,gucci,A r m a i n i) $15 New era cap $12 Bikini (Ed hardy,polo) $20 accept paypal and free shipping ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯ ╭══════════════╮ http://simurl.com/voblec http://simurl.com/voblec ╰══════════════╯
- jackvalentine 16y agoI'd actually have liked to see him to install more applications, perhaps Microsoft Office (circa 1990) and upgraded them as he went along too. I wonder if you can do Office for Windows -> Office 2010 as well.
- Groxx 16y agoBest possible music choice. Period. Fascinating.
- alphakappa 16y agoAm I the only one that noticed that his account username in Windows 2000 was 'twatface'?
- invisible 16y agoOh, I noticed and I loled. Regardless, pretty interesting talk and at least he has a humor with his account names. I'm glad the XP team fixed Doom 2.
- arrowgunz 16y agoIt feels so nostalgic. I started using the Computer even since Windows 95 was launched. I first tried installing the Windows 98 on my PC. Man, I really appreciate this guy's patience.
- bad_user 16y agoMy first computer was bought in '94, so a year before the Win 95 release. I got it with MS-DOS 6.22, Windows for Workgroups 3.11 and MS Works (forgot which version).
- redthrowaway 16y agoWhen people wonder why Windows is so big and seemingly complex, and why it still uses stupid things like a registry, this is why. Microsoft deserves accolades for maintaining compatibility on this scale, while still working on just about any combination of hardware under the sun. I'm sure they would have loved to be able to do what Apple did with OSX, but there are things you can pull off with 3% market share that are completely out of the question with 95%.
- __david__ 16y agoTo be fair, the original OS X was pretty backwards compatible--they ran OS 9 stuff in a virtual environment much like Windows 7 runs its older stuff. The Intel transition is the first time that Apple has been so lax about backwards compatibility. They dropped Classic on Intel Macs and they're about to drop PowerPC compatibility. It's a shame--I have OS 9 Games I would love to run on my MacBook Pro. Not to mention all the old programs I wrote.
- redthrowaway 16y agoRight, but Apple didn't have to worry about the thousands of corporate clients running Enterprise software that relied upon some specific API calls to handle billions of dollars in business. When Apple says, "too bad, upgrade", their customers mostly just do so. If Microsoft were to take that approach, they'd lose billions in revenue. My point, however, wasn't really that OSX isn't backward-compatible, but rather that I'm sure there aren't many engineers at Microsoft who wouldn't love to throw out the whole Windows paradigm and build something new and better from scratch. Hell, I bet BillG himself would have loved to Embrace, Extend, and Extinguish *nix. I think people have a tendency to view Windows' rather bloated codebase and adherence to outdated architecture as a failure of imagination on the part of its programmers, whereas it's really just a practicality necessitated by their user base.
- IDisposableHero 16y agoI'm sure there aren't many engineers at Microsoft who wouldn't love to throw out the whole Windows paradigm and build something new and better from scratch. They kinda did. When Windows 3.1 was a hit, the server OS was Windows NT ( http://en.wikipedia.org/wiki/Windows_NT http://en.wikipedia.org/wiki/Windows_NT ) NT = New Technology. Windows 95, 98 and Me are evolutions of the Windows 3.1 codebase, and then mercifully died. NT begat Windows 2000, XP, Vista, 7 You can see that they changed a lot of OS internals for the better (writing C++ code on win 3.1 it's trivial to lock up the whole OS, NT didn't have that issue), and then worked hard for compatibility.
- athom 16y agoMicrosoft first introduced Windows 1.0 on November 20, 1985. Since the introduction of Windows the operating system has dominated personal computers ever since. Not to be pedantic, but I don't seem to recall Windows "dominating" anything until version 3.1 came out. At that time, you still had a lot of software running in text mode, or firing up its own graphical environment from DOS. Berkeley Softworks' GeoWorks was out, then, too, and looking like pretty decent competition at the time. Windows' ultimate dominance may have been inevitable, but I don't recall it looking that way before '92.
- simonw 16y agoAnyone know why the Windows installer takes so long? What's it doing for an hour and a half?
- sh4na 16y agoSome say it's probably due to the installer copying lots of things around, combined with slow IO on the VM plus the installer assuming reads are going to be slow (the source being slow CDs or floppies). I call pish posh on that. What you're actually witnessing is The Microsoft Minute, as explained by http://ars.userfriendly.org/cartoons/?id=19990318 http://ars.userfriendly.org/cartoons/?id=19990318
- Swannie 16y agoI'd guess lots of decompression & file creation. Windows install = lots of CAB files in a flat file structure.
- Someone 16y agoI look forward to the full version (starting at DOS 1.0 and with http://www.bricklin.com/history/vcexecutable.htm http://www.bricklin.com/history/vcexecutable.htm)
- zandorg 16y agoI have a VB3 (or VB4) application which uploads samples to my hardware sampler over MIDI. But it doesn't work on XP, only 95/98. So there's a counter example to it being totally backward compatible.
- number1 16y agonice
- number1 16y agonice
- number1 16y agoawesome
- number1 16y agonice
- number1 16y agosounds great
- number1 16y agounbelievable
- number1 16y agoit's been a long time since 95
- number1 16y agoWOW