Been watching Ghost for a while and ever since I saw it get so much funding I thought to myself; with those pledged features I could do this alone, better, faster. Since then I have been sidetracked with a closed source somewhat-overlapping project but now that Ghost is out I plan to steal some ideas people actually like from it and continue building my own platform. Kinda makes me chuckle in that they got payed to do this and yet their feature set is still so underdeveloped, for a blogging platform of all things.
I think now that you've made your point I may abstract models to the point where the database can be either MariaDB or a bunch of JSON files/SQLite. Its tricky because I build databases for performance and scalability over flexibility.
To give you an idea of what I mean, Wordpress makes me cringe in the way they handle their tags, categories etc. and the sheer amount of SQL queries and joins for a simple front page. I make at most 2 queries for the front page (excluding sidebar, which would be cached), the user session authentication and the articles. I make no queries if I can help it ( Caching in node.js is so fun ). Categories are always in memory, along with user roles, settings etc.
It's really quite glorious having a readily available memory store. I'm getting around ~500 queries per second to my front page in apachebench, which would normally have about 7-10 queries to the database.
I agree, you guys are right. Was in a kind of shitty mood when I wrote that and now I'm kicking myself for coming off like the egotistical bitter dick that I know I am. :p. HN deserves less Reddit type smugness.
The whole Ghost thing I should have mentioned is IMO a pretty sweet concept and not at all a bad followthrough. Their marketplace, partnerships, capital etc. make them a much better contender than my team could be.
You laugh at them, but they actually have a product out and it's good enough that you plan to steal features/ideas rather than work out your own from scratch?
Honestly, a better Wordpress is something that the majority of people with a reasonable understanding of web development and database design (or hey, with a NoSQL store, maybe not even that! /troll) could do in a weekend. However, as you've said, we all have other things to do, but more importantly, it's the free upgrades and transfer of liability that make Wordpress enticing. I'm sure there are plenty of developers out there (myself included) that are happy to say "there's a bug in Wordpress that we'll need to patch" vs. "there's a bug in my code that we'll need to patch".
That is simply not true. You could not write a whole CMS with plugin-api, template system, image manipulation, user roles, auto-installer (and auto updater of plug-ins and entire install), comments system, image galleries, media manager as well as a administration backend (that mind you not only needs to work, but also needs to be designed visually) as well as a high quality default theme.
Where do you guys get off saying such things? It's a completely absurd statement. Of course you can't do that.
You're right. I wasn't really thinking about building my own platform; more thinking about building a CMS that did what I needed it to do. The plugin API would take some work, but a templating system, image manipulation, user roles, auto-installer, comment system, and media manager are all very easy to implement, if not provided to you for free by PHP or an existing library (ImageMagick, for example).
The WordPress community is rivaled by none and that makes it a hard option to pass up on a budget.
edit: This isn't to say I prefer WordPress over something like Ghost. What I do prefer is something stable with a healthy community. I wish Ghost as well as others like it the best of luck in getting there.
A community has to start somewhere. Ghost is a brand new platform but I'd be surprised if a strong, active community didn't grow relatively quickly. It's gained 800 stars on GitHub in the space of about 3 hours.
It's what many people with a reasonable understanding of web development and limited experience of writing a CMS think.
It's a well-trodden rite of passage for many web developers to end up writing a CMS or three from scratch (which are always limited, clunky, and unmaintainable) - until they get sick of getting caught out by edge cases on things like multiple editors in race conditions, CSRF on forms, scheduled revisions, password reset flows, user synchronisation, localisation etc.
That may be a great learning experience for a developer but expensive for businesses that end up having to migrate and re-platform after a year or two. It's really hard (and dull) to create a good CMS, and even then the considerations go beyond technical as this is a piece of business infrastructure. Why do you think Wordpress has so little competition even though it's a large and valuable market?
In my experience running two rather massive WordPress installs the vast majority of one's bugs will not be found in WordPress, but in ones extensions of it. The liability argument applies well to UI/UX, however.
I think now that you've made your point I may abstract models to the point where the database can be either MariaDB or a bunch of JSON files/SQLite. Its tricky because I build databases for performance and scalability over flexibility.
To give you an idea of what I mean, Wordpress makes me cringe in the way they handle their tags, categories etc. and the sheer amount of SQL queries and joins for a simple front page. I make at most 2 queries for the front page (excluding sidebar, which would be cached), the user session authentication and the articles. I make no queries if I can help it ( Caching in node.js is so fun ). Categories are always in memory, along with user roles, settings etc.
It's really quite glorious having a readily available memory store. I'm getting around ~500 queries per second to my front page in apachebench, which would normally have about 7-10 queries to the database.