5/01/2008

Google and Microsoft and how I came to write my Google-Microsoft hybrid application

The story of my online project management application (RIA or rich internet application) is this. I managed development team of a startup company.
I was (still am) a fun of spreadsheets way of managing tasks and schedules)

One day my CEO liked to visually see where we are, all in real time. I could have imported excel to MS Project, but that is not real time.
So the CEO hired a consulting company to set up Microsoft Project Server. That was done. We as a team struggled with all kinds of problems until about one month later we killed the idea, cut losses and I went back to Excel.

Yet something in an idea of collaboratively manage task list over the web clicked with me and I started to sketch the list of requirements.

Top one (#1) is - easy to use, instant to start using. It should be PM for the rest of us. Many people who manage projects are not professional project managers.
And people who are being managed, those people who actually make projects succeed or fail, should have zero resistance to the tool. I don't ask for love. That will come later. I only ask for getting past all the defenses we put against anything new.

Then, it should be interactive. This means it is online, accessible from everywhere by everyone simultaneously if they want to. And it means that whatever you do you see the result at once. That is #2.

Integrated with a Calendar that other people can see is my #3. Projects are about people and time. Time one can dedicate to a task is really depends on what else that one is doing. Is she on vacation? Is she having 7 hours of unrelated meeting on every average day? Is there a holiday in India where you outsourced that particular task?

#4. Integrated with Communication tools and Documents system. Projects are about people and communication. People communicate in two ways - instantly and via capturing knowledge and thoughts in documents. So my ideal PM tool should work very naturally with email, phone, IM creating context for communication. And it should facilitate right documents being created and quickly accessed.

#5. It should be visual. Easy to grasp at one glance. I don't know if this qualifies as a separate point. May be it is part of "instant" and "easy".

These are my 5 points. Not many. But they are hard to do right. Many tried. All I have seen, and I am pro actively looking all the time, fail.

I think I can do better because I borrow from the excellent tools Google and Microsoft collectively provide.

How do you make something easy? You cut on all the fat you can find in terms of functionality. And you use the tools and metaphor the people are already used to.
Minimalistic approach is characteristic to Google Applications. I like that. And the applications are similar. I like that a lot. Every time I find differences between Documents and Spreadsheets I want to cry.

I see many posts in various blogs about the lists of RIA tools that small businesses can use. My biggest problem is that those tools each use their own UI conventions and design. So, I say to myself, my PM tool should blend into "Google Office". It will remove the obstacle of learning UI for those who use it already. With Gmail and Calendar so popular, I get a free ride on UI familiarity front.

What I wish Google would improve is the speed. And that I doubt will happen. That is because Goolge is tied to AJAX, HTML and Javascript. It is not interactive enough. And if it is a concern for a text tool, it is a dead spell for a visual tool.

That is where Silverlight comes to rescue. The application, compiled, together with as complex logic as you care to program, resides on a client. There is a download time, but other then that ( and there are ways to help that too) it is every inch is as instant as your desktop application. Flash was another candidate, but lost in a match, and I'll write about it in the future.

Another part of "instant" is to integrate with Google Spreadsheets (GS).
Many people use Excel (and I foresee many will use GS) for task management. That is because Microsoft Project is too complex. Excel on the other hand is instant. Simple. Easy. I was doing it forever, it now seems, yet felt guilty about it. Until I read Joel Spolsky's post on how to use Excel for painless scheduling.

So my PM application message to the world would be - using Spreadsheets for PM is OK. The list a convenient metaphor. Timeline with milestones is just another metaphor. Both are fine. Sometimes you need one more then the other. It is good to have both. Spreadsheets gives you one. gGanttic gives you the other.

That is where I am today - developing a PM application in Silverlight on top of Google Applications (Spreadsheets for tasks now, and Calendar for time management couple of versions down)
I find Silverlight technology, C# 3.5 language and Visual Studio tools an excellent set to develop with. I find Google Apps an excellent platform to built on top of.

Some say Microsoft and Google are two poles of todays internet.
Yet I find it easy to benefit from whatever each does best. I am a bipolar developer.

No comments: