How To Rapidly Develop A Web Application

When we started working on Dekh a few months back, we were all over the place.

We had ideas on creating a bombastic community, a kick-ass software – and hence the journey began.

Three months had passed, and we were stuck with a blog containing a handful blog posts (great content, but limited), no traction, a few hundred members, and a depleting bank account.

Then I picked up Getting Real (thank you 37signals) for the hundredth time, gave it a quick read and decided on a utterly ridiculous goal:

Launch Dekh Track in one month!

I still remember. It was May 1st. I had just come home from office. Put down my stuff.

Thinking about Dekh and what had happened with it in the past few months.

Thinking about finances and how to keep up with the increasing need for revenues.

Thinking that I may just have failed again.

But when the one month goal came in mind – I did some calculations, called up my programmer, and he agreed that we could do it.

We would need to work off our asses and then some. Work harder and smarter than we had ever done before.

We were short on resources, short on programmers, short on designers, short on ideas.

But we had something that no one can ever take from you: PASSION

When passion drives you, you can even surprise yourself with what you accomplish.

Hence we set off on the daunting task of creating a full blown web application in a month.

And we did it!

Dekh Track goes live 2 days from now – on June 1st.

I want to recount the last month and what measures we took to attain that goal:

Create a list of features, then take 90% OUT

I just found a paper on which I had made a list of emails to send out to customers:

2013-05-30 23.43.38-1

I wish I could post a picture of the list of features I wrote down on a piece of paper when I was outlining the vision for Dekh Track (a few months ago)

If I recall, I had gone past the elusive 100 mark, and still kept going.

When we started working on Dekh Track on May 1st, I tore down that piece of paper.

Made a new list – it had 12 features. Just the ESSSENTIAL ones. The ones without which we could not possibly launch the application.

We’ll launch Dekh Track with just those essential 12 features. We know its not fancy-shmancy. But it works. Its what you need to start and manage an affiliate program.

We’ll take customer feedback. We’ll ask our customers which features they wouldn’t be able to live without. Then take the most requested ones and build those in the application.

Its not about making everyone happy – because you can’t.

Its about giving people something they can work with. Something that works and does what its supposed to. Everything evolves. So will our application.

The internet did not start with the Facebooks and Mashables and Youtubes.

Nobody thought in early 1990’s that a search engine would give you the answer to every possible question you could have. (yes, I’m talking about G)

Heck, they probably didn’t know what a search engine meant in the early 90’s.

I’ll say it again. Everything evolves. So will your software.

In the beginning you just need to roll something out. And let it evolve.

Because if its not out there, it won’t evolve. If its just in your head, it won’t evolve.

It needs to EXIST. And that’s exactly what we’re doing. Bringing Dekh Track to existence.

Start with the UI

I’ve read many people say otherwise, but I firmly believe this is the right way to start development.

Always start with the UI.

It just helps your programmer understand the concept much better.

Heck, its helps YOU understand the concept better.

The UI let’s you see the actual application live in just a few days. That’s an incredible feeling.

Something just transformed from fermenting in your head to actual HTML pages.

Fortunately, I LOVE designing UI. I’m not much of a CSS junkie, but I manage. I have Bootstrap, Themeforest, and a dozen other design resources to refer from.

And by the way, when I say UI, I don’t mean wireframes. I mean actual HTML pages in which your programmer will plug in the code.

This is how I go about designing UI:

1) Draw all the pages on a piece of paper. Every design element will be drawn on pieces of paper. You don’t need to frame that paper in the Louvre, so chill. My drawing is pretty bad. Case in point:

2013-05-30 23.42.16-1

2) Choose a HTML boilerplate or Twitter Bootstrap theme – or a theme from Themeforest that matches your drawings the most and appeals to your inner nature. The intuition and ability to ‘imagine’ all your pages in a theme is an art. If you’re one of those 99designs people, then outsource your design task

3) Create HTML versions of the actual UI that will be your final application look and feel. Don’t forget to include blank slates and error states in the UI.

4) Hand that over to your programmer. Chances are, things are going to get haywire – so keep an open mind and hope the final look and feel is similar to the UI you got designed.

I went an extra step and coded in several jquery effects and validations in the UI itself. That helped the programmer a lot.

Ok, I’ll stop saying ‘programmer’ again and again. His name is Prashant.

The Power of TWO

In our case it just took two people to create the entire application and if anyone says otherwise, I’ll kick them.

I’ve seen bigger companies keep 8-20 coders working on a single project. I mean, why?

All you need is ONE QUALITY programmer who knows his shit. And one person who understands the complete idea and can design UI (in our case, this was me).

Working with restricted resources actually helped me discover the “hard-working” side that had been hidden for a few years and I think I can say the same for Prashant as well.

Because it was just us two working on the application, there were no communication lapses, no misunderstandings, no “but he said this, and you said that“.

The quality of work was excellent. We worked at full efficiency. And it was fun too.

Yes, there will be de-motivating times. Times when code hangs up on you. Times when you would want to leave the project all together.

But when one person is de-motivated – the other has to tell you “it going to be all right”. Both people on a project cannot be de-motivated at the same time – that’s a disaster in the making.

I also realized its much better having your core competency ‘in-house’ rather than outsourced.

We had plans on outsourcing the coding of Dekh Track, but I’m glad we decided to go the in-house route. Its been an exciting experience.

Let “To-Do” show you the way

Aaaah Basecamp. Aren’t you a doll! You squiggly wiggly efficient machine you.

We created some to-do lists to handle the development. The smallest of things went in the to-do list.

Need to change the text of a button? Make a to-do.

Error in the reporting graph? Make a to-do

You get the point.

The to-do list helped majorly during the testing phase. Make to-do’s. Bam Bam! Solve those to-do’s. Move on to the next phase of testing.

We discussed to-do’s whenever required and it helped us keep the dev process flow smoothly and didn’t stray us away from the essential points of failure too.

Moving forward I’m going to use to-do lists from the FIRST phase of development. And so should you.

Perfection is for the corporates

I believe in keeping things simple. Yea yea, the K.I.S.S thingy.

We were never out to create the PERFECT affiliate tracking software in the first go. Nobody can. Because the industry is evolving and so will our software.

When the one-month target came up, these were my exact words:

“Let’s create a skeleton. We’ll put in the muscles, flesh, tissue, nervous system later. Right now all I need is a skeleton and the vital organs”

This philosophy helped us weed out the feature list, and let us rapidly develop an application that’s a miser on features but does what its supposed to do – track clicks and conversions.

Never look out to create something that’s perfect from the get go. As I said before, it will evolve and probably become perfect sometime later.

You can’t please everyone. People will complain. They always do. Just listen to those complaints and look to improve once your application is out in the open.

I believe the key part is to just launch ‘something’. Something that people can play with.

Work for long stretches (preferably at night)

Guess how long it took to develop the entire UI?

A 12 hour stretch.

Started at 9 in the evening and worked till 9 in the morning.

Seems like a long time and a lot of effort, but think of it this way:

All through the year, uptil May 1st, I just had an IDEA.

On May 2nd, at 9 AM – I had an entire application design in front of me. Beautiful, simple, and just the way I want.

Some of the best work I’ve done was accomplished in these long stretches. Mostly during the night.

But that’s what happens when passion drives you. You can’t sleep because you have that twitching in your brain: “Why the F are you lying in bed? Go make something!”

I’ve tried the “power hour” work schedule. I’ve tried the “office hours” work schedule. But nothing beats these long stretches of pure, unadulterated work.

Work with a DEADLINE

Delaying stuff is easy. It lets you be lazy. Lets you do other “fun” things while the things that matter are being put on hold.

Some people spend DECADES working in a dead-end job, hating their life, hating their work hours, hating their office – but they still keep doing it.

I have many friends working in such jobs, and tell me some amazing ideas that could possibly become big businesses. But they’ve delayed it. INDEFINITELY.

Its important to have deadlines in place.

Remember your school days when an assignment just HAD to be submitted on Monday?

Remember your college days when the “exam weeks” defined your entire month because you were toiling hard all night for the next exam.

What made you work so hard those times? Your respect for teachers? Your love for a subject? Naaah! You worked hard because you had a deadline.

When you have a deadline in place, and you RESPECT that deadline – you will go to all lengths and heights to make sure you achieve that deadline.

The best way for entrepreneurs to keep deadlines is to tell your partners and staff about a deadline and build it up.

I told my staff that June 1st was the day we were going live with Dekh Track. I told some of my business partners the same.

Now I had a bunch of people waiting for June 1st. Now I HAD to work hard.

What’s Next

This isn’t the end. Its the beginning of something beautiful. We’ll be working harder, smarter, and let our passions drive us.

I’d like to quote something that Will Smith told his son in The Pursuit of Happyness:

“Don’t ever let someone tell you, you can’t do something. Not even me. You got a dream, you got to protect it. People can’t do something themselves, they want to tell you you can’t do it. You want something, go get it. Period.”

  • Rohan Aneja

    Dude… write a book man…RESPECT

    • Ritoban C

      Thanks bro. Someday I will. Just got to focus on the present now. Been busy with dev, so haven’t had time to write much content. This particular post was written drinking Chivas celebrating the somewhat completion of first phase of Dekh :)

  • Tony

    Sorry guy but when we buy your product “cpa instruments”, we would appreciate that the link we receive from clickbank works. Result : I can’t access the member area. I’m a bit angry since I’m wasting my time trying to find out a solution. However, your sales page works and the payment page too :-) !!!