A Story About Clodeo – A Simple Project Management Application

One day, there was an idea that came up in my mind. The idea was a simple application that works for project management. I knew it was a “red ocean” kind of an app, but I believed that with so many kind of project management apps I would still have a market. So the story began…

I built it with Ruby on Rails, MySQL, and Bootstrap. I developed some simple features that covered project management and issue or task management. After several weeks, I finished the application, named it with wirapm as the code, and deployed it at the office to help us controlling what we were doing with our project. Unfortunately, I was the only who use the application. It really helped me to know where we were in our project, but I thought I could add more feature. So, I got an idea to add a feature for users to write about anything and they can share it to other users or not. Then, I developed the feature, I named it with journals, and I updated the app for the office.

This change gave me more reasons to use this app. The blog-like feature helped us to give daily report or share something new to others. And again, I still thought that I could scale the features and I got the idea about meeting room. I would like to make a virtual meeting room, so people which is not in the same location could have a small meeting. The concept was only a chat room where users are able to create their own meeting room and invite other user. So, I developed it in around 2 weeks with the help from nodejs and juggernaut to cover the websocket module. But, it’s not used at all.

So, what’s the problem exactly?

At first, I thought maybe it was because our culture wasn’t actually there. We weren’t the type of persons who like to use application to create the records of our activities. On the other side, I thought these kinds of records were very important, especially for performance measurement. So, I made a rule in the office to utilize the app everyday, at least they use journals for daily activity report. This rule slowly built our culture in using this app and at the same time, me and partners decided to bring this product into a higher level. That was the point when we changed the name to Clodeo. This application was planned to be an SaaS application and it was going to be used by event organizer industry, so we guess we should name it with cloud EO and we make it short to Clodeo. Hence, we change 2 terms like projects to events and issues to activities.

At this level, clodeo already had some features including:

  1. Events management
  2. Activities management
  3. Journals
  4. Meeting room
  5. System settings
  6. Role management

Yet, this application hadn’t touch the market. I decided to make some changes like hide some features, modify the roles, and redesign the app. These were the reason:

  1. I wanted to know users’ feedback on this application. If the application was too big, it would take more time for me to learn the feedback
  2. I wanted to give new features simultaneously, because I already had some features and I just hide it
  3. And if the feedback shows that my remaining features wasn’t needed, it would be okay. Because I already validated my application and I would know whether I should continue building the features or made some pivots

The main point of changes was I needed user inputs and I won’t get it if I couldn’t show it to people.

The question is “how can I make it more accessible for user?”. Since, it was built to be a cloud application, so I made the cloud engine. The engine was developed with Ruby on Rails, MySQL, and Redis (used for resque). The idea of the engine was like this:

  1. User come to the website and register for the application
  2. After the registration, the system will send an email containing a link for user confirmation
  3. When user click the link, it triggers the system to run a background process
  4. The process is to make a clone of a master application and setup the server access, to they can access the application through domain <username>.clodeo.com
  5. When the application is ready, the system will send another email informing the user that <username>.clodeo.com is ready to use

It was fantastic to built such an engine, but unfortunately it had a flaw. I don’t know why, resque sometimes didn’t take the job to run the process. Hence, a registered user sometimes didn’t get the message that the application was ready. This problem is still happening until now. I already found the solution for this, because I’ve made an independent ruby application that utilize RabbitMQ. I’ve run a worker which implements fanout exchange and it ran pretty well, so far.

The application and the cloud engine were ready, let’s get into the market. Well, this was the big problem! Even, the problem still exist until now. We can’t get the customer, not because no one want to try it, but it seemed that we didn’t really serious in finding them. Actually, these were my idea for the marketing:

  1. Just go out and find anyone who is willing to try the application, even he/she is not from event organizer industry. Don’t charge them for doing this
  2. Collect their data and their feedback
  3. Do this steps repeatedly until we decide that we have adequate numbers of feedback
  4. If there’s somebody who want to use it, give them these options
    • Buy the application with current features
    • Buy the application with another customization
    • Buy the application on our cloud server
  5. Give them another options which focus on service, to make them “happy”

Those steps were performed but partially. This is our problem, exactly. We can’t get a real customer, because we’re not focus on getting one.

As the problem goes on, I was moving on to another phase of development. I was thinking about the vision of clodeo, “a simple project management”. Just that? You may have seen applications such as basecamp, asana, teamlab, or backlogtool. They were simple, but they have other strengths. Now, let’s take a look at mine, what do I have here? Everyone can make it, so why should they bother of buying it? This means I need another idea to complete clodeo. This contemplation brought me to a concept

The important things in working in a project are you need to be able to measure team performance, you need to be able to review the team activities through the projects, and the team need to coordinate in one room.

That thought give me these points:

  1. Clodeo should be able to manage the projects and issues which is the standard feature and I’ve made it perfectly
  2. Clodeo should be able to record all users activities. This feature is already implemented and will be improved immediately
  3. Clodeo should have a better meeting room which enables user to chat to others and working together in a same board. The concept of the board is like a white board inside the meeting room. People can add anything to the board, they also can write anything, and it’s real time.

It’s exciting! I’ve covered the technicals side and the concepts, so it needs to be executed immediately!

As the vision reformed to “a simple project management which enables people to work remotely and gives them an experience like working in the same room”, I have a long list of homework to be done. Beside those 3 main features, I also need to enhance other aspects like :

  1. User experience
  2. A better cloud engine
  3. Reporting system
  4. Bug fixes
  5. Mobile application (iOS and android)

To make it executeable, I need to cling to my product execution concepts:

  1. Break it down to small pieces
  2. Prepare some small batches
  3. Release it often

Well, let’s see in a couple of weeks, what changes that I could bring to clodeo.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s