Microsoft Throws its Weight Behind Ghost
medium.com
medium.com
O’Nolan, a former WordPress project lead himself , opines
that WordPress has grown up and is no longer really about
blogs anymore. It’s become a full-fledged content
management system, burdened with a lot of unnecessary
complexity for those that are just looking to manage a
blog.
WP is nothing close to a full-fledged content management system, and if it's burdened by anything, it's all the leftover cruft from the days when it was just about blogging.I use WP every day and I'm really grateful it exists. But from my perspective, the problem is not "WP is so great at content management we need to develop something just about blogging". The problem is "Lots of people have cleverly managed to hack WP into running as a general purpose CMS because there's such a wealth of support, knowledge and extensability surrounding it".
I'be be much more interested in a new modern, flexible CMS built for that purpose from the ground up than I am about a new blogging software.
Some things that would be good:
1. Contenteditable from the frontend- for when the client just wants to change that one sentence on the third paragraph on the product page or whatever. http://createjs.org/ seems to be a pretty good ready made solution.
2. Repeating layouts- I design and code a repeating element (like photos on the team page or whatever), and the client has an interface to add or remove units, at which point they get updated wherever they are on the site.
3. NoSQL db. SQL is good when one is balancing the books of a large corporation, or doing a survey of the heights and wattages of every streetlight in the country, but it is not a logical solution for displaying documents on the web. It would also be really nice to have a database that could be put in revision control and deployed along with the rest of the site files, as the line between content and templates on CMS sites is a very thin one. https://github.com/felixge/node-dirty is intriguing, but I don't know if there are any unforeseen issues with this.
4. Blogging. Hopefully we could just integrate tightly with Ghost or something like it.
This is awesome because it's actually exactly something I'm building – a portable, open source, file-based CMS with a NoSQL document store, backed by Git, hosted in the cloud for social management/deployment, also runs locally. Eventually I'm planning to add easy blogging features for "non-techies" though my initial target audience is definitely professional, interactive web site developers who work with a big team.
If anyone is deeply interested in this space, I would love to learn more about your requirements and share more about my project so I can develop based on real user needs. You can also check out a data sheet I put together at http://grow.io. :)
new modern, flexible CMS built for that purpose from the ground up than I am about a new blogging software
I don't understand this.. Basically you're asking for a new codebase full of bugs over a stable codebase?A replacement would be valuable if it could provide a better templating/plugin system that reduced the opportunity for bugs in template/plugin code.
I know Apache is not a Framework, but a webserver. Here I'm using framework to mean operating system abstraction. Apache, being file-based and not data based first, means that it is full of abstraction holes that, while right for serving files, is all wrong for serving data and instead overly exposes the operating system for this world of dynamic web experiences we currently live in. If you knew back in the early 90s that the web would be more about streaming, real-time content, you would have designed a webserver that was designed for serving static, discretely changed content in a way that took advantages of as many features and benefits of the design of the Unix/Linux operating system (stdutils, etc.)
It's 2013, we have a much better understanding today of how people use the web, from how they consume to how they socialize. Many of these habits are the product of things invented between when WordPress was invented and today. With that in mind, an experienced engineer familiar with the architecture of WordPress, it's history and the web as it exists today, would be very well equipped to choose a whole host of different abstractions at lower levels, which would permit a permit said WordPress replacement to support better features more easily, where better means "fitness for use" from now into the future (5-10 years)
I'be be much more interested in a new modern, flexible CMS built for that purpose from the ground up than I am about a new blogging software.
Sounds like you're talking about Drupal here or ExpressionEngine which are both great and well-written content management systems. Wordpress serves many purposes, clean code doesn't matter so much at the end of the day unless you're a code purist who thinks languages and conventions matter if the end product works and is usable.
Or you're unlucky enough to have to build a theme/site around wordpress
I've had to deal with a lot of ugly WordPress hacks when maintaining legacy sites, and I'm convinced that anyone who defends it simply hasn't seen anything better.
Personally, I've been using ProcessWire for the last year, and I'm very happy with it. Although it doesn't do everything that WordPress does, it's extremely clean and simple to work with.
I think you're absolutely spot on when you say that it's mostly people who haven't seen any better. There seems to be a real cult behind the use of WordPress as a CMS, and after working with some of the developers that have delivered the first WP sites nearly every single one of them seems sold on WordPress being the only tool required to rapidly build a website.
As a tool, WordPress does work, but the plugin-driven development nature of WordPress leads to some horrendous problems, ones that were solved years ago on other platforms. It also tends to attract a large number of poor developers.
More often than not, I use Umbraco for sites that need a CMS, or Django when the site has been hacked to handle an application, almost effectively scrapping most of the existing code, and the clients are always happy and have a much faster website.
Even a client completely changing their mind about site structure part-way through is rarely a headache these days. It just works perfectly for 90%+ of all things clients pay me to do. The final code is generally also very clean and well structured as well.
They already have far larger investments in plenty of other CMSes:
* Sharepoint (the goose that lays the golden eggs),
* Umbraco (which IIRC runs asp.net, iis.net, windowsazure.com, and possibly [parts of] technet and msdn),
* Orchard (which is theirs, albeit through the OuterCurve foundation, which is one of MS' OSS outreaches),
* MCMS (which is horribly old & expensive, but still out there and in use),
* A bunch of internal CMSes, and other stuff that they developed themselves to tie in with backend systems (eg CRM)
Hell, they did more with Oxite before abandoning that than they're planning with Ghost.
Maybe MS as a company want to get more into node, but that doesn't really seem in line with their larger strategy (even though they definitely are starting to embrace OSS more, particularly on the web teams) - so it's probably just likely that one team wanted somewhere that they could test out the library they've written.
I guess that figure does represent a significant investment (their contributions to other CMSes aside), particularly at the current early stage of Ghost's development.
I'd love to see a platform that is easily deployed on shared hosting (written in php, using mysql) but that lends itself better to version control and switching environments. It should keep configuration in plain text instead of in the database, and it should allow easy definition of node types in addition to the standards (post, page, comment, etc.). These should also be defined in plain text instead of in the database (I'm looking at you, Drupal). Meanwhile, theming should be just as easy as with Wordpress.
Anyway, it's good to see others trying to enter the blogging platform space and compete with Wordpress, but I really want to see a truly good CMS come along.
Version control exists to solve these problems, but when this stuff is stored in the database it is a lot harder to consistently reicate changes. I'm sure people come up with solutions that don't involve replicating configuration in the GUI, but my point is it should be baked into the CMS.
It's nice for those times where you don't want to reinvent the wheel just get some content up.
JavaScript, since it is the only thing that runs in the browser, is a much better choice since the barrier to building and maintaining a site isn't too far from the reach of a novice because only one Turing complete language is required.
With respect to MySQL. Given what WordPress does today and all the other options out there, is WordPress still the best tool for the job?
Why not Postgres or MariaDB? Or how about NoSQL options? Is there an option which would permit development to be just as easy, but that avoids the security complexity of a database exposed to code injections because it execute arbitrary code snippets?
Back in the 1990s, LAMP was the most widely available stack and finding reliable alternatives for which you had enough information to make an informed decision was hard. However, we are now far beyond that monoculture and there is enough information asymmetry that you don't need to choose a stack based soley on what is common and available. There is enough variety out there and the tools for deploying without having to rely on your hosting company's stack are good enough that we can have something besides LAMP become popular enough for hosting businesses and OS creators decide to include the the necessary dependencies as default.
Presumably, you are referring to SQL when you write "sequel"?
> Being able to arbitrarily add fields to a page, enabled by a store like mongo seems like a no brainer for a CMS.
You can do that using SQL-based databases, so its not really "enabled by mongo". With most SQL-based DBs, you may have to use a data model other than "one page is one row of one base table" to do it, but that's simple enough to do. (With Postgres, there's several ways to do it while still using a "one page is one row of one base table" model, as well, leveraging the XML, JSON, or Array types to hold the "flexible" fields.)
data/pages/folder/file.txt --> site.com/folder/file
publishing means to sync your localhost data/pages with the one on your web serverWere WordPress to refocus on blogging features, instead of adding lots of other stuff, that'd be awesome.
To a first approximation, every web project starts life as a "clean, simple X without all that cruft". It is the destiny of most projects to follow that with A: failure or B: becoming the next pile of sludge to inspire a "clean, simple X".
The continual adding of cruft is (partially, at least) driven by a need to be seen adding new Hot Sauce all the time.
What's even better, you might agree, is that they are not stopping anybody else from setting off to create something more complicated than blogs and crud apps.
We've mastered the "Word editor" and it gives immediate feedback without reaching for a reference manual, why would we (inclusive: all writers) take a step backwards?
If you really have qualms about remembering * ... *, I think you probably have more problems on your hands than not being free to create.
Really smart move by Microsoft, if for no other reason than tons of people are going to be saying "wait, whut, where do I install this?" soon and if deployment is first class to Azure at least they'll have a lot of new people in the door.
Also I think there's plenty of room for evolution in blogging. There are so many places that we create content now whether it be audio, photos, video or microblogging and there isn't a widely used way of curating your online self at all of these mediums. My personal website is on Syte (https://github.com/rigoneri/syte) for this very reason that it displays my social network content next to my blog posts in a way that is more coherent than just a widget.
Well established product versus something that has not been around awhile. It has nothing to do with the language the code was written in, it is a product with a past versus a new product that has learned from preceding projects.
I don't know anything about WordPress's bulky editor, but how does the code base have any relevance to front end usability?
Give it a try: http://markdawn.com/
EDIT Not to mention the fact that I WANT to self-host!
Self-hosting and updating an entire web app is not very realistic these days, but exporting in a ready to deploy site is a feature I'm thinking about. It isn't implemented yet.
I don't want this to have a private mode, everything is public. You can't guarantee privacy these days. My target is more towards what Medium and Svtble are doing, than WordPress.
Ah, now I get it. That would be a nice feature.
>I don't want this to have a private mode, everything is public.
Is there a preview functionality? If not, that would be an important feature.
>You can't guarantee privacy these days
That's true, but you can still give users a little privacy if you want to. I personally wouldn't want to write on that platform without a drafts/preview folder, but that might just be me.
1. Export was implemented. You get a nice ZIP archive with all your .md documents.
2. Regarding preview/drafts — there's one draft which is saved locally on the user machine. You start writing and it's saved automatically.
3. There's a new modern design and profile activity.
How many people actually use Wordpress for just a blog, anyway? This is all reminiscent of the early blogging platforms that did one thing well but in reality most people need more than that one thing if it's something more than an area to post personal musings.
I've been using a host of static site generators for about a year now, and for the less serious blog they seem to get in the way. I'd prefer to have everything online, accessible from any computer with an internet connection. Posting quick, little thoughts is not something Jekyll or other static site generators do well.
For the more serious blog, which has infrequent and longer posts, I really like the static site generator, because it lets me keep everything together and easily deal with it locally.
Mostly I don't want to pay because I like the idea of open source, and having the ability to submit a fix if I find a bug appeals to me. And partially because I'm cheap.
Will this not be a huge barrier to achieve the same traction Wordpress has?
I think we do need something with an updated stack that has capabilities somewhat like WordPress. Here is an idea that I started on a while back. (Obviously not very pretty and needs a lot of refinement.) http://vimeo.com/43784316
http://farm6.staticflickr.com/5511/9769041391_c52d600437_o.p...
I'm also not a fan of the large number of additional options available for posts. I'd rather have zero options, just write text and hit post. I understand why it has all of the options, but I'm partial to simpler systems that do one thing really well, as opposed to big systems (like WP) that do lots of things acceptably.