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