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:
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:
- '50' >> '80'
- '16' >> '18'
- 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:
- Solve a real-life problem and make sure there are customers willing to pay for your solution.
- Don’t start a business by yourself.
- Don’t expect much at first.
So let's find out if this applies to iuman ...
- 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.
- 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!
- 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 ...