StoneNotes Next

Subscribers get 20% off when StoneNotes 2020 is released.

StoneNotes 2020 is coming out soon, and you'll get a 20% discount just by signing up to be notified.

StoneNotes Worklog


Posted by iraway — Thu Feb 20, 2020 6:40 pm

I have been working on the implementation of books this week. Books basically just consist of a stack of notes that are bound together as one object in the graph view. This is handy for things that occur every day, such as a daily notes book, which is how I am currently using them. I've collected all of my previous Daily Plan notes into a single Daily Notes book using a feature added to bind search results into a book.

Here's a quick preview of the current covers. There will be many more designs available, as with other features, this is just the baseline.


Weekly agenda view, habit tracking

Posted by iraway — Mon Feb 17, 2020 4:02 pm

Here's a screenshot of the current week view, showing my habit tracking for last week:


In the week view (as well as on the daily agenda view), crossed out items are those that are checked off as done. Reminders also stop appearing for any events marked as started, so not all items are marked done necessarily (it's up to you if you use either checkbox or both).

Weekly habit tracking shows the same list of active habits as I showed previously in the daily agenda view. Any habits that existed as of the selected date range will appear with their status. Each record can store about 2 years worth of habit tracking, so this is very compact.

The Habits records can also be viewed at a higher level via the report system:


This allows selecting any date range, and will produce a readable report of checkmarks for each habit within the range.

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.

Daily agenda view

Posted by iraway — Tue Feb 04, 2020 2:16 pm

The daily agenda view is now very nearly complete. I do still want to make some improvements to make it more customizable, but I'm very pleased with the look and functionality as a good baseline. Basically the idea with the first release is to get all the critical pieces into place so that I can iterate on the details with user feedback and my own use of the system.


I've also been working on a new and improved alerts system. There are two types of alerts:
- Alarms
- Reminders

Alarms are alerts that you specify you want to receive a certain period of time (expressed in days, hours, or minutes) prior to the event. Each event and Todo can have two alarms set on it. Alarms do not recur unless you press a snooze button which appears only when alarms are present in the alerts dialog.

Reminders are automatically issued when an item is scheduled to start. In this screenshot, a Reminder is showing for the test event because the time it is scheduled for has passed. To suppress further reminders I just need to select the Start checkbox to indicate that I've started the meeting or other event.


Note scrolling

Posted by iraway — Mon Feb 03, 2020 9:14 pm

Haven't been posting a ton in the last couple weeks but I have been working hard on the program, so I've now got a bit of a backlog of things to post about, going to try to get through them.

First up is a change to allow notes to be scrolled and resized properly on the graph view. This is really handy for me for reference material that I copy into StoneNotes, but in general it's just a good thing to have.

One of the things I'm trying to balance is how much interaction actually happens in the graph view on the sidebar, vs what happens in the edit view on the right. At this point nothing can really be modified within the graph, with the exception of position and size, and sticker application, but I'm not sure if that's a rule that is set in stone. The sidebar's various list views (for Todo items, etc.) do allow editing directly, so I'm not really sure which way I want to go. Editing a note directly in the graph view seems like it would be a bit too challenging to get right so for now I'm not going that far.

Quick shot of a scrolling note:

scrolling a bit:

Stickers and Z-Order

Posted by iraway — Thu Jan 16, 2020 2:03 am

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.

Template previews in graph

Posted by iraway — Sun Jan 05, 2020 1:11 pm

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.


More about templates

Posted by iraway — Sat Jan 04, 2020 3:15 pm

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.

First post

Posted by iraway — Tue Dec 31, 2019 8:50 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.

Last chance to get 20% off!

If you read this whole page you really should sign up for our newsletter! :-D

StoneNotes Announcement List

Feed of All Posts (Raw Atom Feed)