Designers and developers who want to create Oxwall themes and plugins need to read this overview before getting down to work. Oxwall employs its own unique approach to design. Here we put together principles that we used when developing Oxwall design framework.
1. Plugin-theme common design language
We developed and standardized design language that plugins and themes should use. This is a set of controls, CSS classes, decorators, and interface paradigms that should be safe to follow when you want to create a compatible plugin or theme. You can ignore those at your own peril if you do some ad-hoc work with Oxwall but if you plan to develop some work that is to stay you should care about that.
If some themes and plugins found to be incompatible it means somebody didn't follow our guidelines. Needless to say, it's frustrating for users when something “doesn't work”. Since design is all about details it's really hard to get those straight, let alone cross-theme and cross-plugin. Following our guidelines will help you achieve that.
Non-complying will result in plugin and theme incompatibility, bad rates in Oxwall Store, and overall bad user experience. If you follow this language you will end up doing more development (fun) work and less maintenance (boring) work.
2. Product design is not template design
Oxwall plugins implement functionality that requires user interfaces. It is developer's work to get those right, according to Oxwall design model. Developing user interfaces is product design and is an inherent part of product development. Developers at Oxwall Foundation don't write a line of code before product designers come up with prototypes that are in line with with Oxwall design language. Theme designer's work in that matter is limited and is reduced to stylization of the pre-defined user interfaces.
This approach creates certain limitations for theme design but benefits are profound. You may have to go to great lengths to make an Oxwall site unrecognizable (primarily by hacking the hell out of CSS) if that's your purpose but the real world doesn't need this. Our approach will make all themes and plugins compatible. It will make websites robust and and their looks integrated - free of unfinished, unoptimized details. Making it safe for users to install and upgrade any plugins and themes is our priority. Make it your priority, too!
This approach is different from what you may find in Wordpress. Because of the limited scope they could get away with themes providing all markup and direct function calls. Oxwall functionality is vastly broader, so we created a robust bridge between themes and plugins to bring the order to the heap of 3rd party work.
User interfaces employ standard tools that themes implement. Product design is the main part of the overall design, while theme design in only the icing on the cake.
3. “Undesigned” minimalism
Simplicity is the ultimate sophistication. - Leonardo Da Vinci
A lot of what we call product design lies in optimizing and simplifying functionality, making as little elements for every purpose as possible. Sometimes we even remove features. When you implement a plugin or a theme the questions to ask yourself are:
All of this should be implemented in an “invisible” way. This world already has enough complex software and a lot of what people call web-design serves the purpose to “wow” users. This is not what we do. There should be less “software” and less “design” in everything.
Instead of creating the product that tries to impress we are creating the one that works. If you develop a them or a plugin as a part of this product you are welcome to follow our lead.