OU blog

Personal Blogs

Christopher Douce

European Innovation Academy

Visible to anyone in the world

In July I went to something called the European Innovation Academy. The idea behind the academy was to get groups of students together with the intention of creating a product or solution to a problem.  (By product, think of ‘mobile app’ or digital service of some kind).  As a part of a three week programme, students were taught about what is meant by innovation, introduced to concepts such as user centred design and different business models, before being presented with some talks about how to further develop their ideas.  At the end of the third week, participants were encouraged to write a short pitch to sell their product, solution or service, to potential investors, with a view to securing further funding.

Making skills visible

A couple of months earlier, I went to a UK Higher Education Academy event (blog) that was all about how best to go about the teaching of programming to those students who want to learn how to develop software for mobile devices.  What struck me was the point that if students want to get ahead, a really good idea is to create some kind of product that could be sold through vendor app stores (such as Google Play, for instance).  The advantage of doing this is that you advertise your skills in a very direct way and can clearly describe what you’ve done and achieved on your CV.

A substantial part of the academy was all about creating something.  As far as I understand it, there was time on the programme to allow students to not only learn about different platforms and tools, but also time to try (as best as possible) to create some prototype software that could be demonstrated to others.  Creating an artefact, as far as I could see, was considered to be a really important aspect.

Taking software further

A number of years ago, I used to have a job as a professional software developer.  It was thinking back to these times that I asked myself a fundamental question: ‘what on earth could I potentially say to the participants to help them appreciate some of the challenges inherent in creating software systems and products?’  I’ll put my hand up and say that I’ve always had one foot more firmly in the technology side of things than the business side.

I struck on an idea to not only talk about software, but also some of the more human sides of software development.  Software is, of course, a creative product, and there are things that we can do (in terms of structuring things to help people work together) to get things done. The things that we choose to do, however, are fundamentally affected by the types of product that we’re creating.  Some products or solutions require us to use different methods.

So, what did I talk about?  I had three hours to fill!  Below is a quick summary of what I considered to be the highlights.  The participants might have different views.

Challenges

First of all, I asked the groups some questions to help them consider what they considered to be the most important or significant challenges that they felt they needed to address.  When you’re going head long into a development, I thought it might be useful to find a bit of time to step back and ask the participants about the problems that they were facing, and whether they might be able to share some advice about how to solve some of their problems and how to manage some of the risks that each project group might face.

Interaction design

Since the participants were creating prototypes, I talked a bit about the process of interaction design and the ideas of different types of prototypes (i.e. horizontal prototypes and vertical prototypes).  I also spoke about the necessity to consider the user, the task and the environment, since considering all these aspects are really important when considering the final usability of a system (and usability will fundamentally influence whether or not a product or idea is accepted).

Processes

You could argue that interaction design is all about process.  I also introduced the idea of software development processes, notably, agile development which emphasises regular and constant communication between both developers and stakeholders.  I made the fundamental point that constant communication is a necessity since software is an intangible product; the only way to make software real is to talk about it.  Agile methods facilitates that talking.

Testing

In some software development cultures (and each culture is slightly different), software testing can be an integral component, but it is a subject that can be very easily overlooked.  Software testing is a pretty big subject, covering a huge variety of different techniques and approaches.  When we move from the small to the large, we fundamentally need to make sure that things work as they should be (since if things go wrong, then our customers don’t get a good customer experience).  I spoke about two important aspects to testing (and highlighted a bunch of others).  These were: different types of usability testing, and test driven development.

Abstraction

Abstraction is, perhaps, one of the most important and fundamental concepts in computing.  An abstraction could be described as an essence of a concept which doesn’t contain any superfluous detail or ideas.  When our abstractions are right, our software becomes easy to work with.  Abstractions represent a really important way to manage complexity.  We need abstractions within our code because programmers can only deal with a limited amount of stuff and connections between parts of a program at any one time.

One approach to creating software is to create our code in different layers.  Software developers constantly use code libraries as well as consume data from other information sources.   When talking about abstractions I also introduced the idea of design patterns.  These represent templates of common solutions to coding (and software design) problems that have been shown to occur time and time again.   Coming back to the point of processes and the need for constant communication, if we can put a name against our various types of abstraction (which is something that the concept of a design pattern does for us), this can make the communication between developers a whole lot easier.

Version management

When you’re working with code things can get very complicated very quickly.  There’s multiple files, different versions of libraries, you might include a whole bunch of different graphics or change database structures or web services... and then the bugs start to creep in and give both you (and your customers) a whole set of headaches.

I felt that it was important to saying something about version control and configuration management.  When we’re in the zone of high productivity (when we’re at one with the problem and our tools), creating new products and services, we can quickly lose our own history in the path of continual change.  Version management systems (or whatever you choose to call them) enable some aspects of development history to be captured and saved.  One challenge that we need to be aware of is that the use of these tools requires discipline.

Technologies

To create any software of substance, you’ve got to use some technology that already exists.  If you’re creating apps, you’re going to use some kind of integrated development environment (which consists of programming languages, debuggers, code profilers, and a whole bunch of other goodies).  Another subject that I wanted to mention was that there is a whole set of other technologies that developers could use.

One really useful concept is the software framework.  In essence, frameworks can be considered as a set of high level abstractions that allow developer to more efficiently solve common problems.  A framework can allow you to work more quickly (and hopefully more efficiently) by building on the work of other developers.  Two challenges include: figuring out which framework to choose (and whether it really would help you or not), and then understanding how a framework might work.

Another broad set of technologies that developers might utilise is web services.  Web services can now be used to store data and host applications.  Rather than having to manage their own servers and systems, an app developer might be able to use services that have been developed and deployed by other companies.  The challenge lies in figuring out what they are and making choices between different possibilities.

Community

In terms of software, the word community can be interpreted and understood in a number of different ways.  There might be a user community or a developer community, for instance.  You might want to share information about an emerging product through blogs and direct interested users to these updates through Twitter updates.  My point was that community, whatever form this might take, is fundamentally important.  Although technology is a necessity, technology won’t develop, change or improve if there isn’t a community of users or developers that are keen on using or enhancing a system.

Another notion of community lies with the area of open source software.  I understand that during earlier parts of the academy, students were introduced to different types of business models.  Some business models work through the use, application and development of open source software.  In some situations, open sourcing a development might be a part of a wider strategy.  If so, then it is fundamentally important to consider how to support and nurture a community that makes use of any software (or service) that is made available to others.

A final connection to the notion of community that came to mind was the importance of partnerships. Creating effective software and services is something that requires a lot of specialist skills and expertise. I remember one story from a HEA event that I attended some time ago.  I remember being shown an example, a collaboration between a graphics artist and a programmer, that led to the development of a really nice product; an interesting and playable mobile game.  A fundamental point was that sometimes, the best work that we do is when we work with others. 

Reflections

A personal reflection is that putting together these series of talks seemed to take up quite a lot of time, but it was pretty good fun thinking about what to include and what not to include.  I asked myself a really simple question, which was, ‘if I was there, being a delegate as a part of this programme, what would I really want to know?’  In retrospect, I fear I might have perhaps crammed in too much material, perhaps covering too many ideas or too many technologies in what was a very short space of time.  On the other hand, I think this was the point of the programme: to introduce people to new concepts and ideas, and to allow those on the programme to be fundamentally challenged.

One thing that struck me was that some of the teams gave the impression that they needed more developers; more people who were able to use the software development environment to create new products.  If you’ve never seen an integrated development environment before, the learning curve is practically vertical - it takes time to appreciate their intricacies and idiosyncratic ways.   Three weeks is an impossibly short time to come up with a new innovative idea that actually does something if working with technology isn’t something that you do all the time.

Since I attended the programme during the third week, I wanted to positively tantalise the participants.  I wanted to say to them, ‘you know, all this tech that you’re playing with, and all these cool prototypes that you’re creating using tools that you’ve never used before? Well… this is only the beginning – there’s a whole bigger world of software tech out there ready for when your ideas and inventions become real.’  I hope I managed to expose some of that bigger world of software to some of them.

Permalink Add your comment
Share post
Christopher Douce

Making the history of computing relevant : Day 2

Visible to anyone in the world
Edited by Christopher Douce, Monday, 28 Oct 2013, 13:37

Session: Putting the history of computing into different contexts

The voice of the meachine: Tom Lean

Tom Lean from the British Library kicked off the second day with a presentation about a project that he is currently working on: An oral history of British Science (blog).  An important part of this project is about the history of computing.  A part of Tom’s role is to travel around the country to interview different people.  Each interview takes between 10-15 hours in length.  They are biographical; people are encouraged to talk about themselves, their environment, tools and procedures.

This lifestory approach to interviewing allows us to get a sense of the person themselves, their mannerisms and how they sound.  It allows us to have a more direct connection with the subject and those people who played a part in its development.  The longer interviews are edited down to highlights, which will then be made available through the British Library History of Science project website. I understand that researchers will be able to gain access to the entire interviews.

Tom gave us a taste of the interviews by showing us a clip of Ray Bird taking about the HEC1 computer (YouTube).  (For the interested, there’s also an Oral History of British Science YouTube channel).  The second clip was an interview of Mary Lee Berners-Lee (Wikipedia) who spoke about ‘what’s fun about programming’.

All in all, a great talk and a great initiative.  As an aside, I remember discovering another archive of oral histories of computing (University of Minnesota), which have been collected by the Babbage Institute.  Different interviews by different people (and institutions) are likely to explore and expose different issues.  Both archives are invaluable to present and future researchers.

Telling the long and beautiful (hi)story of automation: Marie d’Udekem-Gevers

Marie took us on a tour of devices that relate to the history of computing, offering us a slightly different perspective.   Computing can also be understood in terms of mechanisms, mechanisation and automation, which eventually takes us towards data processing.  We can also think of the history of computing in terms of generations, but there is also an important pre-history that we need to be aware of too. 

When we think of the pre-history of computing we might also consider mechanical and water clocks, the development of the Jacquard Loom (Wikipedia).   There is also the work of Pascal (who was mentioned earlier) and Babbage (whose trial machines are exhibited within the Science Museum).  Marie introduced a simple distinction: internal versus external representations (and memory).

The difference between the two is that we can easily (and obviously) see external representations (of information), captured within cards, or as notches on a rotating wheel.  Modern computers, of course, make use of hidden internal representations.  The difference between internal and external connects to the notion of the immediately understandable and tangible versus the hidden and abstract nature of software.  This connects to a wider (and later) debate about what we can gain by exhibiting the more recent generation of computing devices.

Competing histories of the internet: Christopher Leslie

Christopher Leslie (PPY homepage) teaches the history of the internet technology at the Polytechnic Institute of New York.  During his talk, Christopher mentioned a couple of books – one that I have read, and another one that I had never heard of before.  The first is called, ‘where wizards stay up late’ by Hafner and Lyon.  The second was called ‘NERDS: a brief history of the internet’.  (There are, of course, a number of other books about the history of the internet, such as one called ‘A brief history of the future’ by a former Open University colleague). 

A couple of comments that Chris made echoed some that had been made during the previous day; that it is very easy to take a determinist view of the history of technology; that developments occur gradually and in a number of determined steps.  When it comes to the history of the internet, there have been a number of different systems and innovations, emerging from different countries and locations. One interesting note that I made was the development occurs through a series of transitions, that technology is moved from one context to another.

Chris mentioned the work of Donald Davies at the National Physical Laboratory, Teddington, and an important Association of Computing Machinery conference in 1967 where two people who had never met each other presented very similar ideas.  In fact, I’m read that the word ‘packet’ (as in the phrase ‘internet packet’) comes from Davies’s work, whereas the protocols that make the internet work come from the work in the US (of course, I’m impossibly simplifying a whole swathe of really important history and technical stuff here!)  Chris also mentioned the French network Cyclades (Wikipedia) which has also influenced the development of ‘the internet’.

I’ve also made a note of his point that the connections between people and communities are really important.  Although defence funding was necessarily important, it is the connections between people and a culture of openness that exists within an academic community that helps developments to occur.  Another really important point that I’ve made a note of is that we ‘need to fight determinism in the classroom!’  I totally agree. 

My ‘take away point’ from Christopher’s presentation was that things are a whole lot more complex than they really are; there isn’t one history – there are many.

Session: Games

I was initially surprised to see a session on games in this conference, but the reasons why (and the importance of its inclusion) soon became apparent.  This session resonated a lot with me, since I was once an avid player of games during the ‘cassette era’!  There is also an increasing awareness that is a whole history that relates to the use of computers in entertainment.

Games and gaming can also represent compelling museum exhibits; they can be potentially used to draw people in to other exhibits.  This is why this session also has the subtitle ‘games – and it’s potential as a Trojan horse’. 

The popular memory archive: Helen Stuckey

Helen Stuckey, who travelled all the way from Australia, talked about a project that was all about collecting and exhibiting player culture from the 1980s.  I never knew this, but apparently there was quite a unique gaming culture in Australia and many games were developed locally due to import restrictions. 

The popular memory archive is a web portal.  Gaming isn’t just restricted to the games as artefacts; there is a wider and richer picture of use and consumption that is important too.  The portal allows visitors to save or record player memories.  In the 1980s games were often the first way that people came into contact with computers (this was certainly my own experience).  I have my own memories of walking to a newsagent and agonising over which game to buy with my own pocket money.  This walk, and the action of loading the game into my Atari computer in my cramped bedroom could be considered as a part of my biography.

Other aspects of computing history include the history of production and the role of hobbies.  Helen showed us a logo of the ‘Melbourne House’ software company, which certainly remember from my teenage years.  At the time, it had never occurred to me that this was an Australian company.

One of the challenges lies with choosing what artefacts and issues to focus on.  Out of a potential 900 titles, 50 game titles were chosen.  Some of the themes that I’ve noted include businesses, rise of the bedroom coder, legal issues, and the role of the collector.

Fan sites, such as Hall of Light (a database of Commodore Amiga games) and Word of Spectrum also have an important role to play in terms of documenting history.  (I started to look into both of these sites, and quickly found hours of my life had disappeared!)

I found the idea of a web-based resource really interesting.  Just as we have citizen science projects, such as Galaxy Zoo, I can see that there is scope for participative, or citizen history sites.  When there are so many memories and products and experiences out there, crowdsourcing is undoubtedly a powerful approach.  I’m enthusiastic about old games, and after a quick search around on the web following Helen’s presentation, I can clearly see that I’m not alone.

Introduction of computer and video games in museums: Tiia Naskali

Tiia’s presentation was about a physical exhibition rather than a virtual one.  Tiia spoke about gaming from the Finnish perspective and the hobbyist era between 1980 and 1990.  (On reflection, this is an incredibly short period of time in which a whole lot happened). 

Connecting to some of the points that Helen mentioned, Tiia made the point that games are a part of life histories. They are important within popular culture and the work of that period can be shared and appreciated by a newer generations.

What struck me as really interesting was Tiia’s summary of different game exhibitions that had taken place across the world.  One of the most prominent was Game On which apparently began at the Barbican, London. 

Gaming exhibitions still will continue to have resonance today.  On the month of this conference, the latest generation of games consoles are receiving a lot of attention: the Xbox One (Wikipedia) and the Playstation 4 (Wikipedia).

This session led to questions relating to the challenges regarding digital preservation, i.e. whether we should be considering how to preserve digital worlds.  For those who are interested in this project, more information can be found by visiting a project website that also contains a link to a final report. Other points raised during the question and answer session related to the authenticity of gaming experience and the potential societal impact of the use of games, which is, of course, the subject of on-going research.

Session: The importance and challenges of working installations

Computer Conservation Society – Its story and experience: Roger Johnson

Roger Johnson introduced the Computer Conservation Society (society website).  It wasn’t an organisation that I had heard of before, but I’m so glad that I heard about it.  The society was the brain child of Doron Swade (Wikipedia), former curator of the science museum (who has written a cracking book about the trials and tribulations of building Babbage’s Difference Engine no 2).

The society is a joint venture with the Science Museum and the British Computer Society and currently has approximately 800 members.  It has a number of guiding principles.  Firstly, membership is open to all, and it is free.  It doesn’t own computers but has, instead, close links to museums.  It also has a small rescue fund.  This can be used to help preserve historically significant machines that might be at risk of being disposed. 

During Roger’s talk, I made a note of the phrase, ‘today is tomorrow’s history’.  Given that there is so much that is going on at the moment a challenge lies with understanding what should be captured. 

For those who are interested, the CCS also has its own newsletter, called Resurrection (CCS website).

Museums – what they can and should be doing : Charles Lindsey

Peter Onion, who works on the Elliott 803 (Wikipedia) at the National Museum of Computing (and probably does a whole range of other things too!) temporarily stepped in for Charles Lindsey (who was able to attend the question and answer session).

Peter, using Charles’s words spoke about the objectives of a museum.  Two objectives are to inform the public and to help serious researchers.  Peter argued that perhaps there is a third, which is to preserve (and to develop) the skills necessary for the maintenance and operation of the objects and to preserve the perspective of those who created them.

One really interesting (and important) point is that museums are about history, not fashion.  One question was whether computing history ended in 1980?  This echoed an earlier point that some modern computers can appear to be visually uninteresting; their mystery and complexity is hidden within integrated circuits.  Working (historic) machines have the potential to add and expose depth and may be able to more directly expose the details that make things work.   There is also the question of what stories we may tell, questions about what issues earlier engineers (and maintainers) may have faced, methods they used and tools they applied.

History, nostalgia and software: David Holdsworth

We all know that hardware without software is useless.  A laptop without an operating system or application software becomes a pointless and immutable mix of plastic, glass and electronics.   Software is the stuff of computing (you might almost call software its ‘oxygen’), but so much of it is lost.  One of the most obvious reasons is that software is inherently invisible, and increasingly so.  This raises the important question of how to go about preserving (and also potentially exhibiting) software.

David showed us an interesting couple of web pages; an implementation of the Algol-60 programming language (Wikipedia) for a KDF9 computer (Wikipedia) demonstration through a web page.  Those who know something about the history of programming languages, Algol is a really important language.  Think of it as a latin of programming languages; it’s not used much these days but you can see strong echoes of its design in programming languages of today, such as Java.  (Being more of a software guy than a hardware guy, I felt that more might have been said about the history of languages).

The fact that we can write programs using an old language through a web page is really cool.  Such an approach allows us to sample the past and get a feeling for how things used to work.  David argued (or I have noted down) that we should ideally be able to browse and analyse source text, see software working and sample user experience.  I agree with him.

When it comes to digital preservation, David made the point that we need to read the original media and save it to new media, to keep a byte stream and create software to manipulate and work with these byte stream.  Not only is the software important, but so is the documentation too.  One way to deal with the documentation challenge is to scan existing manuals.  Documentation, however, can be flawed and incomplete.  The best representation of how a machine worked is an emulator.  A well written emulator becomes a description of how hardware operates.

On the subject of emulators and software, I asked myself a thought experiment of ‘what kind of exhibit would I create if I wanted to present something about the history of software?’  Some random thoughts include: the presentation of a command-line interface (echoing the use of a teletype), followed by the use of DEC terminals.  This would then be followed with a hands-on emulation of a Xerox Alto, followed by another emulation of an Apple Lisa (perhaps even an actual machine).  This could then be followed with a really early version of Windows, and then concluding with a touch screen tablet interface (running either iOS or Android).  All these presentations got me thinking!

The Teenage Baby: Chris Burton

I visited the Museum of Science and Industry (MOSI website) when I was looking around Manchester before choosing to study Computer Science there as an undergraduate.  Chris’s presentation has underlined that a repeat visit there is now long overdue.

Manchester Small Scale Experimental Machine (SSEM), also known as the Manchester Baby (Wiki pedia)was designed by Williams, Kilburn and Tootill and is considered to be the first stored program computer in the world.  Chris gave a description of a programme to reconstruct a replica of this very first machine.

The reconstruction was completed in 1998.  Chris told a fascinating story of the role the machine had played within the museum.  It was a story of movement and construction, of relocation and restarting.  The SSEM has now been in operation for fifteen years and it is important to remember that the original machine only ran for only three.

Chris emphasised the very important role of volunteers.  A volunteer can act as a guide, introducing the different aspects of the machine to visitors.  Chris told us of a story of a volunteer who held aloft a Williams tube and said, ‘this is what a flash drive looks like in 1948... and it only holds a millionth of a gigabyte’, raising curiosity and grounding the past in the technology of the present.

Physical reconstructions not only embody history, but also they represent and echo some of the processes that occurred as a part of the development of a machine.  By creating the past, we can not only develop skills, but we can uncover challenges that the early designers and users faced.

Session: Reconstruction stories

Reconstruction of Konrad Zuse’s Z3 : Horst Zuse

One of the truths in the history of computing is that there were a number of parallel developments happening around the world at the same time.  In Britain there was the work at Bletchley Park, in the United States there was the work at University of Pennsylvania, and in Germany, there was the work of Konrad Zuse.

Horst Zuse, who made a presentation at this conference, is Konrad’s eldest son.  I have known about Zuse’s work for a long time, and heard that his very early machines were destroyed in World War II.  What I didn’t know was the extent of Zuse’s creativity and innovation.  His early machines, the Z1, 2 and 3 used binary floating point numbers.  Z3 can be considered to be one of the first functional programmable computers in the world. One of the differences between the Z3 and other early machines it made use of electromechanical relays.  Z3 apparently used two and a half thousand  of the them, with six hundred being used for the calculating unit.

In 2008 Horst proposed building a new version, or a reconstruction of the Z3.  The new machine could be used to teach the principles of computing (addressing the same issue that the computing devices of today are more difficult to understand).  This reconstruction, however, was to make use of modern telecommunication relays, but this doesn’t discount the challenge of creating such a machine.

Horst talked about the delivery of the relays, the racks in which they were housed, the construction of memory and some of the challenges regarding the input devices (if I remember correctly).  It was initially located in the Technical museum, Berlin, to accompany the Z1 reconstruction that took place between 1987 and 1989.  It’s final destination is likely to be the Konrad-zuse-museum in Hunfield (museum website).  The museum looks like a cool place to visit!

There were two surprises in store for me.  The first was that Zuse created a binary calculating engine whilst independently rediscovering some of the principles that had been previously discovered by George Boole.  Secondly, during the question and answer session, a delegate asked about something called Plankalkül (Wikipedia).  I had never heard of this before.  In essence, Zuse proposed the design of a programming language decades before it became practically possible.

EDSAC Replica Project : David Hartley

Every ‘first’ is qualified.  Zuse’s machine is considered to be the first programmable computer, the Manchester Baby could considered to be the first solid state computer, whereas EDSAC (Wikipedia) is considered to be the first computer that went into regular service with a specific intention of solving problems for its users.  I didn’t know this, but EDSAC is also attributed to have helped three Nobel Prize winners.

The EDSAC reconstruction (project  website) started in 2010, following a conversation with a co-founder of ARM (which designs the processors that are used in smartphones and a whole host of other devices).  The project aims to have a working machine by 2015.  As well as creating a machine, corollary objectives include the desire to create a new archive of related materials and resources and, importantly, to create expertise.  These objects connect nicely to points that Peter Onion made when he was talking about the role of museums; that the very act of rebuilding (or preservation) actively enables past skills, tools and techniques to be rediscovered (and new approaches to be reapplied).

The machine is to be housed at the National Museum of Computing at Bletchley Park.  It’s interesting that there will be two early machines with very different memory technologies: the use of a cathode ray tube, and mercury delay lines.  I understand that there is a connection with the Dollis Hill research centre somewhere along the way, but I don’t (yet) fully understand the details just yet.  This just underlines the point that there’s always lots more reading to do.

For those who are interested, there’s a YouTube clip about the EDSAC replica project.

The Harwell Dekatron Computer :  Kevin Murrell

The Dekatron computer, or WITCH (as it is affectionately known), strikes me as a bit of an odd ball – but a very interesting one!  It was designed for (or as a part of) the UK Atomic Energy Research Establishment, Harwell, Oxfordshire.  Kevin told us that it was relay controlled, but it has an electronic arithmetic and logic unit (the bit that does all the calculations).  It also makes use of something called Dekatron valves which serves as its memory.

After spending life at Harwell, it was then moved to Wolverhampton and Staffordshire Technical College (which then later became a university).  Because of its move and role in education, it remains, perhaps the oldest original working computer in the world.

More information about this interesting machine can be found though the following YouTube video: The reboot of the Harwell Dekatron/WITCH computer.  The Computer Conservation Society also have a page about the WITCH (CCS website)

Capturing, restoring and presenting IRIS : Ben Trethowan

IRIS is an abbreviation for Independent Radar Investigation System.  Its role was to collect radar signals to record movements of aircraft.  Should there have ever been a mid-air collision the data collected by IRIS could have been used to provide key evidence for any investigation.  IRIS was said to have been built in the 1970s and ran until 2008 where it was decommissioned, which is an astonishing length of time for a single system.

Ben gave us some information about the technology.  IRIS was based on a DEC PDP11 that had been heavily customised.  Apparently the operating system had been customised too.  When it comes to computer conservation, the march of time can have an impact.  One of the challenges that Ben faced was regarding magnetic tapes.  Over time, oxidisation can occur, which means that the metal layer that is used to store all the data was starting to separate from the plastic layer.  An important part of IRIS was the use of high capacity data cartridges.  These too had started to degrade.  Rubber parts used as a part of the tape drives (or the cartridges) were beginning to perish.

As far as I can remember it, the previous owners of IRIS contacted the computer history museum and asked if they would like it.  Ben then got involved with the project to move the machine to Bletchley Park, working very closely with the donor organisation.  In doing so, he gained a thorough understanding of the role of the machine and the context in which it was used.

What struck me about Ben’s presentation was that he presented what amounted to a ‘good practice’ guide for computer conservation.  Ben’s talk was very clear; it was very interesting to hear all about the ‘other stuff’ that technical curators or ‘machine keepers’ need to consider or take account of.  Whilst a machine is interesting in its own right, understanding the context of use and the sharing of hard won expertise is invaluable in terms understanding how a machine works, its design and its broader organisational and cultural significance.

I’ve made a note (during Ben’s talk) that a good relationship with a donor organisation is important.   It also struck me that good computer conservation isn’t just about dealing with the computer and its software.  A computer forms a part of relationships between groups of people.  As soon as a computer moves from its original context to a new one it can easily become disembodied.  Understanding the human structures as well as the technical structures strikes me as a dimension that museums always need to be mindful of.

Reflections

The conference ended with a short panel session.    I have to confess to being pretty mentally tired at the end of the two days and I didn't take in as much at this point as I would have liked!  This said, the conference was just the right length; a third day would have been too much for me!

This part of the blog is a set of random reflections - nothing too controversial; just a set of thoughts on what struck me the themes were.  I’m sure that different people would have come away with a different set of themes based on their own personal interests.

One of the key themes of the conference was (perhaps unsurprisingly) the role of museums in the history of computing.  There are some fundamental challenges regarding preservation when many aspects of computing (and computer use) are intangible.  There is also a question of which stories to present and how we might present them, and how to we make what is sometimes abstract become visible to try to make it understandable.  One approach, of course, is to use guides or interpreters to try to inspire visitors and help them to understand abstract ideas and principles.  Grounding the role of machines in terms of their application or their wider social context also strikes me as being very important too.

Reconstruction of old computers featured heavily and this was a surprise (but in retrospect, this was more due to my own unfamiliarity of what was happening in this sector than anything else).  Reconstruction is a process where the actions both generates and reaffirms knowledge.  It also strikes me that it is a fabulous way to go about conducting research into some of the early designs and sharing expertise.

Another theme relates to the role of history and its relevance.  A number of speakers say that the history of technology or computing isn’t taught a great deal.  Computer history certainly wasn’t taught on my undergraduate degree and this is a shame.   I was also struck by the assertion that subjects such as computing are viewed as ‘ahistorical’.  This said, you scratch the surface and there’s a whole host of rich, deep and fascinating stories. 

It also was a real delight to inadvertently discover that those that had a connection with the actual history of computing were able to come along to the conference.  What also struck me was a sense of community, especially amongst those who have an involvement with the Computer Conservation Society.

A final work on what I got (personally) got out of the conference.  One of my research interests relates to how ‘place’ played a role in the development of computing, i.e. what happened and where.  I also hope to travel to different places where these innovations have taken place.  This, for me, will be a catalyst for adventure and learning.  In fact, I’ve already taken a couple of journeys and hope to do many more in the coming years.

One thing that I’ve realised is that there is so much history on my doorstep.  During the conference I was chatting to a former colleague who I was amazed to discover had a direct and immediate connection with a computer called LEO (Wikipedia), which was arguably the world’s first commercial computer.  (There was the UNIVAC in America, but I would have to travel quite a way to visit the places where it was created).  I know hardly anything about the LEO.  I feel that a whole new journey of discovery is just about to begin.

Permalink Add your comment
Share post
Christopher Douce

Making the history of computing relevant : Day 1

Visible to anyone in the world

Ever since I was a kid I've been interested in the history of computers.  When I was aged ten or eleven I would try to buy an issue of a pretty serious hobbyist magazine using my pocket money every two weeks.  Each issue was a part of a series that would make two really heavy books.  (I couldn't afford to buy very many of the issues, of course... I didn't have enough pocket money!)

In these magazines I remember seeing these old black and white pictures of a machine called ENIAC and reading about very early computers such as the Manchester Baby and the work of Zuse in Berlin, Germany.   These old pictures and articles have always stuck in my mind.  The past, to me, was interesting.  It was, in some way, another world that was there to be be explored.

This is the first of a series of two blog posts of a conference I recently attended at the Science Museum, London, on the subject of the history of computing between 17 and 18 June 2013.  More information about this conference is available through the conference website where you can find copies of the papers and presentations.  Google have also posted a page about the conference on their Google Europe blog.

My attendance at the conference occurred as a result of a random chat with one of the organisers about an old computer company called Elliott which once had its headquarters not too far from where I live.  This sounds like a random conversation - and it certainly was!  But I'm very glad it happened.

What I hope to do with these blog posts is to (briefly) summarise each the presentations (this is something that I do for myself from time to time, to help me to remember what happened).  One disclaimer is that I'll be picking up on the things that I personally found of interest, and I obviously can't do justice to every excellent presentation.

This said, I do hope to provide some links to some of the resources that some of the speakers mentioned, which I hope will be useful to fellow delegates, researchers and students alike.  A final disclaimer is that I'm only going to mention the names of the presenters who gave each talk (even though there were many other contributors) and that there's also a strong possibility that I may well inadvertently misrepresent or misunderstand things.  If I have done this (and you find this blog), then please do correct me by making a comment below.

Opening

The event was opened by Tilly Blythe, Keeper of Technologies and Engineering at the Science Museum, Arthur Tatnall, chair of the IFIP (IFIP website) WP9.7 History of Computing group, and Lynette Webb from Google.  Tilly spoke about some of the objectives that relate both to the conference and to the Science Museum.  These include the need to understand the audience and attract their attention, the use of compelling and engaging stories and the importance of objects that can inspire awe and wonder.

Session: The importance of storytelling in museums

Exhibiting the on-line world: Marc Weber

The first formal presentation of the day was by Marc Weber, who did a great job.  One point that I've made a note of is that it is very easy to overlook the fact that technology has a rich and detailed history.  There is always a back story.

Marc introduced us all to the idea of a hierarchy of exhibitability.  I immediately grasped what he meant: some items (or ideas) can be immediately understood and appreciated, whereas others can be difficult to present and grasp.  Exhibits can range from the personal and visual to exhibits that aim to present abstract ideas.  A lot of computing can be, by its nature, pretty abstract.  One way to get over this is to present concepts and ideas using computer screens - but could we do better than presenting information on large glowing rectangles?  How could we exhibit networking, for example?

One approach is to display physical artefacts, such as an original Interface Message Processor (Wikipedia) alongside current devices such as Cisco routers.  The challenge of exposing and exhibiting the internet to visitor 'is like trying to display the wind'.  The question about creating an exhibit about the internet reminds me of how everything (in terms of ideas, as well as devices) is connected.  To understand the history of computing we also need to understand the history of other aspects of technology, such as the history of telecommunications, for instance.

Narrative in the History of Computing: Tilly Blyth

I can remember the first time I visited the Science Museum computing gallery.  There was an actor who played the role of Charles Babbage.  He actor walked up to me and started to enthusiastically talk about his work.  Since I was then a shy twelve year old, I was having none of it - I just wanted to look at the exhibits; I was mildly traumatised by the actor's enthusiasm and he left demoralised.  Not quite an indelible scar, but an interesting memory that reflects one really interest approach that museums can take to make their collections come alive.

Tilly spoke (amongst lots of other things) about different approaches to exhibitions.   One of the problems with the chronological approach, presenting a gradual (and natural) progression from the past to the present, is that it suggests a degree of inevitability, or technological determinism.  A challenge with this approach is that this doesn't take into account the wider social issues and circumstances that brought about technological innovation and development.  Another point is that innovation happens in fits and starts, and there are many dead ends.  It's also the case that people remember stories, and one way to help with this is that the stories of people are important.

Tilly also spoke about the current exhibition about Alan Turing that celebrates his contributions and life, whilst also exhibiting a number of related artefacts.  This story telling or biographical approach strikes me as one that is understandable and compelling.

I didn't know about this, but there is going to be a new Information Age gallery.  (You can learn more about this through Tilly's blog). The gallery will expose, examine and celebrate, subjects through the eyes of those that were affected.  It will cover key communication technologies such as cable, broadcast, satellite, web and cell (radio) technology.  According to my roughly scribbled notes, it will feature something about the first communications cable that went across the Atlantic and will feature oral histories and video presentations.

At the centre of the exhibition will be something called the Rugby Tuning coil which was once used for transmission of very low frequency signals to submarines.  Such an object can connect to important subjects such as information theory and transmission.  After seeing a photograph of the coil I can assert that it is a striking and arresting object.  It appears to be one of those artefacts that is beautiful in not only its physical construction, but also in the sense that its design embodies the principles of technology that it utilities.

I've made a note that Tilly mentioned that there will be a series of stories.  There will be stories about the first information machines, such as Tommy Flowers and his role developing the Collosus, and the development of the Lyons Electronic Office (LEO) which is considered to be the first commercial computer in the world.    I understand that there will be something about the birth of computer networks.  A third story relates to the global information space, and a fourth is about computers for users (and being a tutor on a human-computer interaction module, this is a subject close to my heart).

Tilly's talk emphasised that narratives can connect places, ideas and artefacts, through people.  When it comes to exhibitions and artefacts, a key objective is to creating resonance and wonder.  I, for one, am looking forward to visiting the new gallery when it is opened.

Making history relevant through education and experience: Arthur Tatnall

I seem to remember that Arthur began with some questions: 'why should we be interested?  What questions comes to mind when se see an old mainframe? What can we do to make artefacts relevant and important?  What difference did it make to people's lives at the time?'  These are all great questions.

Linking back to an earlier presentation, there are (of course), a number of different streams that are important, such as mathematics, technologies for automation and control, technologies for information processing, communication technologies.  Interestingly,  Arthur mentioned something called Actor-network theory (Wikipedia).  This was a theory that I hadn't heard of before, and having an interest in the social sciences, this is something that I'll be certainly taking the time to look at.  In essence, the theory seems to be about the interaction between people and things.

Arthur also introduces some really important issues, such as, how do we preserve software?  (This is a question which crops up a number of different times throughout this conference).  There is, of course, the question of how we might convey the importance and relevance of software to visitors.  One approach might be to make use of guides to make the exhibits come alive (as long as they don't scare away any of the visitors, of course!)

Session: Key collections and the future plans

Heinz Nixdorf MuseumsForum: Jochen Viehoff

I never knew this, but apparently the Heinz Nixdorf computer museum is one of the largest of its kind in the world.  We were told that the museum has a total of one and a half thousand objects.  These range from very early mechanical calculating machines, such as those designed by Pascal and Liebnitz and also include objects that relate to the early history of telecommunications and telegraphy, such as an early machine by Samuel Morse.

Exhibits include a reconstruction of a Hollerith machine (Wikipedia) (which is an important part of the story of the IBM computer company) and different mechanical constructions and representations of the theoretically important Turing machine (Wikipedia).

By the end of the presentation I felt that this was one museum that I would certainly like to visit.  The challenge (as emphasised by Jochen) is that it might be quite difficult to find as we were told that the town of Paderborn, where the museum is situated, is not easy to get to.  (I was later told that he was exaggerating!)

Computers' Collection at the Polytechnic Museum: Marina Smolevitskaya

I never knew that there were so many museums that were collecting computing related artefacts!  During one of the breaks, I later found out that there was a completely new computer museum opening in Cambridge (I look forward to learning more).  Marina, however, briefly talked about her work at the Polytechnical Museum (Wikipedia), Moscow, Russia.  The computing collection was founded in the 1960s and now consists of 800 objects and 2000 documents.

Session: Expanding the audience for computing history

The Case of Computing: Gauthier van den Hove

Students who learn mathematics and computing don't (it was stated) tend to learn much history.  This said, there are some exceptions - there are courses in the history of mathematics, and there are some lecturers (some of them who came to this conference) who teach the history of computing.

Gauthier drew our attention to the differences between historical disciplines, such as the humanities (where history plays an important and central role), and ahistorical disciplines, which could be considered as more technical subjects.  I'm not so sure whether things are as clear cut as this, but I understand the point that is being made.  I've also noted down that Gauthier says that one of the dangers is anachronism.  For example, it is very easy to view the past through the glasses or spectacles of the present; we can very readily take for granted what we know.  (This connects to the earlier points about technological determinism and that it is difficult to see the rich histories underpinning the technologies that we use on a day to day basis).

There are two really nice quotes that I've made a note of.  These are:  'one of the main tasks of a historian is to identify the main facts to help us to remember the past' and, 'the past is a source of inspiration for the present'.   Another thought regarding the role of a historian is that their role is about identifying stories too, and that everyone is situated within a unique historical context.  When we consider the past, we need to consider the present too (and the relationship that we have with it).

The Mundaneum: Delphine Jenart

Delphine Jenart introduced something that I had never heard of before: the Mundaneum (Wikipedia).    In some ways, the Mundaneum, which is strongly connected to the subject of documentation science, can be associated with more recent ideas, such as Vannevar Bush's famous article As we may think (Wikipedia).

The take away points that I took from Delphine's presentation was the importance of press coverage and exposure, which connects with the thought that there are many different ways to connect with a wider audience and emphasise relevance.  More information about this can be uncovered by visiting the Mundaneum website.

Resurrecting Ukraine's computing heritage: Lynette Webb and Marina Tarasova

I was about half way through my doctoral research in the late 1990s when I stumbled across a paper in the Communications of ACM (perhaps the most prestigious computing journal there is) that had absolutely nothing at all to do with my research.  It was a paper that really grabbed my attention.  It was all about the design and development of computers in the Soviet era.

One of the challenges that I faced as a research student was that there were so many different things that I found interesting.  I spent a day or so reading and re-reading the paper before deciding that I had better put this to one side and get on with my main research before I got carried away - but this reminded me of my long-running interest in the old and the historical.  The paper presented a perspective and a social history that was very different to the one that I had read about in the computer magazines that I used to buy as a school kid.  I remembered all these things during Lynette and Marina's presentation.

Lynette talked about the connection with Google, and how this led to interviews and newspaper articles.  Some important points (in terms of exposing a computing related subject to the media) included the use of stories, anecdotes, anniversaries, photos and videos - all help to create a compelling and interesting picture.  Also, for those who are interested, there's a website entitled History of Computing in Ukraine. It's pretty interactive and contains some cracking pictures.

Session: Spotlight on research projects

The Konrad Zuse internet archive project: Christian Burchard

Christian Burchard introduced the Konrad Zuse internet archive project.  Not only did Christian talk about the archive (and how researchers might use to explore and study documents), but he also told us about a number of other resources exhibits and resources.   He also mentioned the reconstruction of the Z1 machine and associated on-line resources, such as a way to view the different components of the machine, and a demonstration of how it works.

As an aside, I understand that the Science Museum is hoping to make their archive of Babbage documents available to anyone who might be interested.

The Monads project: Chris Avram

Innovation and developments in early computing occurred at many different places at the same time.  Universities played a significant role in shaping and developing early digital hardware and software.  It is, perhaps, little surprise that universities have become unexpected custodians of machine of the past.

Chris Avram spoke of the preservation of computing at Monash University,Australia, and treated us to a number of interesting anecdotes regarding the use of punched cards and paper clips.  He also introduced us to the Monads computer, which was developed in collaboration with partners in Germany.  This went some way to reminding me that each institution has its own technical history which needs to be cared for.

Session: Integrating history with computer science education

Using old computers for teaching computer science: Giocanni Cignoni

There is a very compelling argument that some old things are simpler and are therefore easier to understand.  Old computers and technology opens up a range of different opportunities when it comes to teaching.  Instead of being impossibly miniaturised, circuits that do essential things are exposed, allowing ideas and principles to be potentially more readily understood.

Giocanni told us about early Italian computers.  Just as each university has its own history, there is also a wider history that connects with and related to individual countries (and groups of countries).  Another aspect to computing education is that simulations of early systems can expose the detail about how they could be operated.  Giocanni told us about the HMR project (pdf copy of presentation).  A simulator could be used to emphasise the difficulties, but also enable the fundamentals and the inherent complexity of devices to become more tangible.

Is there a future in the Past: Chris Monk

Chris is learning co-ordinator at the national museum of computing at Bletchley Park, which isn't too far from the Open University campus.  Visitors from schools are very welcome to visit the museum.  Not only can visitors be fascinated by the various galleries and exhibits, but Chris also runs 'learning to program' or coding sessions on a cluster of BBC Model B (Wikipedia) computers.  I visited this learning space a couple of years ago, and it reminded me of a couple of classrooms in my old school.

Chris commented that some learners can become very enthusiastic about the programming activities and even go as far ask asking where they might be able to buy one of these old computers.  In such cases, students are directed to more modern resources, such as emulators.  A quick internet search (I couldn't resist...) reveals a wealth of resources.

The museum has seen an increase in visitor numbers in recent years.  An interesting point to note is that there is an apparent (and significant) gender imbalance, with boys outnumbering girls to a ratio of 30:1.  During Chris's talk, I've also made a note of a site (or a project) called Young Rewired State that aims to inspire the next generation of coders and developers.

In some respects, old machines or devices reflect the times in which they were built and used.  Chris asked the interesting question, which is: 'will the word computer still exist in ten years?', when devices are disappearing into our clothes and into our environment.

Apparently, computing pioneer Grace Hopper once said, 'computing without a past is just a subject, not  a science'.  A thought (or point) emerging from this session is that it is incredibly easy to get thoroughly absorbed into the here and now.

Bringing relevance to computing courses through history: John Impagliazzo

I've made the following notes during John's talk: history broadens outlook, it helps us to look beyond the machine and can help us to think critically.  History helps to make the discipline mature, yet it's only done on the fringe.  In which faculty should a historian of computing or technology sit?  Should it sit within the history or the computing department?

John also mentions the importance of corporate history.  Whilst a lot of the very early developments took place within universities (or organisations that are closely connected to universities in one way or another), more recent developments have obviously and undeniably taken place in the industrial sector.  An example of this might be the history of Control Data Corporation (Wikipedia).  (As a brief aside, John also mentioned the Charles Babbage Institute, which is a centre for the history of information technology at the University of Minnesota).

I've also made the note of the following question:  'are teachers of technology conversant with the history of the technology that they teach?'  His point is that we're much more able to remember a story than a logical argument (or a bunch of abstract ideas).  Knowing a bit of history is good for the teachers, which means that it's good for our students too.

Adapting, rather than re-inventing the wheel: Martha Crosby

The final presentation of the day was by Martha Crosby, who had travelled to the conference from the University of Hawaii, a university that has its own unique place in the history of computing and digital communications.  If you're interested in this aspect of computing history, the detail about ALOHANet (Wikipedia) is pretty interesting - it was something that kept me occupied as an undergrad.

Martha took us on a very quick tour of various milestones, whilst making the point that history adds to your toolbox in terms.  She touched on history of IBM, the development of the Harvard Mark 1, the ENIAC computer, the work by Zuse, and the Altair (one of the first personal computers).  Interestingly, Martha also touched upon the subject of programming languages, which has its own history that hasn't been discussed as much.

I've taken a note of a great quotation, which goes: 'the history of computing is the history of human kind's creativity and ingenuity which is why we should hold onto it forever' which I believe might have been attributed to Jason Scott (Blog).    (Searching the source of this quote led me to this very interesting software archive (Archive.org) - which also seems to be a repository of software).

A final point is that ideas in computing are very often adaptations of ideas that already exist.  Understanding the trajectory of their development and combination is one way to understand the present.

Evening event: Alan Turing's Life and Legacy

By the end of first day, my head was beginning to ache, big time.  It was a full on day, which took everyone to the pre-history of computing and back.  We even (briefly) went back as far as 100 BC, before returning (close) to the present day to the origins of the personal computer and the internet.

After an hours break, we found ourselves exploring a gallery in the Science Museum about the life of Alan Turing.  There were exhibits that I had never seen before, such as the ACE Computer (Wikipedia). 

 

Permalink Add your comment
Share post
Christopher Douce

Green Code

Visible to anyone in the world
Edited by Christopher Douce, Friday, 3 Jan 2020, 18:34

Photograph of a beautiful young fern that is unfolding

It takes far too long for my desktop PC to finish booting up every morning.  From the moment I throw the power switch of my aging XP machine to the on position and click on my user name, I have enough time to walk to the kitchen, brew a cup of tea, do some washing and tidying up and drink half my cup of tea (or coffee), before I can begin to load all the other applications that I need to open before settling down to do some work.

I would say it takes over fifteen minutes from the point of power up to being able to do some 'real stuff'.  All this hanging around inevitably sucks up quite a bit of needless energy.  Even though I do have some additional software services installed, such as a database and a peer-to-peer TV application, I don't think my PC is too underpowered (it's a single core running just over a gigahertz with half a gig of memory).

Being of a particular age, I have fond memories of the time when you turned on a computer, the operating system (albeit a much simpler one) was almost instantly available. Ignoring the need to load software from cassettes or big floppy disks, you could start to issue commands and do useful stuff within seconds of powering up.

This is one of the reasons why I like my EEE netbook (wikipedia): if I have an idea for something to write or want to talk to someone or find something out, then I can turn it on and within a minute or two it is ready for use. (As an aside, I remember reading in Insanely Great by Steven Levy (Amazon) the issue of boot up time was an important consideration when designing the original Macintosh).

Green Code

These musings make me wonder about the notion of 'green code': computer software that is designed in such a way that it supports necessary functionality by demanding a minimal amount of processor or memory resources. Needless to say, this is by no means an original idea. It seems that other people are thinking along similar lines.

In a post entitled, Your bad code is killing my planet, Alistair Croll writes, 'Once upon a time, lousy coding didn't matter. Coder Joel and I could write the same app, and while mine might have consumed 50 percent of the machine's CPU whereas his could have consumed a mere 10 percent, this wasn't a big deal. We both paid for our computer, rackspace, bandwidth, and power.'

Croll mentions that software is often designed in terms of multiple levels of abstraction. He states that there can be a lot of 'distance and computing overhead between my code and the electricity of each processor cycle'. He goes on to write, 'Architecture choices, and even programming language, matter'. Software architecture choices do matter and abstractions are important.

Green Maintenance

Making code that is efficient is only part of the story. Abstractions allow us to hide complexity. They help developers to compartmentalise and manage the 'raw thought stuff' which is computer code. Well designed abstractions can give software developers who are charged with working and maintaining existing systems a real productivity boost.

Code that is easier to read and work with is likely to be easier to maintain. Maintenance is important since some researchers' report that maintenance accounts for up to 70% of costs of a software project.

In my opinion, clean code equals green code. Green code is code that should be easy to understand, maintain and adapt.

Green Challenges

Croll, however, does have a point. Software engineers should need to be aware of the effect that certain architectural choices may have on final system performance.

In times when IT budgets may begin to be challenged (even though IT may be perceived as technology that can help to create business and information process efficiencies), the request for an ever more powerful server may be frowned upon by those who hold the budgetary purse strings. You may be asked to do more with less.

This challenge exposes a fundamental computing dilemma: code that is as efficient as it could be may be difficult to understand and work with. Developers have to consider such challenges carefully and walk a careful path of compromise. Just as there is an eternal trade off between speed of a system and how much power is consumed, there is also a difficult trade offs to consider in terms of efficiency and clarity, along with the dimensions of system flexibility and functionality.

One of the reasons why Microsoft Vista is not considered to be popular is the issue of how resource hungry it is in terms of memory, processor speed and disk drive space. Microsoft, it seems is certainly aware of this issue (InfoWorld).

Turning off some of the needless eye candy, such as neatly shaded three dimensional buttons, can help you to get more life out of your PC. This is something that Ted Samson mentions, before edging towards discussing the related point of power management.

Ted also mentions one of those well known laws of computing. He writes, 'just because there are machines out there that can support enormous system requirements doesn't mean you have to make your software swell to that footprint'. In other words, 'your processor and disk space needs expands to the size of your machine' (another way of also saying 'your project expands to the amount of time you have available'!)

Power Budgets

Whilst I appreciate my EEE PC in terms of its quick boot up time, it does have an uncomfortable side effect: it also acts as a very effective lap warmer. Even more surprisingly, its batteries are entirely depleted within slightly over two hours of usage. This is terrible! A mobile device should not be tethered to a mains power supply. It also makes me wonder about whether its incessant demand for power is going to cut short the life of its batteries (which represent their own environmental challenge).

When working alongside electrical engineers, I would occasionally over hear them discussing power budgets, i.e. how much power would be consumed by components of a larger electrical system. In terms of software, both laptop and desktop PC offer a range of mysterious software interfaces that provide 'power management' functionality. This is something that I have not substantially explored or studied. For me, this is an area of modern PCs that remain a perpetual mystery. It is certainly something that I need do to something about.

Sometimes, the collaboration between software developers and hardware engineers can yield astonishing results. I again point towards the One Laptop per Child project. I remember reading some on-line discussions that described changes that were made to the Linux operating system kernel to make the OLPC device more power efficient. A quick search quickly throws up an Environmental Impact page.

The OLPC device, whether you agree with the objective of the OLPC project or not, has had a significant impact on the design of laptop systems. A second version of the device raises the possibility of netbooks using the energy efficient ARM processor (wikipedia) - the same processor that is used (as far as I understand) in the iPhone and iPod I, for one, look forward to using a netbook that doesn't unbearably heat up my lap and allows me to do useful work without having to needless wasted time searching for power sockets.

My desktop computer (which was assembled by my own fair hands) produces a side effect that is undeniably useful during the winter months: it perceptibly heats up my room almost allowing me to totally dispense with other forms of heating completely (but I must add that a chunky jumper is often necessary). When I told someone else about this phenomenon, I was asked, 'big computer or small room?' The answer was, inevitably, 'small room' (and small computer).

Google

On a related note, I was recently sent a link to a YouTube video entitled Google container data centre tour. It was astonishing (and very interesting!) It was astonishing due to the sheer scale of the installation that was presented, and interesting in terms of the industrial processes and engineering that were described. It reminded me of a news item that was featured in the media earlier this year that related to the carbon cost of carrying out a Google search.

The sad thing about the Google data centre (and, of course, most power plants) is that most of the heat that is generated is wasted. I recently came across this article, entitled Telehouse to heat homes at Docklands. Apparently there are other schemes to use data centres for different kinds of heating.

Before leaving Google alone, you might have heard of a site called Blackle. Blackle takes the Google homepage and inverts it. The argument is that if everyone uses a black search page, large power savings can be made.

Mark Ontkush describes the story of Black Google and others in a very interesting blog post which also mentions other useful ideas, such as the use of Firefox extensions. Cuil is another search engine (pronounced 'cool') that embodies the same idea.

Carbon Cost of Spam

I recently noticed a news item entitled Spam e-mails killing the environment (ITWorld). Despite the headline having a passing resemblance to headlines that you would find on the Daily Mail, I felt the article was worth a look. It references a more sensibly titled report, The carbon footprint of email spam, published by McAfee.

The report is interesting, pointing towards the fact that that we may spend a lot of time both reading and processing junk emails that end up in our inbox. The article has an obvious agenda: to sell spam filters. An effective spam filter, it is argued, can reduce the amount of time that email users spend processing spam, thus helping to save the planet (a bit). Spam can fill up email servers, causing network administrators to use bigger disks. To be effective, email servers need to spend time (and energy) filtering through all the messages that are received. I do sense that more research is required.

Invisible Infrastuctures

There is a further connection between the challenge of spam and the invisible infrastucture of the internet. Messages to your PC, laptop or mobile device pass through a range of mysterious switches, routers and servers. At each stage, energy is mysteriously consumed and paid for by an invisible set of financial transactions.

My own PC, I should add, is not as power friendly as it could be. It contains two hard disk drives: a main drive that contains the operating system, and a secondary drive that contains backup files and also 'swap' area. The main reason for the second drive is to gain a performance boost.

Lower power PCs

After asking the question, 'how might I create an energy efficient PC', I discovered an interesting article from Ars Technica entitled It's easy being green. It describes each of the components of a PC and considered how much power they can draw. The final page features a potential PC setup in the form of 'an extreme green box'.

It is, however, possible to go further. The Coding Horror blog presents one approach: use kit that was intended for embedded systems - a domain where power consumption is high on the design agenda. An article, entitled Building Tiny, Ultra Low Power PCs is a fun read.

Both articles are certainly worth a view. One other cost that should be considered, however, is the cost of manufacturing (and also recycling) your existing machine. I don't expect to change my PC until the second service pack for Windows 7 is released. It's going to be warming my room for quite some time, but perhaps the carbon consumption stats that relate to PC manufacture and disposal are out there somewhere that may help me to make a decision.

Concluding thoughts

Servers undeniably cost a lot of money not only in terms of their initial purchase price, but also in terms of how much energy they consume over their lifetime.

Efficient software has the potential to reduce server count, allowing more to be achieved with less. Developers should aspire to write code that is as efficient as possible, and take careful account of the underlying software infrastructures (and abstractions) that they use. At the heart of every software development lies a range of challenging compromises. It often takes a combination of experience and insight to figure out the best solution, but it is important to take account of change since the majority of the time on any software system is likely to be during the maintenance phase of a software project.

The key to computing energy reduction doesn't only rest with computer scientists, hardware designers and software engineers. There are wider social and organisational issues at play, as Samson hints at in an article entitled No good excuses not to power down PCs. The Open University has a two page OU Green computing guide that makes a number of similar points.

One useful idea is to quantify computer power in terms of megahertz per miliwatt (MPMs) instead of millions of instructions per second (MIPS) - I should add that this isn't my idea and I can't remember where it came from! It might be useful to try to establish a new aspirational computing 'law'. Instead of constantly citing Moore's law which states that the number of transistors should double every two years, perhaps we need to edge towards trying to propose a law that proposes a reduction in power consumption whilst maintaining 'transactional performance'. In this era of multi-core multi-function processors, this is likely to be a tough call, but I think it's worth a try.

One other challenge is whether it might be possible to crystalise what is meant by 'green code', and whether we can explore what it means by constructing good or bad examples. The good examples will run on low powered slower hardware, wherease the bad examples will likely to be sluggish and unresponsive. Polling (constantly checking to see whether something has changed) is obviously bad. Ugly, inelegant, poorly structured and hard to read (and hard to change) code could also be placed in a box named 'bad'.

A final challenge lies with whether it might be possible to explore what might be contained within a sub-discipline of 'green computing'. It would be interesting to see where this might take us.

Acknowlegements: Photograph of a fern, entitled 'Mandelbrot En Vert', has been liberated from Flickr. It is licensed under creative commons by GaijinSeb.

Permalink
Share post
Christopher Douce

Understanding Moodle accessibility

Visible to anyone in the world
Edited by Christopher Douce, Tuesday, 2 Dec 2008, 17:13

moodle-logo-small.gif

To really understand why things are the way they are today necessitates understanding what has happened in the past. This blog post is an attempt to build up an understanding of the current state of Moodle accessibility by looking into what has happened during parts of its development. My methodology is simple: begin with internet (and Moodle forum) searches, ask a few people to see what they know, and see where it takes me!

Initial results

A quick search using Cuil took me to some Moodle developer pages and the Moodle Accessibility Specification which has the headline, 'the document specifies improvements to the accessibility of the Moodle course management system for version 1.7’' This is useful. Both the page itself and the release number can point me towards some dates. Version 1.7 of Moodle dates from November 2006 onwards (until March 2007, when version 1.8 is released).

Digging a little further in the Moodle documentation, I discover the release notes for version 1.7. This provides a huge amount of information. Release notes are very often overwhealming for the casual reader. So, to help my search, I search this page for the term 'accessibility'.

Under Moodle 1.8 release notes, the words 'the Moodle interface is now compliant with XHTML Strict 1.0 and major accessibility standards' catch my eye. This is interesting, but what does this mean? Thankfully, there is a link. I’ll try to uncover what the significance of XHTML Strict later. Let's continue with the search for discussions relating to 'major accessibility standards'.

Moodle Accessibility Page

The link found on the 1.8 release notes takes me to the Moodle Accessibility page. The page provides several groups of other links: starting points, standards, legislation, tools and resources. A couple of things jump out at me: a link to the development tracker that relates to Accessibility Compliance in Moodle 1.8, a link to Italian Accessibility Legislation Compliance, and a link to an accessibility forum (guest login required).

It looks like I might be finding some very useful stuff! So much stuff, I need to focus down on what is often very important to me: source code. Code cannot lie, but on its own, it cannot always tell you its history... Thankfully, there are other ways to understand how (and why) things have changed.

Looking at the detail

To enhance the accessibility of Moodle, the developers have created tasks within a combined bug tracker and change management system. This is something that is common to loads of other software developments. Change management systems help developers to keep track of what has changed, when and by whom. If bugs are accidentally introduced as a result of changes, keeping records can help us to understand why. A side effect of a good tracker is that it can also tell you what changes are incorporated into individual releases.

Let’s have a look at a tracker entry to see what one of them says: Indicate type of resource in the name of the resource. This is an interesting one. For screen reader users, having advance warning about the file type is useful, particularly if a link is to a resource that is handled by an application outside of the browser, such as a PDF file, for example.

It’s also interesting to see that the tracker can also contain information about debates about the development of the software and, sometimes, its requirements. Clicking on the 'change history' may sometimes present you with a file that summarises the modifications that a Moodle developer has made to several files to make the accessibility enhancement.

Higher level advice

As well as the Accessibility Specification, one of the developers has created a useful page entitled Accessibility Notes (found within the developer area). This includes an executive summary of some of the guidelines, a roadmap for further accessibility developments, pointers towards future areas of development and a link to some accessibility 'patterns' which have been derived from the Web Content Accessibility Guidelines (WCAG).

Relationship to WCAG?

You often hear WCAG mentioned in relation to different levels of conformance, specifically A, AA and AAA. Whilst searching the terms Moodle and WCAG, I found myself back at the forum that I mentioned earlier which had the title, a forum to discuss 'planned conformance to standards/laws such as the Web Content Accessibility Guidelines (WCAG), Special Educational Needs and Disability Act (SENDA), Section 508 (USA)'

It should be said that there is no formal way to 'conform' to the WCAG guidelines. Whilst some of guidelines can be assessed by machine (by the use of a computer program), some sections of the guidelines require real people to determine whether or not a web page is accessible (according to the guidelines). It should be noted that even if something is accessible under one measurement, to some users, this might not be the case.

The issue of compliance is also complicated by the fact that Moodle (along with many other learning management systems) can make use of different blocks, modules or components in a range of different ways. The way that an application is use and configured can significantly influence its accessibility.

Although there is no definitive statement how Moodle adheres to the different WCAG 1.0 levels, but I have discovered a forum posting that relates to a question about the American Section 508 procurement legislation. But will there ever be a statement about WCAG? I decided to dig further by speaking to one of the contributors to the Moodle Accessibility Specification.

Whilst WCAG is great for content, it doesn’t work so well with interactive systems. The Moodle accessibility specification has been created by distilling accessibility principles and ideas from a number of different sources, WCAG as well as an organisation called IMS (see also the IMS Guidelines for Developing Accessible Learning Applications).

Future work?

It was recently announced that the latest version of the WCAG guidelines (version 2.0) will be soon released. One interesting piece of work would be to carry out an assessment of a 'vanilla' (or out of the virtual box) installation of Moodle against these new guidelines.

Strict!

Earlier on I mentioned that I might explore what is meant by the mysterious words XHTML Strict. Whilst browsing the Moodle accessibility pages, I discovered the Moodle tracker task that asked the developers to move to web pages that are 'marked up' in this way.

One part of this tracker jumps out at me, specifically: 'avoid using, within the markup language in which the page is coded, elements and attributes to define the page's presentation characteristics'. In essence, use semantic tagging on web pages as opposed to tagging that relates to the change of the visual characteristics of a display. Rather than using bold tags to indicate a heading, a developer should instead use heading tags. This way, the tags that 'add meaning' to a document can help users who have assistive technology navigate through a page more easily.

A further comment on the subject of semantic tagging is that if a developer needs to add visual formatting to a page, cascading style sheets should be used (CSS). CSS can be used to separate the structure of the content from how it appears on the users screen. A great illustration of what CSS is and what it is capable of can be found within the CSSZengarden.

There is another line within the tracker problem that was interesting: 'for all new sites, use at least version 4.01 of HTML, or preferably version 1.0 of XHTML'. What does this mean, and is there a difference between the two, and why is a difference preferred? Let’s have a look what they are in Wikipedia which contains a paragraph that explains how XHTML relates to HTML.

It seems there are little differences between the two, except that the HTML pages become well-formed XML documents. Not only can then the resulting pages be manipulated by programs that can manipulate XML (and more easily check for different types of conformance – page checking is mentioned in the tracker comments page), but by insisting that they are 'well formed' may prevent the possibility of 'ill-formed' pages confusing assistive technologies, such as screen readers.

The tracker provides more information about how XHTML relates to accessibility. WCAG states that content authors (and you could argue that a page generated by Moodle is content) should 'create documents that validate to published grammars' (checkpoint 3.2). Other useful WCAG checkpoints include guidance not to use deprecated (now obsolete or old) features, and select W3C technologies when they are available, and use the latest versions. In essence, take advantage of new technologies when they are available for use.

Summary

It seems that accessibility, as a subject, has been discussed on the Moodle forums since November 2005. Since this date, a lot of work has been carried out to improve the accessibility of Moodle, some by the Open University. Evidence of this work can be found documented within the Moodle project without too much difficulty. I hope this post has helped to show where (and how) to find information about Moodle accessibility.

Although it can be argued that no platform is totally accessible, strides have been made to make Moodle more suitable for users of assistive technology. Anyone who uses Moodle has to be aware that the accessibility of such a system does not only depend upon the programming code alone, but also how it is used, and what materials it presents to learners.

Acknowledgements are extended to those who I spoke to during preparation of this post. You know who you are!

Permalink
Share post

This blog might contain posts that are only visible to logged-in users, or where only logged-in users can comment. If you have an account on the system, please log in for full access.

Total visits to this blog: 2270917