Jan 312019

There’s a general trend in appplications these days to turn every element of their user interface into a “block,” or some other type of common component. WordPress is the latest public offender on this front, but I’ve also put up with this approach with other products in a professional setting, and it needs to freaking stop.

The big claim to fame for this change, at least in user-facing applications is a cleaner user interface. That part is true, individual menus have less stuff on them making the overall applications look neater, but that’s where’s the list of benefits ends from a user-facing perspective.

The problem with this “building block” approach is that it’s an utterly terrible user experience. The entire experience of composing something using then component paradigm is clunky, and feels more like building a stack of cubed blocks. Sure you can go as high as I want so long as you don’t run out of blocks, but that’s really the limit to the viable things that you feel like can build.

If you’re using these “component-based” systems for something like a CMS, you feel like you’re building a Duplo tower with blocks made for a toddler. Sure you can build something big, and even mix and match some colors, but in the end the guardrails really ensure that’s about all you can build. The reason users use things like CMS’s is for powerful, WYSIWYG inline HTML-building. On the surface, components help with this, right up until the point where you try to build something with them. Then you start missing the ease-of-use of an old-school CKEditor.

I don’t know where this “it’s all components” trend started, but I can only guess people are still building user interfaces around it because those people have never actually used such an interface. It’s chunky, clunky, and makes users feel less powerful than before. It’s easier to use only if you didn’t want to be able to do as much, and I’ve yet to see a version that doesn’t render like absolute dog crap. For anyone thinking of rebuilding their UI, take this trend as an example of how not to do things.

 Posted by at 11:45 AM