And now for the real question, do you still have the materials you gave to your developers? :-)

Seriously, though, this sounds like a great layout of concepts. My kids already know Velocity and MySQL, so they could do #1 and get started on #2. Unfortunately, I have them for 90 minutes every other day, and I don't have 2 weeks to learn Turbine on my own to guide them, and they have even less patience than I have for banging my head against a wall of unknown thickness.

I guess I'll try to work through your steps myself...

Thanks,
Todd

On Feb 10, 2004, at 10:59 AM, Gerry Duprey wrote:

Howdy,

I think such a project would be grand, but it will probably take a while for your kids to get up to speed on Turbine.

From my experience, I'd say the #1 problem is being confronted with what seems like a nearly endless series of new technologies to learn all at once before you can do anything at all. It can be so overwhelming that you can start to feel confused and uncertain about everything because you start to believe you know nothing and every uncertainty will turn out to be some other new technology you may not have even known existed before.

The TDK can be a big help, but in my opinion, it still requires too steep a learning curve before you can understand what is going on.

Off the top of my head, I would suggest an incremental introduction

1) Introduce folks to Velocity in a standalone context (no Turbine). This is a great tool and pretty easy to use. Literally, a 20 line program can provide a great testing environment with it.

Being easy to learn, you'll soon feel confident about one of the core technologies of Turbine. Once you do, you feel like you have some anchor to start with. That can be an amazingly important psychological boost when confronting everthing else.

2) Introduce using Turbine without Torque. You can make Turbine work with no database at all (though you don't get all the security services). I find the database thing, right up front, to be problematic. Either the person does not have or is not ready to use a database (in which case this seems like additional work/noise to the learning process) or the user has a different database technology (like hibernate) and you get bogged down on trying to either adapt Torque or trying to figure out how to replace it with hibernate (both moderately advanced topics). Skip it now, introduce it (and related services like security) later.

3) Introduce a serious stripped down version of the TDK with no auto-build, torque, implemented apps (the user manager stuff). Just the Turbine jar (and dependencies), a simple TurbineResources.properties file and a few templates (1 or 2 max of layout, page, navigator and screen) the developer can understand and tinker with (and one action class and one or two screen classes). Don't get into how Turbine handles looking for various things (i.e. the Default processing and such).

The huge benefit here is the drastic reduction in file system "noise". When there are hundreds of files, it's tough to know what is important and what is not (yes, eventually, it's all important, but it's too much all at once). When simplified, folks can more easily become comfortable and confident.

4) After they are able to produce some screens/actions and are feeling confident, introduce them to the next level concepts like where Turbine looks for files (i.e. Default vs a named file, etc) and some simple configuartion changes (location of templates, etc).

5) Next you can start hitting on the rest of the ideas (services, security, database, etc) one at a time, building each on the last. People can feel confident they know the basics of Turbine and can be comfortable picking and choosing which technoligies they tackle next (don't need a job scheduler, they can just skip it). This is where the real power the Turbine services comes in - you can pick and choose what you need/want and ignore the rest.

After taking quite a while to get somewhat comfortable with Turbine, I used this approach to ramp up the rest of my developers. It took me about two weeks of really working to understand as much of Turbine as I thought I had to know to develop apps. I was able to get my staff trained on it in about 3 days once I was able to streamline the process.

Turbine is really a great web development environment and we are already cranking out code and pages with more functionality and easier than we had thought possible. A good, simple, intro tutorial that builds in stages on a very simple core set of files could very well propel Turbine into a top spot for web development.

Just some thoughts,

Gerry

Todd O'Bryan wrote:
It looks to me like Turbine is incredibly powerful, but woefully under-documented. Assuming that it's possible to start slowly (which is kind of a necessity if you want to write good documentation; you have to be able to lead people from knowing nothing to knowing a lot in small, easily understandable steps), it seems like writing the documentation would be a great boon to getting people to use the framework.
I teach a class called Special Topics in Computer Science, and I have 17 high school seniors who I can basically get to do whatever I think is important. We've been trying to develop a web application and it's been a terrible slog uphill, so if adopting Turbine would speed that up, we could easily develop documentation to share with the project. But first I have to figure out if Turbine would speed that up, or just be another thing to learn that we'd never get through.
Thanks,
Todd
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-- Gerry Duprey ________________________________________ SchoolsOPEN, LLC 123 North Ashley, Suite 120 Ann Arbor, MI 48104 Phone (877) 483-1944 Ext. 401 Fax (734) 661-0819

Visit us Online at www.Schools-OPEN.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to