[HN Gopher] WriteFreely - An open source platform for building a... ___________________________________________________________________ WriteFreely - An open source platform for building a writing space on the web Author : btdmaster Score : 219 points Date : 2021-07-11 12:24 UTC (10 hours ago) (HTM) web link (writefreely.org) (TXT) w3m dump (writefreely.org) | hsn915 wrote: | I think writing on the internet is not a problem. It's easy to | build a blog from a static site generator. There are tons of them | these days. | | IMO the actual problem is you want to interact with the people | reading what you write. | | Without a commenting system, the writing/publishing platform | loses a lot of its potential value. | | The other problem like other people mentioned is discovery. | | Let's take YouTube for an example. | | In theory you can make videos and publish them on your own self- | hosted website. | | But if you post the videos to youtube, you get a bigger chance of | people finding out about you. | | So, if you want to empower a distributed network of personal | websites, you also need a powerful "indexing" engine that | continuously fetches and catalogues all the new content being | published by all these people for easy discovery. | | The other problem is discontinuity between discovery mode and | consumption mode. | | On YouTube, when you find a video you like, you still see related | or recommended videos on the side. | | If you have a video index that tries to work like YouTube but | redirects to different websites where videos are actually hosted, | you get this discontinuity where, once the user visits the actual | website where the content is hosted, they are no longer | discovering new things on the indexing service. | SalimoS wrote: | > So, if you want to empower a distributed network of personal | websites, you also need a powerful "indexing" engine that | continuously fetches and catalogues all the new content being | published by all these people for easy discovery | | Isn't this just rss with extra steps ? | | If I'm interested in content I will most likely subscribe to | his RSS feeds | alexwennerberg wrote: | > IMO the actual problem is you want to interact with the | people reading what you write. | | What about email? I.e. put together a mailing list for your | blog and host the archives online? | x4e wrote: | I self-hosted a writefreely instance for a while but I found many | features were proprietary and only available in the paid managed | hosting (write.as). All features that I didn't need that much and | could workaround however it just made me feel quite dissatisfied | with the project. | | People self hosting are not likely to be the same people who | would pay for managed hosting so it makes no sense to lock | features off for them. | | I forked the codebase and added stuff myself for a while because | even after funnelling users to their commercial option they still | do hardly any development, see how long this one line PR I made | took to be merged: | https://github.com/writefreely/writefreely/pull/429. | | Now I just have a simple python script that makes everything I | need in a blog [0] (markdown, resources, mathjax, atom feed and | all completely static with no JS). There is no need to have | complicated blog services, just compile static html. | | [0]: https://github.com/x4e/Blog/blob/master/make.py | donmcronald wrote: | I really dislike how open source has evolved over the last | decade. A lot of open source isn't much more than a feature | anemic demo and IMO is only there so companies can generate | sales leads. Getting good quality bug reports or contributions | from the "community" members (aka suckers) are a bonus. | | I don't contribute to projects that have stripped down, almost | unusable versions for their open source variant and that's most | of them. Years ago I saw someone on HN say something like | "charge for features or scale, not both." Personally I think | that should be "charge for scale, not features." | | I like the way Drone.io has done their licensing so far, even | after being bought by Harness. Before, it was something like | "do what you want if you have less than $1 million in revenue." | Now, with Harness.io it appears they've settled on charging for | scale. When I looked at their pricing a couple days ago it says | the "free" (open source) version is limited to 1 server. I'm | not sure how that works (or how they enforce it), but the main | thing IMO is they don't appear to limit features. I can | actually use it without reading their feature tiers like it's | an API that changes every time the marketing department waffles | on the pricing. | | I think the current models for pricing SaaS suck and Harness is | closer to a model that makes sense. For me, the reality is that | I only want 2 tiers; free where I self host and SaaS where I | pay someone to do it. The problem is they always want to charge | enterprises more per user which makes sense since it's harder | to scale and support to the level needed. | | IMO, just have 2 tiers; free, self-hosted with full features | and community support and paid, but with a different pricing | model that's based on user count and support. For example, give | the first user for free with community support. You always keep | the price for lower tier users. Give the next 4 users for a low | cost with email support. Give the next 20 ish users for a mid- | tier cost with phone support. Make the remaining users the | price you actually want with priority support. | | That brings the cost average down for small users and makes it | much more attractive to adopt a product. The pricing curve | looks more like a camels hump (assuming you negotiate if you're | huge) instead of a staircase (like GitLab) where you hit | pricing cliffs that are tough to swallow. | thebaer wrote: | Just curious, which features did you want that were proprietary | at the time? | | The primary reasons for including certain features in Write.as | but not in WriteFreely are when they're very early (it's easier | to deploy and fix on a single hosted service), or when they | involve a ton of external dependencies. My thinking on the | latter is that I'd rather leave a feature out than leave admins | with a poor experience, vendor lock-in, lacking documentation, | etc. But maybe that's the wrong way to think about it. | | Either way, "locking features off" isn't a business strategy | here, but just a matter of practicality as a very small open | source project. As I mentioned elsewhere, we plan to bring | things into parity for v1.0. And we very much welcome | contributors -- even if it's just reviewing pull requests! | x4e wrote: | It was a while ago but the ones I remember were email | subscriptions, custom javascript, and custom instance support | in the iOS app. | | Thank You for clarifying the reasoning. That does make more | sense and makes it more justified. I still think it would be | better to at least have the write.as fork be open source even | if you can't ensure stability/any sort of support. | eitland wrote: | As you see below somewhere I say nice about you but I must | also say there are some things I'd really want to see fixed | soon: | | - make inclusion of photos, including from snap.as kind of | usable (yes, I'm a paying customer) | | - fix statistics | | On the bright side I can now see who follows me, instead of | just a number like it was for a long time. | [deleted] | worldmerge wrote: | This seems pretty cool. I've been interested in getting into | blogging and moving away from WordPress. I checked out Jekyll and | it's a pain to add media to a post so this looks like a great | alternative. It would be nice if there was an online demo you | could try out before setting it up. | BossingAround wrote: | Hugo offers pretty much every static site feature that | writefreely does for free. Media on a page isn't an issue with | Hugo websites. | yoz-y wrote: | One thing a bit annoying with Hugo is that somewhere down the | line of updates they made breaking changes to templates. | | Now, since it's written in go and all statically linked, I've | just put the Linux and macOS binaries of the version that | worked for me in my repo and never update. | | Good thing about a stagnant platform is that one can spend | less time tinkering with it. | btdmaster wrote: | Check out one of the public instances: | https://writefreely.org/instances. | mercacona wrote: | It's the engine backing https://write.as if you wanna try. | thebaer wrote: | Besides everything else mentioned, you can create an account on | our official demo instance here: | https://pencil.writefree.ly/invite/NB8Ycb | digitalsushi wrote: | Naive question, not trying to lead somewhere. | | Back in the day we'd do a ./configure && make install on some | server and we'd be up and running to kick the tires. | | It's been a long time since I have done this - my career went off | in other directions - and so I am curious if web app authors are | providing automatic serverless deploy plans that are just as easy | to run as that ./configure experience from much earlier. | | (I know configure scripts still exist, but they are largely | satisfied by OS providers for users like me) | eitland wrote: | Been using it for a while. | | Refreshingly simple business model. They don't even hound you for | an email address. | potamic wrote: | It's a really clean design, exactly how I would like to read | content! | | I'm new to this federation idea, curious how blog pages work in | this world. Is there something of an open protocol for | publishing/consuming content so that I can use any provider or | client I like, or how does it work? | riffic wrote: | People with Mastodon accounts for instance can follow accounts | on your WriteFreely instance. | | This is powered by the ActivityPub protocol, a W3C | recommendation. | Kye wrote: | Systems that federate over ActivityPub (AP) produce JSON blobs | that other systems choose how to present. For example: an AP | blog might show a blog post and comments like a traditional | blog, while Mastodon could show the same data as a toot and | replies to it. | elyseum wrote: | Interesting promise. Will give it a try. Does anybody known | similar tools, written in a different language (no expertise on | Go)? | wakest wrote: | The other main ActivityPub blogging centric software is Plume | https://joinplu.me, oh and there are some plugins for Wordpress | dangom wrote: | Shameless plug: back in the day I put together an Emacs package | to push org-files directly to an writefreely instance. Literally | 0 friction to start a blog. | https://github.com/dangom/writefreely.el | wut42 wrote: | Nice, thanks! But I wouldn't say "0 friction" as you need to | know emacs, org-mode, how to manage a server, and install | WriteFreely :) | dangom wrote: | Haha, sure. But you don't need to install writefreely, you | can publish anonymously to write.as, the "canonical" | writefreely instance. | agnosticmantis wrote: | This looks very beautiful. I wonder if it supports math | typesetting (via latex) out of the box or if there are plug-ins | for that. | ta988 wrote: | Yes there seem to be a MathJax support that you just have to | enable according to what I see in the source and in the forums. | It is apparently not in the documentation. | [deleted] | jedberg wrote: | Almost every self hosted blogging platform I've seen requires you | to have a server to run it on 24/7, and I don't get it. | | This is the _perfect_ use case for FaaS -- a personal site that | maybe gets a few thousand hits a month, and maybe has that one | post that goes viral and gets 100,000 hits in a day. | | I love all the features and the nice aesthetic of all these | things, but it seems silly to pay even $5/mo for a 24/7 server | when I can host it for free on AWS Lambda if the software had | been written that way. Not to mention it would make it more | accessible to non-tech folks if you can just give them a button | to click that sets up a Cloudformation for them or something. | | Sadly I don't have the time (not design skills) to write one | myself. | cpach wrote: | Very interesting idea. | | If you or anyone else feel like expanding upon that idea and do | a "back-of-the-napkin" diagram or something, it would be very | interesting to see that! | | (I started dipping my toes into FaaS[0] literally yesterday, so | I must admit I can't yet imagine how one would actually host a | blogging service in such an environment.) | | [0] _Function as a service_ | jedberg wrote: | It's pretty straightforward actually. What does a blog do? | | - Show content to users | | - Allow the admin to update content | | So you'd really just need three functions and some storage: | | - A function that takes a request for content and shows a web | page | | - A function that authenticates the admin and shows them an | admin page | | - A function that takes their admin update request and writes | to storage. | | The storage could be S3, of if you want to get fancy you | could use DynamoDB so that you can do things like tags and | have blog pages that show each tag (or just regenerate them | and put them on S3 every time you make a update with a new | tag). | indigodaddy wrote: | I don't think there is any significant technical challenges to | running this on lambda. You'd just need some sort of workflow | to update the lambda image with each blog update. A big | downside to hosting on AWS though is if your site gets HN'ed, | you could have a hefty bill on your hands. | jedberg wrote: | That's unlikely. Using Cloudfront you'd only pay 8 cents per | GB (once you get past the 50GB of free data tier). Or you | can put Cloudflare in front of it and pay nothing. | indigodaddy wrote: | So I'm not that familiar with using CDNs. So Cloudflare | would actually serve 100% of the workload for a static | site? That's where you leave everything default for a | domain in Cloudflare's UI right? Usually I uncheck the "use | cloudflare" or whatever they call it, essentially just | having Cloudflare do the DNS only. | jedberg wrote: | Not 100% but petty close. For a mostly static website | like a blog it could easily serve 95%+ of the traffic. | | And yes, it's where you leave it checked to use | Cloudflare for your traffic. | indigodaddy wrote: | Thanks for the response and info! | cpach wrote: | Couldn't the risk of hefty bills be lowered by using | CloudFront as a caching layer? | Jnr wrote: | I really enjoy Wordpress for writing freely. Ever since Docker- | compose, automatic updates and Gutenberg editor became available, | I haven't even needed to look at alternatives. | wakest wrote: | you can also use wordpress with the fediverse too, there is a | good plugin that lets you syndicate your posts out and let the | rest of the fediverse follow/comment/etc from where they | already are | bovermyer wrote: | Very happy to have contributed to this project. Of all the blog | engines out there, it is by far my favorite. | 2Gkashmiri wrote: | What is the point of "medium" other than to hold your content | hostage and force users to pay a subscription ? Writefreely | instead is about sharing. A full 360 from medium. | quaintdev wrote: | > There are enough places on the web built to hog your attention; | keep you scrolling and checking your feed, hoping for a new like | or retweet. WriteFreely gives you the space to think for yourself | again, free from alerts, feeds, and the distractions of classic | social media. | | I think within a decade we all are going to come back to | blog/personal sites and ditch social media. The easier we make | people to set up self hosted blogs, faster will be the switch. I | know general public does not give a shit about this but a man can | hope. | daptaq wrote: | Who is we? | hairofadog wrote: | Me and quaintdev! | ta988 wrote: | And me! | AmroGab wrote: | And me. | the_rectifier wrote: | ...and my axe! | | Sorry. | daptaq wrote: | Ok, but what about those stuck behind in the walled gardens | and currated feeds? | DerekBickerton wrote: | > ditch social media | | Personally I have made my addiction to social media work for | me. I make full use of curated feeds, and make sure my feed has | a good signal to noise ratio. The ADs are annoying, but I would | rather trade my data for them. I can't afford $5.00 per month, | and happily let ADs subsidize these companies (Twitter, | Facebook etc). | _dibly wrote: | >I make full use of curated feeds, and make sure my feed has | a good signal to noise ratio. The ADs are annoying, but I | would rather trade my data for them. | | I just don't think that is a sustainable position with the | way things are moving. If anything, this is the direction | social media is moving away from. Feeds are increasingly | curated by the user's browsing behaviors and and not their | conscious decisions. Data is only becoming more valuable as | more people make the choice to trade theirs away with no real | thought about the long-term effects of colossal repositories | of complex user data and very little regulation in place to | restrict their use. | | Not to say that it isn't possible to make social media work | for you. I just continue to wonder what the threshold is | where users won't be comfortable leveraging their personal | data for convenience. | armchairhacker wrote: | The problem with personal sites is that they're hard to | discover. Case in point: there are a lot of personal sites out | there right now (and many more which existed but are now | offline), that only a few people even know exist. | | We have platforms which make it easy to set up self-posted | blogs, we just need a way to make them more discoverable. Which | is what Twitter, Reddit, and _especially_ Medium (which I | imagine WriteFreely was inspired by) had in mind. | | This is something I said before: the reason existing platforms | dominate the market is because they have the most users. Most | people create blogs or any other kind of content because they | want to be heard. | manuelmoreale wrote: | > The problem with personal sites is that they're hard to | discover. | | I completely agree with you. Discovery still seems to be the | hardest problem to solve. | | I, as a blog owner, I decided that the best way to contribute | solve this problem comes in two ways: | | 1) By linking more to external sites and talk about websites | I like and push for more networking to take place rather than | only linking internally to generate more traffic | | 2) I created https://theforest.link/ as a way to bring back | some of the fun in the way we explore the web. | | These two won't obviously solve the problem altogether but I | think if more people try their best to spread the word about | content worth consuming we can solve the discovery issue | without inventing a separate discovery platform. | | Also, we should bring back blogrolls | indigodaddy wrote: | Hey your site is really cool! How/where/in what fashion did | you compile your random list of sites? | manuelmoreale wrote: | It's just a curated list of all sorts of random links, | stored on airtable. | | The site is as low tech as it gets. I was just trying to | make something fun and help people discover interesting | sites. | | It's mostly personal sites/blogs and some indie | publication. | reaperducer wrote: | _The problem with personal sites is that they 're hard to | discover._ | | I think the problem with the web as it is now is that it's | too _easy_ to discover sites. Which is why more and more | (though not enough) people distrust the large search | providers. | | Nothing the tech companies have invented carries the weight | of word-of-mouth and personal recommendations. You've | probably seen it in your own browsing. | | Search for something - Open 30 tabs from the search results | and look at each one for a fraction of a second. | | See a link described on HN - Open one tab and give it a fair | shot. | | It would be nice to see the return of niche search engines. | Want to know something about architecture? Visit | architecturesearch.example and when you search for | "skyscraper" you get information about tall buildings, and | not bad action films and ads for high-heeled shoes. | armchairhacker wrote: | > I think the problem with the web as it is now is that | it's too easy to discover sites. Both are the same problem: | it's hard to find good sites among the massive amount of | clickbait, SEO optimization, and generally low-quality | sites. It's a hard problem too. There are a million users | who all want blogs, and a million bloggers who all want | viewers. The reality is, if you or I were to start a blog | it would probably only be interesting to a few people. So | your goal is to get said blog to the right few people, | while getting a different blog to a different right few | people, etc. a million times. | | A niche search engine is a good solution, for niche content | you already know about. For discovering new niche content | you'd need a really good algorithm (perhaps based on | similar niches) or some other system. | mstngl wrote: | But here you have at least the AtivityPub integration. This | allows users at instances of the Fediverse to subscribe and | share your contents in a quite native way. | | The Micropub / Microsub standard follows a similar, even more | granular approach (where content types note and article are | existent explicitly). | | Of course, those alternative network standards are not | attracting the broad majority of users yet but this is not a | technical problem. | jhfxcvki wrote: | ActivityPub just pushes the discovery problem to the | homeserver administrator, who must find -- via word of | mouth -- other Fedi relays to federated with, or the | homeserver is a silo. | | No part of this discovery step is automated or aided by the | software. | | Personally I think it's a big oversight in the ActivityPub | protocol.. but then again, ActivityPub is more oversights | than it is features. | kevincox wrote: | I don't think that is the main benefit. I think it is the | ability to "reshare" a post and have your followers see | it. So you can follow your "friends" and learn about new | blogs from there. There is no reason that this couldn't | be done on regular blogs, but it isn't common. | tedunangst wrote: | AP has Note and Article object types. | captn3m0 wrote: | Does WriteFreely now support hosting multiple sites on a single | instance? | wakest wrote: | yes | captn3m0 wrote: | Just took a look at the docs, looks neat! | zamalek wrote: | I have been using it, and there's a liberating lack of bullshit. | I love that there's no comments/spam/trolls. It took me like | 15min to get it going on a droplet. What a fantastically simple | project. | throwawaysea wrote: | Is there a good guide on how to do this step by step? I don't | mind learning and getting my hands dirty but I also fear things | like getting security right. | zamalek wrote: | I did their production config instructions, but remember to | disable the engine version header (some random tutorial [1]). | | I then used Cloudflare as a proxy, directly to the IP. You | can get the IP certificate from CF. | | I am only paying for a droplet. | | [1]: https://seoneurons.com/hide-nginx-server-version-header/ | BossingAround wrote: | > It took me like 15min to get it going on a droplet | | Don't know much about writefreely in general, but static | website hosting is free with Github Pages (or extremely cheap | on something like S3). | | You mentioning a droplet sounds you're running a full VM to | host a static site, which sounds too expensive if that's the | only use case for the VM. | throwawayswede wrote: | Don't bother with any of this crap. | | Self-host your shit. | Popegaf wrote: | Is it possible to import stuff from other blogs e.g move from | WordPress to WriteFreely using a WordPress export? | | And is it possible to export from WriteFreely should one want to | migrate away from it? | thebaer wrote: | There isn't a direct way to import from WordPress so far, but | there is an open API [0] you could use to move your blog. | That's the tack we took for our Hugo import tool [1]: just | taking posts from a previous blog, parsing out the metadata, | and publishing via the API. For WordPress, you'd also just want | to get the posts converted to Markdown for the best experience | in WF. | | As for exporting your content, yes you can do that at any time. | Everything is downloadable as JSON, CSV, or a zipped archive of | plain text files. | | [0] https://developers.write.as/docs/api/ | | [1] https://github.com/writefreely/hugo-importer | thebaer wrote: | Hi! I'm the lead developer of WriteFreely -- happy to answer any | questions you have! | | For a little update on where the project is today: we just put | out our last update [0] before v1.0, which we're aiming to | release later this year. In 1.0, among other things, you'll find | many features we've been piloting on our hosted service | (Write.as), including newsletters, social media cross-posting, | eBook export, etc. | | We're also experimenting with new, non-core features, like photo | hosting [1] and comments [2]. Our core focus has always been on | _just writing_ , which is why many features (including ones | afforded by ActivityPub) have been left out. So we're trying to | see what's possible when we keep a clean, simple core with | optional "rooms" of functionality around it. If you want to keep | up with us, you should see more developments around this before | the end of the year, too. | | [0] https://blog.writefreely.org/version-0-13 | | [1] https://snap.as | | [2] https://remark.as | nickjj wrote: | Hi, | | If you ever wanted to hop on my podcast to talk about how | you've built and deployed things let me know. We could chat | about your tech stack, lessons learned, etc.. The podcast is | at: https://runninginproduction.com/podcast/ and if you want to | become a guest there's a "become a guest" button on the right | top to get the ball rolling. | | Currently inching up on 100 episodes. | thebaer wrote: | Sounds awesome! Would love to be a part of it. I'll reach out | soon! | nickjj wrote: | Awesome, I'll keep an eye out for your submission. | | Side note: if anyone else happens to read this, you're | welcome to submit your site / app too. The more the | merrier! | imwillofficial wrote: | My obligatory "I signed up for write freely to support the | project. Forgot my password and couldn't get it reset (it was a | manual process). After a few months I tried to cancel. Developer | completely unresponsive for a year, I kept getting charged each | month. My bank quizzically refunded some fees, but not others. | Love the idea, but developer responsiveness needs work if I can't | even reset my password or cancel service. | | Best of luck to this project! | phantom_oracle wrote: | How do you integrate this tool into an existing blog? | | I like the idea of ActivityPub followers but shifting all the | contents over from an existing static site sounds like a wasteful | exercise | [deleted] | [deleted] | pmlnr wrote: | Integrate your existing blog with https://fed.brid.gy/ instead. | keb_ wrote: | I love Write.as, but one little nitpick that has always bothered | me is the font loading flicker, like it takes a second on page | load to load the custom font. Not sure if it's the browsers I'm | using or uBlock but it always happens. Is there a way to disable | the custom font? | btdmaster wrote: | You can block remote fonts with uBO in its per-site menu, left | of the disable JS button. | keb_ wrote: | Weird, but that setting seemed to not work. What _did_ work | was disabling JavaScript, which is a bit puzzling -- why is | JS loading the fonts? | monkeydust wrote: | Been looking to start blogging, I feel it's making a slow | comeback (along with RSS!) this looks great. | RNCTX wrote: | So is the business model of their company to turn every random | user into a content generator which pays them to give away | content? | | Because it seems that if the author can't be identified, the | ownership of the content is implied to be the publisher of this | codebase. | ta988 wrote: | From what I see, they charge you for hosting if you don't do it | yourself. $4/mo for a blog. It seems that you can have themes | and newsletters and other stuff that are not available in the | free version. I'm still looking at what the self-hosted version | can do. | ta988 wrote: | It doesn't seem that the self-hosted version has any | restrictions. And it doesn't seem hard to setup either. | Optional mysql, reverse proxy or just give it the | certificates and you're ready. | throwawaysea wrote: | There's also Ghost, which similarly has an open source offering | and a paid hosting service: https://ghost.org/about/ | | Previous discussions: | https://news.ycombinator.com/item?id=14864731 | https://news.ycombinator.com/item?id=17809447 | https://news.ycombinator.com/item?id=21322712 | https://news.ycombinator.com/item?id=17082228 ___________________________________________________________________ (page generated 2021-07-11 23:00 UTC)