Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

No Script: The Conflict In Design

DZone's Guide to

No Script: The Conflict In Design

· Web Dev Zone ·
Free Resource

Deploy code to production now. Release to users when ready. Learn how to separate code deployment from user-facing feature releases with LaunchDarkly.

I have a question for you. When you design the front page for a business or the UI for a web application do you think about how to represent the functionality with JavaScript first or without?

Before you answer let me paint a picture for you. Say you are designing a site for a client. The client wants lot’s of interactivity in the site, the sort of features that JQuery
and JavaScript handle really well. And the site will have millions of visitors a month. One of the many requirements the client has is that the site should implement some form of progressive enhancement. If someone with JavaScript turned off looks at the site, the site should still function in more or less the same way.

So how do you go about designing the site? Yes start with a picture, after all they say a picture is worth a thousand words. But after that, when you come to think about the functionality, where do you start? With thinking about implementing the functionality without JavaScript and then using JavaScript to make the experience more interactive? Or maybe start with the functionality implemented with JavaScript and then work out how to make the functionality work if JavaScript is turned off?

So I have a product in the works. The product is a WordPress Plugin for managing Taxonomies and managing the taxonomies you have on posts. As I wanted to implement progressive enhancement within the UI of this plugin I started off the design thinking that I would add on the JQuery layer simply to make the UI a bit more interactive, as the final stage in the project.

However as I came to the end of the project I found that I had gone down a route which stopped me from implementing the features that I originally wanted to add. And I found that the user experience was not as pleasant as I had hoped for. The functionality was the same, but the experience was not as good as it could have been.

This set me to thinking. What would have happened if I had looked at the design from a JavaScript first and then with no JavaScript instead? I would still have achieved my desire to implement progressive enhancement, but I think I would have had designed a user experience which, to my mind at least, would have been a lot better.

The lesson?

Well I think my lesson here was that you should always take time to look at the problem from both angles. So I think for version 2 I might look at the UI design from a JavaScript perspective first, rather than a no JavaScript perspective. But I will still keep in mind that I am designing with the intention of implementing progressive enhancement and how the site would work with no script.

Deploy code to production now. Release to users when ready. Learn how to separate code deployment from user-facing feature releases with LaunchDarkly.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}