Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Kobble – Notes app that saves directly to GitHub (kobble.io)
179 points by kobble on Apr 26, 2017 | hide | past | web | favorite | 159 comments

I think I'm able to view all other gists.

If I open the Gist on https://gist.github.com/ then go to the original gist at 'kobble-git/channel-groups.json' I can navigate to all the forks and see data for other users.

Oh wow. Look at that.


And each fork is a link to a secret gist.

This isn't directly obvious, so I'll clarify. Anyone who has used this app - all of your notes are publicly available by following the link above.

Everyone - revoke access to the app and manually delete all the gists it created in your account.

To view anyone's notes, all you have to do is visit https://gist.github.com/kobble-git/87ea625d421177f9e9307c6ce..., click anyone's "View fork", then follow the trail of gist links in the JSON.

Please read the comments above about the various uses of Kobble. Gists are for public use and sharing. Private repos are coming very soon for other use cases.

A timely reminder that online services _have_ to prioritise security if they want to be taken seriously. I guess day one is a good day to learn that lesson though...

Aaaaaaaand revoked.

Ouch. It does seem as if anyone can view any users' content this way.

I'm one of the Kobble devs. This is intentional. Please read the comments above about public and private use of Kobble. The intros on the web have been clarified also.

I'd just like to announce public and private repo support in Kobble. All data is now stored in a public or private repo, depending on how you log in.

I'm one of the devs on Kobble. Kobble is a versatile tool that can be used in a variety of ways.

One way is as a content sharing platform. Gists are great for this purpose, because as you have noted, the discovery mechanisms are largely built into GitHub. Our use of gists for this purpose was entirely intentional. On top of that, we have built a flexible data model (similar to YouTube) for organizing and sharing the content. We are attempting to build an open content sharing platform where users have control over the data.

For note taking, obviously you want private access. We will have support for private repos very shortly. This was stated in the intros, and we have improved the wording to make it clearer.

Hope this helps.

Not sure why this isn't at the top. This is crazy.

I think we assumed that GitHub users would know that gists are not private. We added a clarification to the onboard slideshow. Support for public and private repos is coming, via GitHub Integrations.

I quote from your website: "Don't worry if you don't know what GitHub is, you only need to create an account." You don't appear to make any assumptions that your users understand that their notes will be published and readable by anyone on the internet.

Furthermore, your clarification: "Currently, Kobble stores all user data in secret GitHub Gists, under your account. Secret gists are not private." does not help because it does not explicitly state the fact that notes will be readable by anyone on the internet.

It really sounds like the creators of the app didn't know that anyone could read the Gists...

Please read the comments above about the multiple ways that Kobble can be used. Our use of gists for openly sharing content was entirely intentional.

Having read through the information on your site now it's been updated, it's much clearer than it was before. I feel like it should have been closer to this before submitting to HN, but the changes ("Gists are not private, and are suitable for content that you want to share", "control" rather than "own") are definitely a step in the right direction.

Cheers! We're grateful for all the comments.

People probably would expect private gists to be reasonably private. They normally are, if you don't publish a global index of them...

This is not users misunderstanding how gists work.

We are trying to clarify the multiple ways Kobble can be used. Gists are for public data that you want to share. Private repos (coming soon) are for private data. I think the intros on the web make this clearer now.

> Kobble is the only app available where you own all of your data.

What? I find that highly unlikely. In what way do I not "own" the texts I write in–for example–Apple's Notes.app?

And what is even meant by "own"? Even for something like Facebook, I'm pretty sure that I still own the copyright for texts I write in their app.

Also, there are plenty of other tools that store data locally and sync to GitHub. This isn't a new idea. Perhaps it's the best implementation of this idea so far (I haven't tried it), but the novelty doesn't seem to be there.

Normally I'd expect something like "it is stored under your control" for the slogan "own your data", but that doesn't square with "saves directly to GitHub"

Exactly. I see very little difference whether my notes are stored in a github repo or a google drive folder. In either case they are under "my" account but I don't think I would say that I really "own" the data because either service could hypothetically be gone tomorrow.

That's precisely why we use GitHub. It's unlikely to be gone tomorrow. No data is stored on our servers. In fact, we don't even see it. The data is transferred directly from your browser to GitHub.

I'm one of the Kobble devs. Please read the comments above about sharing the various ways Kobble can be used. Gists are for the case where you want to share data openly. We will have support for private repos shortly for other use cases.

That being the case, its not made clear that everyone who uses that feature will be identified in a very public manner...

Is there any plan for a general git integration where I could point this at my own, hosted git solution? Then it could truly be owning my own data on my own hardware.

Weird that everything is saved as a gist. I feel like it would make more sense to store them in one repo. I went looking for the notes I created in github, and found a bunch of flat gists. ??

Public and private repos are now available in Kobble!

Public and private repos are coming soon, via GitHub Integrations.

Yeah, that's not correct, with my application Noterium you also "own" your notes, that is they are stored on your computer.

Especially when you can access notes on your own IMAP server with Apple Notes.

owning it by being in another web app? I feel this is solving a problem I don't really have

reality is, github is a website, kobble is a website, there's no real difference in "owning" other than what those websites grant us in their Terms and Conditions.


We have improved the wording, and changed 'own' to 'control'. As was stated elsewhere in these comments, we are building an open content sharing platform where users 'control' the data, not us. Since it's in your GitHub account and not on our servers, you can do whatever you want with it.

Perhaps the word 'control' would be a better choice.

I use Apple Notes and store all my notes on my own server

By 'own', we mean that no data is stored on our servers. The goal is privacy and to protect your data.

We don't own Githubs servers any more than we own Apples. This statement is a falsehood.

> You own all of your data. Kobble stores all data on Github

You really don't see that the above is an oxymoron?

So what you meant to say was "Kobble is the only app available where we don't own any of your data."

Interesting tool, I like that it works with GitHub and the repo support will be cool to see.

The design is neat (I generally like dark themes) although the fading animations got a bit annoying after a few minutes using it. Some of the dialogs could do with supporting common shortcuts (e.g. enter to create a new track, escape to close the dialogs). Sometimes I managed to click outside of the presentation view without realising, and then left/right arrow keys stopped working. Sometimes I wasn't sure where to find certain functions (e.g. I looked for "Edit" on a presentation item on the context menu, but then realised I had to click it and then click the pencil icon). I couldn't get the Share functionality to work, and wasn't sure why it was in its own context menu with no other items.

I'm not sure I understand the purpose of the tracks/channels distinction. I can understand creating a project to store presentations (items) in, but why is there another level in Kobble?

Public and private repos are available now.

As you mention, a track is like a project. It's a tree of items, and the items can be markdown, presentations, links, etc.

Channels are for organizing tracks. Everything in Kobble can be shared. So say you make a track for some project and want to share it. Another user can add your track to a channel to follow it.

It's similar to sharing in YouTube or Spotify, except that instead of grouping videos or songs in channels, you're grouping tracks.

What does this have over Standard Notes?


Oh my god, thank you. This is something I've been looking for as a replacement to Quiver.

I love Quiver, but it no longer cuts it since I've migrated to Linux.

I've using Standard Notes for almost three months already. It's neat, but "standard editor" is kind of weak (like not supporting tab to indent), I have to try using the extended editor. Everything syncs nicely BUT on two occassions a tag got duplicated with some of the notes. I have no idea how - but at that time I had it open on two desktops. Not sure how nicely the encryption is done. You can create your own server for notes too!

thanks for sharing this, I've been looking for something like this for awhile. I've just been using wrangler and having a bunch of docs open in the side window. I also tried using scribbleton, but hate how big everything is. This is great.

I commented a while ago with the list of note apps I was considering to replace Evernote. Might save you some time:


which one are you using now ?

Strangely enough I switched mainly to google keep for stuff I need to pin and set a reminder for a time/gps location, and a standard text editor + dropbox for the rest.

May I recommend https://meemo.minimal-space.de instead. Much better understand, imo

Github integration?

Kobble can be used for much more than just note taking. It's more of a general purpose content creation and sharing app.

30 second impression:

The landing page has side arrows? Is this meant to be a Powerpoint slides deck type app?

Why isn't it just a 1 page vertical scroll to showcase the 'notes app'? Or do all the pages in notes have to be a click page arrow?

edit: I looked around a little more (never logged in) but all I ever saw was the slides. I am still not sure if that's the only mode, or is there another preview showing other modes/styles of notes? As boring as it may be, I'd love to see some generic notes examples: grocery list, todo, programmer's notes, school notes, lorem ipsums, or anything more representative of a real world notes and less of just listed features.

You create content using Markdown with Kobble. The content can be rendered as simple markdown or as slide decks. Our landing page was created with Kobble as a markdown slide deck.

If you log in (with GitHub), you'll see the rest of the UI.

It does look neat and definitely beautiful. Thanks I'll login and check it out some more.

Devs, pro tip: if you call a file "minified", please minify it. Your main.min.js is a whopping 4.7mb of un-minified JS.

True, but it's less 1M compressed. Including the other static files, it's still less than 1M for the entire app.

Compression isn't minification.

Curious as to what makes this "beautiful".

same. they also forgot to add "made with <3 in san francisco" at the bottom

Made in New Zealand!

Still no ascii heart or emoji. This will never succeed :P

CSS and animations

> Kobble is the only app available where you own all of your data.

If it's hosted on Github's servers, you don't really "own" it. Or at least you don't have sole proprietorship of your data.

Shameless plug time again...

* My summer project (2016):


* The pitch goes something like this:

<xstatic>| Docs is a simple, fast and easy to use, web based document editor.

It generates static (but editable) HTML files that can than be easily shared and printed. Like Google Docs inside an AWS S3 bucket.

* More info in this document:


I think a Show HN is the one time it's bad form to shamelessly plug your own product.

But your username says otherwise ;)

More seriously - Why so?

I think that:

1. It's on topic.

2. It's a project not a product. I ain't sellin anything.

3. There is no thunder to steal. Usually, more comments, more votes, more rain for the show.

4. Shameless has to be shameless.

5. It adds to the discussion. See, it just did...

It's like going to the inauguration of some new shop giving out flyers for your own competing shop. It's just bad taste.

I think it is like coming to a jam session and blowing your trumpet with a whimsical tune.

There is no competition.

P.S - I've reread this: https://news.ycombinator.com/showhn.html just to make sure I wasn't in the wrong.

I like this quite a bit. Thanks for sharing!

Having read your explanation of channels/tracks - I get it, you have to serialize your storage into something and it's neat that it's representable through url. I was a little confused at first. I agree with others that the organization seems a little bit too forceful or opinionated for the primary use case of a "notes app" which is jotting down a quick note.

Maybe you could have an "unsorted" channel by default, and then split out the context dropdown into little icons? Simplify the work flow to be: 1. Click "new markdown" button, 2. Write some markdown. 3. Save.

If you defer asking the user to name a file up front, you can auto generate a filename based on the contents of the document (like parse 1st line for # My Title -> my-title.md). The only sacrifice you pay is making them click "save" the first time; but IMO that is a lot less friction than having to name documents before I even start writing. Plus even if your parsing fails - you're no worse off than where you started by asking the user for a filename.

These are all great suggestions. You'll see shortcuts drop next week. Maybe even better than you expect :).

This feels excessively complicated to me. what's a track? what's a channel? why do I need filenames for everything? why does it take 3 minutes for a new user to write a single line of 'note' ?

a beautiful notes app (to me) would be one where you start with writing a note

The idea is great, the implementation not so much. Add a simple code block in markdown and the engine gets crazy with quotes getting converted to HTML entities, etc.

Interesting - I can't recreate this. I have a lot of users who use Blank Slate for code blocks so I'd love to fix this, any chance you can send a screenshot? I know I probably got here late but tomasienrbc at gmail if you can spare the time to help me debug.

Just FYI, the site doesn't have a valid HTTPS certificate.

I use Firefox 53 and this certificate appears to be valid in my Browser (green lock), I wonder why...

Mozilla only distrusted the certificates issued after October 2016; theirs is from September.

(Creator here) ugh that's such a bummer. I didn't know that I don't see that in my browsers.

Anyone have a suggestion for a better cert I could get? Starcom was so nice and simple but seems like it's causing issues for users now that Mozilla and Google are going to distrust the cert.

https://letsencrypt.org/ - it works, and it's free!

Quick suggestion - the toggle in the bottom left screen switches between 'off' and 'on' but gives no visual indication about which one is currently selected (by clicking am I going to or from 'off')?

Yeah it should just be a switch or something. I agree.


Please note that the invalid cert is for blankslate.io, not kobble.io.

Kobble is hosted on Firebase.

Yes, why the obscure abstraction that isnt analogous to anything?

Tracks are associated with audio and channels with video. This isn't something that should be unique or creative. The notebook/note paradigm works exceedingly well becayse everyone intuitively understands it. I spent two minutes before I just quit. its too bad, the apo seemed nice

Many shortcuts will appear next week, making it easier to get started, so please check back.

Everything in Kobble can be shared. Channels are there to organize tracks - your tracks and tracks from other users.

Kobble can be used for much more than just note taking. It's meant to share meaningful content with other users. A track is like a project, and channels make it easy to share them.

Why did you choose obscure names instead of something everyone could understand right away? To me, it seems "channels" are just "groups"/"categories"/"folders" and "tracks" are just "notes"?

The fact that you need to explain it is a good indicator that it's unnecessarily complex.

The model is very similar to other popular apps, like YouTube or Spotify. Instead of organizing songs or videos into channels, you organize tracks.

>The model is very similar to other popular apps, like YouTube or Spotify. Instead of organizing songs or videos into channels, you organize tracks.

Spotify has Playlists and Songs. Both are domain-related concepts (the domain being music).

YouTube has Videos, Playlists, and Channels, again all domain-related concepts, referring to historical domain terminology (Channel as in "your private TV channel", where you create content for others to view).

So both services use terms apt to their use.

Channels and Tracks are not concepts/terms related to note taking. Thus, the analogy to YouTube's and Spotify's use of their own terms is broken.

People don't seem to like your names, and perhaps the names do need more work, but I wanted to commend you for trying. Whenever I see something named "Group" I cringe a little, because it is so abstract and meaning-free. It is barely better than names like "Thing" and "Entity". So I appreciate your attempt to be more concrete and creative!

This is such an important point. I'm living with a generic "group" feature in a SaaS app and it's a nightmare. It's been used by numerous clients for totally different things. These are the weeds that will choke your garden.

...or they will be the very thing that frees up your users to use them in creative ways without feeling hemmed in to a particular mindset.

We have the concept of 'tags' in our app, which are used by our users to delineate anything from company departments, social groups, locations, age bands etc. - basically anything they see fit. It saves us creating a mess of drop downs to try and cater for all edge cases, and they feel the freedom to think of them however they like.

I'm one of the devs on Kobble. There was debate about the names - it's not easy. 'channel' seems good, it's used by Slack also, and one of our channels is similar. 'track' however, is another story. It's really a tree or folder structure.

But these terms make some amount of intuitive sense on YouTube or Spotify. I don't have to know anything about YouTube or Spotify other than they deal with video clips and music to have a decent idea what a 'track', 'video', 'channel', 'playlist' might mean. These terms don't translate that well to 'notes', though.

Kobble can be used for much more than just notes. You organize 'tracks', which are more like projects. Tracks can contain notes, but also more meaningful content. Anything you can create with markdown (plus links, etc.)

If they are just like projects, then call them projects. You're using music and video names for paper analog components. You're spending a lot of time defending the naming here. I'd recommend taking notes, and changing the naming. Also, add some mechanism where I can just hit a + button or something, and can start adding a note right away. I don't want to have to immediately organize all notes into a draconian structure. I just need to quickly record something for later use. I feel that should be a primary function of a notes app. Pretty is secondary to function, and the functionality of this is complex and obscure.

In the (desktop) editor [quiver] that I use, all new note go into a notebook called "Inbox". I can start writing immediately and later move it a more appropriate notebook.

[quiver]: http://happenapps.com/#quiver

Also, check out http://standardnotes.org/

So, uh, why are you introducing it as a notes app?

You've got a good start to something; take two steps back, consume and digest the feedback you're getting, then use it to better your approach.

Good point. There is only so much you can say in one line on HN. Marketing is tough. Any suggestions would be welcome.

Trying to do many things is a classic early mistake. Instead of being a great app for one thing you become a mediocre app for lots of things.

First make a notes app that people love. This will be harder than you think. Once you've done that and have enthusiastic users it will be much easier to move into other areas.

>First make a notes app that people love. This will be harder than you think. Once you've done that and have enthusiastic users it will be much easier to move into other areas.

Hasn't this been the Evernote Recipe For Disaster?

I like the app, but the terminology is confusing. For me and a lot of other people, a track is the lowest level of a music app. People think of it as an atomic unit. Making it a project will confuse most people as no one thinks of it as a project or folder. I assumed a track was a note. If it is a project, a. more appropriate name would be album or collection.

Also, it's inconsistent. Youtube organizes channels because it is a video app and people coming from tv immediately understand. Spotify uses tracks because it is a music app and the term track has been synonomous with song since probably the first record player.

Its a good try, but just mashing up two concepts into one causes confusion

When your users tell you otherwise, maybe it's not prudent to insist on terminology choice?

Fair enough. Didn't mean to come across as insisting. There was much debate about the term track. Project is closer, but has problems also. Cheers.

Yeah, don't want to come of as bullish. Just that I agree with the general sentiment on this comments, that this terminology probably overcomplicates things for no reason.

Better to slightly misuse/expand an existing know term like projects or notebooks to cover more than it does now, than to invent a new term that covers all the meanings that apply, but whose meaning is initially unfamiliar to people.

We appreciate all the comments. We'll think about this.


bullish adjective 1. aggressively confident and self-assertive.

E.g. "my way is da best, you should do WHAT I SAY"

Not... really.

That's one of the definitions for the bullish lemma from the Oxford Dictionary.

Along with "Of or pertaining to papal bulls".

Which is also a valid use case.

Though the one I listed is the first lemma.

Fair enough. Naming is hard. Even 'project' has connotations.

YouTube users do not organize videos into channels. Channels are delivery mechanisms. Users organize them with Playlists, which is intuitive for the content.

Fair enough. We merged the channel/playlist concept.

..but, but, it doesn't really apply to the expectations of a note app. You're a light text editor that cloud saves to Github; why are you trying to push a new vernacular that doesn't logically apply here?

I don't manage projects with a notes app. I don't create tracks with a notes app. I don't create channels with a notes app. I don't create playlists with a notes app.

It's pretty and functional; play to your strengths instead of trying to create new brand vernacular.

We are honing our marketing message. Kobble is much more than just a notes app. It's also a content sharing platform. That's why some of the names were chosen. I think 'track' is causing the most confusion. It's basically a tree or folder structure.

folders and pages would have been better.

model it after something in the real world before you appropriate words from another paradigm

how about "notebook"?

>Everything in Kobble can be shared. Channels are there to organize tracks - your tracks and tracks from other users.

I first want to write -- directly, as a thought/task/etc comes to me, and only later to organize. And much later I'd care to share my note (if at all).

> It's meant to share meaningful content with other users. A track is like a project, and channels make it easy to share them.

I'm sorry. I just don't know what this means. Can you show some examples?

EDIT: I tried it. Tried adding a URL, but just got errors. Filenames worked though. Now how do I share it with my mom? Does she need a github account to look at it? I don't immediately see the use of this. You may need to explain it better.

Yes, you do need a GitHhub account.

>Kobble can be used for much more than just note taking.

You can see the confusion, given that you described it as a "notes app" in your submission title.

In playing around with your app, I intuitively kept clicking the right arrow on the slides and completely missed the additional info on the ORGANIZING YOUR DATA slide on the first go around. Sometimes that the only shot you have to convey a message and explain your Item/Track/Channel system in further detail. I feel like that could use a "(Learn more below.)" or something like what's found on the first slide.

All this is is a presentation with a boatload of text and absolutely NO indication of what the app looks like or how you go about using it.

Even before i saw the note about the security issues i wouldn't click on try because why should i invest my time in trying it. I have no clue what it does beyond saving markdown files to github. I've got plenty of markdown apps that I like quite a bit, and uploading my notes to github is not something i've been going "damn i wish i had an app that would do that" because anyone who knows about github already knows how to commit their files and push them up...

doing it in gists is even worse (ignoring security aspects) because at least with my manually managed notes their organized in folders, browsable, greppable, etc.

I'm one of the devs for Kobble. Since Kobble is such a versatile tool, it can be quite difficult to tune a marketing message clearly. We are working on it!

One of Kobble's primary uses is as an open content sharing platform. GitHub gists were chosen for this purpose intentionally, because the discovery mechanisms are built into GitHub. On top of that, we have built a flexible data model (similar to YouTube) for organizing and sharing the content.

Private repos (which are coming shortly) address the other use case where you want to keep data private. We have clarified this in the intros.

I like the idea of saving directly to Github. I'm using Github API for dictionary changes in my Chinese text translator that I'll release soon.

The user interface is, indeed, beautiful. But that's not enough to make me use it.

Notes on my iPhone can't be stored in a hierarchy of subfolders. In order to do that, I made my own notes app in PHP, but it's pretty awful. I plan to port it to JS+Github, but I have other priorities right now.

Is it possible to only commit changes to a file using git, instead of re-uploading the whole file? I wish there was an easy way to append to a file without a download-append-upload process. Please teach me if you know how to do this in git!

Anyone looking for a nice interface to manage your Gists should take a look at http://www.gistboxapp.com

If I'm not much of a coder, is this app okay for regular documentation/notes?

The main use case for Gists and thus Gistbox is storing code snippets. However you can save any kind of text you want. Gistbox lets you organize your Gists under labels so they're easy to find back. Moreover it offers you the option to save private Gists. Using a tool like nativefier you can even turn it into a desktop app.

So I have (and bought!) not one but two plaintext editors for iOS that save directly to Dropbox or iCloud: iWrite Pro and 1Write.

I have both apps because iWrite is my reach-for text box while 1Write opens to a Dropbox folder that has a semi-organized idea box (a "personal wiki" of sorts, but informally so).

Why do I want this instead? Versioning? I've thought of moving my ersatz "personal wiki" to Github for that, but I don't wish to make it visible to the world.

I registered localnotes.io or something a couple of years ago to make a notes app (just a side list of note files and then a markdown editor) that would persist to local storage and could be synced to private gists and images would store as base64 encoded files under that gist.

I got a proof of concept working but was too lazy to integrate with GitHub and canned it.

Working on something more fun now and learning vue.js.

Note that you can store images and other binary files in gists; no need to base64-encode them. Gist are git repos too and can be cloned and commit/pushed to.

Didn't know that. Awesome.

As a side note, Kobble was created with 100% Purescript. Highly recommended.

Unfortunately I cannot access this because it can read my private gist. I understand why it needs the access though :(

GitHub Integrations are coming!

I think adding encryption at the client side would make more practical, like what laverna does. https://github.com/Laverna/laverna

Small, non-technical pet peeve: they repeatedly spell GitHub as Github.

Duly noted and fixed. Most of the data in Kobble is built with Kobble, so changes are trivial.

GitHub is the [canonical spelling](https://github.com/about) though

One problem with using gists is that each modification adds another entry in the response's history array; over time the responses get larger and larger.

I use Zim Wiki. Also, it has version control plugin, so you can store your notes on the GitHub or BitBucket or GitLab if you want. I prefer plain old backups.

I'm into the idea (I currently use Ia writer saving to a folder in Dropbox). Is there a desktop client or only the web version?

i would love something like this for free bitbucket private repos, is there any planned support? realtime updates would also be great

Why do you need access to my email address?

Can I use Kobble offline?

Not the web version. Other versions are in the works. Stay tuned.


What versions are you working on?

What do I generally need to use this?

A web browser? Git? Github? A Markdown Linux editor?

I would love some further explanation!

Would be nice, if there is a mobile friendly version.

Mobile is coming soon.

How do I use this? Is there a bookmarklet?


Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact