go to Reviewsgo to Servicesgo to Registered Usersgo to Resource Centrego to AbleStable: Helpgo to About Us
go to AbleStable: Home The column
go to Search

go to Exhibitions Centre
  Following the lives and fortunes of creative people  
go to Help
go to Resource Centre
go to Library
go to Articles
go to E-Books
go to Glossary
go to Reviews
go to Web Link
The Column icon The Column: Issue 49

The Library > The Column Archive > The Column 049

E-mail this web page address to a friend or colleague
Enter their email address below (no record is kept of this action)


The Column is a monthly feature that explores the world of creativity and aesthetics.

The Never Ending Draft
Mike de Sousa, Director, AbleStable

It is unfortunate but likely that as soon as the phrase "software developer" hits the reader square between the eyes, many will immediately move their mouse towards the browser address bar with the view to a quick escape.

Software development is often perceived of as less creative, and certainly less "artistic" than many other creative activities, but before the temptation to flee from this page wins the day, read on. The never ending draft that defines the working practice of the software developer provides an insight into both the creative process, and differences in how our creativity finds its expression.

Updates and Fixes

Software developers update their programs for five principle reasons:

A program may not be functioning appropriately and needs updating. These update fixes may be to visual "bugs" like a button which has been incorrectly associated with the wrong graphic, or problems with the coding or "engine" which prevent the program from performing its intended function appropriately.
A program may need revisions to work in the light of changes or updates to the operating system. Microsoft for example changed so much in Vista, that even those developers who had worked with the pre-release versions of the new operating system found their software didn't work appropriately with the public release.
The look and feel of the GUI (Graphical User Interface) may need improving to make the program more user-friendly.
The look and feel of the GUI may need reinventing or updating for marketing purposes.

The fifth reason that software is updated is the most interesting from the perspective of this column:

Feature creep is where software can over-emphasize new features to the detriment of other design goals, such as simplicity, compactness, or bug reduction. Feature creep may result from the feedback of users, but is more often as a result of the desire of the developer to constantly refine and improve their code.

The continuous improvement or drafting of work is the single most important process in producing consistently successful commercial or artistic products. That is not to say that the creative person cannot produce work which results from improvisation and intuition, however even the most talented and able creatives are not able to continuously produce high quality output when relying on this strategy.

The Obsession of Redrafting

Good software developers are often fixated with order, syntax, and literal interpretation. Those developers who aren't so great may be more rounded people, but their lack of obsession on the minutia of ensuring their code performs its task in an elegant and cohesive manner, makes them less effective at delivering robust and effective software.

The outstanding software developer cannot help themselves, they have a compulsion to produce code that outperforms the previous draft, and then to improve it further, then further still. It is an endless and unremitting quest that often infuriates others like the directors and marketing department who do not care so much about what could be better, but rather what can be promoted and sold immediately.

The software developer's creativity is focused towards a kind of poetry of grammar. That is, they seek to find the most efficient and succinct way of expression given the confines of the computer language being used. The difference with their poetry is that it never arrives at a journey's end, nor ever becomes more than functional.

The Sum of the Whole

Software developers, like any creative professionals, have a body of knowledge they call upon to write their code, but they also often use "components". These components are segments of pre-written code that have often been produced by a different developer that performs a specific task that is crucial, or will add benefit to, the program in development.

Let's say you want to create a scheduler program that has a calendar. Rather than writing your own original code for the calendar you might acquire (either as open source, or from a commercial component developer) the calendar component, then integrate that new segment of code into your existing code. In this way the developer acts as a producer and author, sourcing the best components, integrating these into the overall program design, as well as writing original code.

There are times when components conflict with the core code or with another component that is used in the program, and much of the developer's efforts are taken up with resolving these issues.

Seeking Completion

The software developer has found a contextual home for his/her incessant focus on logical argument. Their creativity is unquestionable, but they do not generally produce art. It is this qualification that causes people to often mistakenly judge software development as uncreative.

In contrast, the artist, author, designer and composer usually seek closure in their work. Although I for example, enjoy the process of researching and drafting a work, there comes a time when I need to step back. It is a time of satisfaction and intrepedation, as much as a time when I should move on to the next challenge that awaits...


AbleStable® welcomes feedback on The Column. Go to Feedback, complete the form, and make your views known.

Authors background
Mike de Sousa is the Director of AbleStable®. Mike has been commissioned as an artist, music composer, photographer, print and web site designer, and author. Mike is also the Creative Director of 2BrightSparks, a software company.

If you observe inaccuracies in our in-house contributions or wish to contribute an article or review to be included at AbleStable® visit Feedback.

Copyright Notice
Although our contents are free to browse, copyright resides with the originators of all works accessed at AbleStable®, and unauthorised copying or publication of our site contents is strictly prohibited.

AbleStable © 2002-2007

 All Material: AbleStable © 2002-2007
go to Frequently Asked Questionsgo to Feedbackgo to Press Centrego to Privacy Statement