Arrow Over Wordpress: A Year Plus Later

Guest Blogger

Almost a year and a half ago, I wrote a blog post about why you might to choose our in-house CMS Arrow over the more well-known option WordPress. A lot has changed in that time, both for Arrow and WordPress.

A Difference in Design and Goals

Let's talk about some changes WordPress has been pursuing first. Late last year, WordPress made the big push into version 5, after four years of support for version 4. The largest and the most controversial change being the move towards a new website-builderesque editor over the tried and true CKEditor plugin they had been using for years. By most accounts, this new editor absolutely supports a number of new things that the old editor couldn't do without extensive modification. However, the problem seems to be that most of these features are not tasks that the everyday user or blogger of a website really cares about, and the trade-off for support is a more fragile and complicated editing experience. The WordPress design team made a conscious choice to attempt to make layout tasks easier, tasks that most users will only do once, if ever, at the expense of the ease of more regular updates. The new Gutenberg editor, named after the Gutenberg press and its interchangeable type blocks, is definitely powerful and a really interesting project, but this editor has heavily split the WordPress community. Most users seem to be opting to install the "Classic Editor" plugin, and ignoring the new editor entirely, and a new OpenSource "ClassicPress" project has forked from the WordPress core. Maybe in the future, we'll go into a little more detail into the Gutenberg project, its goals, and its current reception, as it's a fascinating subject, but this is a post about why you might choose to go with Arrow over WordPress, so let's move onto Arrow.

What's Arrow Done Lately?

A screenshot of the menu of CKEditor 3, as seen in earlier versions of ArrowThe Venerable CKEditor 3

Arrow also changed editors over the last year. We went from the venerable CKEditor 3, which we've been using since the project was just called Armor CMS, to CKEditor 4. Overall, the change was relatively minor, but it brought with it better-theming support, more predictable behavior when copying format-heavy documents from an HTML aware editor like Microsoft Office, and a new more modern look to better match the rest of our UI. While CKEditor 5 is available, it's API support was not compatible with some of our existing customizations, but it is an upgrade we are looking at for the future.

A screenshot of the menu of CKEditor 4, as seen in Arrow 6.5.1CKEditor 4

In parallel with this change, we implemented the first part of our own Media Library functionality, which means that our users can now easily upload images and place them into the editor with a much more simple interface than we've ever had before. We use it every day, and all of the example images in this post were uploaded using this feature.

Which brings us to our next change: we completely redeveloped our PopUp API. Looking at the screen-shots from that first blog-post brings me a little nostalgia for simpler times, and a lot of frustration about how annoying they were to us, both as a user and developer. As part of our ongoing effort to unify the systems of our framework, we added user-facing features, like making the popups resizable and draggable by default, and developer-facing features to let us more easily implement and customize the popups to fit their task.

An image of the Client Dashboard, introduced into Arrow in version 6.4Our New Client Dashboard

We've been going through our user interfaces and rebuilding them to better fit business tasks like sales and follow-ups. We've introduced a new client dashboard with support for client notes, touches, emails, quotes, with a quick summary of any open projects and data associated with that client. It's worked so well for our salesmen that they almost never have to leave it when they are in the system. We've started applying some of the same UI goals to our other interfaces, and we look forward to rolling more of these dashboards out to our users later this year.

An image of the new menu system introduced by Arrow 6.5A new menu with new features.

Our menu has gotten a huge overhaul. One of the biggest complaints I've personally had with WordPress is the state of the menu when a bunch of modules are installed. If we put aside the performance concerns, just finding where you're going can be a process in itself, slowing down any task you need to do in the website. We've run into a similar issue with our own menu system, as Arrow has grown to support 50+ extensions, adding functionality for our users, so we rebuilt our menu system from the ground up to support a progressive filtering system. It allows administrators to customize menus for access levels, and users to filter even that down to what they want to use, and allows users to switch between their defined filters on the fly based on what they want to do.

We built a full eCommerce solution to run within Arrow, which is now in its second version and just recently added support for online Store Credit and discount codes.

We added a contact form filtration system to help users who don't want to rely on Google reCaptchas to filter out spam bots. We added a form builder and database backups of form submissions to make sure you can keep your contact with your customers even if there is a configuration issue with your email.

An image of our server wide site monitoring tools.We use Arrow to keep a close eye on the health of our clients' websites too.

Where Does This Leave Our Roadmap?

All in all, the last year and a half of development has all been centered around one core concept: how do we take the things our users will be doing most often, and make them faster, easier, and more powerful. As always, we understand that the tasks we, as developers and designers, need to do in a system don't really reflect the needs of an average user, and while our system is full of tools that make our jobs easier, it will never be at the expense of day-to-day usability. So really, in 2019, why might you choose Arrow over WordPress? Because our primary clientèle are business owners, not developers, not designers, and our system is designed to give them the tools they need to run their business, not to build a website, but to run one as an extension of your business.

Don't get us wrong, WordPress is still a powerful and robust platform, but on top of all of the shortcomings I raised last time I wrote about this, it does seem like they've lost track of who exactly is using their platform on a day-to-day basis, but we'll have to keep an eye on this Gutenberg development, and see how it all shakes out. In the meantime, we offer Arrow as a strong alternative, and maybe it's just us, but we trust it enough that we run our own website on it.