Padre Productivity: 10 seconds here, 10 seconds there

Alias on 2009-10-06T00:13:22

If you have been watching the development of Firefox close enough, and for long enough, you notice a difference in the development style to commercial software.

As an open source application with an enormous userbase who use it directly for most of the day (unlike Linux, which is mostly used indirectly) there is an attention to detail that you rarely see in commercial software.

I suspect this is more about the bug reports than it is about the actual development. Bugzilla's bug tracker contains conversations involving dozens of people running over long periods of time on the most bizarre and esoteric issues.

These conversations invariably involve experts and highly motivated lay people in that area, and even if they aren't doing the actual coding of the solutions, you have enormous amounts of thought going into the question of what the correct or most usable solution to a problem is.

The regular tiny tweaks in rare, esoteric, or complicated features makes the Firefox experience so much more pleasant. It shows a depth of thought rarely possible when driven by commercial time constaints.

One of the reasons I have invested so much time into Padre is that I want the benefits of this level of attention to detail in my editor. I want all the little features that save me 10 seconds of my time in lots of situations.

For example, Padre 0.48 will see the arrival of a new Document API feature, file name intuition.

If you create a new Perl module, and already have another Perl file open that is part of a project, Padre will intuit that you probably want to save the new file into the same project and sets the starting directory for the file save dialog to the root of the project of the file you had open when you triggered the "New File" action.

It will also looks at the content of your file for more hints. If it sees a package declaration early in the file and doesn't see a #! line, it intuits that you are creating a module. And it pre-enters the name of the file you are creating based on that package.

So if you say "package Foo::Bar;" in your new file, Padre will start the file save dialog with the file name "Bar.pm". A future improvement might also compare the intuited project to the intuited file name, so if the project is a Perl project, and contains a lib/Foo directory already, it will set the save directory to that instead of the project root.

Not only do these little features save 10 seconds at a time, but more importantly they reduce the number of things you need to change gears mentally for. If you are making a normal module, you aren't thinking about the name of the file because you've done it a thousand times before. Not having to type the file name means no mental shift.

It's only if you are planning to name the file something unusual that you will be thinking about it, at which point there's also no mental shift required to overtype the file name. You were already thinking ahead about the rename.

With Padre 0.47 we are starting to see a definite change in mode for the project, with much more attention going into the bug tracking system than previously.

So if you use Padre, I encourage you to file bugs for your pet peeves, your annoyances, and even little things you think could be done in a better way. The more of your thoughts that we capture, the easier it is for the people writing the code to get a result that is better for everyone and won't need to be written again later.

I'd love to see 1,000 open bug reports or 10,000 open bug reports, because those reports mean we can just get on with the coding and don't have to invent solutions. You've already told us what the solution should be.

Even if you don't want to work on Padre directly, you can help the developers save time, so they can write the features that save YOU time.


Seems simple...

sigzero on 2009-10-06T20:55:39

I wish other editors did it...

Can I actually run Module::Starter with Padre and create a project? I guess I should take a look at it.

Re:Seems simple...

Alias on 2009-10-07T00:33:52

Yes, you can, although the interface and quality of the resulting distribution is clearly only a first attempt.