At the end of my presentation at Zenika, I talked about the future of iText. What started as 5 ideas for 2011 are now 7 ideas. Some of those ideas involve months of development, others only involve a couple of weeks. These are the ideas I started with:
The idea was to have the priority of these ideas depend on the demand of the customers. We realize that some companies are "waiting" for the new functionality. 1T3XT BVBA is willing to invest in the development of these ideas, but we also need revenue.
Companies can help us by sponsoring one or more of the above projects. A project such as XFA to PDF conversion for instance would be very expensive for 1T3XT. iText Consultancy has already calculated the man hours and the total cost of such a project, and XFA2PDF isn't going to happen if we don't find a couple of companies that are willing to share the development cost. Or, if we do have to invest in this functionality ourselves, we'll probably keep it a closed source product that will be offered to our paying customers only. 1T3XT BVBA can't afford "giving away" software that is that expensive to develop.
Based on preliminary talks with prospective customers who are willing to play, we've added two more ideas to the list:
In any case, I've chosen for the HTMLWorker idea as the first priority. It was the part of iText that frustrated me most while I was written the second iText book. HTMLWorker works for very simple HTML, but we get plenty of remarks saying this tag or that style doesn't work. We often refer people to Flying Saucer (a tool that is built on top of iText), but the version of iText that is used in Flying Saucer is mighty old. Having a tool that can render HTML using the new iText would great.
We're creating this tool in two phases:
We've been developping this tool in a private SVN repository. We think we'll distribute a first version of the new HTMLWorker to the paying customers in the next couple of weeks. We hope some customers will already start testing it, and we hope we can release the functionality early in April.
XFA to PDF
HTMLWorker will be based on a new class XMLWorker. As XFA is the XML Forms Architecture, we can also use this new XMLWorker as a solid basis for an XFAWorker (with Adobe’s “Rich Text”, we’re already implementing a small part of the XFA specification). However: the XFA spec is huge, and we'll give priority to a paid project first.
We need broader support for PAdES, but before we start, we probably need to reorganize the code to add digital signatures in general. It would be interesting to write new documentation and offer new examples (actually, we've received a very interesting example on the mailing list recently). My main problem is that encryption/digital signatures aren't my cup of tea. Writing that chapter for "iText in Action" was difficult. I think I managed, but I depend on others to help me with this.
I'm using RUPS, the tool that allows you to look inside a PDF, almost on a daily basis, but I'd like to integrate this into Eclipse, and I'd like to offer other functionality in Eclipse. For instance a combination of an HTML editor and HTMLWorker (save HTML as PDF). I fear that we won't find sponsors for this, so this will probably be a hobby project. Once it's there, we'll probably be able to "sell" extended features.
iText for Android
This was the first "idea for 2011" I started to develop in December 2010. See first prototype. It works, but I didn't release the code yet, because we actually need more:
I was warned not to publish these ideas, because it creates expectations. Somebody looking for XFA2PDF functionality might find this page and send a mail to the mailing list: "I've read a blog post announcing a XFA2PDF tool and I wonder if it's already finished." There's a risk that this will happen, but that's not the way it works. The goal of this blog post is to inform (for instance about HTMLWorker), but also to call to action: if your company needs one of the above tools, please talk to your management and if we find sufficient companies to share the costs, we can start building the functionality you need!