+1

On Sep 9, 2007, at 2:27 PM, Andi Vajda wrote:


So what's next for Chandler and OSAF ?

It looks like we actually released Preview on Friday. Yes !!
Congratulations to everyone and everybody :-D

We, at OSAF, have had a long tradition of being harsh on ourselves. How about, for once, for a change - pleeeeease - patting ourselves on the back about our accomplishment ?

Yes our architecture sucks, yes our UI sucks, yes our implementation sucks, yes our features suck, yes our schedule sucks, yes our product sucks, yes we all suck, yes software development sucks, yes the world sucks. Now what ?
The tone of this thread so far has been rather depressing.

Instead, I'd like to suggest the following as our next steps until 1.0.
I'd like to suggest something I'm actually looking forward to.

As was said before, our most important goal is to acquire new users. Without users, we have no purpose. Personally, I've worked all these years on this project because it's had the promise of being usable by the general public from the very beginning and because I can actually explain to friends and family what our product is about.

We're four years late in the 2002 promise of getting a user-ready release out the door. During this time, we haven't much worked with the outside world apart from a committed group of about a dozen very early adopters. It is high time we switch gears and become more responsible to our users:

  - No more nine month-long release cycles
Over the last few weeks, we've been capable of releasing a decent RC build every other day or so. Why stop now ? We have about a 100 bugs targetted
    for our next release 0.7.1.

    Our 0.7.1 release is currently planned in about a month.
    Yeah, right.

This feels so déjà vu. Given our record, I frankly don't see us fixing these hundred bugs plus all the additional ones that haven't yet been reported and have another release of the same quality ready in a month.

Instead, I'd like us to continue releasing a new RC quality build every
    few days that incorporates the most recent bug fixes and general
    improvements, small or large, as they get ready.

. To make frequent upgrades less painful for our users we need to implement what many other software products already do, namely an
        automatic check for an available upgrade with an automatic
export/install/import of the user's data if they choose to upgrade.

. To make frequent upgrades less painful for us, we need to keep the release tree controlled and managed as we've been doing since July. Frequent 0.7.x releases need to come from the same 0.7 tree. Either we keep 0.7+ on the trunk or make a branch, but - here is the point - we're not making, for the foreseeable future - until it becomes unpractical or until after release 1.0 - 0.7+ releases from an svn
        tree that was wide open at some point in the release cycle.

  - No more gaping feature holes
We must plug the most gaping feature holes between now and release 1.0. This includes contacts, syncing with various portable devices and whatever other feature hole gets critical mass consensus from our _new_ users.

If we can deliver this to our users then we've delivered on the Chandler 1.0 promise.

Now, about development.

Some have pointed out in this thread and elsewhere, with reason, various flaws in our design, architecture, implementation, features and product, in our development methodology and in our character that will make delivering on these goals that much harder. I sure hope that some of this criticism has to do with release fatigue but nonetheless, I have to agree with the gist of it.

A lot of software decisions were made over the years by accretion. Five years is a long time. People have come and gone, people have changed, people have learned, people have gained experience. The same goes for OSAF as an organization. Would we do everything the same way were we to start over ?
I sure don't think so.

The last thing we need, though - right now - is another big bang, another let's start from scratch with a new approach project. Instead, I think that we should improve, refactor, excise, rebuild, replace, small and large parts of the software that need it one piece at time. And we should do so keeping in mind users and developers, inside and outside. Our users are normally oblivious to the esthetics of our architecture. And now, they come first.

There seems to be consensus about trying a new approach to persisting UI elements. I agree. I think this is a good thread to start pulling on to unravel some of the bad architecture decisions we've made. Concretely, I think that solving this problem will go a long way in simplifying notifications, for example. Simplifying notifications will go some way in improving our perceived performance problems.

There seems to be consensus that our testability sucks. As has been said before, decoupling the UI model from the application model would give us a better handle on testability as well.

Starting with the UI architecture problem has a very good chance of leading us to solving the next problem, maybe less apparent, whatever it is.
And so on, gradually.

There seems to be consensus that our performance sucks. I don't think that our performance problems are _that_ bad. We've come a long way. More could be done and more has to be done for sure but I don't think our performance problems are a major showstopper anymore. I'm sure some users will disagree with me. Performance perception has a lot to do with expectations and I'm not sure we've set them correctly. How fast can we actually expect Chandler to be ?

One area we've done very little work in so far is memory use. We have some serious leaks as for example, bug 9454, but we haven't, generally speaking,
done much memory use profiling yet.

Now last but not least.

We've been promised funding until the end of 2008. Then what ?
Personally, I can't work for free. I'm not independently wealthy. Nor can I live off paid consulting and do my OSAF work for free on the side.

Without a user community, I don't see much of a future for Chandler past the end of next year. Partly because of the reasons pointed out by Phillip - our codebase is not very outside developer friendly at the moment - and partly because I don't see much of a purpose for Chandler without users in the general public.

Let's not forget that, as least as I understand it, one of the founding missions of OSAF's has been to create open source applications usable by the general public, not just by and for the itchy hacker out there.

OSAF's ultimate goal, I think, should be a community of itchy hackers creating, supporting and maintaining open source applications for the general public and not just for themselves.

I strongly believe we need to get users in the general public first.
Only that, I'm afraid, can open new funding doors.

Andi.._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to