Tuesday, May 21, 2013

Calligra Author Gets a Distraction Free Mode

I wanted to throw a little light on a feature that just landed in the Calligra repositories: A distraction-free writing mode for Calligra Author and Calligra Words.

The distraction-free mode means that we disable most UI elements and lets the user focus totally on the contents. This was one of the most asked-for features when I did a little survey half a year ago and asked which features that our potential users wanted. I say 'potential' because this was before the first release of Calligra Author and we didn't have any users at all by then.


A few brave souls that are building their own version from the source code have already used it and they report back good results. Here is a picture of a novel being written by Dan Leinir Turthra Jensen using the distraction-free mode.

The feature was developed by Mojtaba "moji" Shahi in a short time, taking a break from developing support for annotations.

As a side note, it's getting time to do a new feature survey. We have almost implemented everything that we got asked for in the first survey. Hot candidates right now are support for Master Documents and we got a feature request for making it easy to insert section separators (from leinir, actually).

Monday, December 31, 2012

New Year Causes Different Things...


Friday, November 02, 2012

Reminder: Calligra Week of Polish

When i write this it's just past midnight on Saturday November 3rd. This means that the Calligra Week of Polish (CWOP) has started.

In my last post I announced the CWOP and described how Calligra users of all kinds can register their issues so that the developers will find out about them. I have now also added a new thread at the KDE forum for users who are not comfortable with bugzilla and don't have a wiki account at the KDE community wiki.

The coordination between the developers will be done in the #calligra IRC channel at irc.freenode.org.  Well met!

And where will I be during this weekend?  I will take my son to a tabletennis tournament. If there is internet there, I might look in and chat a little.  Otherwise I will work offline and then go online again during the workweek.

Tuesday, October 23, 2012

Calligra Week of Polish

This is an announcement of the Calligra Week of Polish.

We in the Calligra team have grown tired of reviews saying things like "Calligra has great potential but is not mature yet.". So we decided to take the step from potential to maturity by doing the

Calligra Week of Polish


This week start at Saturday November 3rd, and ends at Saturday November  10th.

Until then we have time to collect as many issues as possible and either register bugs at the KDE Bugzilla or put them in the list at the page above.

Did I mention that this is about polishing the applications of Calligra during the Calligra Week of Polish? ;)

Saturday, September 22, 2012

MOBI export in Calligra Author

Here is a short update on the work towards Calligra Author 2.6, to be released in December.

Last week Calligra Author got support for export to MOBI, the eBook format used in the Amazon Kindle (and nothing else). This is mostly the result of work of Mojtaba Shahi Senobari with some assistance from me.

This work was not as simple as the EPUB export because the MOBI format is undocumented. It also uses some tricky compression scheme that we had to implement.

This means that 3 of the 5 target features of Author 2.6 are now done, leaving annotations and distraction free writing mode as yet unfinished.

MOBI export will also be available in Calligra Words.

Wednesday, September 05, 2012

More Progress in Calligra Author

Last post I wrote about the decided new features that we will include in the next version of Calligra Author.  Here is a quick recapitulation:
  • Export to EPUB 2 format
  • Export to MOBI format
  • Word count in the status bar
  • Distraction free writing mode
  • Annotations (a.k.a. Notes)
All of these were selected by popular vote by the future users in this thread of the KDE forums.

So, I thought I'd go through the ones we have worked on in a little more detail this time.

Export to EPUB2

The EPUB2 filter is more or less done. We can in Calligra Words and Calligra Author choose the EPUB2 format in the export file dialog and get a perfectly validated ebook. Here are the features that we support:
  • Convert an ODT to EPUB 2.0.1 (duh!)
  • Handle all text features (more or less - drop caps aren't handled yet) including tables and even tables in tables.
  • Split the odt file into chapters. This is done somewhat heuristically now by splitting at the paragraphs that have a page break.
  • Handle paragraph and text styles and convert them to CSS.
  • Handle ODF style inheritance and default styles and convert that to CSS too. This is somewhat tricky since HTML and CSS doesn't support inheritance between styles.
  • Include images into the ebook.
  • Convert images in unsupported vector formats, namely WMF, EMF, and SVM and convert them to SVG.
  • Handle internal links and bookmarks.
  • Handle footnotes and endnotes. Footnotes are created at the bottom of each chapter and endnotes get their own chapter (i.e.xhtml file) inside the ebook.
I would say that's a pretty ok list of features, especially converting the images from unsupported formats to SVG.

What is not supported yet and we don't know how to handle yet is to add a cover image to the book. But we will figure it out before the release.

Export to MOBI format

Mojtaba Shahi is working on this presently and expects a working prototype this week. Naturally we are reusing most of the code from the EPUB filter for this.

The tricky part is that MOBI itself is an unsupported format which we have to reverse engineer. Lucklly enough we have other free software to look at like Calibre.

Word Count in Status Bar

Many people who asked us for this were not aware that you could already get some extensive real-time statistics from Calligra Words. There is a statistics docker that can show word count, character count, Flesch reading index, and many other numbers. What did not work so well was to have this laid out horizontally in the status bar.

Shreya Pandit has now created an adaptable statistics docker that lays out it's content depending on where it is.  Here you can see a screenshot at the current state of it.


Note that there are a few things that we still want to fix: The text is a bit small, the title "Statistics" should go, there is too much vertical space. But in general it works now.

There are some discussions in the Calligra community right now about making all of the contents of the current statusbar into dockers and then make the lower dock widget the new status bar instead. That would make the status bar totally configurable but we will of course provide good defaults.

Distraction Free Writing Mode

This is what I am working on right now together with Gopalakrishna Bhat. we have some technical challenges but we are pretty confident that we will be able to produce something that works for the next release. The perfect solution may have to wait until the next version after that, but we will see in the next two weeks.

I will be back with more about this in the next report.

Annotations

We have not started on this feature yet. Camilla Boemann, the Calligra Words maintainer, wants to do some refactorings in the deeper layers of Calligra and the timing was not right to work on this.

Naturally there are many other features being developed in Calligra at the same time, as well as bug fixing. So we have to be good Calligra citizens and wait for library work to be finished before we start on the user-visible layers.

Conclusion

Well, there you have it. In the next update I hope to be able to report that the MOBI export is done and talk about some features there.

And if you want to discuss the features -- present or upcoming -- of Calligra Author, please do that in the forums: http://forum.kde.org/viewforum.php?f=249 for Calligra Author specific threads and http://forum.kde.org/viewforum.php?f=203 for more general Calligra threads.

Sunday, August 19, 2012

Progress in Calligra Author

Calligra Author, the writer's tool in Calligra, was announced on August 14th. That is 5 days ago. This blog post will give a status report on the progress that we had in the project since then.

Development

We have a lot of progress for the project itself.:
  1. The initial code of Author is now in review for going into the master branch of Calligra. [Update: in the mean time, we got a "Ship It!" and the code is now in the master branch.] You can find it under words/part/author in the branch author-testpatch-pentalis. So far it is under the Words application because Author starts out as a clone of Words. We want to identify the code that can be shared with Words and move it to some libraries or plugins and it is much easier to do that by starting out in the same source directory and then move code out than to copy everything and then identify common parts. Before the release of 2.6 Author will have its own directory under the Calligra root.
  2. We have a bugzilla product called calligraauthor. So far there are no bugs in it.
  3. We have a mailing list now, which can be found at  https://mail.kde.org/mailman/listinfo/calligra-author. The intention is to have the Author-specific development discussions here and the occasional input from users.
  4. We have a user forum, already with a few discussionsin it. The Calligra Author forum is going to be our main tool for interacting with our users.
  5. We have the start of a roadmap for the immediate future (see below).
We don't have our own channel on irc, we will be using #calligra for our online discussions.

It may also be interesting to know that the schedule for version 2.6 of Calligra points to a release in december this year. That means that Calligra Author could be a good Christmas Present to some people. :) (Note: this is not yet documented anywhere. I will update this post when the schedule is finalized and online.)

Roadmap

The team started a thread on the Author forum to gather requests for features. We got some good feedback and we tallied up the votes, as it were, and then matched it with our development resources available and what's happening in Calligra at large. This is what we came up with. I'm going to present this list here in order of importance. If we have to cut features we will do it from the bottom of this list.
  1. Export to EPUB2 format
    There is no use in having a tool to create ebooks if you can't create ebooks with it. So this is prio 1. The good news is that this filter is already finished since we cheated and started the development of it before we announced the project. Now it needs extensive testing, which we hope we will get during the time until the release.
  2. Export to MOBI format
    The same reasoning is valid here as above. This is currently under development and should prove easy if we can just get past the issue that the format is undocumented. We have code from Calibre and Okular to look at but we may not be able to support all features of MOBI. 
  3. Word count in the status bar
    Many people seem not to know that there is already a pretty advanced statistics module in Calligra. You can open the Statistics docker and configure it to show number of words, characters, and many other values in real time. However, these figures are not available in the status bar, which is something that many asked for. We will enhance the configuration to make it possible to show any of these figures in the status bar as well.
  4. Distraction free writing mode
    This was a feature that was mentioned by almost everybody on the thread. It is also reasonably simple to implement. We already have a poor mans distraction free writing mode since the dockers, the toolbar and the menu can already be hidden by standard Calligra or KDE keyboard shortcuts. But we are going to enhance that with a specialized toolbar that will fade in at the bottom and (if technically possible) also some color schemes that were mentioned in the forum thread: white/green on black background. There will also be some user-configurable keyboard shortcuts to set a certain style on the text being written so that you won't have to break your writing flow to provide basic styling.
  5. Annotations a.k.a. Notes
    This is the big feature that will take most of our development time during this release. It is something that has been needed in Calligra for a long time so this will not only benefit Author but also Words. It will let you select parts of the text and write annotations to it. Other users will be able to add comments to the annotations and thereby help you work with editors or reviewers to improve the text.
    -------------------------------------------------------------------------------
    Below, you will find the features that we hope to be provide, partly or fully depending on the available time. But prepare to have to wait for 2.7 to get them.
  6. Export to EPUB3 (partly)
    EPUB3 is a big, big enhancement to EPUB2. We will not be able to support it fully at once whatever we do. But some parts of it are features that we already support in Calligra, namely video and mathematical formulas. If time allows we will enhance the export filter to support them. In this case we may also have to invest some work into the features themselves to make them usable in practice.
  7. Export to Wiki
    Some of our KDE document people asked for export to wiki because "it is a pain in the posterior (paraphrased) to write text in a wiki". We like this idea of making it possible to use Author to write KDE documentation. However, I doubt that we will have the resources to pull this off in the time for 2.6.
One notable feature that was not mentioned here is a database-like system to keep track of people, places, items, timeline, etc that novelists use to structure their writing. A tool that seems to be the state of the art here is Scrivener. We think that this has to be investigated further before we can start the development. There is also a free tool called Plume Creator that aims at doing this.

Another feature that is postponed for now is the ability to write your novel / document as many small texts independently. The idea is that your writing tool should let you arrange them in any order and then combine them into the final document. Both Scrivener and Plume Creator have features for this and Calligra Author will too. But this thing needs more design time, especially to figure out which saving format to use.

The Next Step

The next step in the project is to start on the documentation. We want to have top notch documentation for Calligra Author when it is released.

Our document writers are going to have a meeting tomorrow to decide on the details of the documentation. They have ambitious plans too and will aim for both a tutorial and reference documentation before the release. If you are writer and interested in offering help with the documentation talk to either Myriam (mamarok on irc) or Irina (irina on irc) on the freenode IRC server.

The developers will get busy with implementing the features of the roadmap. We will  continue to discuss with the users about details in the features. We are interested in working with users of Author who are computer savvy enough to compile code from git and test out the current state of the code at any point.

Since the epub2 filter is declared ready we are also interested in writers who have previous work in odt, doc or docx format and want to try the conversion. We want the epub2 filter to be as bugfree and glitchfree as possible when 2.6 is released.