Announcing the alpha release of Intergrid
Intergrid is an online outliner and note-taking app. It's inspired by – and in many ways replicates – Indigrid, except it's on the Web. It's free to use, and it's readily available right from the main page.
Why Intergrid?
The main goal of Intergrid is to help you focus on the notes.
There are no settings. You can't pick the font. Theming is not an option. There's only content, and what you want to do with it.
Plus, it looks cool.
Is it feature-complete?
Hell no. It's been in development for three months – which is to say, not very long. It still has ways to go.
Which is why I'm keeping the initial release rather quiet: Tildes and a handful of friends are the only people to know about it so far.
Are there bugs?
Afraid so. There are some I know about, and there are probably some I couldn't even reach.
Why release it, then?
Because it works already. You can add, edit, and save your notes in-browser. As long as you have cookies enabled, it will serve you. (Intergrid doesn't use cookies, and has no tracking to speak of, but the permission for localStorage
– the technology used to store and gather data about your notes – is adjacent, as far as browsers are concerned.)
It would be of particular use to people on systems other than Windows. While the current version is focused on desktops, future versions may gain mobile support – all the more likely because, outside from a handful of hardcoded interactions and design considerations, there's nothing preventing mobile users from enjoying the app.
There's also the pragmatic reason: something Jeff Atwood called "Always Be Shipping", all the way back in 2007. You can't get feedback on an app that has no public version. Your programming expertise and design sense will only get you so far. Getting it out there – and going forward with the feedback – is a generous part of the process.
Where are you planning to take it?
The first step would be the fix the bugs. There will be a list of known ones in the comments.
Once those are fixed (or can be postponed without repercussions to being able to use the app), there are features I'm going to implement within the next couple of months. Most of them, at least initially, are going to be put in to keep up with Indigrid's feature set.
-
Views: open, move, and close columns, each hosting a different view on the notes, allowing you to gain perspective or edit multiple ideas simulatenously
-
Bookmarks: store views as separate named bookmarks, allowing you to traverse different mental spaces within the notes
-
Action History and Undo/Redo: record changes to the notes and time-travel between its different states, because sometimes, you want to be able to "go there" and not be weighted down by rock-solid commitment
-
Offline Use: work with your notes even when the Internet is down
(Even though the code for columns is already in the development branch, I was unable to come up with a respectable way of handling it before New Year, which is when I promised to release the app.)
In the long term, I'd like to make sure you could access your notes from any browser on any device. This plan also includes the ability to create and share read-only or editable partial copies of your notes – for example, as presentation or a basis for an online discussion. After finishing with shaping up the current, local-only version, this is where want to take the development. I reckon it would take me somewhere between 6 and 12 months to finish the codebase for this.
Anything else I should know?
Do keep in mind that this is an early release. There may be bugs – perhaps even the kind that will rid you of your notes. If you're uncomfortable about using software this early in development, please don't: your sanity is dearer to me than getting users.
It will, however, get stable over time. If there's ever a breaking change on the horizon – the kind of change that will change an aspect of Intergrid radically – users will be notified about it at least two weeks ahead, so that at least they could backup their notes. I want to ensure the safety of mind for the users of Intergrid, so that they know their notes are in safe hands.
That said, make regular backups anyway. The nodes are encoded/decoded as indented plain text, which means they can be transferred to and from a simple textfile with copy/paste. Any single whitespace character – space, tab etc. – is considered one level of indentation, so it doesn't matter how you indent your plain-text notes: they will be aligned as you'd expect. Intergrid and Indigrid both export tab-indented text.
Can I help?
From the coding and design perspective, I would appreciate open-source involvement. However, at this stage, even though there's a repository awaiting changes, I'm uncomfortable making it public just yet, because licensing is hard and I don't want to get into any sort of legal trouble without at least understanding what I'm dealing with.
Once this and other aspects of open-sourcing the code are dealt with, I'm going to post another update.
If you'd like to support the development financially, you could donate via PayPal.me. The first $5 or so will go to supporting the infrastructure: the monthly hosting payment and 1/12th of the yearly domain name price. (Even though the domain name has been paid for for the next two years, I'd like to be able to host the app reliably. The domain name is directly tied to the data saved – you can't access another website's saved data unless they're on the same main domain – which is why it's important to keep it.)
The list of known bugs:
(comment under this if you'd found any more)
\r\n
linebreaks when copying and pasting notes as plain text, which may cause issues on systems other than WindowsAs someone who's had issues with Indigrid losing my file before, l'd really love some kind of save local function.
Export function is on the list of short-term features.
Looks very nice, visual-design-wise! I'm getting a strong Windows 98 feeling, which is good. A couple of notes:
<kbd>
tag for keyboard shortcuts. I think you might want to use that.1 Apparently Tildes' markdown doesn't support the tag yet. Oh bother. Added
<kbd>
to the list of tags I would like to have on Gitlab. <influence>Please subscribe, like, and share!</influence>⎈
is not a good symbol: not for Ctrl, not for any other key.) Plainly put, Mac wins this. I think learning that symbolism would be of benefit to the user.If I may ask: what about the scrolling behavior bothers you?
(Just in case, I am on Firefox 71 on Ubuntu 18.04. I sincerely hope it's not one of those websites that “work
bestat all in Chrome on Windows.”)I did do most of the testing in a Chromium fork I'm using, I admit. Turned out,
event.path
is a Google-onlyEvent
property, and some browsers (cough Microsoft cough) don't even support the regular.composedPath()
. Guess I'm gonna have to do some proper testing now that the app is no longer a fun side project.The only things CSS changes about
kbd
is giving itfont-family
andcolor
. It had no formatting of its own, aside from having the default font bemonospace
.I'm thinking it's the other sites that add the appropriate button-like formatting to
kbd
. It's a cool thing to have inlined in text.Thanks for the heads-up. I was able to replicate that, and though it didn't have an effect on the workflow, it's not the expected behavior. I'll get to it during bug-fixing.
It's kinda by design.
CSS has been promised the
:has()
selector (which is meant to target the parent element if it has children or siblings passed to the function) for years now. I want to support it natively, which is why I'm including it as a separate rule (that ends up not being parsed because no publicly-released browser supports it yet).Both the stylesheet and the engine seek to use
:has()
before falling back to the JS-only method.Re.
<kbd>
. Whoops! You are correct. I was under the impression that it was made in the built-in browser CSS, but I was wrong. Sorry about the confusion.Re.
:has
. There is actually a@supports selector()
CSS media query to remove the warning:(Note, there should be no space between
selector
and the left round bracket.)There is only one problem though… It's that the
@supports selector()
syntax is only supported by Firefox. *Sad trombone* It's shit like that, that made be switch from full-stack to backend-only.Either way, for an alpha it looks pretty good. Best wishes to the project!
Thanks for the heads-up on
@supports selector
. I'd consider using it should the syntax gain more traction.Also, researching the topic made me realize I was wrong about
CSS.supports()
, as well. I thought it indicated whether selectors, among other things, are supported. In fact, it only checks for properties (display: grid
and such), which... is of no use to me, it turns out. So, thanks for auxiliary effect.May I ask what browser you were using when you entered the page?
Was there only "Root" the first time, or were there other nodes as well?
Let's try something.
Debug.clear = true
Let me know what you see.
That shouldn't break the app: I specifically had a guard put up against this sort of empty-string fuckery.
Could you do the same thing again and, if the error persists, could you send me the raw contents of the localStorage item "image" (as in, the only one that's there)?
...yep, there's the little rascal.
Let me see if I get this right. You create a new node, don't enter anything, and reload the page without saving or cancelling it – is that correct?
Thanks. I'll get to it during the bug-fixing.
That's what it is, just replicated it.
It's a known bug. :(
I'll get to developing mobile workflow after the desktop version is up to the snuff.
Do you think it would be okay to work with a shortened footer on mobile? One that only has symbols or short titles for actions, where you could click on each to invoke it?
Clickable footer buttons is on the short-term list of features, as well.
I had it working in the previous iteration of the engine, as a matter of fact. Guess I got too busy with the rest of the workflow. Just have to copy the idea.
I've spotted a bug, I think: deleting an item which has subitems makes you go into edit mode, and when you exit (either via esc or ctrl-enter), no item has focus and the only way to get something focused again is to click.
Wasn't able to reproduce the "go into edit mode" part, but yes, the focus is lost.
Thanks for the heads-up.
Congrats on shipping your product! I've been following your posts for a bit, and it's so true how constant iterative development is the best way to product something meaningful. We may not be building the same thing with the same goals—you're going open source, I'm planning a SaaS app—but it's very motivating to see complex systems architected from constant, meaningful units of work and perseverance.
Onwards towards beta! Do you have any plans to promote or otherwise monetise Intergrid?
"I used to be a perfectionist like you. Then I got pragmatism to the knee."
I got tired of not seeing the product out there. If the work I do never shows up in the world, whatever is the point of it? So I'm shipping it.
Like I said in the post, I'm keeping the release relatively quiet because Intergrid, while mostly usable, is not yet ready for public release.
Once it's more stable – preferably bugless, but one can dream – I want to start talking about it on platforms like Reddit and ProductHunt. Advertising it right now will only get me the "bad dev" reputation, no matter how many bug warnings I put out, and that stain comes off painfully slowly. Once the app is more spry and lively, it may be worth showing.
As for monetization, I want to keep the primary functionality of Intergrid – the local note-taking that no one else can access – free. Indigrid does the same, and I respect that on many levels.
The long-term available-from-anywhere goal requires far more infrastructure: the servers with the databases and the security measures, plus the orders-of-magnitude-higher server bandwidth for the stable exchange of data. Unless the users are incredibly-charitable all the way through the development, I might end up charging a small subscription fee for that side of the app.
The latter is not yet set in stone.
Yeah, I guess I meant down the line—alpha is still alpha after all! But based on your progress so far honestly it doesn't look like a beta is far off. 750words focuses less on tasks and note-taking, and started kind of similarly to what you've got here, and it wasn't long before the owner was paying the bills with it by charging just $5/month.
Pretty cool if you ask me! Something to keep open or consider down the track.