Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us
topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • December 04, 2016, 02:21:01 AM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Broken Windows Theory  (Read 6673 times)

Mark0

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 617
    • View Profile
    • Mark's home
    • Donate to Member
Broken Windows Theory
« on: June 15, 2006, 08:04:57 AM »
An interesting post by a MS blogger, about the "inner workings" behind Vista development.

Link: http://blogs.msdn.co...06/06/14/631438.aspx

Quote
[...]
Windows code is too complicated.  It’s not the components themselves, it’s their interdependencies.  An architectural diagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular dependencies).  After working in Windows for five years, you understand only, say, two of them.  Add to this the fact that building Windows on a dual-proc dev box takes nearly 24 hours, and you’ll be slow enough to drive Miss Daisy.
[...]

Bye!

JavaJones

  • Review 2.0 Designer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 2,717
    • View Profile
    • Donate to Member
Re: Broken Windows Theory
« Reply #1 on: June 16, 2006, 11:41:09 PM »
It's a shame that with all that money and development talent they are unable to really rally behind a common "meta goal". That really seems to be the problem there to me - they can't even agree on a realistic release date. It seems like Vista is a true product of committee design. So the question then becomes, is it possible for a project of that size *not* to be?

Obviously you have to look at the Linux community and its development process for an example of a project (projects) of similar scale that work very differently. Perhaps there are lessons to be learned there. Part of what makes Linux actually work is that there are a very few common goals that inspire everyone who is involved, and those who are involved are there because they really want to be. There's a lot to be said for personal inspiration and motivation as opposed to simple monetary incentive.

Ultimately it seems like everyone wants some similar things in the basic parts of an OS. So that's the stuff that should really be hammered on for the core. In a way it almost seems like anything that people can't agree on readily should be dropped from the core OS (by which I mean the product that eventually goes on sale). Obviously that's a bit extreme and you wouldn't have much of an OS if you did that, but taking a less "we must include everything by default" approach could be part of the answer to this "uncontrollable" development. Truly modularizing Windows so that the core is small enough to be manageable and the team that works on that core can really make it fast, secure and stable, presenting the other teams only with interface logic to their core systems (in other words get rid of all these interdependencies the article mentions).

That's probably not quite feasible either, but it seems like making the project more manageable is critical. That doesn't necessarily mean *centrally* manageable, it could even mean somehow *self* managing, which in some sense is the way much of the open source community often works. So that's back up to the first points. Common goals and personal inspiration = robust core feature sets. Where open source tends to fail is UI design and consistent presentation. Maybe this is where you lock a couple really good designers in a room and have them just hash everything out...

Wait, I'm just rambling. I have no idea what I'm talking about. But I swear I started with some interesting ideas. :D Oh well, I'm probably too hungry to think rationally at the moment. ;) But, like many here I'm sure, I've had a whole lot of "great" ideas for "the perfect" OS over the years, so it's hard to resist yammering on a bit when a subject like this comes up. Ultimately I think I'm just (once again) disappointed that MS squanders (IMO) their massive resources.

- Oshyan

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 858
    • View Profile
    • linkerror
    • Donate to Member
Re: Broken Windows Theory
« Reply #2 on: June 16, 2006, 11:51:20 PM »
Why don't they use a compile farm with many of those dual cpu boxes?
Why don't they have a modular design where you only have to compile what needs to be compiled?
...

JavaJones

  • Review 2.0 Designer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 2,717
    • View Profile
    • Donate to Member
Re: Broken Windows Theory
« Reply #3 on: June 16, 2006, 11:57:40 PM »
I think modularity in general would be a good thing for an OS this massive and complex. If nothing else it gives you clear divisions for teams to aid management. Working with encapsulated modules that only interact with other bits through appropriate interfaces would surely be the sensible approach to all the major goals of an OS - stability, flexibility, security, etc.

- Oshyan

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: Broken Windows Theory
« Reply #4 on: June 17, 2006, 04:31:56 AM »
Why don't they use a compile farm with many of those dual cpu boxes?
Why don't they have a modular design where you only have to compile what needs to be compiled?
...
You're right about the first part, they should use clustering or something like that. I believe they do use, i think that guy was just giving an example, to explain how big windows actually is.
As for modular design, with all those dependencies, probably it's not possible. (i mean, they're supposed to be some of the best engeneers.. ;) )

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,029
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Broken Windows Theory
« Reply #5 on: June 17, 2006, 06:03:54 AM »
Why don't they use a compile farm with many of those dual cpu boxes?
Why don't they have a modular design where you only have to compile what needs to be compiled?
...

My guess would be recompiling the *entire* source is 24 hours - and that smaller changes takes a smaller amount of time. And I'm also pretty sure Microsoft has some pretty nifty clusters...
- carpe noctem

JavaJones

  • Review 2.0 Designer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 2,717
    • View Profile
    • Donate to Member
Re: Broken Windows Theory
« Reply #6 on: June 18, 2006, 07:54:38 PM »
Sure, but aren't the dependencies *part of the problem*? :D I'm not suggesting they try to modulurize *at this point*. It just seems like if they'd taken that approach from the beginning on such a major rewrite of Windows, they might have avoided some of these issues.

Imagine for example being able to ship a new core OS in a basic form to businesses, perhaps even a year earlier than to OEM's, etc. because all they need is the core. Additional modules are then completed and can be bundled as future versions of the OS, Vista 1.1, or Vista Home, Home Premium, etc. The business users could even buy additional modules as needed, or subscribe to some premium package that would give them access to install whatever modules they wanted. Businesses could even get more efficient "out of the box" versions of Windows as a result.

Basically it seems to me they're trying to do it all virtually simultaneously it seems (yes the release for consumers will be a bit later, but as far development for home vs. pro features it seems to be making the same progress). Of course they had to create a stable kernel first, but then they have built out most other features concurrently, more or less. Why not focus on one customer base at a time? This incredibly broad focus could be part of the problem. Modularity would simple help in the process, it is not necessarily a requirement.

- Oshyan

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 858
    • View Profile
    • linkerror
    • Donate to Member
Re: Broken Windows Theory
« Reply #7 on: June 20, 2006, 12:01:56 AM »
Well, the other day on slashdot there was an article entitled: "Gates' Replacement says Microsoft Must Simplify"
linking to this: http://www.theaustra...509645-36375,00.html

I couldn't agree more. Overly complex projects litterally suck the life out of developers. Modularity could be a solution I think.

So we'll see where that goes. There could be some interesting changes ahead. But first we have to survive Vista. :shiver:

Carol Haynes

  • Waffles for England (patent pending)
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 7,986
    • View Profile
    • Dales Computer Services
    • Donate to Member
Re: Broken Windows Theory
« Reply #8 on: June 20, 2006, 04:26:44 AM »
A little company named Acorn (now famed for is ARM Risc chips) had this sussed in the 80s when they brought out RiscOS which was entirely modular. There was a core OS (4Mb if I remember correctly) in ROM (the chips could be replaced easily for upgrades but they were rarely necessary. This meant it was blisteringly fast, very compact and incredibly stable. Everything else was added via modules and these were provided by Acorn and/or 3rd party vendors.

I suppose some would say that the modules were aking to DLL packages but the installation and maintenance program was simplicity - when a package required a particular module there was a one line OS command to check to see if a recent enough version was installed, if it wasn't the package simply replaced the module with the correct version. There was only ever one copy of the module installed (no DLL hell) and used by all packages that required those functions.

It was even dead simple to write your own packages as they had an IDE for various languages (including C, Fortran and Pascal) but also had an interpreted procedure based Basic built in (as part of the 4Mb ROM) which allowed users to easily and quickly code programs that used the graphical interface - so much so that many developers used Basic (it was fast enough). Also the Risc architecture meant that learning to code in assembler was very quick and easy (there were only about 25 primitives to learn!).

Ironically the RiscOS machine I had is sitting in a box in the loft ... but it could access the internet, desktop publishing (software written by the people who write Xara), the original version of Xara (ArtWorks), MIDI studio type work, used a version of scalable Fonts that pre-empted TTF by years ...

Ho hum - back to the world of reality - how could such a small company compete with the grandeur that was Windows 2 (remember that!).

Actually when Windows95 was released it was widely commented how much MS had lifted from RiscOS !!

JavaJones

  • Review 2.0 Designer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 2,717
    • View Profile
    • Donate to Member
Re: Broken Windows Theory
« Reply #9 on: June 21, 2006, 01:49:04 AM »
Wow, that sounds awesome Carol. And then I see the massive development talent behind the Linux variants (and Windows for that matter) and I wonder why oh why can't someone make something that "just works" like anymore? Let alone something that is truly *elegant* as it sounds like RiscOS was. *sigh*

I've long had a dream of building my own computer platform. Some of the ideas I had about 15 years ago popped up in IBM/Sony/Toshiba's CELL, but so far I'm not really impressed with the results. Basically I figured that to really ditch legacy like x86, etc. you'd have to have so much development power that you could essentially design radically new hardware, write a radical new OS for it, *and* develop all the basic necessary software for it, *plus* emulate the major existing systems (because your hardware is so fast and OS so efficient, right? :D). OK, it's all pipe dreams, but it was a nice dream. ;)

- Oshyan

Carol Haynes

  • Waffles for England (patent pending)
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 7,986
    • View Profile
    • Dales Computer Services
    • Donate to Member
Re: Broken Windows Theory ... off into a RiscOS ramble ...
« Reply #10 on: June 21, 2006, 06:22:43 AM »
Check out http://www.redsquirr....uk/redsquirrel.html for RiscOS if you are interested (a freeware emulator for Windows which is kind of neat - I haven't tried it yet).

Sorry Duff link
You will need to find original Acorn ROM images to use the emulator - try here: http://www.tribbeck....computers/romimages/ and read the emulator docs to find out which ROM versions work.


There is still a lot of stuff going on for RiscOS for hardened enthusiasts - I still feel guilty I sold out to Doze !!

Here are some more links if anyone is interested:

RiscOS Org http://www.riscos.org.uk
Commercial Products http://www.riscos.com/
Commercial Emulators: http://www.virtualacorn.co.uk

Another free emulator: http://b-em.bbcmicro...ulator/download.html
And another: http://arcem.sourceforge.net/

An Acorn fan site with lots of info: http://acorn.revivalteam.de/
And another: http://www.drobe.co.uk/

Actually I have found researching this quite therapeutic!!
Quote
Update: Unfortunately the link to ROM Images appears to work but the files are not actually ROM images (they are far too small) ... I haven't been able to track down a link yet!

Update 2: RISCO 3.11 ROMs can be downloaded here and seem to work with Squirrel http://www.strafom.f...bbc/ROM/RISCOS31.ZIP

PPS: In my search I found the BBC Emulator - gost this brings back memories (just install and run it - works great). http://www.mikebuk.d...om/beebem/index.html
« Last Edit: June 21, 2006, 07:43:40 AM by Carol Haynes »