113 comments

[ 3.4 ms ] story [ 139 ms ] thread
Looks great! My only concern now is that i won't use it a lot because typing on smartphones sucks…
At the same time, voice to text works like a charm on smartphones.

Especially for dairy-style note taking its really painless.

Thanks. It occurred to me after hitting the "add comment" button, too. Still:

- does not work all that great for some languages

- does not work offline (or… maybe it does now? it didn't when i've tried it on android a while ago)

- not appropriate everywhere (eg. public transport)

Looks quite smooth and has a gentle feel, I like the design.

How can you add it to your home screen? There is no link nor explanation.

Scroll all the way to the top then a link will appear in a bottom toolbar type thing.
Thanks! As far as I'm aware, you can't manually trigger the 'add to homescreen' prompt as it's a system-level interaction. Android Chrome & Firefox should trigger it, but if not it's under the default browser settings dropdown on Android, and under 'share' (I think) for IOS.
Is there some kind of sync mechanism? I couldn't see anything about account creation. You say "offline first". Is it not "offline only"?
There's no sync (at this point) and no account creation by design. It's all stored in your browser - I suppose in that regard it is not 'online'!

Sync may well be coming, but I'm not yet certain how to do it securely. That being said, import & export is available now, so it can be manually sync'd.

Client side encryption with a passphrase derived key and synchronization to Google Drive? That would work great for me.
it would be easiest yes to use something avalablee to people for free where good encryption things are present. but i suppose a lot of the world is waking up to the fact these things aren't so nice really, and offline storage for personal things is better.

it would be cool to have some export or import button to save everything into some kind of archive, then you can move it between offline machines and import it into the browser to use it there.

import & export are already there on the settings page :)
Really digging the design. Feels extremely light and calm. Although, all those animations might get a little annoying with everything transitioning-in the page.

Good work, though!

So why it's web based?
How about because it directly works on all platforms, mobile + desktop?

Also it looks like it's the platform the author was most proficient in, which is always a good reason when choosing your stack.

An RTF document would be more portable, surely?
Definitely, only with less functionality and not as pretty.
Works on all platforms except Windows Phone/Windows 10S apparently, because it's completely broken on Edge.
Is there a way to speed up the animations?

It may not be a real problem once I actually use it, instead of clicking around, but it makes it feel really sluggish at the moment.

Really nice! Please get rid of the fade in fade out animation every time I click something. That time adds up, time I could be writing in my journal ;D
It looks really great and I find it to be very fresh, but my main concern is... what happened the the real offline alternatives?

Except for the way in which you write and access JournalBook, how is it different from a real journal that we can carry everywhere?

> real offline alternatives

How about https://tiddlywiki.com/ ?

I thought the parent comment was referring to real offline journals made of treeware.
Exactly. It's not that I don't see value in online alternatives, but in this case, if the main point is to access it offline, I don't see how different it is from a physical journal.
Why use digital formats offline:

  - editing and reordering text
  - attachments
  - aesthetics
  - accessibility 
  - hassle/weight optimisation
Aesthetics includes theming, and also not everyone has good handwriting.

Accessibility, because not everyone is able to hand-write in the first place.

Weight optimisation, because if a laptop is non-negotiable, going digital means one less thing to remember about and carry with you.

I have multiple physical notebooks/calendars and a digital commonplace book, they all have their place.

For slow writers but quick typists, an app is always going to win out over a physical journal. Also interested in an event call export + parse.
One thing about this browser storage.. How do you migrate if/when you change computer? Is the procedure browser-dependent? I always saw those storages as a bit more troublesome than a flat CSV or something.
It looks like there's a 'download data' button for this
You could just run it in a container with a bind mount for the database path to a file path that's kept in sync with SyncThing or other alternatives.
"just"
I'm curious what about running a container like this is hard as you've implied? Take for example all the great work Jessie Frazelle has done containerizing her desktop and apps (https://github.com/jessfraz/dockerfiles). Or the folks behind LinuxServer.IO. If you already have a container runtime on your system running this, as suggested, is a one-liner.
Haven't used the app yet but the "Facebook"ish theme and illustration-style on the first page made me recoil reflexively. Maybe because privacy is a big concern when it comes to journals and we have come to associate that colorscheme with distrust and privacy breaches lately. I think tweaking the colors and illustration style might help.
Works really well and feels super smooth. Really great.
It has a dark mode with different colors. Let's not villify blue in general though :P
I agree. It was involuntary.
Any tips for a server side developers on how to create similar user interface? how was it created? fully custom? based on some frameworks?
The project is open source, the github link is on the same page. It's build with Preact, a small react alternative.
Looking at the source code it’s done with Preact and the css seems to be written by hand.

I was a server side centric dev for a long period before being able to design decent apps.

Here are my tips:

- Spend as much time as possible on Photoshop / Adobe XD / Paint.Net or whatever software design you are using. Do not start to write any HTML or CSS before the design has all the pages done.

- Spend time in Design Network like Dribbble to be inspired by top notch creators

- Code stuff you see . If you see a design you like on Dribbble you should try to do it in HTML and CSS.

- Frameworks will not make you a good front end developers. The majority of front end devs just use Flexbox these days, frameworks are less and less important for CSS you’ll be faster if you just learn the behavior of html and css without frameworks.

- Be patient

there's so many frameworks etc to create interfaces, in so many languages..

this is made mostly in JS so it runs clientside / offline (i think that would be the motivation to do it in js).

click view source in the browser :-) or 'inspect' if you use chrome, and look into the .js files which you find from there.

Should get you on your way :)

though if you are server side developer, maybe php is more interesting as it processes on server side and will be easier to interact with your server side developments

css language is used for style related things in any case (where elements might be generated from code like js or php, but css still reflects the style in the browser)

Nice, am trying now. I am on IE 11 on my desktop (corporate environment, not my choice) and it just displays a blank screen.
What's the benefit over plain text files? Is it just the prompted questions?
This is great, but I'd be worried about easily losing all of my journals by simply clearning my browser history and wiping everything unknowingly. Any plans to wrap this as an Electron app or something that could be installed on the desktop?
+1 for syncing support between mobile/laptop. This is a must to have ability to write quick notes on mobile and prose on laptop.
Here is my privacy centric, offline first, personal journal bash script

    EDITOR=vim
    journal() {
        mkdir -p ~/journal/`date +%Y`
        $EDITOR ~/journal/`date +%Y`/`date +%m-%d`
    }
    alias j=journal
(comment deleted)
Thanks. Are you planning on selling this as a service? Maybe with blockchain verification? How about creating a marketplace so that others can share journal templates? Is there iCloud backup? Would be nice to have private messages between members and social status that people can "like".

:-)

For those unaware: I think parent poster is being sarcastic.

EDIT: my original comment was "Don't know why you're being downvoted. That's sarcasm people!". It was flagged. I wondered why and decided to check the HN guidelines. Sure enough, I violated one: Please don't comment about the voting on comments. It never does any good, and it makes boring reading.

Sorry about that!

Hey, this is HN. Sarcasm and witty remarks are verboten. :-)
Humor is not one of HN's strong suits.
And sarcasm is the lowest form of humor.
A simple "/s" or "/sarcasm" as the internet is not particularly good at transferring voice, tone, and feelings even with a good connection :)

EDIT: guess I should have "/humor"

(comment deleted)
All hilarious mocking aside (although you should probably turn this into a SaaS somehow and get it in the cloud), I've been using a simple .txt file for journaling since i started first my professional software gig in 2014.

It has gone through multiple forms, once where i created a new file everyday, and it wasnt automated much. One day I realized I could be even MORE lazy and started automating a bit. Now i have one file, with a heading for each day. I have the vim command saved as an alias now 'journal'. It opens up the file, moves to the end, and enters insert mode :p

    alias journal='vim "+normal Go" +startinsert /worklog/start_20160426'
I use git and surround my note taking scripts with these two functions.

# Pull Notes to make sure you are completely up to date before editing.

function pull_notes() {

  (
    cd $NOTES_DIR
    git stash
    git pull
    git stash pop
  )
}

# Push Notes up the git repo that these are attached to.

function push_notes() {

  date=$(date)
  (
    cd $NOTES_DIR
    git add .
    if [[ $(git status -s) ]]; then
      git commit -m "Notes Updated: $date"
      git push
    fi
  )
}
I like the mkdir -p for each date, tho I might do that by day instead of year.

My scripts for writing, and recording audio:

(cd writes/journal/; vi $(date '+%Y-%m-%d-%H:%M:%S') -c 'startinsert')

arecord -D plughw:$1,0 ditties/$(date '+%Y-%m-%d-%H:%M:%S').wav -f FLOAT_LE -r 48000

That's a good way to capture thoughts, but the review process and linking of notes is less than perfect.
If you want that, try TiddlyWiki[1] -- an actual offline-first system for journaling and notes.

It's a single, self-contained HTML file. You download it, add data, then overwrite the file with a new version which includes changes.

If you want to go fancy, you can install it on a server with Node.js and stuff, but there's not a need to go there.

[1]https://tiddlywiki.com/

I'll second TiddlyWiki. I've used it for several years and became a fan early on.

These days you might run across some hiccups in getting it to work in your browser of choice. Over the years the browser vendors became less and less inclined to allow javascript and extensions attain local file editing permissions. That's pretty reasonable, but annoying.

A pretty decent alternative that I've been using for months, now, is an app called Tiddly Desktop. It's an NW.js-based app so it has no trouble accessing the local filesystems.

>These days you might run across some hiccups in getting it to work in your browser of choice.

Never experienced any problems whatsoever across FF/Chrome/etc

I just generate a new HTML file with changes for saving.

Requires remembering to do something to save changes, but I come from the time where autosaving wasn't the norm anyway :)

From time to time I try these fancy journaling apps. A few weeks later I have to go through the hassle of converting the data to my good old plain text file journaling format.
There are some journaling apps that target this mindset. This one[1] was posted a few days ago (in comments) and stores your notes as markdown in plain text. There are others (I am working on one as well, but its not ready). If the app forced a particular naming convention (e.g. 2018-05-10.md) would that be too restrictive?

[1]: (https://github.com/fabiospampinato/notable).

No. Not really. http://jrnl.sh/ looks good too if you're starting from scratch.
If you're looking for something simple like jrnl but as a desktop app with a GUI, you might be interested in Mini Diary which I just launched: https://news.ycombinator.com/item?id=18934610. It also allows you to import your jrnl data and export your entries in a variety of formats.
vscode-journal and vscode-journal-view (gives you a calendar view in the side bar) do what I need and are offline.

I have vscode open anyway so path of least resistance applies.

Thanks for the recommendation, been looking for something like this.
It's really good, I just set the base path to point at a dir in Dropbox path and that's it, I have a autosyncing journal on all my computers.
This has similarities to a Blazor (C# via Web Assembly) app I've been playing with recently, mainly offline only storage and import/export functionality. It works well but we're all so used to cloud syncing that it takes some getting used to when things aren't magically available on all our devices. https://do.lord.technology/
A real journaling app, for the hackernews crowd, must have syncing between any kind of device (imo), including the terminal. My solution is just nextcloud syncing text files, though that may be overkill. Anyone have a good or even elegant solution for web/phone/terminal text file syncing?
I'm assuming this does local storage through the web browser. Does Firefox Sync or Chrome's Sync move that between devices for you? I don't do much web work so am unawares.
syncthing covers all of those, just note it doesn't support iOS.
I also recently started using nextcloud syncing (among other files) text files; though i use the nextcloud mobile client to actually edit/draft notes on the go. Previous to this I was using dropbox...which was totally fine, functionally speaking. Their mobile file editor was decent enough. I just moved to nexcloud for reasons of privacy, control, and principle.
I'm concerned about the HTTP requests that fire off every time I navigate to a new page. E.g. navigating to my "Thursday 10th Jan 2019" note triggers [1]. It even includes a cookie in the request. Not completely private, it would seem, as you're very clearly collecting metadata about my app usage habits, even though it's not strictly required for the app to function properly.

[1]: POST https://trys-tiny-tracking.now.sh/ {"type":"hit","url":"/2019/01/10/"}

EDIT: Looking through the src [2], it appears the site will respect the user's "do not track" browser preference [3], but that's not supported in all browsers

[2] https://github.com/trys/JournalBook/blob/master/src/utils/be...

[3] https://developer.mozilla.org/en-US/docs/Web/API/Navigator/d...

Fair point, this is the beginnings of a basic hit counter that I'm working on. As there's no server (it's CDN hosted on Netlify), there's no way to see if anyone's even using the site. It's waaaaay less intrusive that GA, or other tracking tools. It's simply picking up page views - ignoring IP and any identifiable information (cookies obvs. included). It also respects do not tracking indicators in your browser. Tiny Tracking will be open sourced in time.
Thanks for the reply. I figured it was, in reality, a pretty innocuous page view counter. But I also figured since your site is getting some attention on HN right now, it'd be best to make the finding public.

Also, thanks for actually adding a 'do not track' check! Too few sites are doing that, even new ones like yours. I updated my comment as soon as I saw that in there

Unfortunately you're still sending a lot of data across the wire, so even though your intentions are pure, you've still opened a door to immense data collection for an app that bills itself as "privacy centric". If you passed your data to a third party for storage (Netlify for instance), they could glean an immense amount of information.
In my mind, this completely contradicts "privacy centric" and "offline first", which to me are very important goals. Even though the notes in the app are only ever stored on my computer, and even though it's metadata being sent, I would rather offline and privacy focused apps not use my network at all. That's what I aspire to anyway when I write apps for sephware.com, and I wish everyone would do the same.
I love the shoutout to yourself. Anyways, poking around your site and I appreciated this. Thanks for keeping it fun.

Make your windows dance in place! This is actually in the demo video up top, and I put it there because it's super fun, even though it's probably completely impractical. Try it out to get the full effect.

Thanks I appreciate it and glad you enjoyed the dancing windows as much as I did :)
Your Autumn app looks pretty sweet by the way. I've been looking for a simple WM on Mac. The other ones are always needlessly complicated (looking at you Hammerspoon). Especially after using the beautifully minimal bspwm [1] + sxhkd on Linux for years.

But re: zero analytics, aren't you curious how many people use the app at a minimum?

[1] https://github.com/baskerville/bspwm

Yeah, I sometimes wonder about those statistics. But I'm not curious enough to invade people's privacy or use any of the other modern marketing manipulations to boost sales. I think if you make a thing and pour love into it, people will love using it, and maybe even want to give you a little money. I've seen this first hand many times and been on both sides of it. That's why I like Show HN, and give apps like JournalBook an honest look, especially when it's clearly a passion project by a single person.

Edit: Thanks for the bspwm link btw, I've been wanting to add a class to Autumn called TileWM (to complement the existing GridWM) but I couldn't wrap my head around binary space partitioning, although I knew that's what tiling WMs usually use. The page you linked to describes and visualizes it really well and now I think I understand it well enough to finally implement it. Although, given the nature of Autumn, someone could probably implement this feature sooner using Autumn itself :D

Just wanted to say — I’ve been using Autumn for about a week and it may just be the perfect window manager. And I’ve tried them all.

BST Hammerspoon Moom Flexiglass Layouts Alfred Div MaxSnap Spectacle Magnet SizeWell Etc etc

All of them. So thank you for the hard work.

And I can’t tell you how delighted I was to find THIS point of view from you out in the wild. Agreed entirely.

Really glad to hear that you enjoy my app that much! I put a ton of hard work into it and honestly yours is the first feedback I've heard about it at all, beside a close friend who beta tested it briefly. If you have any thoughts on features or APIs you'd like to see in Autumn, please don't hesitate to use the in-app Feedback form :) In particular, if you wouldn't mind sending me a copy of your current script, I'd love to see how you're using Autumn!
(comment deleted)
Is there something "bad" about journaling in a text editor and syncing that to dropbox?
For a long time my whole life was in a textfile called 'phone numbers.txt'. It had started as a list of phone numbers of my friends (I didn't have a cell phone myself; dumb phones existed but I didn't want one) and grew into a huge repository of information.

For a while now I've been using pieces of paper which I file in numerus currens style and keep inside shoeboxes. Many tend to be thicker "fiche de la police"-type cardboard so the whole thing stays up even if there are also many loose folded-in-half A4 sheets. OTOH I've almost lost notes in the laundry and still rescued them with the hair dryer.

It's also hard to represent equations and diagrams in most note-takers. Interfaces, as the etymology suggests, really get in your way! The one drawback is to find oneself occasionally without paper. But again in a pinch even business cards and receipts (you can photocopy the termal paper at home later) are possible hacks.

(Numerus currens is like paper nosql: when you file a new note, first you quickly browse through your archives for similar topics, otherwise you number it max_N+1. If there's something similar with number 110, you might number 110/A, 110/B, 110/C; if something that belongs with 110/B comes, it's filed as 110/B/1... but you can never shake the whole thing out and lose the order, so I wouldn't recommend this system to people with large dogs or small children.)

Using text files as an offline solution works pretty well too.
does this not work in Firefox ? really ?
this does not work in firefox .... really works only in chrome
Worked in FF no problem for me.