| July 19, 2010 9:00 pm

In the past few days, I’ve received several emails asking when LyX-Outline will be available.  (I had originally hoped to release an alpha/beta preview by July 15, which has not happened.)

This is a fair question.  I know that (yet) another self-imposed deadline has come and gone.  I know that this destroys confidence in the project as a whole and casts doubt on my ability to deliver.  I’m aware that it causes a “credibility crisis” and that it makes LyX-Outline look like “vaporware”, as one potential user was so … kind … as to point out.  But even knowing all of that, I’m afraid that I can’t give a firm answer to the question of, “When will you finally publish a binary?”  The simple truth is that I’m not sure when I’ll be able to finish.

Back in June, I was sure that I would have everything wrapped up by mid-July, then I discovered a raft of things that needed to be fixed.  Many of these tasks still aren’t done, so I’m revising my target date, again.  Instead of late July, my current guess is  early August.

But it really isn’t possible for me to commit to a firm date.  I have other responsibilities that need to take higher priority.  As a result, the official answer to the question of “When can I download LyX-Outline?” is this:

LyX-Outline will be available when it’s ready.

First impressions are forever, unfortunately; and I want both the alpha and beta releases to have a degree of polish.

If you are excitedly waiting for the release, however, I understand that this may not be what you would like to hear.  Solid, reliable dates are much better than tenuous goals and vapor.  For that reason, I’ve decided to publish my task list for the alpha milestone.  This will let you see what features I’m currently planning, provide an idea about how development is progressing and allow for you to provide input.  I will update the list as features are completed.

As always, I would be very interested in user feedback.  If you have any ideas for things you would like to see, please let me know in the comments or go to the project homepage and file a blueprint.  I would like to make LyX-Outline useful to as many people as possible.  For that to happen, though, I need your input.

Note: If you are a developer and see an unfinished item that sparks your interest, let me know.  Code contributions from anyone are welcome.  For instructions on how to check out/compile the current trunk version, see this post.

Development Tasks

Corkboard View

The Corkboard view is one of the three central control widgets in the LyX-Outline UI.  It shows both section titles and summaries, which are added to the document as Note insets.  Cards can be reordered via drag/drop, which will change the order of the underlying text.

  • Make use of unified drag/drop methods provided by Outline DataManager. (Done, 7/17/2010)
  • Modify corkboard paint method to fix improperly painted cards. (Done, 7/14/2010)
  • Refactor code to support a variable number of cards. (Done, 7/12/2010)
  • Incorporate Corkboard into Main GuiView in addition to the existing Corkboard Widget.

Expanded Outline View

The OutlineView is the second central widget of the LyX-Outline View.  For the 0.2 alpha preview, it will include both the Title and Section Summary.  Future releases will also show additional information such as keywords, type of heading, and other metadata as deemed appropriate.

As in the case of the Corkboard, sections (outline nodes) can be reordered via/drag drop.  This includes between sections of different hierarchical levels.  Changes will be updated in the underlying text.

LyX-Outline 0.2 - Outline View

  • Create methods to save and restore the view state. (Done, 06/22/2010)
  • Add outline buttons from document map (Section Up, Down, In Out). (Done, 06/24/2010)
  • Make use of unified drag/drop methods provided by Outline DataManager. (Done, 7/17/2010)
  • After committing new item changes, selection should be moved to the newly created item. (Done, 7/17/2010)
  • Split generic functions into separate class so that code can be shared with Document Map.
  • Move LFUN_Outline Functions so that they are internal to the view.
  • Incorporate into Main GuiView in addition to the existing Corkboard Widget.

Document Map

The Document Map is the third central widget of the LyX-Outline View.  It includes a list of the table of contents and basic outline controls.  It will also allow for sections to be moved via drag/drop (using the same DataManager methods available to the Corkboard and OutlineView).

The Document Map is used for both navigational purposes and filtering.  When the active view is the document editor, it will be moved between different document sections.  When the active view is either the Corkboard or Expanded Outline Pane, it will be used to set the root node of the view, allowing the user to move between different levels of the documents structure.

  • Navigation Actions.  At present, when you click on an entry in the document map, it takes you to that portion of the open file.  It should also allow for the Corkboard and OutlineView to be filtered.
  • Implement Drag and Drop.  The current Document Map widget in LyX doesn’t allow for drag/drop reordering of sections.  This should be implemented based on the drag/drop methods of the Outline Datamanager.

DataManager

Helper class that is used to translate view actions into valid LFUN commands that can be used to manipulate the underlying document buffer.  Manages drag/drop operations, insertion of new headings and notes.

  • Create unified drag/drop methods that can be used from any of the three outline views. (Done, 7/15/2010)
  • Transition to QObject, so that the DataManager is able to use signals/slots. (Done, 7/13/2010)
  • Incorporate into GuiView so that all functions are available from same instance of DataManager.
  • Tab to the next editable item.

Supplementary Files

While much of the needed infrastructure for using LyX-Outline for creative writing is present, no high quality layouts exist for creating stories, novellas and longer works of fiction.  Nor is there a layout geared toward the typesetting of poetry.  A series of LyX layouts/LaTeX document classes should be created for this purpose.  By default, they should include headings for: chapter, section, subsection, scene, and blocks of text.

The headings for scene and “text block” should offer options to both include and omit the title (which may be useful for organization, but is not needed in the final document).  The behavior should be controllable via flags.  Any custom LaTeX classes should also work independent from LyX.

Export Options: These layouts should support export to several different file formats, including XHTML (via LyX native export), LaTeX (PDF), and DocBook (XML).  The LaTeX export should be based on the Memoir so that the output can be customized for a typical manuscript submission (double spaced, no page adornment) or for print submission (high quality typesetting with custom chapter headings/other features as needed).

  • Novel and novella length work
  • Short story
  • Poetry

Packaging and Binary Distribution

Precompiled packages for Linux (.deb), Windows (standalone executable) and Mac OS X should be created for the alpha and beta releases.  (If there are any developers who are comfortable with packaging on Ubuntu, Windows and Mac who would be willing to help, please let me know.  This group of tasks is the biggest hole in my current knowledge.)

  • Mac OS X.  Package can be created by adjusting the CMAKE_INSTALL_PREFIX flag.  Other scripts should be created to copy needed dependencies.
  • Windows.  Use existing packaging script from main LyX projects.
  • Ubuntu.  Use .deb packaging system to incorporate both binary and needed resource files.

Preference Pane

Preferences and options that can be modified by the user.  To include the default number of cards in addition to keyboard shortcuts.  Released as part of the 0.3 (beta) preview.

  • Determine which preferences should be included in the pane.
  • Unify with the LyX preference system.

Comments

7 Responses to “LyX-Outline Progress Report: Task List for Alpha/Beta Releases”

Liviu wrote a comment on July 19, 2010

For what it’s worth, personally I’m patiently awaiting a solid, ready alpha/beta release. 🙂 On the bright side, I think it’s good that there is so much interest in the project: many projects cannot fancy any such level of interest, even when they are maturing.

David Powelstock wrote a comment on August 5, 2010

Hang in there, Rob! It’s a great project, and many people are capable of waiting patiently for stable releases. I’m always amazed by people who gripe about how long it takes to receive innovative software *for free*, produces as a labor of love. I look forward to the results, but maintain your sanity first!

Thomas wrote a comment on April 8, 2011

For me the killer feature in Scrivener — besides the outliner — is the ability to choose any two pieces from the outline, and view them simultaneously in two panes sides by side. I write in the left pane, while working from various source pieces that I open in the right pane.

Will the Lyx-Outliner contain this feature?

Rob Oakes wrote a comment on April 10, 2011

Hi Thomas,

Even though there are no official builds, LyX-Outline already supports this. (Or, I should say that LyX does.)

It’s possible to split a particular workspace top to bottom, or left to right. The options are available from the “View” menu.

I’ve been using the feature to work on the open source writing book. I like to have related sections open on the left and the section I’m working on open on the right.

Cheers,

Rob

John wrote a comment on June 26, 2011

This seems like a potentially great program. I just started experimenting with Linux recently (Ubuntu) and have been looking through what kinds of writing programs are available. What is the status of Lyx-Outline? Is it still being developed?

Thanks.

Rob Oakes wrote a comment on July 1, 2011

Hi John,

Yes, LyX-Outline is still being developed. Not as quickly as I (or a lot of people) would like, but progress is ongoing. If you are feeling adventurous, you can check out the source from the Launchpad page (https://launchpad.net/lyx-outline). You can also see which bugs are still open (and if feeling adventurous), you might even begin hacking 😉 At the moment, I’m currently working on an automated daily build, which would allow people to try out the most recent snapshot.

Once I’m finished with the never-ending book project, I intend to finish work on get it out ASAP.

Cheers,

Rob

Ketil Thorgersen wrote a comment on November 9, 2011

Hi Rob

I still enjoy your Lyx Outline, but still is curious about how you are doing. I see that the daily builds ppa is up, but that you have not attempted to try to make the builds successful in quite some weeks. I also subscribe to your rss feed and would really love to see a status update report on your blog!

All the best
Ketil

Care to comment?