7 ms·
Show HN: Graphite Publishing – A decentralized, user owned blogging platform
- jhunter1016 8y agoHey HN! I'm Justin Hunter, the founder of Graphite. Graphite is a decentralized and encrypted productivity suite, but the original app stemmed from my desire to own my writing. I'm a writer at my core, not a programmer, so anything tied to writing is always important to me, including blogging. As a fun side project/experiment as an extension of the core Graphite product, I built Graphite Publishing. It uses Blockstack's authentication system for decentralized usernames, and it uses Blockstack's Gaia storage for decentralized storage. What this means is that Graphite Publishing never has access to any of your blog posts. Everything is encrypted until the moment you choose to publish it publicly. The cool thing, in my opinion, is that you can design your entire site. Graphite Publishing has a built-in HTML editor for your main page and your individual posts page. Much like the old days of Blogger, where you could tinker with the underlying code, Graphite Publishing lets you customize your blog as much as you want...but it's much simpler than Blogger ever was ;) It's still very much a beta product and will surely have bugs, but I'm excited to get some feedback and see what the community thinks. Thanks!
- shopkins 8y agoJust a little feedback: as someone not deep in the blockchain world, I have no idea what Blockstack is, or why nothing happens when I click "sign in" or "start writing now". The page does a good job of describing the product benefits, but it doesn't cover square 1 and describe what I need in order to actually start using the product. Otherwise I know this was a fun project, but it always helps to hone in on your audience on the landing page. Answer, Who's going to appreciate this the most?
- jhunter1016 8y agoThanks! This is really helpful. I'll make sure to get the landing page updated. Just so it's covered here, Blockstack is a decentralized application platform. It provides an authentication strategy that anchors your username/ID to the bitcoin blockchain. The benefit of this is not having to rely on a central authority for your username. Example: Google could terminate your access to your gmail account anytime they want. Graphite/Graphite Publishing can't do that with your Blockstack username. As for your question about who would appreciate this most, I think Graphite Publishing is probably going to benefit people already interested in decentralization the most initially. However, it really does provide a more secure solution than using something like Squarespace, for example. If we stick with the Squarespace example, your content (design and words) are stored in Squarespace's database. The content can be accessed and changed (or deleted) by Squarespace at any time. With Graphite Publishing, your content is stored either in the default storage hub provided by Blockstack and encrypted, or it's stored in your own custom storage hub if you so choose. In either case, the content can't be accessed by anyone other than the user creating that content. Again, thanks so much for the feedback! I really appreciate it.
- qroshan 8y agoTL;DR Block-chain: Solving imaginary problems that nobody has -- and doing a terrible job at it
- jhunter1016 8y agoThe only use of blockchain in this app is the username creation. And that is pretty much hidden from the user experience.
- harlanji 8y agoIs the system able to be used privately on networks without Internet access? I think offline use is mandatory (think: RasPi LAN party in Kenya). I’m approaching this space in another way (search: “iSpooge Live”). I have an RSS/ActivityPub-like feed and reader pair, with network address as identity, generated statically and exposed via CDN w/ long cache TTLs. Sovereignty is the m.o. of the stack.
- jhunter1016 8y agoGraphite Publishing supports offline storage (not yet implemented but will be soon). But some level of network connectivity is required to at least create your username and sign in for the first time. After that, network connectivity is not necessary (after the offline storage feature is released. Great question!
- burgerboy 8y agoYou commented this on both of the top comments. Bias is showing.
- adamredwoods 8y agoThat clarifies some questions for me: I didn't know that Blockstack stores the content. The Graphite site looks like it's a hosting platform. The marketing angle might rely on getting the platform to look like something different or new, that seems less centralized. I don't know what that is.
- jhunter1016 8y agoOh! And as for the sign in issue, my guess is you're using Firefox or Safari on the desktop, is that right? Unfortunately, the Blockstack Browser (which is necessary for authentication) only works on those browsers if you download the local version here: https://blockstack.org/install https://blockstack.org/install That should be resolved very soon. All other browsers should not require that extra step.
- chrome_new_ie 8y agoSeems to work on Chrome. I've grown quite accustomed to having to rely on Chrome quite a lot because a lot of websites nowadays are not optimized for any other browser.
- jhunter1016 8y agoI know Blockstack is working hard on a solution to make sure all browsers support authentication without having to download a local instance of the Blockstack Browser. But Chrome and any other browser based on Chrome's underlying technology (chromium) should work great!
- 52-6F-62 8y agoI have a question common to ventures like this, but I'll start with something objectively positive. It works well in Chrome, and it seems quite user-friendly. It looks like the posts/actual site won't really load—or they partially load. But the story editing, etc works well— just maybe focus on the UX a touch—make publishing the post easier to find. Now for the stuff that always bothers me about decentralized publishing platforms like this— if nobody can remove or alter your content, what is preventing people from posting harmful content (need I explain)? It also doesn't sound like there's any recourse for removal. It also sounds like you intend to monetize the platform, or at least parts of it. This could render you a provider of paid services to people who wish to find a space for permanently publishing those kinds of materials. As a comparison, a publishing house would not print child pornography in the name of free speech. They're operating a business— it would be suicide. I've just never heard a good answer to that one, so I'm curious about your take.
- jhunter1016 8y agoThanks so much for the feedback and the question! I actually get asked this a lot with the core Graphite product, so I (hopefully) have a sufficient answer. Graphite cannot remove content. However, users are either choosing the storage provider supplied for free by Blockstack, or they are providing their own storage provider. Those storage providers can absolutely still shut down an account if there is illegal activity. So, unlike a p2p decentralized system like IPFS, addressing illegal content is pretty straight forward. If it comes to Graphite's attention, we can notify the user's storage provider and they can take appropriate action. Additionally, another important point to make here is this is not the dark web. Users are more or less known. So law enforcement can take action as well. Does that make sense? It's a really important question so I want to make sure it's addressed fully. Thanks!
- 52-6F-62 8y agoNo problem. I know that a large number of major publishers use WordPress as their primary web publishing platform, so I recommend studying some of their UX to meet some general industry standards, but also recommend learning from their mistakes. The other commenter (jude-) explained more about the stack, which helped to make more sense of it. I had in mind a system more like IPFS.
- jonathanstrange 8y agoVery cool. Two questions: 1. How do you plan to make money with this? 2. If the data is owned by me, is there also an easy way to get all my blog posts out of the system in a usable format (e.g. so I could put it on my own server later)?
- jhunter1016 8y agoThanks for the questions! Quite honestly, we may not ever charge for this product. But some ideas are: -Provide a custom Gaia Hub with encrypted storage that has higher limits than the default Blockstack hub. -Charge for additional features (integrations, team publications, etc) -Just charge a small amount for access and allow those who don't want to pay that the option to clone the open source repo and deploy it themselves An export feature will be built into Graphite Publishing (much like the one that already exists in Graphite). But one of the core tenets of data ownership is you should not need to rely on the app to access your data. In that vein, there is still work to be done. But it is already possible to use the command line to export all your data without ever touching Graphite Publishing. All content is in HTML format, so it should be usable in many different apps.
- stdcli 8y agoYou own your own data in a "gaia hub" where apps have to have permission to write this data to your hub, permitted you give it to them. This way, if you ever leave graphite, or any other app in the eco system, you still have your data in the gaia hub. You can use the gaia cli to list all the files you have. You can host your own gaia hub, or have a default hosted configuration, but still it is associated with your username/identity. We are working on gaia hub migrations so you can easily migrate data from one place to the other. Soon we will have images to auto launch on most cloud hosting platforms. The docker-compose files should allow for setup on a local server as well. I am prioritizing users hosting gaia hubs on their own servers over any cloud host provider. Let me know if you have any more questions. But yes, the entire idea is centered around #2.
- godelski 8y agoI have a question about the block chain aspect. Does blogging need block chain? Can't you be decentralized and encrypted without BC? From what I'm aware, the benefit of BC is that you get an audit-able history. Do we need that here? Like I get that it can serve as a backup, but does that work in practice? By using BC here can I roll back my blog (like in git)? And do you really need a full history? Couldn't you do just like 10 revisions? I'd even argue that a complete history could be dangerous. This is a fundamental question that I have with block chain. It seems really cool, but from what I understand, there are other tools that solve these problems, don't require as many resources, and work faster. Am I wrong in this? If so can someone explain? If I'm right, can someone expand?
- jhunter1016 8y agoThanks for the question! Graphite Publishing only uses blockchain for user identity. And even then, a user creating an account doesn't really see that in the experience. All data is stored in the storage hub of the user's choosing rather than being stored in a database centralized to Graphite Publishing. In fact, Graphite Publishing doesn't have access to anyone's data. But you're right, a blockchain is not necessary for decentralized blogging and is not used for data storage at all in this app.
- amelius 8y agoCan't it use standardized technology for auth / user identity? I suspect most users don't like dealing with multiple services for the same thing.
- jhunter1016 8y agoIt absolutely could, but then you're giving ownership to whoever manages that authentication service. Since the creation of your username is what creates your key pair, you own your encryption keys. And since your username is anchored to the bitcoin blockchain, there is no central authority that can say "you no longer have access to this account." Logging in with Google or Facebook or any other third party service is probably the biggest problem with traditional apps. Perhaps more so than them storing your data. Sure, they can (and have sold user data), but if these providers are the owners of your digital identity, they also control whether or not you have access. Slack, Twitter, Google, et al have been known to lock people out of their accounts without warning.
- indigodaddy 8y agoDoes Graphite Publishing/Gaia/Blockchain/Blockstack work with traditional domains? Eg, how/could I hook my custom domain into all this?
- jude- 8y agoBlockstack engineer here. AFAIK Graphite Publishing will make your files accessible as URLs under graphitedocs.com, but since the code is open [1], you could run an instance on your own domain. [1] https://github.com/graphite-docs/graphite-publishing https://github.com/graphite-docs/graphite-publishing
- jhunter1016 8y agoYep this is spot-on. You can clone the repository today and run it on your own custom domain. Now, doing so will result in kind of a wonky URL structure unless you customize the code. Your site would live on something like: https://yourname.com/sites/[yourblockstackid] https://yourname.com/sites/[yourblockstackid] But it's definitely an option! In fact, we deployed an example of this to another Blockstack app (Xor) that hosts static content and it worked like a charm.