
Show HN: JournalBook – Privacy centric, offline first, personal journal app - trys
https://journalbook.co.uk
======
cmpb
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/](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...](https://github.com/trys/JournalBook/blob/master/src/utils/beacon.js)

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

~~~
trys
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.

~~~
sephoric
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.

~~~
dmix
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](https://github.com/baskerville/bspwm)

~~~
sephoric
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

~~~
voltaireodactyl
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.

~~~
sephoric
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!

------
shpx
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

~~~
rekshaw
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".

:-)

~~~
broahmed
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!

~~~
bovermyer
Humor is not one of HN's strong suits.

~~~
sridca
And sarcasm is the lowest form of humor.

------
unicornporn
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.

~~~
cloverich
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](https://github.com/fabiospampinato/notable)).

~~~
unicornporn
No. Not really. [http://jrnl.sh/](http://jrnl.sh/) looks good too if you're
starting from scratch.

~~~
baleb
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](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.

------
estevaoam
Good work man. Don't mind all the criticism here in HN. ;)

------
jatins
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!

------
netule
I've tried various journaling apps, but I keep coming back to Emacs Org-Mode
for my journals and writing because of its excellent tooling and export
abilities. I keep a single .org file per year and each entry is a high level
heading. I sort by entries with the latest on top by default, but before I
export, I use the built in Org-Mode sort to arrange them chronologically based
on the associated date tags. It's an extremely simple system, portable,
readable as plain text, and GitHub has syntax support. I can't recommend it
enough.

------
cyberpip
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?

~~~
piffey
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.

------
SCdF
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.

------
tomerbd
Any tips for a server side developers on how to create similar user interface?
how was it created? fully custom? based on some frameworks?

~~~
asien
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

------
voidmain0001
Is there a OneNote, Evernote, <insert program/app name> that has the same
feature set as ProtonMail? I like the idea of centralized cloud storage of
notes for synchronization across devices with the same app/program, but with
at rest encryption of the stored content that can only be decrypted on the
client with the client's key.

~~~
erredois
There is standard notes that has the encryption and cloud sync. You can try it
standardnotes.org

------
JetSpiegel
Here is a better Android Diary app that saves a single .txt file per day on
the sdcard.

[https://github.com/billthefarmer/diary](https://github.com/billthefarmer/diary)

Then just use syncthing to syncronize those files to your other devices.

------
helb
Looks great! My only concern now is that i won't use it a lot because typing
on smartphones sucks…

~~~
jsjdnfmd
At the same time, voice to text works like a charm on smartphones.

Especially for dairy-style note taking its really painless.

~~~
helb
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)

------
sandrobfc
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?

~~~
_mischief
> real offline alternatives

How about [https://tiddlywiki.com/](https://tiddlywiki.com/) ?

~~~
mcless
I thought the parent comment was referring to real offline journals made of
treeware.

~~~
sandrobfc
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.

~~~
_mischief
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.

------
X6S1x6Okd1st
I've been using Joplin and been really happy with it for my purposes so far

[https://github.com/laurent22/joplin/](https://github.com/laurent22/joplin/)

------
camnora
Using text files as an offline solution works pretty well too.

------
076ae80a-3c97-4
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/](https://do.lord.technology/)

------
rudolph9
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

------
h0l0cube
This is dead simple and flexible, I love it! I thought maybe I could use it to
do a self-initiated daily 'stand-up' for personal goals. Right now, you use
explicit URLs for each day, is there anyway you could make this static for
bookmarking the current day's questions? I'd like to make it my default page
for new tabs, such that I don't forget to write.

------
hkon
I realized I could never be sure about this kind of stuff, so I made my own.
Took me about 5 hours to write a wpf app, it's very crude, but it even flips
pages like a book, looks like a book and stores the content encrypted with a
huge password which if I ever forget means the entries are lost until someone
can bruteforce it.

Gives me much joy and I add features to it from time to time.

------
diimdeep
Markdown files + Sublime MarkdownEditing plugin

~~~
c-smile
Or my html-notepad ([https://html-notepad.com](https://html-notepad.com)) if
you prefer to use better WYSIWYG. Markdown is "a poor man WYSIWIG" anyway.

Especially if you need tables there or paste images from clipboard.

Or just use [https://notes.sciter.com](https://notes.sciter.com) application.
It stores document tree (db) locally: [https://github.com/c-smile/sciter-
sdk/blob/master/notes/res/...](https://github.com/c-smile/sciter-
sdk/blob/master/notes/res/db/initial.tis#L25)

------
kerrsclyde
Nice, am trying now. I am on IE 11 on my desktop (corporate environment, not
my choice) and it just displays a blank screen.

------
roimor
Is there something "bad" about journaling in a text editor and syncing that to
dropbox?

~~~
thanatropism
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.)

------
aosaigh
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?

~~~
ClashTheBunny
There is import and export in settings.

------
fhennig
What's the benefit over plain text files? Is it just the prompted questions?

------
jug
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.

~~~
windexh8er
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.

~~~
xerosis
"just"

~~~
windexh8er
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](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.

------
zhynn
Really, no mention of NVAlt or Notational Velocity? Usually that comes up on
these threads. I will probably use NVAlt until it doesn't work anymore, then
endeavor to craft a replacement.

------
muvek
Is there some kind of sync mechanism? I couldn't see anything about account
creation. You say "offline first". Is it not "offline only"?

~~~
trys
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.

~~~
pretty_bubbles
Client side encryption with a passphrase derived key and synchronization to
Google Drive? That would work great for me.

~~~
vectorEQ
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.

~~~
trys
import & export are already there on the settings page :)

------
iElectric2
+1 for syncing support between mobile/laptop. This is a must to have ability
to write quick notes on mobile and prose on laptop.

------
alazel
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.

~~~
trys
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.

~~~
developit
It's possible now! [https://developers.google.com/web/fundamentals/app-
install-b...](https://developers.google.com/web/fundamentals/app-install-
banners/#trigger)

~~~
trys
Oh sweet! That would be great on the settings page :)

------
ntrue
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.

~~~
developit
It has a dark mode with different colors. Let's not villify blue in general
though :P

~~~
ntrue
I agree. It was involuntary.

------
hbbio
This app would be a good candidate to integrate a E2EE framework.

Disclaimer: I'm building one based on a API/SDK architecture.
[https://github.com/wallix/datapeps-sdk-
js](https://github.com/wallix/datapeps-sdk-js)

------
anonymfus
So why it's web based?

~~~
tga
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.

~~~
Angostura
An RTF document would be more portable, surely?

~~~
tga
Definitely, only with less functionality and not as pretty.

------
rammy1234
this does not work in firefox .... really works only in chrome

~~~
johnlp
Worked in FF no problem for me.

------
rammy1234
does this not work in Firefox ? really ?

------
mamicu
I might sound like a crotchety old man but I'm kind of tired of these JS and
local storage browser apps. The tech is still just as clunky as if I were
using a text file on my computer except you now require a browser to use it
and run the risk of clearing your local storage or somehow corrupting it and
losing everything, whereas local files a lot easier to keep track of and
backup. At least that was my experience with laverna which this reminds me of.

Trying to emulate an offline app via a browser seems flimsy to me.

