Will software design and development ever will be part of art schools? I doubt it, but why not? After all designing pieces of software is not only technique… it’s art. Like a writer, a painter or a sculptor, software designers use tools to make their ideas real: to share them with other people.

Right now I am prototyping ideas I have for enhancing Talk Digger. My creation process is much more like that of a writer than that of a software developer, an uber-geek.

Ideas pass through my mind; I muse about their utility; I prototype them; I test them; I use them; I play with them; I talk about them with other people; I get feedbacks I integrate these feedbacks into my idea; I change my ideas; I change my works; I delete some prototypes; I go with the flow of my ideas and their evolution.

This is my work.

Sure there are rigid procedures in software development. Yeah there are procedures to design, develop, debug and support software development. Yeah you have to write specifications; yeah you have to perform test cases; yeah you have to do all that … and much more.

However, what I am talking about is the first process, the creative process, the one wherein the technical knowledge does not really matter, the one that will make your software usable; the one that will be so intuitive to use that nobody will think about it but will only think about what they have to do; the one that will help users save time when performing their work. No one needs technical knowledge to develop such software. What he needs is creativity: he needs to be an artist.

It is what I am doing right now. It is the reason why I am not writing that much. I am in a sort of creative mood where I prototype my ideas to make Talk Digger bigger, better and more useful. I try to do these things to achieve Talk Digger’s goal: (1) gathering the best information, (2) archiving it in the best way, (3) displaying it in a most meaningful way, (4) thinking about the best ways users could interact together, (5) having fun doing it.

What is Talk Digger’s goal: finding, tracking and entering conversations evolving on the Internet.

When I am prototyping some of my ideas, most of the time the “final” prototype, the one that has some real potential, is not what I was thinking about when I started developing it. Most of the time it is something that evolved during my development. It evolved with new ideas I had while writing it, using it, contemplating it. This step was crucial, otherwise I would never had these ideas that make a first good idea, a final really good one (it is what I think and what I hope, however it is up to the users to confirm or not whether my final really good idea was in fact that good).

It is certain that when I will have finished these prototypes, when I will start developing the real system, that I will use all the techniques I know to make that application scalable: it is more than essential. However, I think that some developers, and many of their bosses, forget the importance of the creativity process in software development: how the first steps are so important to create an application that will reach the tipping point with users.

I hope that computer sciences degrees add an “art and creativity” course into their courses corpus.

Technorati: | | | | | | | | | | |

10 thoughts on “I am neither a painter nor a writer: I am a software designer

  1. Yes, you are an artist, and I enjoyed reading your post tremendously. Your header is beautiful.

    Blessings to you. Hope you enjoy my site too, although it is quite different from yours.

    Shirley

  2. Hi Shirley,

    I am happy to see that you like what I write on this blog. Thanks for the kind words. All the pictures in the header came from trips I have done in the last years.

    Sure I enjoy your blog, you have a really beautiful writing with powerful descriptions. Keep up the good work.

    Salutations,

    Fred

  3. You lead with an interesting question, but I don’t know if it’s the right question. Kids go to art school to learn how to do the mechanics of arts, just like kids get a degree in computer science to learn the fundamentals of programmers. I don’t think it’s a guarantee that a graduate will be an “artist” or “developer”.

    Both of those titles are reserved for people will (a) practical skills (which you can get in school) and (b) experience. So I don’t know if the art school analogy is a good one, because I don’t think art school churns out artists–I think it churns out people who can paint or draw.

    Second point: The “creative process,” as you define it, is an interesting one. Perhaps it’s because of my background, but I think it’s hard for one person to lead in both the “technical creative design” and the “technical architecture” for a product. Both have their own beauty and creativity, but I see distinct roles there.

    Third point: Although I just talked about the separation of roles above, I think the Web is a more seamless platform for integrating user experience and technical knowledge. In other words, Web developers often know something about usability and programming. But fundamentally, I’ve found that they’re usually better at one or the other, and I think they should concentrate on one.

  4. Hi Tom!

    Thanks for that insightful comment!

    I agree that school of art doesn’t create artists. But was I tried to explain, unskillfully, was to say that “creativity” isn’t only for art and artists, but for anybody that have to create something, even software developers (I was trying to go against the popular believe). There are techniques to help you being creative, it is sure that it will be really personal for each person, but there are general rules I think, and these rules could be teach I think.

    Could you re-explain your second point? I think I am missing something here. It is sure that the job of designing a user interface and developing architecture is not the same, but why the general rules to lead to one or the other could not be the same? You have different tools, but you have problems, and you try to find solutions to these problems, and to find thee best one, you have to get some sort of creativity. No?

    For the third point, I agree with you, but I think it is normal and goes in the trend of specialized jobs like I any other domain.

    Thanks!

    Salutations,

    Fred

  5. To explain my second point further… For me, to create a great product, one must create great requirements. I then think of requirements as having “two sides” — input and output.

    The input side of creating Requirements is led by Sales, Business, Customers, etc. They define what is “needed.” They understand how the product will be used.

    In the middle, someone must connect these “needs” users to the Technology people. The Technology people say “if” (and perhaps “how,” but not so much at this point) these things can be done. I think of this “middle man” as the glue guy (or girl). I think this is a very important role.

    (Oh, and I probably think it’s so important because that’s what I do for a living. 😉

    When this input process is complete, you’ve got great requirements.

    On the output side–the other side of requirements–Technology takes the lead. Sales, Business, End Users are not in the supporting role. They advise, test, etc. This is Technology’s time to shine.

    Where I think things often get screwed up is when Technology drives the requirements or when Sales/Business has no role on the output side.

    In any case, there is creativity in all 3 things here: defining needs (input), gluing them together (making them into real requirements), and executing (output). I see a creative process in all three.

  6. Hi Tom!

    Great comment! I can’t agree more with you. The only little thing with my present case (the development of Talk Digger and not with my clients) is that I only skipped the “input” phase for the only reason that I sort of “create” the needs. But it is not entirely true by the fact that much of today Talk Digger has been developed with users’ ideas (so it is inputs). Nothing is black, nothing is white and there are many gray in the picture 😉

    Take care,

    Salutations,

    Fred

  7. Fred, is there a way to track who commented on a page? I would love to find a list of all URLs behind comments. For example, it would be in list format and for this URL some of the list elements would be ventureblogalist, underscorebleach, writenow

  8. Hi,

    Could you explain a little bit more what you would like to be able to do? Because I have some difficulty to understand what you are trying to do.

    Thanks!

    Salutations,

    Fred

  9. Example,

    http://www.techcrunch.com/2006/03/16/rojo-gets-relevant/

    I would like to know the URLS of ALL the people who left a comment. Comment #4 was from Claire and if you hover over her name you see her URL is opensourcebiz.

    I would like to see a list of all urls for all commenters without having to scroll through the comment section of techcrunch. I would also like to see ALL commenter URLS aggregated from all posts on techcrunch.

  10. Hi,

    Okay I understand what you need. I don’t know anything that do that. However, it could be a plugin that one put on his blog (WordPress, Movable Type, etc) that do that, it would certainly be nice.

    Could also be possible as a plugin in FF, IE or Opera for example, so you could have the list of URL from commenters.

    Ben when I think about it, there is probably already such a plugin available (for FF?) that aggregate all the links in a webpage. You should do some search on that, you could find something interesting I think.

    Hope it helps you,

    Salutations,

    Fred

Leave a Reply

Your email address will not be published. Required fields are marked *