I had a conversation last week with Philippe, Grant and Mimi about OSAF priorities and how they might frame desktop decisions. This is all in the context of answering the question: how should we be allocating desktop developer time right now?

High level priorities:
1. Get users
2. Pursue revenue opportunities to sustain the project
3. Get developers

I've listed the above in the order of importance, but we can acknowledge that they are all related. A larger user base changes the options for revenue opportunities. An active, engaged developer community might help evangelize and build a user base. Plugins developed by people external to the project might be connected to a revenue opportunity. Revenue opportunites give us funds to do more work to make users happy. And so on.

Work priorities in the short run (not necessarily in prioritized order):

A. Fix a small set of high level usability problems. (Mimi will send out this list -- these problems are larger in scope than a small bug, but smaller in scope than a new feature).

B. Add the most minimal set of new features. (Right now, only month view is on this list).

C. Fix performance and memory problems.

D. Shorter release cycles.

E. Support plugin developers.

F. Improve developer productivity.

G. Fix problems with reliability and data integrity.

H. Improve testability.
   - improved framework for functional testing
   - better layering/APIs to be able to test at different layers
   - culture of test driven development

Bigger features that we might be called upon to implement if they led to a revenue opportunity (but we won't do without some driving reason):
- Email
- Mobile/sync
- Exchange
- Scheduling/calendar interop

Some thoughts on how these pieces fit together...

- We don't yet have a clear direction for the revenue opportunities. We are working that angle, but that will take a little time to play out. In the meantime, developers can be actively working on the "getting users" angle by fixing blocking bugs, working out obvious usability problems, etc.

- Until the revenue opportunity picture develops, we shouldn't be making large feature investments. We should only be adding (small) features that people are clamoring for. Right now, "month view" is the only feature that fits that criteria -- we've heard from several people that month view is the only feature blocking them from trying to adopt Chandler desktop.

- Shorter release cycles are really important for supporting agile decision making. At some point (in the near future I hope), an opportunity will come up where we want to add a feature or do some other work in pursuit of a larger set of users or a more direct revenue opportunity. We want to be able to jump on that kind of opportunity.

- To support shorter release cycles, we need to pay attention to the testability of the system as well as developer productivity (which are related).

- Reliability and data integrity problems interfere with developer productivity and shorter release cycles. If they are a big enough problem, it also interferes with keeping users. They can prevent plugin developers from being successful as well.

- Performance and memory problems may or may not be a problem getting and keeping users. They may interfere with going in some direction or other in pursuit of revenue opportunities (e.g. becoming full fledged email client).

- We're an end-user application above being a platform, so supporting plugin developers is secondary to developing a user base. That said, I still think it makes sense to allocate some resources to plugin development (and supporting any developers who show up and want to write plugins). Why? Enthusiastic developers can help evangelize the project. Plugins could be a mechanism for revenue opportunities (e.g. a plugin that talks to Exchange). That said, I don't think we need big investments here right now -- we already have the basics for plugin support.

- It is perhaps worth spelling out -- if we have users and developers, the project can live on and provide value even if OSAF itself isn't providing all of the funding over the long run. Our primary goal isn't to make money as an organization, it is to have created something of value. Happy users is the primary metric for knowing that we have created something of value.

I'll jump in the threads with more specific responses -- I just wanted to give everyone that context about how I'm thinking about it.

Cheers,
Katie
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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

Reply via email to