[Windmill-dev] Direction of the project and plans for 0.4
Adam Christian
adam at osafoundation.org
Wed Dec 19 01:12:25 PST 2007
Comments inline
On Dec 19, 2007, at 12:33 AM, Mikeal Rogers wrote:
> I had a couple big emails that replied to the recent thread but I
> decided instead to delete them and start fresh.
>
> The project has come a long way, and every time we get over one
> hurdle and see some adoption everyone starts clamoring to add new
> features and bring in more users and add complexity.
>
> Here is the situation we're in.
>
> - We have limited contributors with limited time.
Because currently the people that can use the project are limited to
'tech savvy' people, keeping any buzz from happening large enough to
expose us to large amounts of possible committers.
>
> - We have a couple large holes in our functionality that we all need
> plugged.
These holes are SSL, concurrent browser sessions, and what else?
>
> - We have a large list of features that we consider for whatever
> reason to be "barriers to adoption".
> Right now we have a lot of solid functionality, the windmill
> controller API is particularly nice and far above what anyone else
> currently has in competing products. We can't let that cloud the
> fact that we still have a long way to go.
>
> We have a series of half done features and a lot of areas that need
> re-factoring in order to increase the long term maintainability of
> the project. This is what we need to focus on _now_, because it's
> something that is much harder to get done the more we add complexity.
If we are going to do these large re-factors that I have been hearing
about since 0.1 we should probably do it now because I think 'future
possibilities' of re-factoring is a bad reason not to become user
friendly to avg joe.
> We're seeing some great users coming by, yes they are "tech-savy"
> but to be frank, we can't feasibly support people who aren't right
> now. These are the kinds of users we should have at this stage, and
> should try to appeal to more instead of going after people with less
> experience that will require more support.
This sounds terribly backwards to me, selenium found a large contrib
base after they had a firefox plugin so that everyone and their
brother could write tests. Maybe these tests were just to be opened
and played back over and over, but they were the gateway drug making
users want more flexibility, and those are the people that turned into
contributors.
Our ability to 'support' all these users will still be an issue if we
have a large influx of 'tech savy' users. After we remove the barriers
to entrance get get users, they can help each other. Without this
happening we simply don't have the time to support more than 5 of the
most 'tech savvy' users writing to the list about issues.
> In all honestly, this project can't sustain the work it will take to
> support a large "non-tech-savy" user base. We need to focus on
> appealing to more potential contributors, in other words "tech-savy"
> people, to make the projects sustainable. For this purpose it's
> important to focus on the Python and JavaScript related features, as
> the JSON format is targeted at non-developers.
Again, we can't support any user base on our own really, where are
these contributors magically going to come from if this project
doesn't start to get out there?
I disagree, and feel that the few things keeping us from being a
binary download and two button clicks away from recording tests as
'avg joe' is just as important if not more for the community aspect.
>
> Here is what I would like to see for 0.4;
>
> 1. Completing JavaScript test authoring.
> We cannot defer this work. Currently there are zero unit tests
> checked in for this, there is zero continuous integration support,
> and zero XMLRPC support for this framework. This work has to happen
> now, if we're going to have 3 supported authoring paths then they
> need to be in and continually supported. I would like Adam to take
> on portions of this from mde if at all possible.
> 2. wxWindmill Alpha for Windows.
> There are several caveats. Windows ONLY, we will not produce
> binaries for platforms other than windows. We will create the
> infrastructure to host and create new builds but we won't be pushing
> new binary bits for every bugfix release. And most importantly,
> wxWindmill will be moved out of the primary windmill module in to,
> more or less, it's own project, in the windmill trunk.
I disagree, I think anybody with a Mac or Linux box who wants to try
out windmill with the 10 minutes they have before they catch the train
should be able to pull down a binary, fire it up and off they go. I
can see a lot of tech savvy people doing this and deciding that it's
pretty cool and that there is something they would like to add, so
they start digging into the source.
>
> 3. Improved XMLRPC Support.
> The largest barrier for people creating new language libraries is
> the XMLRPC support. It's also made features in windmill hard to
> develop as all the tests have moved to being XMLRPC based.
I agree, this is another important piece of the community puzzle.
>
> 4. IDE UI re-arch.
> I've heard Adam grumble about this saying it's in need of some
> refactoring. We're adding new stuff all the time and if the
> architecture becomes a bottle neck this will be very problematic.
This code is ugly, however every-time we run into something I think is
going to be an impossible feat with this code the way it is it turns
out that it isn't. There is one big function here that returns a DOM
element representing an action and I have been slowly cleaning it up
as we go.
> Notice that, other than XMLRPC, none of the external API's are
> changing. There are no new features in this list, just solidifying
> things we're had for a while. There are no features directly pointed
> at end-user adoption. The wxWindmill work is also targetted at
> windmill supporting itself more like an importable python module,
> with greater facilities for re-use to encourage adoption in other
> projects/frameworks.
If we want to make a list of things that need to be done before we
drop the big "become available to the world" bomb, then I think we
should write it out, do it, then do the very reasonable workload it
will take to make the project available for the masses.
XMLRPC, Binaries, run a folder of JSON tests. I can live with 'sorry
about SSL' for now.
There is some Chandler Desktop history that we really need to learn
from here. Mass of users is important to an open source project even
if it isn't where you want it 'yet', continually tweaking and 're-
factoring' can lead to 5 years without really putting the deserved
energy into exposure, and probably most importantly -- engineers are
never 'happy enough' to pull the trigger. As long as API's aren't
changing, we can refactor under the hood as many times as we want..
and maybe if we have 100 committers we won't have to do all that work
ourselves.
> -Mikeal
> _______________________________________________
> Windmill-dev mailing list
> Windmill-dev at osafoundation.org
> http://lists.osafoundation.org/mailman/listinfo/windmill-dev
More information about the Windmill-dev
mailing list