Friday, August 14, 2009

Dissecting the Rails Screencast

Most comments to my previous post on marketing for the Perl community focused on the visual identity of Perl web sites. It is very important, but marketing is not only that. Ruby on Rails would not be what it is now if not for the RoR screencast. It was:

Simple

Writing a blog engine - what can be simpler?

Unexpected


The first surprise is the medium - that was the one of the first popular screencasts to circulate the Internet. But of course the main load of unexpectedness was in the fact that a simplistic, but still functional, blog engine can be build in 15 minutes. Not months or years of a team of programmers, a designer and a HTML coder - but 15 minutes of one person - that is surprising.


Concrete


That was not an abstract plan, framework with holes to be filled in later - but a concrete implementation. And once again - blog engine - what can be more concrete for the web afficionados?


Credible


You can see it for yourself - it is not a description of how to do it - it is filmed the whole process of doing it. And later you can also try it on your own.


Emotional


Not really - but you don't need to cover all of the points.


Story


This is the most important thing - the screencast is a story. The viewer can easily imagine himself writing his own web application with the same efficiency - this is how stories work.



PS. Don't read this as an argument for (more) screencasts. Yes - they can be effective - but it all depends. What I am advocating here is using that checklist for all marketing projects.

5 comments:

phillipadsmith said...

"PS. Don't read this as an argument for (more) screencasts."

Why not? Seems like it would be low-hanging fruit to produce similar screencasts for any / all of the contemporary Perl Web frameworks. Don't see the harm...

"What I am advocating here is using that checklist for all marketing projects."

... And that is a great idea.

Phillip.

zby said...

:) - Yeah - OK - screencast would be great - but if we do them - then at least they should be of the same quality as the Rails ones. And here is the problem - Rails is really smooth in the basic experience - the Perl frameworks (as far as I know) let the user much more freedom in using complementary CPAN libraries - but with the consequence of less integration and less smooth experience in the basic operations.

phillipadsmith said...

I wrote up some notes on my own experience with Catalyst, Jifty, and Mojo here: http://blog.newint.org/tech/2009/05/04/exploring-perl-web-frameworks/

In my assessment, they're about as easy to get started with as RoR (especially, if you're familiar with CPAN, etc.).

Admittedly, if you want to do nice, fancy, AJAX-y, CRUD with Catalyst, you have to take some extra steps.

However, the basics in all three work out of the box and should be easy to demonstrate in a "polished" way in a screencast. Why not give it a try? Happy to help if you hit any bumps. :-)

Phillip.

zby said...

First of all - by all means don't feel intimidated by my whinings. Sure make the video - and if it is not perfect then you can try again. There is no better way to learn how to do that stuff.

But I have been thinking about it - and maybe some of my ideas would be useful. RoR generates the CRUD code. I am not sure if this is the best strategy in the long term - but it does produce something that the programmer can easily modify and build, let's say, a blog engine out of it. There is nothing in the Catalyst world matching this functionality. AutoCRUD is a nice CRUD database interface, but it does not generate code that can be modified, others require additional setup istead of sucking the metadata from the db.
The only project trying to match the RoR scaffolding functionality is my
Catalyst::Example::InstantCRUD
but it is not there yet.

Of course the scaffolding thing is debatable, maybe it is not the best long term strategy - but it does produce spectacular effects. I am not saying that we cannot produce an impressive video without it - but we need some new ideas on how to do that.

phillipadsmith said...

Agreed. If we're limiting the conversation to Catalyst, it's going to be hard to make it seem simple. In Jifty, it would be a snap to show how to build a blog in ten minutes (if fact, I think that is the example application in the Jifty docs).

Also, in Mojo(liciious), it would be snap to demonstrate basic routing and even a file-based blog (bootylicious).

Anyway, I'm be no means discouraged. If you have further thoughts on what to demo in the Catalyst-CRUD world, that would be a great help. :-)

Best,

Phillip.