Michael Kariv's Web Apps

May 1, 2008

A man in the Arena

Filed under: Google, Microsoft, Silverlight, entrepreneurship, gGanttic — Michael Kariv @ 1:17 pm

Techcrunch is a place I (MK, gGanttic’s interim CEO) visit regularly. I am also subscribed to its daily email. In my value scale, that is the highest mark a web site ever gets.

I recalled his post “A man in the Arena” recently. You should read it, if you want to understand what drives us the team behind gGanttic. We are going to change the world or die trying.

Analogy of a tech entrepreneur to a gladiator is a good one, to me. Following it a bit farther, a gladiator needs armor and it is the money investors provide. gGanttic is pre-seed, meaning we are a Man in the Arena going against the horrors of the world armed with nothing more then our skill. How’s that for chutzpahs?

One might assume, judging on how crazy that sounds, we’re a typical teenage hackers with lots of time and a readily available basement. And you’d be wrong. We are all industry veterans with 15 years of experience each, held senior positions in software development and marketing, all over 35 y.o., all married with children.

So why all of us, respected professionals, with family obligations, leave behind the tranquility of “normal” life and jump into the Arena?

My personal answer to this, is that at certain point a man who always wanted to change the world understands he can. It is a happy coincidence it happened to us individually at the same time, so that we can do something about it collectively.

P.S. And in Israel, where it doesn’t snow and rails not so much, underground garage is a rarity.

Question on GData forums about Silverlight

Filed under: GData, Google, Silverlight — Michael Kariv @ 12:55 pm

That was the question asked on Feb 6, 2008 on GData forums.
I have blogged about it in my Silverlight Blog (that is being deprecated, as I aggregate my disparate blogs back into one)

Here is my post, relevant to about 2 month ago.

I am using Silverlight Alpha 1.1 with Google Spreadsheets. You can check it out at
www.gganttic.com
It is a Gantt chart based project management that stores tasks in Google Spreadsheets. The Gantt control is SL 1.1 based.

SL currently does not work cross domain. I hit this limitation several months back.
So I started using GData .NET client library on the server end to proxy.
it was said (don’t remember where) that SL 1.1 when released (it is going to be released as SL 2.0) will do cross-domain.
I did not want to wait for it. So here is the better way.

It is to do the communication in JavaScript layer, above SL.
SL is good in communicating between control and outside DOM environment.
So SL can throw an event, that is wired to a GData function, this function calls asynchronously a server (which can be any domain)
receives JSON data, calls into SL control via SL scriptable methods.
Scriptable are methods of SL that are marked so (if you are C#, it is [Scriptable] attribute on top of a method)

There is one drawback to it, the parsing logic would have to be in JS.
So for the time being I am doing it still with my server. There is a lot of guesswork involved in trying to understand which column of spreadsheet means what metadata of a task – so it is best done in C#.

A word of warning. Just like Frank (the guy on GData team) suspected, SL has a tiny subset of .NET framework. So GData .NET library would not even compile – it would need core classes SL has not gotten. It makes sense – SL is only 4.5 M download so Microsoft had to cut on everything.
I initially hoped I could use Netika control. Netika guys did a great work adding virtually all of Windows.Forms classes to SL.
It did not work. First Netika control is 900K, too much for my taste, and second it did not compile anyway. Incomplete implementation.

So the bottom line:
- In the future you’ll be able to call GData feeds direct from SL, but you’ll have to modify .NET library or write your own parser for the feeds.
- there is a good way of communicating cross domain using JavaScript library. GData has got JS lib for Calendar and Blogger, if I am not mistaken.

Silverlight 2.0 Beta 1 impressions

Filed under: Blogroll — Michael Kariv @ 12:51 pm

I am working to port our project management application to Silverlight 2.0 Beta 1.
I am almost done. Though I have not touched some areas of SL2, I touched enough to form an impression.

SL2 is a good successor to SL1.1, delivering on all the promises made.
It is in Beta, which means you can find bugs and rough edges without really trying that hard. But it is a stable product which I find I would use in production.
For all the problems I had, I found solutions very quickly.

I shall post my more detailed review in the future posts. I just this out quickly. If you develop Rich Internet Application, SL2 is ready. There may be other thing to consider when you make the choice, but technology is robust enough to be in the short list.

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

Filed under: Blogroll — Michael Kariv @ 12:48 pm

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.

Blog at WordPress.com.