8 ms·
Utterances: Lightweight comments widget built on GitHub issues
- sergiomattei 7y agoThis is awesome! Great work. Any support for nested replies coming?
- pknopf 7y agoNot likely, since it sits on top of GitHub issues.
- vageli 7y agoMight be possible to leverage comments on issues for that use case.
- majewsky 7y agoThat doesn't preclude them from building nested replies. For example, they could add a line like `Reply-To: <comment-url>` to the comment to establish its parent.
- pknopf 7y agoYeah, but that feels like a square peg/round whole. What if someone comments in the issues directly, on GitHub?
- herohamp 7y agoI have been using utterances for a couple months and absolutely love it. It simplified my stack so much as I could finally shutdown my crappy REST comment api
- pknopf 7y agoI looked into using Utterances a while back, but decided against it. From my blog post [0]: This product requires an external server to be up and online at all times. And while they do promise to be always free without ads, they don't promise to be always available. And while they are open-source and I could always decide to host my own Utterances server/bot, I'd prefer to host nothing at all. This isn't a super deal breaker, because in the end, all content is stored in GitHub Issues. [0] https://pknopf.com/post/2018-10-13-comments-for-static-sites-using-github-issues/ https://pknopf.com/post/2018-10-13-comments-for-static-sites...
- machbio 7y agoyou could have pushed solution a bit more to create the github issue when creating blog posts - like use a github token to generate issue when the issue does not exist for blog posts.. utterances feature that I liked is the bot that creates the issue for you automatically and also scans the github repo for comments based on title..
- pknopf 7y ago> you could have pushed solution a bit more to create the github issue when creating blog posts I guess, if my solution were a "product", as opposed to a one-off.
- dominicr 7y agoSo this is a comments app that uses Github's issue tracker service as a data store. Is this a round hole / square peg mismatch of problem and solution? I'm asking honestly what other people's opinions of this are because whilst it looks good it: 1) looks like the kinda of hacky solution I try to avoid building when trying to fit together incompatible data objects and data storage. 2) uses Github's systems for purposes other than they were intended, which seems slightly unethical or at least impolite to me.
- plibither8 7y ago> uses Github's systems for purposes other than they were intended, which seems slightly unethical or at least impolite to me. I wonder where the line is drawn here, and whether it really is unethical to use GitHub to store comments. Is something of this sorts explicitly or implicitly mentioned in their ToS? Along the same lines, will hosting files on directly on Github and using that as our primary resource (raw.githubusercontent.com...) be considered unethical or impolite?
- dominicr 7y agoI hadn't thought to look at GitHub's ToS as that would have been too obvious! I did just have a quick look now. Nothing too specific in there, but then these things often are general so that discretion can be used later. A couple of things that might catch this out: - "Abuse or excessively frequent requests to GitHub via the API may result in the temporary or permanent suspension of your Account's access to the API. GitHub, in our sole discretion, will determine abuse or excessive usage of the API." Utterances uses the GitHub API and its demo page makes 4 requests to api.github.com. The API docs state a limit of 5000 requests per hour. That's quite a lot and within what a low volume blog would get, which I think is the main use case for this app. But if your blog gets really popular then you might ring alarm bells at Github. - "Responsibility for User-Generated Content" As this is all user generated content you, as GitHub account owner, are responsible for it not breaking GitHub's content guidelines and you had GitHub permission to do with it as they see fit. GitHub are the ultimate decision makers about your user's content, not you or Utterances. https://help.github.com/en/articles/github-terms-of-service https://help.github.com/en/articles/github-terms-of-service
- remus 7y agoI can't imagine GitHub are going to be very thrilled with this. Maybe as a one off you'd fly under the radar but making it more widely available seems kinda silly. I like how it's marketed as 'no ads, always free'! Not so difficult to do when you're (ab)using someone else's service to handle all your data.
- icebraining 7y agoI think GitHub is okay with "creative" uses of their system, as long as one doesn't push the limits and doesn't make a business from it. Infamously, CocoaPods was serving directly from GH, maxing out out five server CPUs and using terabytes of traffic, and their response was fairly sympathetic: https://news.ycombinator.com/item?id=11245652 https://news.ycombinator.com/item?id=11245652
- remus 7y ago> I think GitHub is okay with "creative" uses of their system, as long as one doesn't push the limits and doesn't make a business from it. Being on the front page of hacker news feels a lot like "pushing the limits".
- phoe-krk 7y ago> No lock-in. All data stored in GitHub issues. How is that not a proprietary lock-in if all your data is stored on a single company's servers? People keep on treating GitHub and other corporations as public services. They're not.
- misnome 7y ago> How is that not a proprietary lock-in if all your data is stored on a single company's servers? Even more than this, I'm a big fan but IIRC GitHub is pretty infamous for making it excessively hard to extract issue data/move to other platforms? (I think the wiki pages are available as a repo, so at least that's easy to get).
- ishitatsuyuki 7y agoCitation needed. Almost all issue data should be available from the API, and I have seen cases where issue contents are copied over with a bot from an obsolete repo to a new repo.
- cyphar 7y agoNo, wiki pages are not available through git on GitHub. You're thinking of GitLab which does have this feature. EDIT: TIL, turns out they are. And the syntax (add .wiki to the repo name) is the same as GitLab.
- diggan 7y agoYes, they are. For example, the GitHub repository ethereum/wiki can be cloned by doing git clone https://github.com/ethereum/wiki.wiki.git You basically add `.wiki` after the repository name, and it's exposing a git repository you can clone.
- rsync 7y ago"(I think the wiki pages are available as a repo, so at least that's easy to get)." This is true, but other components of a github project, such as the issues, are not available as a git repo that you can clone, etc.
- umvi 7y agoI've seen a couple apps like this now where the app is basically a parasite on something else. Seems like a an abuse of goodwill. "Check out SnooFS: the free cloud storage solution built on Reddit comments! Basically instead of paying for your own storage, SnooFS generates you a personal subreddit and uploads your data as text, video, and images to be hosted on Reddit's servers! No limit to storage - upload as many TB as you want!"
- brunnogomes 7y agoThis is not a good comparison. While I agree with you that a project like SnooFS is using other people resources in a bad way, projects like this are more of a proof-of-concept than anything else. I don't believe people would actually trust their files in a manner like this. On the other hand, whereas GitHub issues are not intended for external blogs comments, it is already used like this and for blogs hosted on GitHub Pages. This is just an automation tool. If GitHub sees a problem with this in the future they can always change their terms of use (and that's why anyone should only use a system like this for ephemeral stuff).
- phil-opp 7y agoAn interesting fact about this is that the author is on the Microsoft docs team, which uses a similar system for docs.microsoft.com [1]. So I don't think that GitHub has a problem with this approach. For an example of Microsoft's system in use, see the "Feedback" section on [2]. [1]: https://github.com/MicrosoftDocs/feedback/issues/396 https://github.com/MicrosoftDocs/feedback/issues/396 [2]: https://docs.microsoft.com/en-us/azure/azure-functions/functions-dotnet-class-library#feedback https://docs.microsoft.com/en-us/azure/azure-functions/funct...
- pretty_lorelei 7y agoGitHub is owned by Microsoft though, so there's no guarantee they won't have problems with someone else doing this.
- kissgyorgy 7y agoThis is brilliant! If your blog is hosted on GitHub it's even more useful and comments will be closer to the source.
- techntoke 7y agoJust embed a real comments platform for free like Disqus, or Discourse. There are plenty of better options that make this pointless for anything more than a "just because" project.