In this episode:
Feeling overwhelmed with your web design project? Too many things to keep track of? Today Sean shares the system he uses to manage projects — keeping him focused on solving problems instead of worrying about what he’s missing.
Subscribe With
iTunes • Overcast • TuneIn • Pocket Casts • RSS
Show Notes & Links
Apps & Tools Mentioned
Designing like a Mathematician
Whether it’s designing a website, a mobile app, or something in between, there are five parts to the design equation: Constants, Variables, Constraints, Maximums, and Minimums. When confronted with a large project, it’s helpful to identify what bucket each element of the screen falls into. From there, it’s easier to iterate and refine towards a final solutions. So let’s explore these in a little more detail.
But before we can explore those ideas in more detail, there’s one methodology that will help you out immensely: Atomic Design
Unlike print design, designing digital products, e.g., websites, apps, lend themselves to so many variables that are outside of your control that it can get overwhelming.
But First, Biology and Atomic Design
Atomic Design is a concept that Brad Frost first presented in 2013, and has been refining ever since — even creating Pattern Lab, a tool to help implement this approach to front-end web development. It breaks down the web page into 5 different building blocks:
- Atoms
- Molecules
- Organisms
- Templates
- Pages
The idea behind Atomic Design is to create reusable patterns through combining atoms, molecules, and organisms to create templates. With these templates, they can be translated into specific pages. The deeper dive into what each group is, and how it’s defined can be found on Pattern Lab’s about page. For a basic overview:
Atoms
These are the single solitary building blocks of a web page. These would be your headers (h1’s and h2’s) , buttons, and input fields. Just single entities that live by themselves.
Molecules
Take one atom, and combine it with another atom. There’s your molecule. It can have more than two atoms, but the goal is that the molecule performs one function, and it performs it well. Take a block quote with a citation at the end of it. That would be combining the block quote atom with the citation atom to create that molecule.
Organisms
Organisms are combinations of molecules and/or atoms. The best example of an organism would be a header. You have navigation (atom), a logo (atom), a search box, input text, and a search button (all together a molecule). This fits right in with what an organism should be.
Template
This would be a fully composed layout of what kinds of information should be displayed on the page, but not actually filled in with information. T
Page
Now, if you are to take a look at your Facebook Profile, you can see everything that I just mentioned, but filled out with content that makes it a real page.
Onto the Equation
Now that you know what atomic design is, and how it helps you to identify and design reusable patterns, let’s get into the nitty gritty.
Constants
When working in an agile environment, it sometimes feels as if the only constant is change itself. But within a project, there are things that become staples and will never change, or at least they hopefully won’t change for an extended period of time.
Constants can be items such as:
- Brand Logo
- Company or Product Name
- Color Palette
- Typography
- Existing Content
These are more or less the essentials to a basic website
Other than those basic fundamental parts of a web design, there are tons of other constants that are used within a website. With that being said, most constants will interact with variables. An example would be a button. Within that button there will be some string of text. That text is a variable.
Variables
Let’s continue with that button idea. The character length of the text that will be inside this button is unknown, so you should create guidelines as to what constraints there will be when writing text for this particular button. Taking a step back, the biggest variable is the dimensions of the canvas that your end product will be consumed at. With a website, that can mean anything from a 100x100px tiny screen to a 80 inch touchscreen television. If that isn’t daunting, I don’t know what is.
Luckily, there are some tried and true methodologies that have been created by some smart people to help manage the ever changing digital landscape. Such as Responsive Web Design by Ethan Marcotte, Mobile First by Luke Wrobelski, and Atomic Design by Brad Frost to name a few.
With native mobile apps, it’s a bit easier for iOS designers since there are only a handful of screen sizes, resolutions, and devices to really account for. And with the advent of Auto Layout, it helps apply the same fundamental ideas of Responsive Web Design to native apps. With this flexibility, it helps to design native iOS applications for devices that don’t yet exist, and accommodate for Multitasking on an iPad.
Designing for Android, Google has created something truly special with Material Design in attempt to make it easier to account for the huge variety in Android devices. And with Windows 10 around the corner, there are going to be some changes towards designing a Universal Windows Platform app.
Real Data Rules
If you’ve ever heard the quote “form follows function,” it’s not a lie. Well, at least not for things that are well designed. That’s why it’s so important to design with actual data as soon as you can. Not Lorem Ipsum.
The content of a web site drives everything. Everything that is implemented should be to elevate the content, help people complete whatever actions and needs they’ve set out, as well as balance it with the goals of the business.
These 18 Design Axioms that are put together by Involution Studios are a great set of principles to refer to, with this Axiom being my favorite.
When you have real content, it means:
- Less rework. The amount of time need to change what you’ve made is exponential relative to the number of changes and how complex the project you’re working on is.
- Less headaches when translating a design from mockup to code.
Sketch Data Populator is a plugin that compliments this idea of working with real information. With that, plus Mockaroo, you have yourself an inventory of data and a tool to leverage that data.
Constraints
These are the limitations within the project. Some examples could be:
- Browser Compatibility
- Operating System Support
- Performance/Size/Speed
- Bandwidth Concern
Other than technology constraints, there are the design constraints for both minimum and maximum values.
Maximums
When dealing with presentation of information, there are certain thresholds in place to help avoid things becoming a sprawling mess. When presenting a list of news articles, that entire organism could be made up of an image, a headline, a descriptor, and some metadata such as the author, time posted, and number of comments. During this process, there should be a content strategy in place, because if a news article had an headline that was 300 characters long — it would break the design. Establishing a maximum character limit would avoid that outlier from happening. For headlines that were longer than 60 characters, there could then be two headlines: one that will be seen on the actual article page, and the other be the shorter version that is displayed elsewhere on the website.
Using real data has been invaluable especially when it comes to user testing. If you’re working on an existing product, being able to test new designs with a real user with their real data yields an order of magnitude better insights and feedback. Something as simple as passing in a user ID, or having them authenticate their account and pulling a sampling of data allows users to react beyond the surface level of a design, and give profoundly better feedback about the viability and usability of a feature.
Minimums
When dealing with the web, there’s a whole landscape of devices and screen sizes. Having someone use their watch to view the page you designed isn’t out of the realm of possibility with some Android Wear devices. With that in mind it’s important to know how your website will appear in such circumstances. That’s where a mobile first approach to design is beneficial, and in how it is coded — using media queries to extend the design beyond the smallest screen sizes and device capabilities. Not the other way around.
Feedback
How did you enjoy this episode? We hope you loved it, but we're curious to know what you thought.