Good morning HN! John from Ghost here - Thanks for all your support over the last 5 years. We wouldn't be here if it wasn't for that very first blog post hitting the #1 spot of HN and getting so much attention back in 2012. That was the very first time anyone ever heard about Ghost, and everything we've built since then has been thanks to that.
What we've learned from building Ghost after 5 years and $3M
121–130 of 182 posts
Re: What we've learned from building Ghost after 5 years and $3M
#122> Our biggest marketing failure has been our documentation and resources. ... We're actually hiring right now for someone to help us fix this and make using Ghost a really fantastic developer experience. Putting user docs as part of a marketing role is not lining things up for a good result. :( How about putting it under engineering instead?
How does it matter that the role for which they are hiring a developer to write docs is labelled "developer marketing" instead of "documentation engineer"?
It's fairly easy to see that a Marketing manager will view the desired end result quite differently than an Engineering manager would.
With a corresponding difference in the focus and priorities then set accordingly.
Re: What we've learned from building Ghost after 5 years and $3M
#123We use hosted Ghost for our blog. For the most part, it's been great. My biggest complaint is that Ghost doesn't yet have a built in SSL/TLS option (e.g. Let's Encrypt). Their recommendation is to use Cloudflare. It's fine for hobbyist or personal blogs, but as a corporation it's basically prevented us from using SSL. We're in a regulated industry and need to do appropriate vetting of vendors. Onboarding a blog platf…
We do have all of those things :) For self-hosters, Ghost-CLI has deep Let's Encrypt integration. The tool will automatically guide you through provisioning an SSL certificate during the install process. On Ghost(Pro) we have full end to end SSL support (you're right we used to only support CF's UniverSSL but that is no longer the case) - so anyone who uses a custom domain with Ghost(Pro) will automatically have an S…
Re: What we've learned from building Ghost after 5 years and $3M
#124is Ghost still a thing? I thought they ceased to exist after nobody used it. I guess wordpress beat them in every possible aspect.
Re: What we've learned from building Ghost after 5 years and $3M
#125Thanks for the post, its great to hear that Ghost is doing well - I love using it. > [Github] has become too transactional - more support tool than collaboration I strongly agree with this. I wish Github "Issues" were relabeled "Comments" and need not be "Open" or "Closed". Issues need action, comments do not. I've been burned many times now by solving someone's issue and then finding out they use my code for their b…
Re: What we've learned from building Ghost after 5 years and $3M
#126Good morning HN! John from Ghost here - Thanks for all your support over the last 5 years. We wouldn't be here if it wasn't for that very first blog post hitting the #1 spot of HN and getting so much attention back in 2012. That was the very first time anyone ever heard about Ghost, and everything we've built since then has been thanks to that.
Congratulations on the 5th anniversary! A question: Do you think your choice of technology stack (JavaScript, node.js) played a part in your success? I've read many times from product creators that developers wildly overestimate the importance of choosing a language or technology stack when in fact it has little bearing on whether a product will succeed. Do you have any thoughts on this topic?
When it came to selecting Node, the biggest benefit was that it was notable. If we had said "HEY we're making another blogging platform in, wait for it, PHP!" -- it would likely have been significantly more difficult that the project would've been seen as noteworthy / attracted any users.
Conversely, Node is not without its drawbacks. The ecosystem is young today. It was positively infantile when we started. I don't even think there was a fully formed RSS library. In fact, from a technical point of view, most of what we've built would have been easier to achieve with other tools and frameworks.
Nowadays when we select technology, we tend to go for the oldest most reliable stuff we can find. The sort of stuff that when you have a problem and you google it, there are 5,000 people who have done it before. Because there are only SO many innovation battles you can fight simultaneously.
At one point we tried to rewrite our infrastructure using Docker/Swarm - it was a 9 month project which ultimately got completely cancelled at the last minute. Why? Turns out Docker Swarm doesn't scale above 500 instances and we needed to run about 10,000 for Ghost(Pro). We asked Docker Inc and their response was pretty much "idk lol". So now, especially with our infrastructure, we almost always select the most tried and tested technology. Boring stuff. Stuff that is very, very well understood.
The problem is, it's not cool to talk about how our infrastructure is built on very straightforward LXC containers, managed by HAProxy, connected to a cluster of MySQL servers. The tech isn't bleeding edge enough to hear about on HN, so you end up not hearing about it. But most of our best tech decisions end up being when we choose older technology.
Sorry, this got really long. Did Node.js influence our success? Yes! It made Ghost more popular and also more difficult to build. Would I change it? Definitely not.
Re: What we've learned from building Ghost after 5 years and $3M
#127Earlier quoted context omitted.
So, on a post which discusses problematic behaviour on Github where entitled people try to bully us into working on what they want without writing any code themselves -- you (someone who has tried to bully us before on Github) -- decide that being in the spotlight is a perfect time for you to draw everyone's attention to your feature request once more. Because you think bullying us with HN social pressure will help y…
I don't think calling people bullies or accusing them of being shills is very professional or conducive to civil discourse. This is not the first time you've displayed that kind of behavior, either. The HN Guidelines, which specifically prohibit this kind of content, can be found at https://news.ycombinator.com/newsguidelines.html
Re: What we've learned from building Ghost after 5 years and $3M
#128Good morning HN! John from Ghost here - Thanks for all your support over the last 5 years. We wouldn't be here if it wasn't for that very first blog post hitting the #1 spot of HN and getting so much attention back in 2012. That was the very first time anyone ever heard about Ghost, and everything we've built since then has been thanks to that.
please please more insight into the remote teams teaser you gave on the post! I would love to hear more that you have to say on that.
Re: What we've learned from building Ghost after 5 years and $3M
#129Good morning HN! John from Ghost here - Thanks for all your support over the last 5 years. We wouldn't be here if it wasn't for that very first blog post hitting the #1 spot of HN and getting so much attention back in 2012. That was the very first time anyone ever heard about Ghost, and everything we've built since then has been thanks to that.
Re: What we've learned from building Ghost after 5 years and $3M
#130Earlier quoted context omitted.
Shared hosting - $1.99, here's your server, good luck Managed hosting - $29, you get your own server, app, automation, backups, and 24/7 support to make sure everything is working great Centralised, multi-tenant application - $0-$9, you get no server. You get access to our app for your use. You cannot modify it or run any third party code. We do managed hosting - and managed WP hosts... also do managed hosting. That'…
Hi. I've worked for WordPress.com for the past five years. It does run the open source WordPress codebase, and we sync changes from the open source project to WordPress.com regularly. :vanishes in a puff of php:
It's still not equivalent to running the same code, or being in any way a comparable to a managed host. Which is the point that you skipped right over, as is your custom :)