'Software is too fat', says $100 laptop founder

Even Linux is a chubber

By Ingrid Marson, 4 April 2006 16:55

NEWS

Nicholas Negroponte, founder of the One Laptop Per Child project, has criticised the software industry for creating ever-more-bloated software, which runs slower each year despite dramatic improvements in processor speed.

During his keynote speech at the LinuxWorld conference in Boston today, Negroponte said: "We've gotten to a point where, in my opinion, every single new release of software is distinctly worse than the previous one. I just got the fastest laptop on the planet, it is the slowest, most unreliable machine I have had in my life."

Adding too many features without considering the impact on efficiency is the main reason, according to Negroponte, who is also co-founder of the MIT Media Laboratory.

"A fat person uses most of their energy to move the fat," he said, as an analogy.

He claimed that he had been joking for years that every time Intel releases a faster chip, the latest release of Windows uses a greater proportion of the total processing power.

"Fifteen or twenty years ago I used to joke, you know what, every time Andy [Grove] makes a faster processor, Bill [Gates] uses more of it," said Negroponte.

But the open source operating system Linux, which is touted by vendors as more efficient than Microsoft Windows, is no different, he claimed. "And Linux is no exception - Linux has gotten fat too," he said.

As part of One Laptop Per Child (OLPC) project, which aims to provide affordable laptops to millions of children in developing countries, Red Hat is tailoring Linux to run on lower-specification machines.

Mike Evans, Red Hat's vice president of corporate development, said in February that the project will help to drive the take-up of Linux in countries such as the US, as well as in the developing world.

Negroponte called on the conference attendees to focus on writing more efficient software.

"If there's anything you take away today, it is to rethink how systems can be simpler and faster," he said. "People just aren't thinking about small, fast, thin systems. It's not about a weak computer - it's about a slim, trim, fast computer."

The OLPC project, known for touting a $100 laptop, plans to complete its prototypes in the third quarter of 2006, and hopes they will start appearing in schools in December 2006 or January 2007. The laptops will cost around $135 in 2007 - but the cost is expected to fall to $100 in 2008 and to $50 in 2010, according to Negroponte.

Ingrid Marson writes for ZDNet UK

Comments

There are 6 comments. Join the discussion

  1. 1. anonymous

    Perhaps someone should talk to Psion; their EPOC32 OS was very efficient, rock solid and Psion provided a complete set of office applications.

  2. 2. Phred

    At last - someone who agrees with me that despite our perceived advances we are actually going backwards - instead of making systems (mainly software but some hardware too) faster, more efficient and easier to use we are making them more complicated, filling them with features that only a few users require, and consequently wiping out all the advances that are being made in the hardware.

    I have just finished writing a SIMPLE web service - I was fortunate enough to have a reasonable environment to develop the server in but even so it took 7 pages of code to write the server and a test client and the transferred message (in XML) is 3 times bigger than the message transferred (following me?). How many opportunities do I have for introducing bugs in that amount of code? I can do almost the same thing as a stored procedure in a handful of lines (server and client!)

    Now I'm not knocking the concept of XML; I’m all for standards of practice and interoperability - but by the time you've added WSDL, XSD etc. try having a look at some of the code - it's symptomatic of our “bloat” culture – and so we need more bloatware to interpret our open, easy to understand data. So we're not just bloating software; we're bloating network traffic too - as if we didn't have enough of that already.

    It would be interesting to see if many people agree with me that we need a cut-down, simplified system to compete with today's leviathans - most of our users need little more from a network operating system than file/print sharing and email - need less than 10% of the features of Word or Excel - the story's the same with most products.

    I fully understand some of the reasons behind some of the problems – in the old days (sad old git I am) we used to carefully hone storage allocation, array sizes, process loops etc. in order to reduce the amount of disk space, memory and execution time used – but that was when hardware was expensive (really expensive!) and labour was cheap – now these have reversed we tend to throw disk space, memory and processing power at a problem rather than use expensive staff resources – the problem here is that we not only miss out on the economies of these processes we also miss out on the inherent correction that took place during them – so we not only make things bigger we also make them buggier.

    Look on the bright side – CPM runs like shale off a shovel on a P4 3GHz.

  3. 3. Karen Challinor

    I have to agree, back in the day when I was taught to program, you were charged by the microsecond for run time, consequently you learnt very quickly to write efficient code. Now computing power is effectively free, that lesson has to a certain extent been lost.

    Another lesson learnt because of the cost was the writing of user proof code, on those rare days you were allowed access to a machine that would interact, you could bet some smart aleck would try their hardest to make your program crash so they could have your terminal. Now everyone effectively has his or her own machine this lesson has also been lost.

  4. 4. Phred

    At last - someone who agrees with me that despite our perceived advances we are actually going backwards - instead of making systems (mainly software but some hardware too) faster, more efficient and easier to use we are making them more complicated, filling them with features that only a few users require, and consequently wiping out all the advances that are being made in the hardware.

    I have just finished writing a SIMPLE web service - I was fortunate enough to have a reasonable environment to develop the server in but even so it took 7 pages of code to write the server and a test client and the transferred message (in XML) is 3 times bigger than the message transferred (following me?). How many opportunities do I have for introducing bugs in that amount of code? I can do almost the same thing as a stored procedure in a handful of lines (server and client!)

    Now I'm not knocking the concept of XML; I’m all for standards of practice and interoperability - but by the time you've added WSDL, XSD etc. try having a look at some of the code - it's symptomatic of our “bloat” culture – and so we need more bloatware to interpret our open, easy to understand data. So we're not just bloating software; we're bloating network traffic too - as if we didn't have enough of that already.

    It would be interesting to see if many people agree with me that we need a cut-down, simplified system to compete with today's leviathans - most of our users need little more from a network operating system than file/print sharing and email - need less than 10% of the features of Word or Excel - the story's the same with most products.

    I fully understand some of the reasons behind some of the problems – in the old days (sad old git I am) we used to carefully hone storage allocation, array sizes, process loops etc. in order to reduce the amount of disk space, memory and execution time used – but that was when hardware was expensive (really expensive!) and labour was cheap – now these have reversed we tend to throw disk space, memory and processing power at a problem rather than use expensive staff resources – the problem here is that we not only miss out on the economies of these processes we also miss out on the inherent correction that took place during them – so we not only make things bigger we also make them buggier.

    Look on the bright side – CPM runs like shale off a shovel on a P4 3GHz.

  5. 5. Sarah

    I totally agree with this article. I always wonder about the true efficiency of code written these days.

    I know that this may make me sound old and yet I think all developers should have to write code (for a while when training) to work within similar constraints to how I learnt the principles of software development. In my first job in 1981 this was using a maximum of 64K of memory and 32Mb of disk space, in Microsoft Basic running on CP/M. As a previous poster said, we were continually refining the code for efficiency and to save memory usage.

    It still amazes me how much functionality we were able to create given the constraints.

    I still use these same principles with every piece of code that I have written since then.

    However it does seem that most people's answer is to expect Intel and the other chip manufacturers to provide continually faster processors.

    Shame really. Thats when software development really was a skill .....

  6. 6. BillK

    Hopefully they will look at DSL and Puppy Linux. These are 50MB distributions that run very fast on lower powered (or old) pcs.

    I have an old Pentium 90MHz laptop that these Linux packages have brought back to life.

Post your comment

In order to post a comment you need to be registered and logged in.

Log in or create your silicon.com account below

Will not be displayed with your comment

By signing up for this service, you indicate that you agree to our Terms and Conditions and have read and understood our Privacy Policy.

Questions about membership? Find the answers in the Membership FAQ