We need to start having weekly meetings to touch base and make sure we're all on the same page and are maintaining the same vision. I'm quite frankly worried regarding this point.
There are two distinctly polar views regarding this software. We need to get behind one camp and support it fully. We should not continue to tiptoe around the periphary of this issue, or we're going to loose developers and end users, and the project will become yet anohter failed or niche open source project.
On one hand, there's the desire to try to be all things to all people, and supporting of browser specific enhancements. I honestly don't think it's the right time to start offering different support for differnt browsers, as I think it only stands to introduce support issues as broader adoption starts to take place.
Once we have a solid 1.0 release code base and a couple of point releases under our belt, we can start to think about differentiating feature sets. In my view, no one will ever complain about featre parity between the browsers; people
will however decide to not use the software because they view their browser of choice as being a third-class citizen. It's just the way the psychology of these things work.
Secondly, we need to base our decision on who our primary target market is. I can best illustrate this principle by borrowing from Shayne Bowman and Chris Willis, Peachpit authors and web developers who know a thing or two about building successful sites. They are strong advocates of profiling your target market and building to satisfy that target market, not everyone.
Traditional approach
To attract the largest audience, sites add many features and services. The problem with this approach is that it will compromise one customer's experience for another's. As a result, most leave with an unsatisfactory experience.
Profile approach
Focusing on a great solution for one person increases the liklihood that you will have creatd a better solution for many others. Of course, you'll never please them all.
I'm a huge advocate of the latter approach, have experienced success using it personally, and can offer 37signals as just one example of someone that uses this approach and is really successful with it. IMO, it's the way it should be done.
In our context, that means we need to have a discussion now of what really belongs in the core and what should be implmented as a plugin. I'm in the camp that thinks the core of the application really should be lean and geared towards serving the ultimate needs of enterprise-level applications and security.
I can and would take something like this to IBM, and will have the opportunity to do so when I as my friend who is one of the Global Services managers there. It a targeted solution that doesn't require a lot of hemming and hawing and explanation about. You simply present it as "here's what it does", show it doing that exquisitely well, and watch their reactions (probably very positive). They are actively lookig for things to support that can help combat Microsoft in the realm of .Net and Sharepoint server. They're also investing heavily in Linux, Open Source and PHP right now. (We can always create "plug-in packs" that provide non-critical effects and browser proprietary enhancements later on or even release them simultaneously with the 1.0 release.)
My goal to have the opportunity to at least try to get IBM's interest in our project by presenting to a group of decision makers there, not just my friend. In orde to succeed in this, it'd have to be done very much like a VC-pitch, and based on my personal experiences with those (including at Sevin Rosen who was the lead VC for little companies like Netscape and Compaq), there will have to be some very difficult and hard decisions made, then we will have to execute flawlessly against those decisions showing focus and excellence in their implmentation.
I don't really expect to have any direct support from IBM upon making this presentation. However, what it would represent is serious validation of the project and an opportunity to meet some people who might just be able to become evangelists or fans of our project along the way. In the end, I want a project that is sustainable and that will be here years down the road.
In summary, here's the short version of what I think we need:
1) Clear vision and direction regarding architecture and what's in the core (and everyone on board with and working towards that end goal)
2) Clearly defined target market
3) Enterprise-class scalability
4) Development team "rules" (meeting/group chat requirements, IM clients, Skype accounts, Subversion, coding standards, expectations, etc.)
5) Public communication about the outcome of the above
We've got one heck of a foundation and I hope we can rapidly reach consensus and move on to more proactive and focused efforts.