I discovered MODX out of desperation. I was working at Wilderness Office under critically acclaimed designers such as Aaron Draplin and David Nakamoto and needed a CMF that allowed me to be as meticulous with my markup as they are with their designs. We built several award winning sites together in my time there. As a matter of fact, the first MODX project I ever worked on won Communication Art's Site of the Month award (and I had no idea what the heck I was doing). Being able to fumble my way through a build like that made me realize the flexibility of MODX Revolution and like that, MODX became the exclusive CMF of our design team. We went on to build even more awesome sites with it and the rest is history just like the dinosaurs those sites are all dead and gone now.

Discovering MODX itself was quickly exceeded by an introduction to the community upholding it. I realized I'd discovered something greater than the sum of its parts; I found the fight for creative freedom within an industry willing to compromise. When I stumbled upon the ability to translate databases into accessible and optimized HTML markup (or anything else) with complete control over every character of output I felt like I had discovered an oasis. No more compromises.

You see, I had experienced creative freedom once before. Remember the Flash days? As a Flash Developer I worked on all sorts of crazy interactive experiences. Flash provided all the creative freedom design agencies could throw at it. It was a time when cross browser support was a nightmare, web standards progressed slowly, and broadband speeds allowed designers to deliver rich experience in such a way their audience lined up around a block of fancy pre-loaders to get in and see what all the fuss was about. Then the smartphone came along and we had to go back to building semantic, accessible, and lightweight websites again. That brief period in web design will probably be looked back at like the 80's; it was an inexplainable point in time with lots of flare and you just had to be there to understand.

As an ex-Flash developer returning to web standards based designs, I sought something that allowed clients to easily make changes to their own websites without sacrificing control over the markup their data would be translated into. I needed something that had no opinion how the markup would be authored now or in future re-designs. No longer building experiences in Flash yet still working for designers who expect every pixel of their designs to be perfectly represented across all supported browsers, I found myself in a pickle. Most of the time I could write static HTML that was close enough to not get my desk flipped over by an Art Director, but hooking it up to a Content Management System proved to be a different story. Then I found MODX.

MODX is a canvas creatives can't help but give life to

MODX gave me a greater level of flexibility than any other platform and immediately became my CMF of choice. Many in the MODX Community have a similar story; they discovered it and the rest is history. Seasoned creatives alike agree that byte for byte the MODX Revolution project has no contender, but is it for everyone?

The Web is for everyone

Users: most of us have them. Your clients are users and your next client could be anyone, which is one reason why we should be creating interfaces for everyone. Even with compromised ability, your users should have access to an interface they can be comfortable within. In this regard, the MODX Revolution project has rightfully admitted its faults.

Things like user experience and accessibility weren't highly prioritized when MODX Revolution was initially released and who is to say it should have been? Frameworks like ExtJS have many advantages and allowed the manager in Revolution to be assembled using out-of-the-box components. It very well may have been the right choice at the time. But that was then and this is now.

While the choice to use ExtJS may have been appropriate it left the project with a significant amount of technical debt. As the web standards we cannot utilize evolve the interest on our debt is compounded. Since it's initial release MODX 2.x has been inaccessible to particular users. Each of these users we lose count towards a web we could have helped author, but fell short. Unfortunately, MODX is not for everyone.

MODX should be for everyone

MODX is a canvas creatives can't help but give life to. In the CMF world, it's the closest thing to a blank slate you'll find. There are no lines to stay within, and the medium you use is up to you. It doesn't care if you use it to make one website, a thousand, a REST API, or even use it as a URL shortener (ya, i did that once). You can use MODX to do whatever you want, and anyone people can manage it. Well, as long as they:

  • are fairly tech savvy
  • tolerate the user experience
  • use a mouse enabled desktop
  • don't use assistive technology

We see that while many flock to MODX for the creative freedom it provides not everyone can use it. Is the creativity of a person with compromised abilities less valuable than that of another? Of course not. Does a smartphone user's need to author the web stop when they leave their desktop? Of course not. It saddens me to think of all the amazing things that aren't being created due to the technical debt we've absorbed. It doesn't need to stay this way. The MODX API is too brilliant to remain a best kept secret that some people on some devices can use.

When we examine accessibility through the lens of user experience, we see that accessibility is:

  • A core value, not an item on a checklist
  • A shared concern, not a delegated task
  • A creative challenge, not a challenge to creativity
  • An intrinsic quality, not a bolted-on fix
  • About people, not technology

 — A (Rough) Manifesto for Accessible User Experience

Accessibility, as defined by the WCAG Guidlines, is not something that can be integrated into MODX 2.x without breaking changes; it cannot be bolted on. With talk of breaking changes in the air and a campaign led by MODX LLC that claims to be able to bolt accessibility onto MODX 2.x now is a great time to discuss the MODX project's commitment to accessibility. But what is accessibility really?

Accessibility isn't just about catering experiences for those with compromised personal abilities; it is about creating usable experiences for anybody, anywhere, on any device. You see, when you switch from your desktop to your smartphone contextually you become someone else. You are now a completely different user with different abilities. Your smartphone has compromised abilities such as the number of pixels it can legibly display and the lack of traditional mouse interactions. Unless a website is designed accordingly you may not be able to access it. In fact, your desktop probably has compromised abilities too. Can you put it in your pocket? Can you pinch-zoom the screen?

Your personal abilities along with your device(s), any assistive technology you may be using, and the software you are communicating with collectively construct your experience as a user. So I hate to break it to you but you are disabled. We all are. Everyone of us.

The creative freedom appreciated when authoring with MODX is yet to be found when authoring for MODX

Freedom isn't free

The MODX API does not get in your way. It allows developers to author front end experiences in their own style, but the flexibility found when authoring with MODX is not often found when we authoring for MODX. Ironically, the manager interface not only gets in the way of designers but stays firmly put. HTML 1st design isn't welcome within a manager authored and governed entirely by dated JavaScript frameworks. ExtJS 3.x adamantly oppose things like Progressive Enhancement, Responsive Design, HTML5, CSS3, and modern JavaScript practices. Also, creative freedom. It opposes that too. We've locked ourselves inside a prison called semver and no amount of crowdfunding or development cycles alone will free us. To get out we have to start breaking things.

As we escape past confinements and learn more about what the future holds for MODX 3.x I urge the community to take a close look at how to liberate itself within each layer of whatever new tech stack is decided upon. Creative Freedom should not only be found in the MODX backend, but throughout the entire platform. No longer should we wonder how many creatives we have shut the door on. Instead let us ponder questions like how can we create interfaces that anyone can use anywhere? Can we create dynamic components that can be heard when not seen? How do we collectively define accessibility? Can we put an end to the general perception of there being a single manager? What combination of web standards can be used to enhance components not only progressively but timelessly? How do we build something as powerful as the MODX Manager in a mobile-first way? Should the API utilize a JavaScript framework? If so, which one and to what extent? Or, should we trace our technology stack all the way back to the ubiquity of HTML and web standards?

What do we know about MODX 3 so far?

Over the past few weeks, lead architect Jason "opengeek" Coward has been sharing his vision about the future of MODX on Medium. Based on that, and other discussions, what do we know about MODX 3? What is its status, and when can we expect to see something?

So many questions come to mind but I always come back to asking myself what would the state of the web be if MODX were truly and natively accessible to everyone? I believe the MODX Community owes it not only to itself but to the world to answer that question. There is only one way to find out. Let us discover what that could be together.