Flag

We stand with Ukraine and our team members from Ukraine. Here are ways you can help

Get exclusive access to thought-provoking articles, bonus podcast content, and cutting-edge whitepapers. Become a member of the UX Magazine community today!

Home ›› Design ›› Design 101 – for programmers

Design 101 – for programmers

by William Schleifer
4 min read
Share this post on
Tweet
Share
Post
Share
Email
Print

Save

Programmers need get in touch with their inner-designer to develop better applications

Programming is an underappreciated art form. It is there, in the background, invisible to but a few people who usually are looking to fix it, copy it or simply understand it.

A successful human interface can make the most complex functionality work at the click of a button which in turn keeps the code hidden from the end user. Since the UI is the only way programmers can share their craft with most end users they have to come to terms with the fact it is immensely important to them.

Time and time again I’ve come across systems powered by very clever coding be criticized on first impressions because of the lack of proper “skinning”. That reaction is understandable. Indeed, most people shouldn’t have to understand the complexities (sweat and tears even) that go into building that modular 8 page data entry form, or the amount of database retooling developers have to go through every time they say “You know what, we need to store the XYZ and the ABC that goes with it”.

What people do understand is the way the buttons react, the layout of the tools, the clarity of messages. This is the finished product and the only way most users will get to determine whether a system can or cannot help them. The coding and design go hand in hand. When developers say “this is ready to demo” we should make sure that what we show is close to the final this. Developers have to take a step beyond just writing the code and get involved in the process of creating the human interface. Similarly, designers need to work with developers to create standards and guidelines that will bridge the two skill sets hopefully resulting in better applications (and far less arguments).

Being a space shared by developers and designers, Netymology has developed some ground rules that we mostly try to stick to:

Semantic for the people. While coding output templates try to add basic classes to elements. Give them standard names (possibly ones you have agreed with the rest of the team). No need to get too hung up on this, things can be changed but looking through code for something with the class “help” is easier than looking for some obscure code snippet, especially for a designer.

Make all messages in the UI meaningful. In the chaos of a project, small temporary fillers can be overlooked and can be embarrassing to have a customer call you after seeing a tooltip that says “Thing that makes the thingy work” 2 weeks after launching. It doesn’t take a lot more effort to put in “Please enter your phone number”.

Set a glossary of terms to use throughout the application. This will also help when you’re naming variables or database fields and prevent things like “items” and “products” being used to describe the same thing.

Do some usability testing. Obvious? We’re a small shop and don’t have a dedicated UI department, but we try to get as much feedback from people in the team to see if the layout makes sense, even in early barebones states. Sometimes when you’re busy coding, looking at the same screens everyday can make you miss the bleeding obvious like a missing link or logout button.

Make things look nice. Or at least decent. If you can’t get a final design working on time, go minimal with a base CSS. Make fonts and buttons clean (padding goes a long way) and try to put in customer logos whenever appropriate. Use white backgrounds and black and grey sans-serif fonts. Don’t use Comic Sans no matter how appropriate you think it is. Try to add small icons in buttons when you think a page looks bland. You can find a ton of fantastic free icons on FamFamFam or the Tango Project.

Visualise. If possible try to draw out how an application is going to look. Make an HTML mock-up, discuss it with others. Get a whiteboard, doodle, scribble, colour, whatever. In many instances a tangible representation will do a better job than the most detailed chart at spotting a flaw. Cut and paste elements from existing sites which you feel work. Get that image out of your head and share it with others.

Don’t $#^ing swear. Never put something in a source comment that isn’t meant to be read publicly (this goes for things like “$#%ing thing took me all day to do!”). Admittedly, code usually remains obscure but we have all come across instances where a server misconfiguration led to code being displayed instead of the generated page. Funny? Often. Embarrassing? Always.

Truthfully, I break these rules regularly but find that everything works out better when I don’t. If anything, thinking, even on a basic level, about style and design allows you to visualise outcome better which in turn helps the coding process.

While we’re on the subject, we are developing a very basic clean stylesheet for programmers to use while developing web applications. It will define some clean, basic classes for most circumstances such as error messages, forms fields, and buttons. If it’s good enough we might be inclined to release it together with links to free icons and tools. What would you like to see on your clean sheet?

post authorWilliam Schleifer

William Schleifer
This user does not have bio yet.

Tweet
Share
Post
Share
Email
Print

Related Articles

Discover how digital twins are transforming industries by enabling innovation and reducing waste. This article delves into the power of digital twins to create virtual replicas, allowing companies to improve products, processes, and sustainability efforts before physical resources are used. Read on to see how this cutting-edge technology helps streamline operations and drive smarter, eco-friendly decisions

Article by Alla Slesarenko
How Digital Twins Drive Innovation and Minimize Waste
  • The article explores how digital twins—virtual models of physical objects—enable organizations to drive innovation by allowing testing and improvements before physical implementation.
  • It discusses how digital twins can minimize waste and increase efficiency by identifying potential issues early, ultimately optimizing resource use.
  • The piece emphasizes the role of digital twins in various sectors, showcasing their capacity to improve processes, product development, and sustainability initiatives.
Share:How Digital Twins Drive Innovation and Minimize Waste
5 min read

Discover how venture capital firms are shaping the future of product design — and why experienced design leaders need to be consulted to ensure creativity and strategy aren’t left behind. This article delves into the power VCs hold in talent acquisition and team dynamics, highlighting the need for a collaborative approach to foster true innovation.

Article by Darren Smith
How Venture Capital Firms Are Shaping the Future of Product Design, & Why Design Leaders Need to Be Part of the Solution
  • The article explores how venture capital (VC) firms shape product design by providing startups with critical resources like funding, strategic advice, and network access, but often lack an understanding of design’s strategic value.
  • It discusses the impact of VC-led hiring practices in design, which can lead to misaligned job roles, undervalued design leadership, and teams focused more on output than innovation.
  • The piece calls for a collaborative approach where design leaders work alongside VCs in talent acquisition and strategic planning, establishing design as a key partner to drive product innovation and long-term brand success.
Share:How Venture Capital Firms Are Shaping the Future of Product Design, & Why Design Leaders Need to Be Part of the Solution
8 min read

Discover the journey of design systems — from the modularity of early industrial and printing innovations to today’s digital frameworks that shape user experiences. This article reveals how design systems evolved into powerful tools for cohesive branding, efficient scaling, and unified collaboration across design and development teams. Dive into the history and future of design systems!

Article by Jim Gulsen
A Brief History of Design Systems. Part 1
  • The article offers a historical perspective on design systems, tracing their origins from early modularity concepts in industrial design to the digital era, where they have become essential for consistent user experiences.
  • It highlights the evolution of design systems as organizations sought ways to streamline UI and UX elements, allowing teams to maintain cohesive branding while speeding up development.
  • The piece draws parallels between the development of design systems and pivotal moments in history, especially in print technology, where breakthroughs transformed access and consistency. These precedents show how modern design systems evolved into essential tools for business value.
  • It emphasizes how modern design systems empower teams to scale efficiently, fostering a shared language among designers and developers, and promoting a user-centered approach that benefits both businesses and end-users.
Share:A Brief History of Design Systems. Part 1
16 min read

Join the UX Magazine community!

Stay informed with exclusive content on the intersection of UX, AI agents, and agentic automation—essential reading for future-focused professionals.

Hello!

You're officially a member of the UX Magazine Community.
We're excited to have you with us!

Thank you!

To begin viewing member content, please verify your email.

Tell us about you. Enroll in the course.

    This website uses cookies to ensure you get the best experience on our website. Check our privacy policy and