The next version of StoneNotes will be available soon.
Subscribers will get 20% off when the final version of StoneNotes Next is released!
Stickers and Z-Order
Got stickers working a few days ago. Basically these are small, transparent images that can be dropped onto the graph view and "stuck" to any note or other object there. When the note is moved, the sticker moves along with it. The plan is to eventually have several packs of stickers available with different themes, as DLC items.
Here's the sidebar showing a few test stickers:
The bottom panel is what I'm calling the "tool panel" for now. It will be a spot where built-in and add-on scripts can display a custom UI for interaction with elements on the note graph, or other tabs. For now it's just a place for the sticker palette, and I don't have a UI yet for how different tools are activated. This will probably just be in the form of another menu and a small toolbar either on the left of the window, or embedded within the tab strip at the bottom of the window.
I've also got proper z-ordering working finally, which will be a big usability improvement for myself. Previously notes were always displayed in a fixed z-order, just because that was the easiest thing to do. Now they will be drawn in the order they were clicked on, essentially. So yoy might start with a stack of notes like this:
Then if you clicked Green, then Blue in turn, the display would look like:
This ordering is then preserved between sessions of course, so everything is exactly as you last left it.
Statistics: Posted by iraway — Thu Jan 16, 2020 2:03 am
Template previews in graph
Just got the template previews in the sidebar graph to work based on my internal LED parser, so the sidebar rendering of a templated note now approximates the internal form layout of the note from the LED template. Really pleased with the result so far.
Statistics: Posted by iraway — Sun Jan 05, 2020 1:11 pm
Sign up now to get notified when we release the first preview.
If you would like to be notified when the new and improved StoneNotes personal database and note taking system is made available, please subscribe to our announcement list.
More about templates
One of the new features of StoneNotes is a more reliable and less fiddly way to create custom forms. Since the Windows and Linux versions are written using the excellent IUP cross-platform GUI toolkit, the natural choice is to use their own LED language for templates.
Templates files consist of a simple INI file format that looks like this currently:
The last half of this under [tmpl] is actually pure LED code, though it's also valid INI code, which makes it a bit easier to load with our INI parse.
The reason it's formatted a bit weirdly is that we must have a unique key for each element of the LED file so that the resources use by them can be cleaned up automatically. This shouldn't be too bad since the labels, hboxes and vboxes all can just have any numeric ID associated to them (they do not need to be in order or anything really), while all fields will naturally need to have names anyway so that we can serialize the data to the note object that uses the template.
Anyway the template above looks like this once rendered in StoneNotes:
I've also written an LED parser from scratch while will be used in the mobile versions eventually, but more immediately will be used to parse the template LED code in order to generate drawing instructions for the graph sidebar automatically. This should allow me to create nicely formatted previews / thumbnails of any notes that use templates. Didn't quite get this working yet, though the parser is finally working correctly, so no screenshot yet.
Statistics: Posted by iraway — Sat Jan 04, 2020 3:15 pm
Hey there, I am Isaac Raway also known in some places as Blueapples. I've been working on a program called StoneNotes for a very, very long time and I thought that I should start to post updates on my progress, more or less just as a way to get some ideas written down but also to document progress for posterity.
StoneNotes is a personal information management/personal database/personal computing platform currently under development. Here's a quick preview of the current development version, showing some of the recently added capabilities such as templates (the form on the right) and differently themed sticky notes:
Some background: the first version of StoneNotes was written while I was still in high school, using the programming language Delphi. I started selling it online, and achieved a very small amount of success. People actually bought it, people actually seemed to like my ideas! It was great, but sadly didn't last. Some time around when I started to work as a full time programmer for a living, I lost interest in the program almost purely because I switched platforms to Mac OS.
Since then, and after many switches of platform back and forth from Windows, to Mac to Linux and back again, I have decided that anything I write from now on should be cross platform. It just makes the most sense for me personally since I often like to change platforms and I don't see that changing any time soon, but it also makes sense because there are lot of people out there and they all like different things. So to cater the the widest group of users I want all of my software to be cross platform.
The initial switch to Mac OS meant that I could not continue to work on StoneNotes using Delphi. Unfortunately I decided at the time to set it aside, and allowed the website to languish until at last it stopped working.
At some point in 2013 I decided to dust off the project and start a grand rewrite. This was originally done in C# and WinForms (prior to my cross platform epiphany). I built something that I still think was pretty cool, but eventually the complexity of the way I had started to write the program caught up with me and drained the joy out of the effort.
Fast forward to the last year or two and I have started a third rewrite of the program, this time with a specific set of features in mind prior to starting development. The new program is written in cross-platform C with IUP as the GUI library for Linux and Windows versions. The Mac version will use a native Mac OS UI as that definitely seems like the right approach there, but will leverage as much of the same code as possible from the Linux and Windows versions. I have also tentatively determined ways to do mobile device support, but mobile device support is much further down the road. I wish there was a cross-platform GUI toolkit that could really work on all three desktop environments and both mobile platforms, but for now this seems to be out of reach.
This site will serve as a worklog documenting the journey to completing the first version of this rewrite, a tradition I picked up during my Blitzmax development days. In many ways the program is already functional and operational, containing many hundreds of my own notes, but in other ways it still has quite a ways to go before I will want to fully release it. That said, I want to give anyone who finds this kind of application interesting a peek into my progress and thought process.
Statistics: Posted by iraway — Tue Dec 31, 2019 8:50 pm