[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice-devel
Subject: releases
From: Thomas Zander <zander () kde ! org>
Date: 2007-07-07 11:05:04
Message-ID: 200707071305.04587.zander () kde ! org
[Download RAW message or body]
[Attachment #2 (multipart/signed)]
Morning!
I've been wondering if I should speak my mind on some issues; I don't want
to be a 'boss' here, but at the same time I feel these issues need to be
taken seriously if we want to release a KOffice2 we can all be proud of.
So, I'll take the chance, please don't feel offended, just take home the
lessons I learned the hard way;
* It is very useful to put effort in first implementing GUI technologies
in your KOffice app which lean on classes in KDELibs and Qt. We are one
of the few mature application suites using these libraries and there will
probably be bugs or worse. And if you find them too late in the cycle
everyone will suffer.
So, change those priorities and bite the bullet. It will get harder if you
wait longer.
* Use the extreme programming concept of setting your TODO priorities
based on how hard they make your app to use RIGHT NOW.
Or, in other words, if your application is not usable / crashy / etc due
to a problem put resolving that highest on your priority list.
I have heard people say that KWord is pretty complete already; which is
funny since things like find or save are basically not there yet. The
reason people think this is because the basics are there and the
application is responsive and doesn't crash (well...).
Lets take KPresenter as an example; it currently is not very usable due to
there being almost no actions available from the menu to alter the app.
In fact, if you don't have an empty doc, you can't even start it. Just
adding a 'new page' menu item and one empty template makes the
application look a LOT more mature already.
Bottom line; don't wait for the next release, work on stuff based on the
idea that your application can be released tomorrow and look its best.
So, like we had to wait 2 months before someone reordered the tools in
krita to make sense, lets put some time in finishing the work done to
make them shine a bit more and we all feel better about the progress we
are making. Finishing a feature is a higher priority than starting one
that you think should really be in the final release. Again; order your
TODOs as if you are releasing tomorrow.
* I hear quite often that people want a class to be a public API (aka
install the header file). While that's fine in most cases; I notice that
the lessons learned on what makes good libraries are then ignored :)
Specifically; it typically means the class should from day zero have a
d-pointer, should have totally no implementation in the header file,
should have library quality API docs and should follow our design and
naming principles. (see EBN for the current state)
Honestly; if you want to make something a public class, then you must take
the responsibility to do these things. Its just rude to expect someone
else to do the boring work.
As an ending note; I have seen people walk away from the KOffice codebase
because it is not mature enough for them to hack on. The last 2 points
are aimed directly at countering that. We should polish our features and
write more unit tests so they don't regress and we avoid not moving
forward in many different respects.
Lets make a great KOffice2 release, people!
Thanks for reading :)
--
Thomas Zander
[Attachment #5 (application/pgp-signature)]
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic