The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

after Vista - what's left for the Operating System?

Hi All,

Vista hasn't exactly been a resounding success...soooooo...what next? I'm interested in your thoughts on:

1) From a development/technical perspective - what would be on your wish list for Microsoft's next O/S - features/standards/other?

2) From an ordinary user perpective - what does a new O/S system need to be compelling enough to draw people away from XP (which, on the whole, seems to be enough for a lot of users) - killer features anyone? Or something on the design/aesthetics side?

I'm all ears...
Mindful
mindful_learner Send private email
Saturday, October 13, 2007
 
 
Fun question!  My 2 cent opinion:

An ideal operating system should:
* Run programs locally, with all the benefits that entails
  - Data stored on your own private machine;
  - Processing + graphics + video + computation done on your dedicated CPU;
  - Access to local hardware;

While simultaneously:

* Run programs online, with all the benefits of that   
  - No installation
  - Updates are instant and automatic
  - Centralized data store, allowing social interactions, collaborative filtering, 'wisdom-of-crowds', sharing of data

And:

* Provides a development and business ecosystem
  - People make money from creating good apps or services
  - Excellent development tools for both local and online
  - Widespread distribution

The fight shouldn't be between desktop apps (Windows-style) and web apps (Google-style).  An operating system that can provide the best of both would be ideal.

That OS could emerge from either direction.  Maybe Flash or Apollo  or WPF or some super-Javascript library will gain enough dominance to make it easy to write web apps that can use the strengths of the client.

Or maybe Windows will evolve to be a combination of client-side and server-side platform (which is kind of what .NET seems to want to aim for)
AndrewMcG Send private email
Saturday, October 13, 2007
 
 
There's probably a lot I missed, but here's some of what I'd like to see in the next OS:

- First, eliminate the requirement for it to be backward compatible with Vista/XP. If necessary, have older apps run through a slower emulation layer. But MS needs to get rid of backwards compatible in order to innovate.

- Get rid of the registry. And eliminate the mindset of having to install/uninstall programs, instead, a simpler method of copying programs over to an apps directory should work. To uninstall it, just delete the directory.

- Have a runtime memory garbage collection library be built into the API.

- Have a dynamic scripting language be built into the OS.

- Support an Objective-C/Cocoa-like interface in the API. For instance, to code drag and drop or clipboard operations, you would run the interpreted dynamic language construct that 'sends' a message to the target object a la objective-c. Borrow the best idea from OS X development.

- (nice to have item as kind of ambitious) Allow OS multitasking but on multiple machines. For instance, if I had several machines running on the new OS connected on the network, I would be able to borrow CPU cycles on the other machine by being able to run a process or thread on the other machine's CPU. In effect, this is like allowing the OS to be distributed on multiple machines.
rob Send private email
Saturday, October 13, 2007
 
 
"- Have a runtime memory garbage collection library be built into the API."

Yeah I hear you!  M#ST tried to do that with the whole .NET thing.

Saturday, October 13, 2007
 
 
Hmmm - stealing the clothes of Unix?
Mergatroid Merryweather
Saturday, October 13, 2007
 
 
I think the time has come for a break with old 16 bit app compatibility, with a 64-bit only OS. Perhaps support could be provided via Virtualisation; which should be a big part of a new OS by itself, both for the benefits already mentioned and the security and robustness benefits of isolating various processes away from each other.

Better file system support - If Microsoft want to only support FAT, NTFS, WinFS themselves that's fine but it should be easy to extend the OS with support for other formats.

If we _have_ to have things like DRM, make them an _optional_ component for people who want to play with the new media types. E.G. I have to decide whether or not I want Media Centre installed. If I do then I get DRM as part of that, but otherwise it isn't on my system.

UAC - do I have to explain why this needs to be looked at again?

UI - If we're gonna be ripping off Apple, can we do it properly? If not, can we not do it at all?

Interoperability and standards - I don't care whose fault it is that my windows vista desktop can't talk to my linux server or apple laptop easily, I just want it [CENSORED] fixed ;-)
Rob Moir Send private email
Saturday, October 13, 2007
 
 
"First, eliminate the requirement for it to be backward compatible with Vista/XP"
Wow, and you think they're having difficulty getting people onto Vista. Those stories you've heard about all those thousands of line of business applications written in VB3 with the source code stored in a Visual SourceSafe database running on a 400mhz Pentium II computer with cobwebs in the CPU where noone in the company has a copy of VB3 installed any more - they're not myths. Heck, where I work they're still writing new code in COBOL.

That *might* benefit *some* consumers - but just as many are going to be pissed off that their favourite games don't work on the new version and the games companies are not going to update them - there's no ROI in that.

----------------

Ok, on topic:
->Framework for delivering applications that combines at least most of the benefits of desktop and web apps. Could be the opportunity MS has been looking for for the last 10 years to make a MS-only web too (at least until Miguel de Icaza makes a Linux version...)
->Nifty little utilities/shell enhancements that make user's days brighter. There are a bunch of them in Vista, and there are an infinite number of extra ones which are possible.
->Figuring out better ways to help the RIAA/MPAA keep control what people can do with their computers.

Plenty of room for innovation :)
Jivlain Send private email
Saturday, October 13, 2007
 
 
Some random thoughts:

- Allow migration of running applications between OS environments (a bit like VMware VMotion).

- Have an integral virtual machine that really is as efficient as writing in a non-portable language

- Allow all resources (memory, disk, not just databases) to enlist in transactions

- Fault tolerance and recovery.
Arethuza
Saturday, October 13, 2007
 
 
I'd like to see the consumer and business editions diverge at a more substantial level, both types of user suffer because of the compromises needed to support each of them.
Tony Edgecombe Send private email
Saturday, October 13, 2007
 
 
Fair point from Tony. I thought about putting something along those lines too, then I realised that is what used to be NT4 and Win98, which they made a big effort to converge for various reasons.

There's a cost reduction in only developing one desktop OS, market issues with lots of versions of the "same" product (heck things are bad enough as it is for Vista there) and training costs are favourable with only one version of reasons (e.g. it helps microsoft sell to the home when your business and home PCs run the same system, and it helps business keep the cost of running/using windows down when your users have the same OS at home and at work).

For all that, I agree with Tony that the compromises are killing both versions. I'm just not so sure there's a clear path out of that jungle.
Rob Moir Send private email
Saturday, October 13, 2007
 
 
The sad part is that the only way for Microsoft to innovate/fix Windows is also the path to their destruction:  They *should* scrap the whole thing, rewrite it from the ground up and base it on UNIX like Apple did, but that would kill backwards compatibility and all those cheapskate companies running said VB3 app for 15 years will have nowhere to go, because their shitty app won't run on it and they won't pay to have it redone with modern tools.

Out of curiosity though, how did Apple pull that trick off successfully when they first released OSX?  It wasn't compatible with OS 9, but there was a way to run OS 9 apps on it right?  Could Microsoft not borrow that method and do the same thing?
The Ruby Warlock
Saturday, October 13, 2007
 
 
"Out of curiosity though, how did Apple pull that trick off successfully when they first released OSX?"

They had a significantly smaller user base that didn't include many enterprise-level clients.

It's much easier to right a capsized canoe than the Poseidon.
Pundit
Saturday, October 13, 2007
 
 
Not about the future OS versions, but about the old OS versions (and maybe Office and anything else) they don't sell anymore. How about releasing those as Open Source?

And if MS really wants to surprise people to the DEATH: As GPL.
About things that will never happen.
Saturday, October 13, 2007
 
 
I get this a lot. "Microsoft should do a new OS based on UNIX". Why?

What does UNIX have that Windows, as in the operating system formerly referred to as NT, does not? What does UNIX do better?
Raj Chaudhuri Send private email
Saturday, October 13, 2007
 
 
The biggest problem with Windows, in my opinion, is that it's not taught/learned/used properly. There are very few resources that do justice to it. Consequently, many things that *are already in Windows* are unknown to most people.

Allow me to illustrate a few random examples of unknown/ignored things in Windows, using points raised in previous posts. For these examples, I will consider the .NET Framework a part of Windows, as it is in Vista.

>>Get rid of the registry. And eliminate the mindset of having to install/uninstall programs, instead, a simpler method of copying programs over to an apps directory should work. To uninstall it, just delete the directory.
I do not agree with getting rid of the registry, but there are at least three different ways of doing this in Windows already, including COM components. You could create staight Win32 apps, straight .NET apps, and COM apps with manifests (registration-less COM). As a side point, the real reason for install/uninstall (IMO) is the not the application itself, but the "operating environment", as in, the Start menu, Windows Explorer integration, clipboard formats, per-user profiles etc.

>> - Have a runtime memory garbage collection library be built into the API.
There are two such libraries already: COM and the .NET Framework.

>> Better file system support - If Microsoft want to only support FAT, NTFS, WinFS themselves that's fine but it should be easy to extend the OS with support for other formats.
It is quite easy, but it does cost $130 or so. The Microsoft IFS (INstallable File System) Kit is a little complicated to obtain, but only in terms of administrative hassles. As as example of what can be done with it, take a look at http://www.fs-driver.org.

>> - Allow all resources (memory, disk, not just databases) to enlist in transactions
The Vista version of NTFS now has formal transactions built-in, and transaction semantics could be used for anything using COM+ compensatory transactions since Windows 2000.

>> Out of curiosity though, how did Apple pull that trick off successfully when they first released OSX?  It wasn't compatible with OS 9, but there was a way to run OS 9 apps on it right?
Windows (NT family) pulled this trick off even more successfully, twice. 16-bit DOS apps, and Win16 apps. Three times, actually. Win16 on Win9x and Win16 on Windows NT (WoW) were quite different. Right, make it four times, with WoW32 on Win64.

VB3 apps were mentioned in earlier posts. VB3 apps are *Win16* apps - made for a very different "operating system". They run on Windows XP. That's like OS9 apps on OS X.
Raj Chaudhuri Send private email
Saturday, October 13, 2007
 
 
I would really like a setup where I could fire up any old PC, connect to some web server, and have it instantly recognize all my preferences - eg. what apps I have setup, what my FireFox bookmarks are, my Outlook email addresses, etc. - so that no matter what PC I use, it looks like my "primary" PC. Yes, I am aware that RDC does this, in a way; I guess I am talking about something like RDC but with the logic running locally and less graphics going over the wire.
Greg Send private email
Saturday, October 13, 2007
 
 
"... all those cheapskate companies running said VB3 app for 15 years ..."

Hey, wait a minute.  That's me.  I tried and tried and tried to market an app through the '90s in a very small market sphere. Only was able to convince 36 companies to buy and finally gave up.  It was a DOS app written in Clipper using Advantage as a DB.  I stopped development in 1999 but still have at least four of those 36 still using the app today - I just upgraded a client this past summer to XP.

I'm not a cheapskate but my clients were and remain so.

Am I going to spend $100K rewriting a DOS app in the latest Window variant language to satisfy an O/S?  Not for the $20K I might get from those clients, I'm not.

I don't advocate MS sticking with DOS 1.0-level compatibility for decades but please think a bit about the zillions of companies whose vendors were forced out of the market yet those apps are the ONLY ones which satisfy their needs.
Karl Perry Send private email
Saturday, October 13, 2007
 
 
> I will consider the .NET Framework a part of Windows, as it is in Vista.

"Comes with" is not "part of."  .Net isn't like IE or Jet or something.
Codger
Saturday, October 13, 2007
 
 
>>"Out of curiosity though, how did Apple pull that trick off successfully when they first released OSX?  It wasn't compatible with OS 9,"

The answer is simple.  Microsoft 90% market share.  Apple 5%.

The number of people screwed by incompatibilites in OSX is so small that nobody cared.
Richard McBeef
Saturday, October 13, 2007
 
 
>>"Get rid of the registry. And eliminate the mindset of having to install/uninstall programs,  To uninstall it, just delete the directory."

This isn't Microsoft's fault.  It's caused by stupid programmers.  There is absolutely *NOTHING* preventing people from writing programs that do exactly what you describe.
Richard McBeef
Saturday, October 13, 2007
 
 
All of these posts deal with technical issues. 0% of users care about that. Sure, developers care, but they are less than 1% of users.

What people want from Windows is to be able to use it. People are constantly asking me "Why is my computer running so slow" and "Is it possible to underline words in Word?" and "What happened to all my email, it just disappeared."

There are still huge problems in usability for basic tasks, mysterious occurrences, and the #1 problem, malware, MS hasn't tried to address at ALL other than to try to use it as an excuse to implement a lot of draconian DRM schemes to increase their profits, create further nightmares for customers, and to do nothing really about malware.

Windows sucks. What are we going to do about THAT before we start talking about adding a bunch of foo foo features no one cares about except developers.
Scott
Saturday, October 13, 2007
 
 
re: backward compatibility

While I agree that this would be a deal-killer for many business users running legacy software (and a smaller number of consumers running old games), I think this is a necessary evil that will either be forced on us once Windows marketshare declines to the point where OS X becomes a real threat. The growth of an OS does not lie in people running old stuff on it, but on people developing entirely new applications we haven't even imagined yet.

Besides, you'll still have the XP/Vista emulation layer to run those old apps on.

re: registry, install/uninstall not really necessary in current OS

I was referring to changing the basic trait of Windows systems where apps are expected to store their preferences in the registry, use setup.exe to copy itself to the Start program files, etc. By either de-emphasizing or even eliminating altogether these mechanisms, we can train the next generation of programmers to think differently on how their apps should be installed.

In other words, the next version of Windows should be a reinvention of it. Companies that don't reinvent itself after every couple of years typically don't stay dominant for too long.
rob Send private email
Saturday, October 13, 2007
 
 
> All of these posts deal with technical issues. 0% of users care about that. Sure, developers care, but they are less than 1% of users.

Maybe try posting in a user's forum?
S. Nationalie
Saturday, October 13, 2007
 
 
Just copy some more features from OSX such as Time Machine.
Jeff Bloom Send private email
Saturday, October 13, 2007
 
 
S. Nationalie, please read the original post. He asks for perspectives on what features are needed from (1) the developers POV and (2) the users. The responses were looking at private developer wish list, when that is a minute number of Windows users, and Windows has great development tools already anyway. The problems people have with Windows are not the development tools available. Not at all. But if you really want to look at what developers SHOULD be asking for, it is what can we do to help the users and to address their problems. That developers REFUSE to deal with things on this level shows why it's no loss to outsource their jobs to code monkeys. Developers bring no value to design, so that makes them interchangeable. The rare exception is developers like myself who are constantly looking at feedback from users, eating my own dogfood, and advocating for the users. 99% of developers are such geek dweebs they will NEVER be able to see things from the user's perspective. Faced with the FACT that most Windows machines are full of malware, developers just shrug and say 'well they should have reconfigured their firewall' and 'well they shouldn't have clicked on that mail attachment' and 'well they should have known better than to reply to a phish that went to a web site with an exploit'. This is the WRONG perspective. The problem is that Windows is susceptible to these failures at all, NOT that the users can infect their machines while doing ordinary run of the mill events like reading mail or visiting a web site. Developers are in a major state of denial about this, especially at Microsoft.
Scott
Saturday, October 13, 2007
 
 
"Just copy some more features from OSX such as Time Machine."

Actually Time Machine was "copied" from Windows if we're going to be like that. Check out Volume Shadow Copies, implemented as a server technology in 2003 for Windows Server 2003 and on the desktop for Vista, which as late as it is, launched before Leopard.

In other words, if we're going back to the old "copying features" thing *sigh* then Apple actually "stole" the concept behind Time Machine from Windows, regardless of whatever metric you want to use for which OS had it first.

And in time honoured tradition, which ever OS you want to believe won this round actually stole/re-hashed this technology from older OSes anyway.
Rob Moir Send private email
Sunday, October 14, 2007
 
 
Personally, I'm happy with XP, though I will get a copy of Vista sometime soon. And Leopard when it comes out.

Things I would change in XP:

Make system still responsive when you insert a CD, try to browse to a network folder or printer that isn't there, etc.

Fix the GDI stuff where the desktop isn't shown if you minimise a crashing or working-hard app (give more priority to the system when something is eating the cpu, I guess).

and in Tiger:

Make it more responsive (new message in Mail takes seconds, sometimes - on a new MacBook).

Aside from that, I'm *fairly* happy with XP and OS X - assuming you don't bog XP down with bloat.
David Evans
Sunday, October 14, 2007
 
 
After the Edsel, what's left for the car industry?
Norman Diamond
Sunday, October 14, 2007
 
 
If MS broke legacy support people would seriously start looking at Linux. After all if your new OS won't run your apps why pay for the privilege.

With regard to non-responsiveness when a CD is inserted, I think some of these problems are solved by dual core CPUs - a truly fabulous hardware innovation.

People will give up on XP when MS stops issuing security updates.
Stephen Jones Send private email
Sunday, October 14, 2007
 
 
Volume Shadow Copy has nothing to do with Time Machine other than both are in the backup realm of applications. Surely you are not claiming that MS invented backup?

You should look at the Time Machine demos - it maintains a continuous history of everything on your machine with changes at the file level, and you can go back and grab whatever deleted or previous version of a file you want.

The functionality of Volume Shadow Copy has been in OS X since the beginning, and in unix for 30 years.
Scott
Sunday, October 14, 2007
 
 
"Volume Shadow Copy has nothing to do with Time Machine other than both are in the backup realm of applications. Surely you are not claiming that MS invented backup?"

System Restore back in WinMe.
.
Monday, October 15, 2007
 
 
Scott,
I'm well aware of what Time Machine does. I'm a keen Mac user at home and I've done more than "look at the demos" too. I'm starting to wonder if you are aware of what Volume Shadow Copies does. I'll give you a hint

"You should look at Volume Shadow Copies - it maintains a continuous history (up to a limit anyway) of everything on your machine with changes at the file level, and you can go back and grab whatever deleted or previous version of a file you want."

If that sounds like your description of time machine with just the name changed, well there's a very good reason for that. Admittedly it's not as pretty as Time Machine but when you consider the different markets each product is being sold into that shouldn't be a surprise.

And as I also said before, whichever one of those two you think got the idea first was not the first OS to implement something like this.

I'm actually seeing very little real innovation in either of the two "big" desktop operating systems right now. Spaces is just implementing something that's been around in UNIX windowing systems for a long time. Flip3D is a very poor answer to Expose. Time Machine is a prettier version of VSS, Aero is bling that adds nothing to the OS...
Rob Moir Send private email
Monday, October 15, 2007
 
 
Backwards computability could be done through a virtual machine layer.  Applications shouldn't have many problems with that.  Map the video drivers/DirectX/OpenGL to native code and you have games working.  Make the system interface with the desktop directly, so the user can't even tell the application is running in a virtual machine; it interacts with the user desktop like a normal application would today [Reminds me strongly of X-Windows or Terminal Services channels]  I figured that was what Microsoft was working on when MS purchased Virtual PC. 

What I'd like to see:
No registry.  I've always hated this thing.  Unix text configs are better, but not too much: there are too many formats.  How about some common configuration format, maybe using some type of Extensible Markup Language?

No drive letters.  I've always found the unix way to make more sense.  Many people will disagree, but dang it, it's my list of things I'd like to see.
ThatPerlGuy Send private email
Monday, October 15, 2007
 
 
"... all those cheapskate companies running said VB3 app for 15 years will have nowhere to go, because their shitty app won't run on it and they won't pay to have it redone with modern tools."

You've got some typos in there. Let me fix those for ya:

"...all those *fiscally responsible* companies running said VB3 app for 15 years will have nowhere to go, because their *well-written* app *that has performed its intended function without fail* won't run on it and they *don't need to* pay to have it redone with modern tools."


Analogy time:

I've got a 25-year-old fridge in my kitchen. Even if a new one saves me 50% of the electricity used it would take about 13 years to pay back the cost of buying the new one. And don't talk to me about the environmental cost of that wasted power, since the impact of manufacturing the new one dwarfs the power used over its lifetime.

If you think you're saving money, or helping the environment, by scrapping working appliances in favor of newer, more-efficient ones, you've fallen for someone's marketing plan. Just like all the people who want to re-write functioning apps in the cool new language du jour.
Drew Kime Send private email
Monday, October 15, 2007
 
 
+1 Drew

Companies should be looking at re-writing apps where needed. They absolutely should not be running out blindly updating stuff that works fine "just because". We write/buy/administer code to solve business problems, we don't create business problems so that we can have fun with computers.

And the cost of being forced to do a re-write because of an OS upgrade is a cost that belongs to your OS roll-out project, not the project for that bit of software.
Rob Moir Send private email
Monday, October 15, 2007
 
 
Scott: "Faced with the FACT that most Windows machines are full of malware, developers just shrug and say 'well they should have reconfigured their firewall' and 'well they shouldn't have clicked on that mail attachment' and 'well they should have known better than to reply to a phish that went to a web site with an exploit'. This is the WRONG perspective. The problem is that Windows is susceptible to these failures at all, NOT that the users can infect their machines while doing ordinary run of the mill events like reading mail or visiting a web site."

Right. And when MS did start to tighten things up (XP SP2 with Windows Firewall, and then UAC in Vista) people like you were the first to bitch about what a pain it was to have to enter your adminstrator's password in order to do stuff.

MS is making progress. And people in this day and age, with all of the publicity about malware and phishing, should have the basic intelligence to say to themselves "Oh, yeah. I heard about that thing with Bank of America and the scam. I better check before I click that link and go update my account information."

It's dumb-ass people who won't make the effort to keep up to date with stuff that's a threat, or at least avoid exposing themselves to the threats, that are the problem. So are the people who bitch about the little extra inconvenience caused by UAC and turn it off. So are the developers who insist on still writing data files to their folder under Program Files, even though that's been depreciated since the release of XP. So are the people who run around screaming "MS SUX! Use Linux! Ubuntu rules! OSS is the answer to global warming, world peace, and starvation in third world countries!".

The solution is education. Educate the users about using a firewall, antivirus software, and malware checking. Educate the developers about not running as administrators  when they write software, so that they properly support UAC. After all, Linux users learn early on that you shouldn't do everything as root, don't they? That's education, whether it be from someone telling you, or reading it in a book, or running as root and getting burnt. Educate network admins to not allow people to have local admin rights on their machines without a damned good reason, and to use a proxy server if they have to to protect their users and network.

"Developers are in a major state of denial about this, especially at Microsoft."

Nope. You're in denial if you don't think MS is addressing things of this nature. I guess you're just another one of those "GPL everything on the planet!" people.
Ken White Send private email
Thursday, October 18, 2007
 
 
There are some good principles behind UAC, but it still has some problems.

If an ordinary user wants to install an application for their personal use, but the application is designed to be installed using an installer, then the user (or an administrator) has to select an administrative account and type its password.  So far, so good, right?  But then the application ends up being installed for personal use by that administrative account instead of the original ordinary user, and the original ordinary user still can't use it.

Among the famous problems of Visual Studio 2005 (with patches) and Vista (with patches), Microsoft still recommends being an elevated administrator while running Visual Studio 2005.  One reason is that if you compile a COM component then Visual Studio 2005 tries to register it.  So if you give in and run Visual Studio 2005 as an elevated administrator, but then next time you want to revert to using it as an ordinary user, it can't even write its output files any more.

So UAC still needs work.  And this is the best part of Vista.
Norman Diamond
Friday, October 19, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz