How Can We Make Development Fun?

 From Web bots, spiders and screen scrapers:

Without a little fun, it’s easy for developers to get bored and conclude that software is simply a sequence of instructions that do the same thing every time a program runs. While predictability makes software dependable, it also makes it tiresome to write. This is especially true for computer programmers who specialize in a specific industry and lack diversity in tasks. At some point in their careers, nearly all of the programmers I know have become very tired of what they do, in spite of the fact that they still like to write computer programs.

The author, Michael Schrenk suggests developing web bots to throw a little unpredictability into software development and make it fun. He has a point. Conventional web applications where you routinely, take form data and stick it into a database or query database and stuff it into forms is getting to be a repetitive boring work.  This may be as boring to the developer as it is to the user.

What are some ways you can make programs fun to write? Here are some thoughts:

  1. Automate the boring part of development (many web frameworks and model driven development help you move in this direction)
  2. Write little program generators  and have them do as much of the boring work as possible. When you write program generators, you are also solving the meta problem.
  3. Introduce some intelligence into the applications. Applications that learn a bit from user behavior and adopt themselves may be much more fun to write and much more fun for the user, as well.
  4. Throw a bit of intelligent interaction as one of the user interface options. Imagine how much more fun it would be to use a Search engine that is like Alice Chatbot? It will make the search experience a bit more enjoyable. Alice is based on AIML (artificial intelligence markup language) which is a fun way to build next generation interaction applications.
  5. Write a few bots (read Mike’s book, Spidering Hacks and check out Simile)
  6.  Dive Into GreaseMonkey
  7. Borrow a few techniques from Game Programming. Their model to engage users young and old is unparalleled.

It is time we infused a bit of life into our applications, throw a few pleasant surprises to our users and make software interesting to write and use.

If you know of any techniques, please feel free to add them to comments.

2 thoughts on “How Can We Make Development Fun?

  1. A couple of points…
    1. Make learning a part of the work. I am into reading “Refactoring” by Martin Fowler and its so much fun to look into the same old code.
    2. Use good programming languages like Python. Though I use Java on a day today basis, its definitely a lot better than using Cobol 😉
    3. It really takes away all the fun if the existing code is far from maintainable. Its better to avoid projects with existing code that sucks.

  2. Kamal,
    Thank you for sharing those insights. I have been telling some of the CS schools is Chennai/Bangalore that they neeed to include a scripting language (preferably Python) in their curriculum. Currently most of the teach c, C++, Java/CSharp and Javascript.

    MIT recently seems to have introduced Python as well. Part of making development fun is also introducing game programming in schools. With the proper projects students can learn a lot about event driven applications, rule management, 3D object manipulation not to probability, a bit of statistics and modeling.

    Dorai

Comments are closed.