Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Message from discussion where is cfeclipse headed?
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Marc Esher  
View profile  
 More options Apr 15 2008, 9:01 am
From: "Marc Esher" <marc.es...@gmail.com>
Date: Tue, 15 Apr 2008 09:01:55 -0400
Local: Tues, Apr 15 2008 9:01 am
Subject: where is cfeclipse headed?
This will most likely fall into the "Oh, man, why did I hit send?"
category for me, but what the hell.  There have been a number of posts
recently, both in this group, on blogs (See Jim Priest's
http://www.thecrumb.com/2008/04/02/the-semi-annual-cfeclipse-sucks-po...
 ), and in the Aptana Jira on the state of CFEclipse. The folks
carrying on the conversations are smart, dedicated, respected members
of the CF Community.

I rarely get involved in these kinds of talks, for these reasons: 1)
who cares what I think. really. By nature I don't like to opine in
public  2) I don't have anything new to add that these fine folks
haven't said already. But I've read a few things recently that made me
actually want to say something on the topic, because it is one I care
deeply about since I spend most of my working day in this IDE.

What got me thinking:

1) Jim's post, mentioned above. I've probably come across it half a
dozen times since he posted it. I've wondered how many other people
read it and said "eh, whatever.". What I really wondered is how many
people in the CF Community would be willing to either a) lend their
java skills to cfeclipse or b) learn enough java to contribute in some
manner. This then got me thinking about why people contribute to open
source in general. This got me thinking why other java programmers in
the community don't contribute to the highest-profile java project
there is in the cf community (cfeclipse)

2) Shortly after reading jim's post the last time, I stumbled on this
(no idea how): http://www.returnundefined.com/2008/02/i-guess-donating-code-isnt-eno....
 It's a great read, very short. Lots of great cussing. And a situation
I've not yet run into with mxunit but which I'm sure will happen some
day.

3) This post, which I just read today, even though it's a few weeks
old: http://www.adrocknaphobia.com/post.cfm/open-sounce-could-be-last-hope....
It's adobe's adam lehman on the open sourcing of blue dragon.

4) And, lastly, I finally decided to read the aptana jira that Jim
referenced in his CFIDE survey post  to this group from April 9
(http://support.aptana.com/asap/browse/STU-284).

The last 2 really got to me.

First, I have to say that I've wanted to contribute to CFEclipse for
some time now. I started learning Eclipse RCP back in June 07. Since
then, I've put out a pretty good first-timer plugin, and I had a great
time learning how to do it. In fact, it's probably been the most fun
I've had programming in a long time. Not "couple of friends, bottle of
Dalwhinnie 15, box of Cohibas at the nudie bar" fun. Not "driving down
the highway at 180 in my new Ferrari" fun. More like "I can't believe
I just did 300 pullups" fun. "I can't believe I climbed up that
perfectly good mountain and all i got were these stinkin' bloody
fingers" fun.  The kind of thrill you get when you've done something
really hard that you've never done before and didn't know you  had in
you kind of fun.  Remember when you first started programming, or even
when you first started with CF, and you were up till 2 AM b/c you were
so jacked up about putting out this rad site for you and your buddies
to keep in touch on? Or you made an online newsletter your grandma
could use? Or when you first heard of Ajax and you were so stoked
about your new whizbang effects thingamajiggie that pulsed 30 soap
feeds and bound to some div and had a loading mask and all that?
Well, it was like that.

I've looked at the cfeclipse code. A lot. Many times. But I've always
resisted contributing. Lots of reasons, at least initially. The
biggest one is time. If you've never done open source, you have no
idea how much time it can eat up. It can be like another full time
job. This is why I commend mark drew so mightily for what he's done.
Back in 2005, I tried cfeclipse probably 2 or 3 different times. Each
time, I went back to Studio and used Eclipse just for java. When I
used it for CF, it just crashed all the damn time. I credit mark for
making it stable... stable enough that the majority of developers in
our IT dept. use it where i work. That's no small feat, considering
the people who don't use it use VI and TextPad.  But my reasons for
continuing to not contribute have changed somewhat, and  those posts
mentioned above kind of crystallized it for me. Then, they got me
thinking bigger picture about the state of cfeclipse right now, where
it's headed, what IDE I'll be using in 2 years, etc.

This brings me to these two questions: Why don't I contribute? and
What does CFEclipse need to thrive (survive?)?

1) Why don't I contribute.   I don't know if any of you remember this,
but one of CF's great coders, Matt Liotta, worked for a time on an
Eclipse-based IDE for CF. It was named Helium if I remember correctly.
There was this little horse race, and eventually Helium threw in the
towel and conceded to CFEclipse. At least, I think Matt Liotta was
involved in that. Anyway, here's a great talent... talent which would
be unbelievably helpful for CFEclipse. I bring this up because I want
to say that folk like matt have their reasons for staying out of the
fray, known only to them. What I'm putting here are my own reasons and
noone else's.

Now, then: I've already mentioned time. That feeds into this second
one,  and into which Adam's post factors further. He says in one
paragraph that he'd prefer to see CF's java developers contribute to
an open source IDE as opposed to Blue Dragon. But then, down in a
comment, he writes this: "@All - Regarding a comprehensive IDE, I
completely agree and Adobe hears ya. Keep your eyes out for more
information on Centaur coming soon. (aka ColdFusion 9)". Whither the
dichotomy?   I love to code, but I'm no dummy. I sure as hell wouldn't
want to give hours and hours of my time to CFEclipse only to have
Adobe come out with CFBuilder a year from now, knowing full well that
it would relegate CFEclipse and the work I've done to a dying niche.
Please remember: this is all free work, but it's not a matter of
money. It's a matter of time. Folk who've contributed lots of time to
open source will understand this tradeoff. It's abstract to most
people. In concrete terms, it's this: All those times your little 4
year old says "Daddy will you play with me?" and you say "Not right
now honey" because you just gotta get this one little thing in for the
project... that's the kind of thing you do. No, it's not all the time.
But it's sometimes. For people like me who work a full time job for a
company that would have no motivation to donate developer time to an
OSS project, the only time you get for this stuff is nights and
weekends. So the least you hope for is that the project lives and
breathes, at least for some time, and that you help people in your
community kick ass. It's volunteerism and it's quite rewarding.
Nonetheless, smart people bet on winners. I wouldn't invest my money
in Joe's Goodtime Pharmacy if I knew Walmart was considering putting
in another store 2 blocks away, because I'd never get my money back.
Reading Adam's comment was icing on the "Don't waste your time, go out
and play with the kids" cake.

Now, I'm going to be accused (rightfully so) of taking that quote out
of context, of parsing language and reading tea leaves and all that.
You're right. I am. Still, let's look at some of the other recent
factors that heretofore haven't affected CFEclipse much, at least not
directly, but which dovetail with Adam's language. These are reasons
why you see (In jim's terms) Semi-Annual "Why CFEclipse sucks" posts
but not really any "Where's CFEclipse headed?" granola-and-sunshine
posts. Because by and large CFEclipse is the only worthwhile open
source IDE for CF if you want other enterprisey functionality in a
single IDE. The eclipse ecosystem is unbelievable. Just astonishing.
The reason I ditched CFStudio was certainly not because CFEclipse had
so many killer apps.  It's that it finally got to a point where it
didn't crash every day, it had good-enough code hinting, and they
brought in ctrl-j snippets. Seriously, that's about all I use. That
and the methods view. And when it finally got good enough for every
day use, I knew I could take advantage of the real reason for
switching to eclipse for CF, which was all the other stuff you get
with other eclipse plugins: good-enough source control integration,
killer searching, ant, projects (I hate the cfstudio filesystem view
of the world), working sets, etc. Add mylar/mylyn on top of that....
good stuff.     Anyway, the other editors right now are either way too
old, are Dreamweaver (kind of sucky for coding I think, but great for
design), or are simple text editors.  So my point is that cfeclipse
doesn't have much competition. Now, to bring this around to Adam's
post about IDEs and CF9: To me, FlexBuilder 3 shows adobe is quite
serious about the IDE game, at least in some contexts. Clearly,
they've got eclipse RCP talent and an unbelievably deep bench. I look
at flexbuilder 3, and I look at CFEclipse, and I think "they could
build an eclipse-based ColdFusion IDE in 3 months". that'd be a for a
working, usable alpha.  With one fell swoop, they could render
CFEclipse unnecessary (except maybe the frameworks explorer and
snipex). that fell swoop would be a sub-300 IDE. Well, maybe sub-200.

You'd be perfectly right to think "What benefit would they have in
putting out a payware IDE?". I agree. One: to make money. that's the
obvious reason; however, big companies can tolerate a loss leader and
this could be one, especially one where the loss is minimal. I'm no
actuarial genius, though, so I really don't want to speak about stuff
I don't know jack about, so I'll shut up on that.  Now here is where I
get in trouble. What if, just what if, it would make sense for Adobe
to not be terribly excited about the BD open sourcing? How do you
counter that? Make CF itself free? Hell no. No way. So far, the
company line has been to ignore it. Well, maybe one way to at least
make it a little tiny bit more difficult for OpenBD to thrive: put out
a world-class CF IDE that, whooooops, only supports official CF
syntax. Oh, and make it free.  And the killer: tout its "seemless,
round-trip integration with FlexBuilder for building full client- and
server-side RIA apps in minutes!" With this last one, FlexBuilder is
largely there already. The one thing missing, a CFML Editor, is where
they'd concentrate since they mostly have the rest done (eg,
integrated debugging and services explorer). Hell, rereading that
paragraph, take BD out of it entirely. It's still a great value add to
have integrated CFML editing and Flex in a single product.

And then... See ya, CFEclipse.

Some folk wish Adobe would build a CF IDE. Having worked with
FlexBuilder, I don't blame these people! It's amazing. As a CF
developer, I have no opinion here. If it's as good for CF as FB is for
Flex, I'd probably buy it. As a person who's considered contributing
to CFEclipse, this is the 2nd top reason I can't imagine doing so:
because right now the future of cfeclipse does seem tenuous -- more
tenuous to me having read adam's post --  and I can't justify hours of
extra time in something so sketchy. (Insert accusations of selfishness
here).  I, for one, wish Adobe would shit or get off the pot (to use
the vernacular of my father). No more surveys. No more blog posts.
Just build the f**ker or quit talking about it. Being teased was cool
in 9th grade. Now it's just annoying.

2) What does CFEclipse need to thrive.

This is largely a synthesis of what fine folks like John Farrar, Jim
Priest, Mike Henke, Denny Valliant, and others have contributed. But
again, these are my opinions, informed by theirs:

A) I agree with John. CFEclipse needs a team, a "board" if you will. I
am absolutely not saying it should be designed by committee. I'm
saying I think there's no way Mark can keep this IDE moving full speed
ahead as a single entity, and the last 6 months have been proof of
that.  He'd captain the ship, no doubt. Good projects generally have a
single "designer", maybe 2. That wouldn't change. What changes is the
extra momentum. I don't care about the open sourcing of BD at all (not
yet, anyway). But I'll tell you what got my attention: putting adam
haskell, sean corfield, mike brunt, and other rock stars on that
steering committee. If nothing else, that's momentum. It's commitment.
It's wind in the sails. CFEclipse needs that kind of wind to move
forward.

B) Actually, this is like A, part 2: An official "guide" person. A
scrum master. A Champion. An evangelist, if you will. Jim wrote in the
aptana jira: "You say "How about someone". There is no 'someone'.
Volunteer. Step up. Otherwise it's not going to get done.".  Maybe I
am old and crusty and surly and beaten down by my experiences working
as a developer in corporate IT, but I just don't think that kind of
"stepping up" is going to happen without someone leading the way. The
older I get and the more people I work with, the more I realize that
"initiative" is rare. But it's not just that. It's also that,
precisely because CFEclipse does appear to be a one-man show, people
are naturally disinclined to take initiative because of the potential
for misconstruing it as stepping on turf. It's not laziness, just
human nature. I watch the Apache Axis mailing list. and Davs (project
lead) is a great captain. He leads the troops, directs them,
apportions resources, etc. Even for brand new contributors, he steers
them. He is extremely active on the lists.  But the catch 22 is:
"What's CFEclipse need? More people. What's it need to help get more
developers? A scrum master. How do you get one of those? you need more
people. Ah..." As Jim also writes, "CFEclipse = Mark. Period.".
Now... I've seen Denny post a fair amount on this group, but he seems
to go largely ignored for his cfeclipse contributions. I do not know
the back story on that. It's not my business, really. But it does look
like there are at least one or two others out there who are trying to
contribute.  This notion here, this notion of a coordinator, is also
largely a role that Jim himself has come to play, de facto. But damn
is it a lot of work.   I have no suggestions on remedying this one.
It's a toughie.  Maybe find an intern or something? Hook up with a
local college who is training project managers? Folks need a certain
number of hours for their PMP exams... maybe hook into that somehow? I
don't know. I do know this: making a project like this work is an
unbelievably time-consuming task. And unless the beer at mark's house
is a hell of a lot better than what we have here, aint' no way one man
can do it all. It needs his leadership and his guidance. His
oversight. But it would do this project well to escape the feeling
that it is his project and noone else's.

C) If Adobe isn't going to build their own IDE, then a wonderful way
they could contribute would be to provide training for the people who
do want to lend a hand to cfeclipse development. I'm not saying fly 10
dudes to adobe for a week and put em up in hotels. I'm talking have
the FlexBuilder and CF8 eclipse plugin smarties hold a series of
connect seminars, teaching us well-intentioned n00bs how we can
maximize our time. This would serve as a counter-measure to my #1
reason for not contributing. By making my time more useful, i.e. I
don't spend 2 hours struggling with a bug just to find out the
difference is FillLayout vs. GridLayout and NOT in a busted listener
(or whatever), it mitigates the time concerns. It also leads to
increased IDE quality, which leads to more users. And it doesn't need
to be solely technical. Having Tom Jordahl teach this project how to
run a sizable open source project (he was intimately involved in Axis
1) could be a real help.

D) A Plan. A Roadmap. I think John is spot on here. And Jim's
recreating the adobe survey so that he could get data on what's
important to people is a good step (assuming that feedback is taken to
heart and not, as a dude named "Stewart" in the aptana jira claims,
ignored). Knowing what the IDE users want, after all, should help
inform the product. I listened to a podcast of Kathy Sierra's
presentation at OOPSLA 2007 on creating passionate users. She drills
into your head that what we programmers do is help our users kick ass.
We help them over "the suck threshold" until they're kicking ass with
our software. I love that notion. I want CFEclipse to have a "What can
we do to help people kick ass?" list.  Imagine a football field. Now
take away the goal posts. Now take away the yard markers. Now take
away the stands.  Tell me... who wants to plow through 11
monster-sized dudes to scratch out a few yards at a time to get to....
where?   You gotta have goals. Great projects have goals, even if they
are the goals of a single person at the top (apple?). There's gotta be
a vision of where this thing is going. Clearly, community members are
asking for more.

E) A Playground. Denny and Mike Henke both mentioned DLTK. Mike's a
big mylyn fan, too, like me, and we've talked about it offline. What
if there were a way for developers to get their toes wet, maybe play
around with mylyn integration for CF, just a little bit, hook it up
with CFEclipse in a branch, put it out there as a bleeding edge
release (rob rohan used to have a be release if i remember) on a
separate update site (so you know what you're getting into), and see
how it goes. Sort of takes the stress/pressure off of being an
official part of CFEclipse. People need that mental space, that
freedom to explore without getting beat up because their first attempt
at mylyn integration sucked because, well, because this shit is hard
man and sometimes you fail. Cultivating a place to explore -- and the
importance of this part can't be overstated -- cultivating a place for
two or more people to work on and talk about the same thing -- can be
a dramatic step for a project. It's the "hey, you two dudes who keep
talking about this DLTK thingie that I dont' know jack about, I've set
up a branch for you guys to mess around with XXXX. Here's a new
component in Trac. Here's a page on wiki for you to collect your
thoughts. Here's how to get the code. Here's how to build it. Here's
how to run it to test your stuff. Have fun". Oh, and "Here's Joe XXX's
name at Adobe, if you really get stuck, ping him because he knows a
little about this stuff" would be nice, too.

Finally, if the discussions on the directions of cfeclipse stay at the
level of "it's about mark, it's not about mark", then that's not good.
If cfeclipse is going to be "about" anything, it's gotta be the users.

Thanks to the folk involved in cfeclipse, and to the people supporting
cfeclipse, for listening.

best,

marc


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google