Dear LyX colleagues,
apologies for being off so long I had an accident hindering me to use
keyboards. However, this gave me some time to think about LyX in
general. As result I wrote this lengthy mail and hope you read it till
the end where I make some proposals:
- I was developing LyX for about 15 years. I always focused on
convenience. Since it took me hours to get a working LyX 1.3
installation I once started the development of a proper installer.
- the installer was a success and more people used LyX under Windows.
- I gave lectures about LyX at my university, tried to introduce LyX to
friends and family members. Nevertheless the success was "modest" even
under my students.
- I learned bit by bit what people really need and bit by bit I lost
confidence that LyX can suit their needs. One problem is that we as the
LyX team never made a market analysis. I first started to understand
real-life for software after leaving the university. In my experience
these are the two important points of what a writing software must offer
to be used by non-university people:
* keep it simple: nobody has time to learn about the background of a
program. That is not ignorance but lack of time. All the time we have to
deliver things in timeframes defined by others (bosses or customers). So
a typical task is "write an instruction manual within 2 days". How you
do that doesn't matter, the deadline is the important thing. I never
thought about how images spell-checking etc. are handled in Word and
LibreOffice. I just use them because they allow me to deliver before the
deadline. That makes my a typical user - I do nothing more with Word and
LibreOffice than to use them. I don't have to know about their internals
and that makes these programs attractive to me.
As consequence I did not only set up the Win installer to hide
background stuff but I also added support for as many languages to LyX
as possible. I spent a lot of time with this and also with the
developers of spell-checking libraries, of third-party programs like
MiKTeX and even with font designers.
* compatibility with other file formats: a major task is to collaborate
with others. That means different persons with different hardware
sitting in different cities or countries have to collaborate by editing
the same text. Outside the university you cannot choose what program you
can use. Every project has its own software requirements. Therefore you
always have a required file format in which you have to deliver your
work. That is for research projects often OpenDocument in industry
projects in most cases Office Open XML.
For longer and structured texts (LyX's core competence) I never had the
case that only one persons is writing this. I am now away from the
university for 7 years and have insights in several industry branches,
automotive, packaging, machine building etc. I was involved in small and
big research projects up to EU level.
LyX dos not really provide the compatibility feature. As consequence I
added basic support for file conversions via Pandoc. I also spent some
time to improve Pandoc.
The original idea of LyX was to hide the LaTeX stuff and provide a
program with which users who just want or have to use can focus on
writing without being forced to learn background stuff about LaTeX etc.
In my opinion the development of LyX looses this goal. More and more
expert things are build in to LyX while the basic stuff is not provided.
For example:
* Many documents are not typesetable in some languages like e.g. Arabic
because there are no fonts covering all characters. Ask e.g. Hatim how
often he has to do weird font stuff to get e.g. the LyX's docs
translated to Arabic. That must be improved or LyX can't be used by
average people for Arabic, Urdu etc. LaTeX allows font changes but LyX
is lacking support for them.
* the file format compatibility of LyX is really bad. There is so much
more we can do. I am now fully convinced that if LyX is not able soon to
get a proper result for the formats OpenDocument and HTML it will loose
most of its userbase and won't get new users. It is a no-go that e.g.
the unmaintained eLyXer gives still much better results in HTML than
LyX's own engine in terms of readability of images and tables.
I could add some more things. But this is not my point. I see that most
LyX developers only code for their pleasure not for the things the
potential customers need the most. I don't want to blame anybody but I
want to make clear that we all need to improve our sights to the real
world. There is a good reason why more than 90 % of PC users use
Windows. For example I also made my step out of the Windows world to
understand how it is under Linux. I found out that it does change the
view on the treatment of third-party programs but the main deficiencies
of LyX remain: missing file format conversion and simplicity.
Up to now me only developed things some of use needed for their private
tasks. Jürgen Spitzmüller for example did an incredible work on language
and font support. That made LyX better for many users every new release
but without him LyX would not have these features. So we need a plan
what to develop to get and keep users, not what is our pleasure to
develop. If e.g. users polls that they miss the most better support for
tables (colored cells, sortable tables etc.) then we should develop
this, no matter that most of the developers don't need colored table
cells in their documents.
Last but not least I realized that LyX lacks a feasible structure that
makes it possible to achieve a more convenient product. I understood why
other projects setup foundations. Such constructs decouples the
development from personal interests of the different developers because
non-developers play an important rile, they make the project more
democratic with elections of a board of persons and the incorporation of
users and they allow to lobby for goals. These goals are to force and
help with e.g. the development in third-party programs like Pandoc to
provide features LyX cannot deliver on its own but needs it to survive
in the long run.
So what can be done? In my opinion, we should
- define the goal of LyX together with our users. Maybe the result is to
hide background stuff, maybe it is the opposite. Whatever it might be,
that should be the base for future development.
- setup a "board of development" that take care of user feedback and who
define the things the next version of LyX should have. Such a board
should only be 50% consist of developers. Translators are not treated as
developers. The idea is to see what people really need and to organize
its development so that several developers develop a certain feature.
The idea is that playing in a big band is fun despite that e.g. you
cannot play your trombone when you like it but only in a way it fits to
the whole band.
regards Uwe