DRY as a bone

28 July, 2008 - Posted by: Arhana

I have a small assignment for all you (aspiring) web designers out there. I would like you to visualize the development of a basic mailing list management web site. Here are the specs:

1 DB TABLE with the following fields:
  • name
  • date of birth
  • email
3 WEB PAGES
  • subscribe: signup form (name, date of birth, email)
  • edit subscription: form to change subscription details (name, email)
  • unsubscribe: form to unsubscribe (email)
VALIDATIONS
  • name cannot be longer than 50 characters
  • subscriber must be at least 16 years old
  • email can contain only 'a'-'z', '.' and '@' characters
OTHER REQUIREMENTS
  • fields must be validated on the client side (javascript) and on the server side
  • every field should have a mouse over hint
  • error messages must explain the violated validation rule
Easy enough. But then, 10 minutes before the launch of your beautifully crafted web site, the nemesis of all developers arrives: a change request.
So, what do they want NOW?
  • name can be 80 characters long
  • subscriber must be 18 years old - apparently it's a naughty newsletter :)
  • email can also contain underscores ('_')
OK, these are small things, but they still require quite a few changes to the source code:
  • database table (name)
  • form layout (bigger text box for name )
  • javascript validations
  • server side validations
  • mouse over hints
  • error messages
I have a question for you: how many bytes do you have to change to your source code to implement this change request?
Not sure what your answer is, but it should really be 3:
  1. '50' >> '80'
  2. '16' >> '18'
  3. add underscore to email validation
This is what DRY (Don't Repeat Yourself) application development is all about. A good developer is a lazy developer, eh?

Taking Joel's advice?

09 May, 2008 - Posted by: Arhana

According to Joel Spolsky, the self-proclaimed poster child for the MicroISV movement (just kidding, Joel!), there are 3 things you should do when starting your own software company:
  1. Solve a real-life problem and make sure there are customers willing to pay for your solution.
  2. Don’t start a business by yourself.
  3. Don’t expect much at first.
So let's find out if this applies to iuman ...
  1. Solve a real-life problem.
We will be launching our very first product (iuman league) in november. It's a tool for online club management, aiming to bring all the club members, visitors and administrators together in a single, automatically generated environment. Will it solve a real-life problem? We believe it will.
  1. Don’t start a business by yourself.
Check. I have a business partner and a good one, too: when we're discussing our respective roles in the company, he always says I have the brains, the looks and the money so he'll take care of the rest. What is that I hear you say? There's nothing left? Ta!
  1. Don’t expect much at first.
Not really sure I agree with this. I believe you have to strike a balance between ambition and realism. We want to have at least 1,000 customers in November, 2009. Ambitious? Realistic? A little bit of both, I hope ...

Welcome

  • I am Arhana Tay, cofounder
    of iuman. This blog tells
    the story of our company,
    from its conception to its
    present state.

Archives

iuman

blogs

RSS feed