Monthly Archive for April, 2005

Current interface of Factory Nova

Just a quick update about Factory Nova development.

We are getting closer and closer to beta version. I am almost happy with how our dynamic tasks trees are working and looking now. Below is a snapshot of the current FN’s interface. I had no desire to show it in all details because it is still not ready for public viewing, hence the size of the picture.

Project Management Software

Trees and project management software

In our quest to create the best project management software (for online services-oriented company) we’ve recently stumbled upon a big problem.

You see, we have a schedule which generally outlines the whole roadmap for version 1.0 of Factory Nova. Some of the features on the schedule appeared to be taking much more time then we’ve originally anticipated. What was even worse — we’ve had to come back to previous tasks after they have already been marked as complete.

This mainly was happening because we’ve originally made a choice to inject as much flexibility in the Tasks module as possible (because we need flexibility in this functionality ourselves!) and so unsurprisingly we’ve ended up with tasks trees. In Factory Nova tasks can have children tasks, and those children tasks can have their own children, the level of nesting is not limited.

When you use trees to display data relationship you usually have a lot of additional difficulties: it’s hard to display complex trees effectively (ie. fast), it’s not clear how exactly to sort the branches, normal methods, like clicking on one of the table’s header cells do not work that well.

So after a lot of experimenting we’ve ended up with using Ajax and DOM a lot. We are now pretty good experts in this! We really love that we can apply modern techniques in our product and that these techniques help us to deliver a much better experience to the future users of our product.

But, these techniques also impose a lot of challenages that we have to handle and that, most importantly, take a lof of our time. Our time that we haven’t originally scheduled.

So, facing the problem of completely missing our original schedule, running out of money and starting coding for food, we’ve reconsidered our methods. Now we concentrate on the deliverables. We’ve split the whole schedule into 7 major parts, each part has its own deadline. If any part misses its deadline we abandon it and continue to the next part.

This way our perfectionists minds suffer, but we expect to get a complete product according to our current schedule. If we will have a complete product according to our schedule and it will miss some less important features (because we always do the most important first!) we can then make a decision based on the current situation if we can spend some more time adding that less improtant features or we better just release the product as it is because it is already “good enough”.

In any case, we expect to release a handful of upgrades after version 1.0. We have a lot of ideas that we would really like to have in a project management software that we use ourselves. Plus we are expecting to hear back from the future users of our product. What can be more valuable then ideas from people who will use Factory Nova to manage their own projects?

Currently, Factory Nova beta version is expected to be ready in June 2005.

Reports constructor in a web stats tracker

We, finally, have all the core logic ready for the upcoming new version of our web stats tracker. So, yesterday we had a long brainstorming session with Ivan where we’ve discussed the best way to show the reports both for the paid advertising and for natural searches.

As it appeared, almost every set of data can be presented in several different contexts.

For example, we might have the following logical structure for reports:

Paid ads -> Campaign A -> www.out-1st-site.com -> Referring hosts -> Keywords

Or using the same gathered data we might have the following structure:

Paid ads -> Keywords -> Referring hosts -> Campaign A -> www.out-1st-site.com

And etc. The number of combinations is not limited actually.

Eventually we’ve decided to implement what we’ve called a “reports constructor”. It will allow the user to go through the above logical structure in any order, choosing the next step to take at every point of the way.

We hope this will be a very flexible solution that we will be able to implement in a reasonable amount of time. I am expecting to describe this concept in more detail when we will have a working version of the constructor.

Introducing Mr. Stuffed

For our new corporate web site we wanted something unusual, so together with the designer we’ve come up with Mr. Stuffed – a stuffed doll. Our new web site will be launched along with our new products launches, Mr. Stuffed’s appearance is expected on at least some of the pages.

Mr. Stuffed

Coincidences

It’s interesting how I am surrounded by coincidences. I wonder if I only notice them because I am usually looking out for them. Does coincidences happen often to you too?

The latest coincidence is that all of us in Stuffed Guys are Leos, all of us were born in August. When I was searching for additional 2 programmers for Stuffed Guys I wasn’t specifically looking for 2 Leos. But after I’ve settled on 2 candidates they both appeared to be Leos!

So now the Leo horoscope affects the fate of the whole company!

Products vs services oriented business model

I’ve recently finished reading a book by Michael A. Cusumano called “The Business of Software“. It helped to crystalize in my mind what was already obvious: the difference between a products oriented and a services oriented company.

Products oriented model is very scalable. You create and sell you own software, usually the only services you provide is support. The labor requirements increase only slightly when you sell 10 licenses of your software per month and then start selling 1000 licenses. With a hit product your profit margin can reach ridicoulos proportions. That’s why so many software companies prefer products oriented model.

With a services oriented model you provide custom programming services to your customers. This model is much much less scalable then a products oriented model and has much lower profit margins. Basically the profit margin is constant with limited ability to increase: it stays the same if you have 50 programmers on staff or 1000 programmers. Also, if your business increases you always have to hire additional people, you actually have to do it proportionally to the increase. Taking into account that it’s usually hard to find good people this model becomes even less attractive.

But the truth is — it’s very hard to create a best-seller product. And even if you would manage to do it, there is no guarantee that one or more competitors will not appear copying the main features of your product and offering their own products at a more attractive price. It’s hard to create a best-seller and it is even harder to repeat the success with the next product.

So there is a sense in a hybrid business model (as Michael Cusumano calls it), when a company creates and sells its own shrink-wrapped software, but also provides custom services to its customers.

The hybrid model is what I am thinking to use for Stuffed Guys. In my opinion it decreases the risks significantly and makes the business model much more balanced. When our two products will be ready and launched, I plan to aggressively promote our customization and custom web programming services along with them.