Fresh Air For Windows?
jmcbain writes "The NY Times has an opinion piece on how the next Windows could be designed (even through Microsoft has already laid plans for Windows 7). The author suggests 'A monolithic operating system like Windows perpetuates an obsolete design. We don't need to load up our machines with bloated layers we won't use.' He also brings up the example of Apple breaking ties with its legacy OS when OS X was built. Can Windows move forward with a completely new, fast, and secure OS and still keep legacy application support?"
http://www.nytimes.com/2008/06/29/technology/29digi.html?_r=1&adxnnl=1&oref=slogin&ref=technology&pagewanted=print
Can Windows move forward with a completely new, fast, and secure OS and still keep legacy application support?
Based on past performance: No.
This has been another edition of Short Answers to Stupid Quesitons.
They could throw some time and effort (and $$?) into the support of WINE to allow the use of legacy Windows applications in an 'archaic OS'
Remember Vista? Supporting legacy apps is already something MS has no interest in, apparently.
but I still wouldn't buy it.
Anonymous Cowards get no respect.
Now that Bill Gates is retired from Microsoft, the editors should get with the times and lose that dated, painfully unfunny logo they use for Microsoft.
Most people probably wouldn't get the Borg reference to begin with, and now Bill Gates era at MS is officially in the past.
Only MS gets this ridiculous logo..now its finally the time they get rid of it.
Actually it stands for Windows NT 7.0. Here's a quick run-down:
NT 3.1
NT 3.5
NT 3.51
NT 4.0
NT 5.0 (aka Windows 2000)
NT 5.1 (aka Windows XP)
NT 5.2 (aka Windows 2003)
NT 6.0 (aka Windows Vista/2008)
As someone who started developing applications for Windows in 1991 and stopped around 1999, I doubt it. Better let legacy applications (and the whole x86 mess too, BTW) fade away, they have gone far beyond their useful life.
Apple could do that because they were much smaller than Microsoft, and had a small but relatively loyal customer base, and their rewrite did pay off, as people are generally very happy with OS X and don't care about the incompatibility with OS 9 and older anymore.
Microsoft has a huge userbase with much less loyalty, and generally a huge existing investment in software.
We don't need a MS Windows rewrite, we've already got Ubuntu, because that's essentially what the article author wants: an operating system that Just Works[tm], even at the expense of compatibility. That's a pretty good description of any popular Linux distribution.
I suffer from attention surplus disorder.
Oh, yeah, this is slashdot. /.ers everywhere. I mean, imagine if MS actually delivered a wonderful, light OS! That would certainly be the end of /. as we know it!
Microsoft already said they will build on Vista instead of going the microkernel way, and we have discussed that fact to death.
Windows 7 will not be "Fresh Air", to the delight of
Violence is the last refuge of the incompetent. Polar Scope Align for iOS
WinCE. Pity about the name, though.
"Can Windows move forward with a completely new, fast, and secure OS and still keep legacy application support?"
Well, considering the fact that Vista's all but killed the chance of running any software made before the year 2000, I'd have to say "no".
It's pretty bad when old Windows software is much more likely to run under Wine than with the latest version of Windows.
An object at rest cannot be stopped.
To me it's always been an excuse to keep windows bloated, and not actually any effort to keep old software functional.
Windows NT had an emulation layer that handled 16-bit apps. OS X had Rosetta and the Classic environments. And Microsoft now owns Virtual PC.
They have the technology to make Windows a clean OS with emulation errors for doing whatever legacy OS you want. They just seem too lazy to do it.
I would argue that the New York Times is better qualified to write an OS than Microsoft is...
He really doesn't know anything about the internals of the Windows kernel or the Mach kernel, he's just assuming that since the NT kernel is "monolithic" and the Mach kernel is a "microkernel" then the latter must be better, and the reason it's better is it is "smaller."
If you want to know where the real problems with Windows lie, they're in the API and the shell, not the kernel. The NT kernel is perfectly fine. See this Ars write-up by someone knowlegeable:
http://arstechnica.com/articles/culture/what-microsoft-could-learn-from-apple.ars
I'd like to point out that Microsoft employs one of the original authors of the Mach kernel, Rick Rashid. He runs Microsoft Research. Look it up.
Just switch to Mac and get parallels :P
Yeah, I know, not very funny. But does every comment have to be great?
PS: I don't reply to ACs.
There was a time when a much leaner Microsoft highly respected and rewarded employees who could write good code. These were the people who rose to positions of responsibility. Today, Microsoft is run by Sales and Marketing and coders are viewed as an expense. Until this situation reverses itself, don't expect any improvement in the product they create. They are too stupid to realize their product is the code. Ballmer being from sales only reinforces this problem. Perhaps he should be moved to a chair throwing division that does the monkey boy dance, and someone who can both create great code themselves and manage coders should be brought in as CEO.
Because most Linux users want apps made for Linux, not Windows and then emulating the Windows API on top of Windows. WINE is great and has uses but basing a distro around it really isn't a great idea as WINE changes so quickly. Also, most Linux distros that are popular don't even try to act like Windows (Ubuntu, Mint, Debian, Fedora, etc) and the ones that do act like Windows usually fade into obscurity, (Linux XP, etc).
Taxation is legalized theft, no more, no less.
Any software that was created in the past few years which vista 'broke' were most likely poorly designed or were associated with managing or doing the functions expected of the OS itself (with a few exceptions.)
Vista really isn't that 'buggy.' It is top heavy and uses way too much resources if you are only using it for limited things, but as a general purpose OS it really isn't that bad. I would still prefer Windows XP on new computers simply because I can get away with more power with a smaller investment in hardware, but I'm not necessarily 'against' Vista.
Comment removed based on user account deletion
I think the author of the article doesn't realize the difference between the legacy code and kernel architecture. Kernel architecture of windows is fine - its a hybrid kernel, which in general similar to Linux, you're not able to run in HPC on it, but hey, it is better than DOS! It's the legacy code that creates so much bloat, and swapping out the kernel won't change anything if the same mountain of code still runs.
Of course Microsoft could create virtualization layer, but then Linux has Qemu, Xen and Wine, and OS X has Parallels and Wine, and of course there is VMware, so if Microsoft would ever support legacy code through virtualization, alternative implementation of it would be release pretty quickly, and everybody here knows how Microsoft likes competition.
My guess there will be dying for the next 10-15 agonizing years, dragging any progress in the industry with them.
Bashing Vista has become like pouring hot grits on Natalie Portman around here. It's just a meme anymore. It was funny for awhile but now it's just old.
Vista really isn't all that bad. I still have XP machines (and Linux, and OS X, and Solaris, and OS/2 even) but I don't mind my Vista machine at all. I also run a lot of old apps on it just fine.
Are we not in the time where everyone and their brother is using virtual machines? It would seem that MS should relegate legacy support to virtual machines instead. They have the source code so they could "easily" create a VM (or some very transparent layer that makes it look like its running natively) for each version they've ever sold.
Then they can do whatever they want and just keep the VM layers up-to-date.
I surely can't be the first to think of this...
:wq
A kernel with:
-A file manager
-A web browser
-Multiple filesystem support
-Most extensive driver library in existence
-Office tools like Mail, WordPad, Calendar, Calculator, Contacts, Paint?
-Full command line environment (DOS)
-Complete media architecture in DirectX.. that's DirectSound DirectInput DirectDraw.. a LOT of big packages if it was Linux. Also Windows Media Player/Photo Gallery
-Graphics APIs and rendering engines
-Remote desktop
-Labyrinthe configuration utilities and applets
-Monster domain features.. detailed ACLs on every resource, complex user permissions, domain controls enforced on clients (integrated securely right into the interface)..
Especially on the last one you have to admit that Windows has done some things right, and anyway it's certainly not just a kernel image and a window server. People expect a complete environment for Getting Work Done.
What a whole lot of trolling effort.
Windows isn't a monolithic design. Its a hybrid kernel, and with every release of Windows Microsoft has seperated out user space even further, including dll-hell to further improve the paradigm.
One of the main guys behind Windows NT was David Cutler, a renowed software engineer and designer for VMS. Go and Google him, I can't be bothered to look up the URL.
That should at least give you a clue as to the seriousness of the product and what they set out to achieve: the copy bits of the system that mattered most to Microsoft.
Is that a challenge?
Static
Animated GIF
That you call DOS (or CMD, these days) a `full command line environment' really shows that you know very little about what you are talking about.
No, most people just want apps that do what they need to do. They don't care whether it's "Linux" or "Windows" or "both" or "neither". They don't even want an app, just to do what they need to do. Something that just runs Windows apps, because those do what people think they need to do, and does it without the crap that is Windows, but rather a simpler new paradigm, would be welcomed. Some of the extra Linux apps would probably be welcomed too, especially if they could be used side by side their familiar Windows apps. And they won't care whether it's running on top of "Linux", or "Winedows" or whatever, so long as it runs. Since Linux is a good basis to roll out a new PC OS on top of, especially with its existing developer and other community, which keeps any Linux-based OS compatible with most HW, it's a good means to that end. At an adequate degree of complexity, Wine doesn't "change", it just remains stable and the apps "just work". Which is a long way away still, but we're talking about a way to give people the "next generation" of PC environments. Without waiting for "Windows 8", or probably "Windows 9", or probably "Windows Never".
That's the point of new PC paradigms. Not to "do Windows" better, or to "do Linux" at all, but to make people's computers "do my job" better.
--
make install -not war
But... I can run the same thing on Linux in RAM with 512 MB (or less) of RAM and a 700 MB CD. When I install it it takes perhaps 2 GB of HD space for the exact same functionality.
-A file manager - There is Thunar in Xubuntu, Nautilus in Ubuntu and Konqueror in Kubuntu
-A web browser - Firefox
-Multiple filesystem support - Ubuntu can read/write more filesystems then Windows can
-Most extensive driver library in existence - Except for the fact that on 90% of hardware I can get Ubuntu to get everything to work out-of-the box except for proprietary drivers for ATI/nVidia cards and Ubuntu makes that easy, Windows is a pain to install without like 10 driver CDs or an OEM restore disk
-Office tools like Mail, WordPad, Calendar, Calculator, Contacts, Paint? - Thunderbird, OOo, a calendar program, a calculator program, various contacts programs and The GIMP
-Full command line environment (DOS) - Full UNIX shell (BASH) -Complete media architecture in DirectX.. that's DirectSound DirectInput -has Linux equivalents though I can't think of them off the top of my head -DirectDraw.. a LOT of big packages if it was Linux. Also Windows Media Player/Photo Gallery - Totem/Amarok for WMP
-Graphics APIs and rendering engines -Again, found on Linux
-Remote desktop - VNC/SSH
-Labyrinthe configuration utilities and applets -Don't really know what that is, a Wiki search returned nothing -Monster domain features.. detailed ACLs on every resource, complex user permissions, domain controls enforced on clients (integrated securely right into the interface). - UNIX-style permissions, secure by default
Just about everything you said is included on Linux on a *Buntu default install, or can be added without going over what Vista has installed. Sorry to say, but really Vista is just pure bloat. Lets see what is in a default * Buntu install that Windows doesn't have...
Full Office Suite - OOo
Photoshop Replacement - The GIMP
Various network services - Telnet, SSH, etc
(*real*)3-D Desktop - Compiz-Fusion
Multiple Desktops
PDF Reader
Various support for files that Windows doesn't have by default (Ogg, FLAC, etc)
As you can see, Windows just can't compete with Linux when it comes to programs per storage space. In 5 gigs of a Vista install you get just about only the default install, in 5 gigs of a Ubuntu install, you get the default install, plus some of your files, some development tools, some more games, a few more applications, etc.
Taxation is legalized theft, no more, no less.
Everything on your list sans the last one, and much more could fit on a fucking LiveCD, and expand to a couple of gigabytes. Even Windows XP had all that and it fit onto a 3 gig partition easily. Microsoft has no excuse for Vista's size, other than sheer incompetence.
But the entry that totally shows how clueless your post is happens to be this one:
Multiple filesystem support
Oh please. NTFS, FAT, ISO+Joilet, UDF, a couple of network "filesystems" perhaps? The Linux kernel contains many times as many filesystems, and even if you enable all of them, your kernel image will hardly ever be more than 20-30 megabytes when you compile it. You just needed to put something on what is a short list, didn't you?
As for Most extensive driver library in existence, it's not true. Most drivers come either through Windows Update (network) or via the vendor (install CD or website). Out of the box, Windows support the bare minimum it needs to run with terrible performance.
Last but not least, all the stuff falling under monster domain features is functionality. Lots of source code which gets compiled into tiny binaries. Since when does implementing "ACLs on every resource" or "domain controls enforced" on clients require gigabytes of data?
The rest will produce "The Wit and Wisdom of George W. Bush".
Having run Vista32 on this laptop when new, and just recently moved to Vista X64, I agree.
I turned most of the "eye candy" off on 32 bit, but 64 doesn't seem to get bogged down nearly as bad with the eye candy turned on. NOTHING else was changed, only the OS.
Anywho, yes, Vista is fine. Pisses me off that I can't run Win16 apps on Win64 (like, install C&C, for instance), but oh well.
I think I'll try 64 bit linux next.. Never tried a 64 bit rev... Any suggestions? I've always run Slackware since my first install, but it's not always the most "hardware friendly". It's a HP DV2000 based laptop, x64 1 gig ram.
--Toll_Free
No. The code bases were to merge at Windows 2000 Professional. Windows 95/98/ME were based on DOS. Win2K was the merge point at server and 'desktop'. XP came after Win2K, sealing the fate. At Vista, support for 8/16-bit code using DOS functionality essentially died. Try Duke Nukem II if you're unsure.
---- Teach Peace. It's Cheaper Than War.
If only I had mod points today... ;-)
Seriously, I'm not a fan of MS by any standards but I have Vista installed on my desktop box and it annoys me less than XP on my laptop does. It's not a bad OS really and good enough for me not to scrub it and install Linux instead. Years ago, I couldn't stand Windows and always hosed the HD so I could put Mandrake or Debian on, but now I find Vista to easily be good enough.
bang goes my karma... again...
Make the engine, upon which the winning succinct byte code runs, a new W3C standard browser programming language (or at least virtual machine) and reduce the Microsoft OS CD to those components required to create a web-delivered application platform using the winning engine. Such an engine would, of course, have some features that dynamically encached expansions, memoizations, tablings and/or materialized views similar to the Hotspot optimization technology that originated with the Self programming language (and was later adopted by Sun's Java Virtual Machine). Hence it would make sense to have the OS CD contain a partially pre-expanded hence time-optimized code base.
Then, for delivery of software services to pre-existing platforms, create a legacy port of the services code to pre-existing W3C standards like XForms implemented in a downloadable ECMAScript Client/SOA library in a manner similar to the way TIBET(tm) does. The idea is to go "Live", ie: web-delivered, with a fundamentally new W3C base (whatever engine won the prize) but support legacy W3C environments for migration.
Again, this prize-oriented strategy would, of course, require a rigorous specification of the software services so the testing could be largely automated.
This approach addresses Microsoft's 2 biggest problems deriving from the same fundamental reality: Everyone has needed their OS to interoperate with the bulk of the information industry.
The first problem is ethical and really goes beyond the scope of my professional opinions to my public opinions about the support of property rights. Suffice to say, I have no trouble with someone who goes after a natural monopoly position and succeeds. I have a problem with someone who then refuses to use that position of success to fix the bug in the society that made them inordinately rich and their technology inordinately influential.
The second problem is technical, which is what my argument here is really all about.
Basically Microsoft's code bloat problem derives from its monopoly position. This may seem like a truism since all of the software "profession" suffers from code bloat, but only Microsoft can take this to monopolistic proportions -- proportions that make Ma Bell's monopolistic complexities of yore look Spartan.
So Microsoft has this problem and it has many programmers (contributing to the code-bloat problem). It also has mountains of cash.
So how can Microsoft bust its own monopoly position turning its many programmers and mountains of cash into succinct code?
Monetary Incentives for the Programmers, ala the Hutter Prize:
S = size of uncompressed code-base
P = size of program outputting the uncompressed code-base
R = S/P (the compression ratio).
Award monies in a manner similar to the M-Prize:
Previous record ratio: R0
New record ratio: R1=R0+X
Fund contains: $Z at the time of the new record
Winner receives: $Z * (X/(R0+X))
It may turn out that due the incomputability of Kolmogorov complexity, the growth of reward may need ultimatelyto go exponential but the principle remains true.
What happens very rapidly is the programmers first apply their skills to maximally refactoring. What falls out is a series of legacy API layers written atop a tight core.
They'd have to spend more money on code testing to verify the compressed code-bases of the competing teams actually worked to spec but the results should be quite gratifying.
Seastead this.
Yes, but look at relative hard drive capacities and prices. When the first version of OS X was released hard drives were a lot smaller and a lot more expensive than they are right now. Adding a few GBs for a compatibility VM would not be necessarily excessive--and if that VM was essentially Windows XP with all of the extras stripped out I don't think that a target size of a few GB would be too difficult at all. The other thing to realize though is that Vista was a large change architecturally (although not necessarily on the surface) from XP and these major changes (mostly in terms of sound and video frameworks) accounted for more problems (NVidia's drivers, especially) in many cases than the OS itself. Windows Vista introduced several new technologies. Windows 7 will be by contrast an evolutionary release and will refine and enhance that which is present in Vista rather than trying to introduce too many radical new changes at the OS level. While Windows 8 may be (and probably IS) a very good candidate for dropping legacy compatibility and implementing it with a VM or some similar plan, Microsoft desperately needs a stable, well supported OS right now, not *more* changes.
The extra 30GB is to hold the fine print on the new EULA.
Do not mock my vision of impractical footwear
Spin off a new company whose sole mission is to support legacy Windows applications. You really have to make this fork at the "corporate mission" level. Since their mission would be archival and historic support, the Legacy Windows Corp could even get excited about supporting customer's custom code that works perfectly well but is threatened by forced upgrades.
Eh?
Speaking for my own work in Microsoft, we get a ton of cool stuff from MSR in little ways. I've probably got a half-dozen interesting video things I'm talking with them about. None of which will be a product in itself, but would be incorporated into improvements to existing products and platforms.
One cool thing that came out of MSR in my own work is the new video deinterlacer in Expression Encoder 2. Huge improvement over the old one in Windows Media Encoder. It didn't get a big "Produced by Microsoft Research!" on the box or anything, but that's an example of MSR technlogy making it into a product.
My video compression blog
I'm not sure what you're trying to point out with your link. Existing Qt 32-bit applications continue to work, and either Apple will provide 64-bit Carbon in an update or they'll fix the HIView dependent Qt libraries when they transition away from Carbon. This issue has a negligible impact, and has nothing to do with "stuff suddenly disappearing" as you imply.
I've been developing, publishing, supporting, and updating my Mac shareware program for 12 years - since Mac OS 7.5. Originally written to the Mac OS classic toolbox, I adapted it to CarbonLib in 1999 with some effort, to get ready for Mac OS 9, and I ported it to Carbon OS X in 2001, making it much better in the process. And I'll be porting it to Cocoa later this year, and taking it an entirely new level through the use of the latest Mac OS X APIs for compositing and animation.
All along the way Apple has been great, and always getting better, especially since they released XCode. The tools are free, very usable, and every bit of API documentation is right there in XCode. And now they've released Cocoa 2, which is just a clear and wonderful programming API.
Apple may have made a lot of changes over the last 12 years, but the changes have been constant improvements, and have had minimal impact on legacy applications. I am grateful for the quality of the work they do to save me time and make the work easier. And as a guy who started programming as a young hobbyist, I'm especially happy to see Apple giving away their development tools for free. It means kids can stumble into programming just like I did way back in 1977.
-- thinkyhead software and media
Today's Apple isn't the same Apple. When you replace all of your computers internal components and reinstall a completely different OS, isn't it a completely different computer, even though it has the same case?
"Fakes?" said Vimes. "They were all fakes?"
Suddenly the King was holding his mining axe again. "This, milord, is my family's axe. We have owned it for almost nine hundred years, see. Of course, sometimes it needed a new blade. And sometimes it has required a new handle, new designs on the metalwork, a little refreshing of the ornamentation... but is this not the nine-hundred-year-old axe of my family? And because it has changed gently over time, it is still a pretty good axe, y'know. Pretty good. Will you tell me this is a fake too?"
Ignore this signature. By order.