I am proud to anounce version 1.0.0 of Tinned-TreeNotes
A lot time has passed since the idea for this project. I am very proud that I can announce to you the first version of Tinned-TreeNotes. As you can see in the roadmap, I still have a lot of plans for this project.
Unfortunatly I can not give any time plans for the roadmap, but any help with development would be greatly appreciated. If you want to join the project or just give me some feedback, please get in touch.
I hope you enjoy the new project as much as I do.
Why I started this project
During my daily work I have to remember a lot of details about computer stuff. Sometimes it is hard for me to remember these details if I didn't need them in the past weeks, months or even years. And I am sure I am not the only one who has this problem. These can be small things you found months ago in the internet and over time the websites got closed or the pages do not exist anymore. A few of you may wonder, why I did not bookmark these pages. Good question. But have you ever tried to open a bookmarked page after a few months or maybe a year? There are many pages out there which disappear daily and are never to be seen again.
So, to get back to my story, there was a need for me to store all these small pieces of information so as not to lose them over the time. I did have such an application for Windows - it was called TreeDBNotes and it provided me with exactly the functionalities I had been looking for - but since I moved over to a Linux/Unix based operating system, i had to find an alternative to TreeDBNotes. I searched for over half a year for a replacement for TreeDBNotes. But the problem was that I was looking for a tool, that could store the information pieces with some basic style information for example bold text,
italic text and hold it in a tree-like structured way. But the most important issue was that this application should run on Windows as well as on Linux/Unix operating systems.
I searched for a reeeeaaaally long time and in the process tried about fifty different applications which might bring me the features I wanted and read over hundreds of websites to find one. But I failed to find one as it seems that my requirements are too high. I tried a couple of Java based applications, Mac only applications, Linux applications, as well as a number of Windows only applications.
Most of the time I ended up at a Wiki type of database. So I searched for a hierarchical structured Wiki. A tree-structure showing the hierarchical relation between, the pieces and a view area next to it to show the content. But also with this search I was not able to find anything fulfilling to my needs.
The next logical step
After searching that long time without finding something suitable, i started to think about building it myself. At the beginning I thought about native application for Windows, MacOS and Linux but I do not have the expiriences for that. And then I had a chat with the developer of a very nice, and already famous, tool called Synkron. He had already expiriences with developing applications for multiple operating systems. During this chat I explained him about my ideas for the project.
On every chat I had with him, the details of the project got more clear. I was still not shure if I should build it as my expiriences in building a native application where still missing. But my expiriences in developing a web application could help me to build a prototype as web application. And so it came that I started to develop a web based version to verify if I could handle all the problems on the way to a working application.
Before I started to develop there where a couple of questions which came up. The programming language was no question as PHP is the language I know best at the moment. But the storage solution to stora all the informations as well as the data structure. The data structure was one of the biggest challenges. But at the end I desided to use a sql based storage. To be more in detail, I started with an sqlite database.
I started with the database layout and tried to add all the functionality I could think of. But at the end I removed everithing I didn't need for the first version. At this point I started to think about a roadmap of my project. It was clear that I could not implement everithing in the first version. So I wrote down all the functionalities I could think of and arranged them with priorities to the different releases inside the roadmap.
At the beginning it started as a prototype but over the time the user interface got some design elemnts as well as icons and a couple of other user interface related functions. When this happend, it was clear that it was not a prototype anymore - it was the main project now. Every day the project grow with another functionality or another nioce design idea. But I am still no user interface specialist and also not a specialist in css or html. So the main layout component to structure the screen was still a table - which is not noce html practice I heard. As it is currently working this way, I will keep it and maybe change it to something nicer in the next releases.
After the prototype changed to a project, it was time to find a name for it. And it was not very complicate to find one. As it stores the Ntes in a tree structured way, the name Tinned-TreeNotes sounds perfect. The long way from the first need of such an application till the first release version was made. The time it took was very short - a few weeks - specially because of a framework of ready to use classes and functions. These framework which contains mainly self-created classes and functions collected over the time made it easy for me to build this application that fast. And it will be the base for future projects.