Monday, 26 March 2007

Architecture Camp registrations now open!

If you haven't heard already, you can register for Architecture Camp. I'll be talking about Evolving Architectures. I'll be waffling about thinking tools, refactoring, patterns and ways to try and create good designs!

Also, I realise I suck at blog posts! my last post didnt mention that I got the link to TED from Allen Holub, and secondly, I didn't even put the link in the post!

so here it is....

Tuesday, 20 March 2007

TED - Technology Entertainment Design

Continuing my pasting interesting links rather than formulating my thoughts into blog posts.....

But, this time I will make a bit more effort to ADD value by hyping the link and explaining why its worth having a look at!

So, I received a newsletter email from Allen Holub. Allen has some great ideas on software design and at the very least all software developers should read his article on why setters and getters are evil. (also continuing from the last post concerning the social psychology that software developers tend to bump into, he has a good link to "Unskilled and unaware of it". Which also feeds into a great link I got from 37signals which is Judo quotes which are applicable to any pursuit really).

Anyways.... So TED... This is a conference in California where they get a bunch of people who have interesting ideas in the areas of technology entertainment and design. I downloaded several them earlier today and watched them. They are good! The one I found especially interesting is the one from Neil Gershenfeld. He talks about whats beyond the digital revolution. His talk focuses on computability entering the physical world. Things that can make themselves. Programming Biology. Creating and building real things customised to the individual. He talks about Fab Labs all around the world where kids / adults are creating devices and technology that solve local problems. He makes references how 3 MIT students are doing research papers on designs 8 year olds have come up with from these labs. Really quite interesting stuff! It also is quite related to a post Rod recently made.

What I'd like to know is what we are doing in New Zealand with these ideas... with our so called #8 wire innovation we should be eating these ideas alive!

The other thing I like about these talks is that the idealistic "feel" about uniting humanity through technology and understanding comes through quite well. Some talks deal with the problems of technology and the modern world and some paint a picture of a future based on these emerging ideas.

Monday, 19 March 2007

A Group Is Its Own Worst Enemy

I came across this on the lua mailing list. Makes for a good read!

Nothing to do with designing code though....

Wednesday, 7 March 2007

Design Culture

I've been pondering over the last few months the notion of a "Design Culture" as the underpinning to software development (and more generally, product development).

This idea embraces design in a philosophical, social, and practical sense. The process you use, the techniques you use, the team, the values, etc all feed into a "Design Culture"

This means your software, your selling, your marketing, your customer service, your environment, etc all are done within a "Design Culture".

The reason I want to try and capture this idea is so that I can explain what the motivation is to do something a particular way. For instance, refactoring. It is one of the key ideas of TDD. But often it is not done "extremely" enough. Simple duplication gets removed, but really striving to separate concepts and name concepts with good names is neglected. The motivation to make a simpler design can be missing, especially once you have code that works. But this is only one tiny tiny example of a what I would imagine one *kind* of "Design Culture" would entail.

I'm not quite sure how to define it, I think I'm trying to find something beyond "You should strive for simplicity" etc. I think I want to know what makes people happy about the things they have created. Which sounds a bit wishy washy but I think it gets at the heart of what really motivates people to create good designs.

Which if we look at the idea of simplicity and my experience of creating simple designs, I really enjoy the intellectual challenge of taking something complex and finding the simple building blocks that create that complexity.

Then applying that back into the "Design Culture" we would have some notion of intellectual challenge. Which in turn has implications about techniques and skills for comprehending problems, expressing solutions, trying ideas, etc etc.