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:
- Automate the boring part of development (many web frameworks and model driven development help you move in this direction)
- 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.
- 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.
- 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.
- Write a few bots (read Mike’s book, Spidering Hacks and check out Simile)
- Dive Into GreaseMonkey
- 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.