Plans for the next month or two
In the last 5 months I have been developing Padre quite in an ad-hoc manner. Whatever came up as interesting I started to work on. I added many proof-of concept features that were sort-of working.
One of my first aims was to make Padre usable and interesting enough to attract a few other developers who can carry on the development, fix and expanded the features I added. This worked quite well as now there are over 10 people working on Padre on and off. Some of the people took Padre in directions I thought will happen much later. Its awesome to see others getting enthusiastic about the potential in the project.
Most of the people who are currently developing Padre are hard-core Perl developers who already had their own development environment. They would switch to Padre for the advanced features. So I believe they will further develop the advanced features attracting more high-end users who can further add nice features to Padre.
In the meantime I would want to turn my attention to issues that are more important to beginners.
Download, installation and start-up on Windows.
In the last week I introduced Padre to two classes I am teaching. In one of the classes I downloaded the Portable Strawberry Perl with Padre in the other I let the students download. The latter had trouble finding what to download that indicates it was not clear what they need to download and install.
I already started to clean up the web site but I further need to work on driving the interested users directly to the download link.
The installation procedure isn't friendly either but as Adam Kennedy will certainly improve the installation of Portable Strawberry I'll wait and try to reuse his work.
The latest version of Padre came with the Vi plug-in which confuses the users. One of them went and turned on all the plug-ins, including the Vi plug-in which turned Padre to be totally unusable for him.
Actually the initial pop-up that Padre found several new plug-ins was already confusing. Several people thought it to be an error message. Did something go wrong? they asked.
I already removed the Vi plug-in from core Padre. I'll have to get rid of the others as well keeping only My plug-in. Then the version of Padre that is installed in Portable Strawberry should already know about this plug-in. Actually probably when Padre first runs we should not give any pop-up at all. It should just work.
After the pop-up the users got to the editor and stared at the white screen. Now what?. Remember some of these people never wrote any Perl code and never used an IDE either so they don't even expect the F5 - run this script functionality.
Besides, currently Padre does not support reading from STDIN when running scripts from within the IDE so effectively its run this script feature is unusable for anything but the simplest scripts (or for GUI applications).
So when a new user launches Padre for the first time it already should have a simple script in the editor and it probably should say in its comment press F5 to run this script.
Padre should also support full interaction with the running scripts including reading from STDIN. Some editors provide this by running the script in a real shell. This might be a temporary solution for Padre as well, till we can add support for reading from STDIN. This has to work at least on Windows.
There are already many features in Padre that beginners writing simple scripts don't need. E.g. the ack integration, New ... Perl Distribution just to pick two. We have discussed the possibility to have a standard set of features and then to allow more features for advanced users. I might need to implement this separation or move the advanced features out to plug-ins that even if they are installed, are not turned on by default.
As at one point I'd like to make Padre a bit more general user friendly as well we might need to be able to support several default installations or several first-time start up options. For one, someone who wants to learn Python does not need to see a Perl script as the first encounter with Padre or he might mistakenly learn Perl instead of Python.