Some technical considerations

RaelB
2008-02-26
2013-04-08
  • RaelB
    RaelB
    2008-02-26

    Alot of people here have expressed their enthusiam for continued KeyNote development or a KeyNote descendant. Then others have made comments like "well there was some talk about further development, but nothing seems to have come of it."

    Without any technical knowledge or considerations of what is and what is not possible or involved with regard to further KeyNote development emotions may fly high and low. It is important to understand some of the technical aspects that are involved with such a project.

    Building a piece of software is similar to constructing a building. You can only build as high as you have dug low in the beginning to lay the foundation. The initial design of a program implicitly sets limits as to how much it can be further extented at a later point. Often, you simply don't think of extended uses and possibilities and so unwittingly you develop a limited model. Only after you finish the product, and start using it, do you start thinking of a whole lot of further developments and enhancements. By then it may be too late to add these features :/. I'm sure you've seen statements like "version 2 was re-written from scratch", and the like. This is neccessary to accomodate the new model. This is part of a normal software development cycle.

    KeyNote development stopped because the outer limits of it's initial design had been reached. Yes, you could add some simple improvements, like more modern icons and maybe replace the existing print preview with something a little bit more cool, but overall there's not that much more you can do without running into difficulties. If you search abit you'll see the author expresses the same on his own forum.

    That's not necessarily a reason to throw KeyNote out the window! It works fine, is very stable and does the job it's meant to do. You may have no reason to look any further.

    That said, KeyNote does have some limitations. It does not handle large files well, and although you can insert pictures into a note, this will quickly make your file very large and slow. Many people have expressed a desire for table support.

    If you want to support these features, the best thing to do would be to design a new program from scratch, with these features in mind.

    One of the main things you need to know or decide up front, is what control or controls your application is going to be built with. For example, KeyNote is based on the "Richedit" control. This control is provided (free) by the operating system, and forms the basis of windows' "WordPad" application. The version KeyNote uses provides very limited support for tables. The newer versions of this control provide more support for tables although still limited. (note: the newer versions are not re-distributable).

    If you want your program to be based on a control that provides advanced table support and other advanced features then you need to look at one of the commercial products that are available. Most note-taking programs built with delphi use the tRichView component (www.trichview.com).

    If opensource is your main requirement, then you will need to limit yourself to a RichEdit type control. In that case, I'm not sure your program will end up being much better than KeyNote in the first place. There are various freeware/opensource components available that could be used in an opensource project, but you need to carefully evaluate which ones you'd want to use, and if it's worth all the effort.

    For those of you who are willing to pay for a keynote alternative, there are a few programs around that are actually quite good.  I have also recently released a program, that includes some of the more important features wished for in KeyNote 2.0. You can take a look at www.bauerapps.com/RightNote.html . Of the different programs available, most will provide you with:
    - support for tables, images, links
    - database backend to comfortably handle large files
    - ability to export your notes if you ever decide to move to another application.
    After using one of these programs, you'll probably become aware of how limited you were beforehand, avoiding any type of tabular data, pictures or web-clipping.

    In conclusion:
    - any further development of KeyNote 1.6.5 will in all likelihood only add small features.
    - any program that offers advanced features will in all likelihood be commercial, and almost definately not opensource.

    Hope this was helpful,
    Rael Bauer