On Why I built a Responsive Framework

Why?

One of the things a work on in my spare time is a responsive framework. You might have already seen it.

A few people have asked my why I built it, as there's already several popular frameworks out there. There's one answer I give every time:

Because I needed it.

Complexity

The other, sadly more popular frameworks, are great pieces of work. A lot of effort has gone into building and testing them and they do a pretty good job for the most part. They all have the same problem though - They're all too design opinionated.

If I'm building a website the last thing I need to do is overwrite styles that have already been added by the base stylesheet. Every single change that you have to perform introduces greater opportunity for error and adds weight to the websites resources. Each change also introduces complexity and makes a website more difficult to maintain.

That's the last thing I need when I'm working with a tight deadline hanging over me.

Avoiding the issue of opinionated design has been paramount in the development of Responsive. Every bit of CSS has been coded specifically not to force excessive styles on the developer. Only the required code is present to provide the functionality to build a cross-browser responsive experience

Accessibility

Another issue that isn't handled properly with other frameworks is accessibility. There's been meagre attempt to remedy this from other frameworks but for the most part they are a mess. I needed something that would handle the greater bulk of accessibility requirements without the developer having to do anything additional. As a result, every JavaScript component within Responsive handles the creation and manipulation of ARIA attribution to ensure that its behaviour is accessible to screen readers.

Internationalisation

None of the frameworks that I am aware of have support for right-to-left languages built in. Developers shouldn't have to jump through hoops to do this. Grids, floated and positioned elements should switch, touchable components should reverse their behaviour, and directional keyboard events should reverse their behaviour all with the minimum of change required by the developer. Responsive allows you to switch this by adding the attribute dir="rtl" to the html element*

In Summary

By now you should see why I created the framework and why both you and I should be developing our websites both responsive and fixed with Responsive. Web development has never been more complicated, we're trying to do so much more with less time and more devices than ever before and we need the best setup possible to ensure that we can build performant, flexible, accessible sites. So give it a go, you'll be surprised at how much there is to offer.

* There has been conversation with other developers based on an outdated information in this article that states that we should not do this as it reverses the position of the scrollbar in certain obsolete browsers. Instead, we should hack the document by adding a child element to the body setting the attribute on that. In my humble opinion that is ass-backwards (pun intended) If there is a browser bug in any of the non-obsolete browsers report it, don't hack around it.

comments powered by Disqus