Peter Cochrane's Blog: Software - keep it short and sweet

Less bloated software means greater productivity for all

COMMENT

Compiled in a car park in Redcar UK, edited in my garden on a warm summer evening, and dispatched to silicon.com from The IoD via a free wi-fi service two weeks later.

For more than 35 years the immutable law of software has seen the inclusion of more and more features with each upgrade of applications and operating system.

In turn this has led to more code, and the ticking time bomb of increasing brittleness and user frustration. Thousands of features have gone unnoticed and unused, while hard drives have had to grow from megabytes to gigabytes, and operating speeds have tended to stabilise or slow down despite the increased power and energy consumption of our integrated circuits.

The best mission statement of any software company I've ever seen is: "We intend to ship fewer lines of code on each successive upgrade."

If only all software produces obeyed this mantra how much better users' lives would be!

It has always seemed to me that buying software code by the tonne was not only a flawed model but also untenable in the long term. As with many things in the IT world, software is definitely in the 'less is more' category. But the business model has always been: more features equals more money.

But that light in the distance may well be the end of the tunnel and not an approaching railway engine about to crash! The two biggest suppliers of OS software (Microsoft and Apple) have at last turned this corner and are shipping much smaller (by 50 per cent in Apple's case) versions of their OS while also charging less for the upgrade.

Hurrah!

I sense a software clean-up coming where defunct code is weeded out or at least tidied up, features become increasingly refined, and long-term product stability improves dramatically and visibly.

We have been used to seeing transistor density and data storage double (thereabouts) year-on-year. It will now be interesting to see in how many years applications' and operating systems' code can be halved!

Faster boot-up and response times, fewer crashes and lock-ups will just improve human productivity, while the reduction in energy needs could see smaller batteries and lighter machines.

Today my laptop feels more like a hot plate than a computer - and it might just be that it will become cool too!

Comments

There are 14 comments. Join the discussion

  1. 1. Martin Daly

    This is arrant nonsense.

    Mac OS X 10.6 - Snow Leopard - is only 50% smaller because the binaries are no longer "Universal", i.e. Power PC support has been dropped.

    Programmers can't conjure programs out of thin air; even those at Apple.

    • 7 September 2009 10:04
    • Add comment
  2. 2. Peter Cochrane

    Martin = Programs and program writing can be efficient! You only have to compare the East - West divide to see that. It can also be tightened up. I remember ditching over 50% of MS OS early on to make it more efficient.

    And if something does a good job in 7GB instead of 14GB I'm all for it!

    Peter

    PS = Read up on genetic based program evolution - because software does come out of fresh air just like plants, animals, and life itself!

    • 7 September 2009 21:05
    • Add comment
  3. 3. Stuart Fawcett

    It’s a great idea that well written compact code will replace the forever inheriting model of fossilised old functions buried deep inside subsequent layers of error prone calls and bad exception handling. Maybe cheap outsourcing has given us this opportunity of professionally rewriting multiple layers of code in gone go using best practice patterns and then fully testing it.

    But I think the real business driver is that of efficient components intended for virtualised environments where thousands of users use the same code and so a 10% improvement in efficiency allows 100’s more users to be provisioned on the same hardware. Similarly smaller storage foot prints for equivalent data really mean faster access again allowing one service to be quicker than its competing service. Previously databases were analysed for bottlenecks and slow procedures, now its pertinent to do the same for the whole OS as its to be delivered in the cloud in a shared environment.

    I too applaud the drive for stability and speed by what ever means it arrives. E.g Microsoft recent XML office storage over previous methods is certainly a worthwhile improvement on both size and accessibility.

    • 8 September 2009 09:30
    • Add comment
  4. 4. anonymous

    Let's hope that Peter is right and we can look forward to be able to use the increased power of our new PCs at last.

    For too long the hardware designers have been striving to increase the power of their product, only for the software designers to soak it up again, so that at the end of the day there is no real gain in performance.

    • 8 September 2009 10:01
    • Add comment
  5. 5. Targ8.com

    where do I sign? I use more online apps like screentoaster to capture desktop stuff and dont even install the software. More apps like this please.

    • 8 September 2009 10:01
    • Add comment
  6. 6. John Sniadowski

    There is another important implication to what Peter is talking about and that is security. The so called attack surface profile of any application can be improved by getting rid of unused features.

    Many of the recent security attacks we have seen are on esoterical functions. So the obvious equation is the more complex the code the larger the number of attack possibilities.

    Getting rid of the nonsense virus scanners will help reduce that hotplate Peter has on his lap! and give back loads of system resource!

    • 8 September 2009 11:16
    • Add comment
  7. 7. anonymous

    Growing up as a programmer with 64K of memory to play with, there was plenty of incentive to keep it efficient and small! With huge object libraries and massive increase in storage and program memory available there is no such incentive these days. Hence we get "lazy" profgramming, with no concern of optimising libraries and removing unused components to reduce "bloat". This has always up to now been the case supporting MS and Intel and Apple in the hardware and software upgrade race as one needs the other, etc. Maybe a recession will make people look at the costs of using and maintaining software;if users start to demand slimmer software with fewer demands on hardware...but we've got Linux and that could be an ideal operating system to fit the bill....but no applications means most are stuck with MS...

    • 8 September 2009 14:12
    • Add comment
  8. 8. Martin Daly

    Peter,

    I imagine that almost everything can be made more efficient one way or another.

    However the near 50% saving in Snow Leopard is in no way whatsoever linked to efficiency, merely deleting binaries for a no-longer supported chip architecture.

    If you were already on an Intel Mac then you have gained some disk space, but not much else. If you were not on an Intel Mac, then tough luck.

    I very much look forward to the day when seriously useful and complex computer programs write themselves. I'll be watching while hovering above my computer on my personal jet pack.

    Martin

    • 8 September 2009 16:01
    • Add comment
  9. 9. Peter Cochrane

    Stuart = We have had hundreds of years building physical things form individual components. In fact we can build ultra-reliable hardware systems from cheap and unreliable components.

    In complete contrast software development is still in its infancy and we have a long way to go. It also has a few features in the realm of complexity we still fail to grasp.

    Keeping it all simple, clean and efficient is a good start though!

    Peter

    • 9 September 2009 20:27
    • Add comment
  10. 10. Peter Cochrane

    Anonymous = Right on! Peter

    • 9 September 2009 20:28
    • Add comment
  11. 11. Peter Cochrane

    John = Spot on + a likelihood of exposure for inbuilt backdoors and the like. Peter

    • 9 September 2009 21:07
    • Add comment
  12. 12. Peter Cochrane

    Anonymous = I remember those days well - 'don't use memory unless it is vital' was the war cry. And for a time it actually worked well, but then we started to use memory in new ways that had never been considered by designers before...Peter

    • 9 September 2009 21:11
    • Add comment
  13. 13. Peter Cochrane

    Martin = Not strictly true! Apple have obliterated a huge block of Power PC code, and then gone through some of the 'clumsier areas' to do it better. But then the Apple code started in pretty good shape because it has a UNIX lineage.
    The more visible impact is in cleaning up the GUI in many areas, making it slicker, and making it faster. Do some tests, you will find speed increases between 0, 25 and 50%. Peter

    • 9 September 2009 21:16
    • Add comment
  14. 14. Martin Daly

    Peter,

    The size of an operating system (or any program) on disk - and the number of lines of code - bear no relation whatsoever to it's resource (CPU, RAM) usage, or efficiency.

    There are extremely large and complex programs that are efficient; extremely small and simple ones that are inefficient; and all points in between.

    You might as well use price as the metric: that would be just as nonsensical.

    Martin

    • 14 September 2009 11:14
    • Add comment

Post your comment

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

You can also log in with Facebook. Log in or create your silicon.com account below

  • Login

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

Get silicon.com's daily newsletter

  • Register on silicon.com

    Enter your email to register

Keep in touch with silicon.com

silicon.com newsletters