Ten years ago having a super-talented web designer in a team might seem a little nice-to-have thing. Sometimes the web developer himself/herself was also responsible to prepare a couple of mockups, crop some images in Photoshop, choose some colors and fonts on his/her own and many more.
Today with all this craziness and hype around UI / UX, a team probably starts with the designer. Maybe you think that Ι am overreacting but I bet we all agree that he/she is a really important piece of the puzzle.
Nowadays designers are responsible to provide mockups about any new idea. They discuss first with the project manager and then they try to give life to these brand new features probably in Sketch or Photoshop. In the end, they upload their work live so that the rest of the team can gain access and start implementing them to HTML/CSS.
It is obvious that great communication and collaboration are really important here. Every team member has a specific role and is responsible to cooperate with others smoothly.
So how can the designer make the life of his/her colleagues easier? How can he/she prepare the ground in order to accelerate the implementation of his/her designs? How can he/she use a common language with the developers?
The truth is that a designer should be aware of many more things and technologies in order to achieve these. Being strong in Photoshop doesn’t assure that. Let’s see some technologies that every designer should take advantage of:
Use a Grid
Every modern web application should be responsive and fluid in order to look good across all screens sizes and devices. We need a Grid system to achieve this so it is really important to discuss with the rest of the team and decide what Grid suits well for an app, what are the dimensions of the container, how many columns you will use 12 or 16, how wide should be the gutters, what are the breakpoints per device etc
Stick to the Grid
After deciding to use a Grid it is really bad to start misusing it. Don’t use 2.7 or 3.2 or 4.9 columns to present sth. Use 3 or 5. The rest are funny since you have already decided to use a grid so you should follow it.
Another example is when you have a sidebar in some pages and you provide different width per page for the same sidebar. This is not good. If you add a sidebar in this page that possesses 4 columns stick to that. Don’t add the same sidebar in another mockup with 3.5 columns width. This sucks.
Create a palette and provide variations for all actions colors too. Don’t let the developer ask you what are the colors for success, error, warning, info indications etc
These should be provided right from the very start alongside with the basic color palette.
This is a really important part of your work. You will include there every little detail like fonts, colors, forms inputs styling, buttons details across all states etc
You can take it a step further and provide details about collections of smaller components. These are forms, modals, navbar, footer etc
All these will help the engineers to turn your mockups to HTML/CSS a lot faster and will save you from tons of questions and misunderstandings.
Use hotspots to make your designs flow much more clear to the engineers. Remember that designs are 2D so most of the times it is difficult for another person to get what’s going on when looking at them. This becomes worse if heavy interactions take place. It is much easier for the developer to go back and forth after using some hotspots and see how the state gets updated based on his/her own clicks.
These will also save you from lots of calls, discussions etc where you will have to explain how a simple button works etc. An image is worth a thousand words right?
These are god-send gifts. People created these so that we stop torturing ourselves with CSS and speed things up. If your team is aware of Bootstrap, Foundation, Bulma etc it will be really smart if you decide to use one of these. That way you can take under consideration how things work over there and prepare the right components accordingly. It will benefit both of you and the designs-to-css process will become faster.
If you are not aware of a CSS Framework and the rest of the team is experienced enough, don’t hesitate to use it. In fact i highly advise people to do so in order to learn and master a new technology that will make them even more valuable in their teams.
If you do so, remember that each framework has its own specific details like breakpoints, containers sizes etc. Most of the times these can get easily customised. Nevertheless, it is wise to specify all these little details after selecting a particular CSS Framework in order to avoid potential confusion.
We live in the components era so it will be wise if you think about it some more in advance and create re-usable components across your designs. That way the engineers will avoid repeating themselves and will end up with maintainable and re-usable pieces of code.
Some typical examples are Buttons, Modals, Cards, Tabs, Forms, Lists, Tables, Spinners, Tooltips and many more.
Being consistent is really important so that the final result is appealing and the end user knows how sth works and what he/she expects after interacting with an element in another page. The codebase should be full of re-usable components that share the same look and feel. Don’t put the submit button 50px below the last form’s input here, 150px there and 200px somewhere else. It sucks. Details like these should be part of the styleguide.
If you end up with a project that has thousands of CSS overrides here and there then the codebase is not that maintainable anymore. Remember that CSS is a vital part of the application.
The truth is that designers have a huge impact in the CSS implementation even if the engineer is a css-guru. That’s why consistency is crucial.
Remember, performance matters a lot.
Prepare svg icons and icon-fonts library for your application. Using png and jpeg images for these is a bad choice and will give you an awful result in retina screens. All these should look modern and sleek in order to make the templates really good-looking.
There are also lots of choices in the web. If you don’t have the time to create a collection you may choose one and share it with the rest of the team. Ok 1 not 5 though 😃
We have tons of options in there so why don’t we use them right? Pick wisely your go-to font-family, make your template’s typography more spicy but do not overdo it. Using 3 font-families will affect the performance of the application in a negative way.
Preview regularly in real scale
While working with tools like Sketch etc it is important to preview regularly how a mockup looks like in a real screen. It is really difficult to avoid scale issues if you don’t be careful especially if the mockup itself is really big.
Establish a studying pattern
Yes you got it right. Designers should also establish a studying pattern. Why? Because new techniques arise every now and then so you should stay informed about them.
Take for example material design. There are so many little details in there that force you to study hard and take notes in order to get it right by following the main principles effectively.
Also it is important to read blog posts about UI/UX re-designs and improvements since you will be asked quite often to provide a fresh skin for the same application after some time or so.
Check other designers work
This will help you a lot to see what other designers do to approach various topics, how they combine some colors, what techniques they use etc You can visit webpages like dribbble.com, sketchappsources.com, muz.li etc and get tons of fresh ideas.
Remember that your role is not just to design mockups. You should also track latest trends and make proposals to improve your applications UX. To do so you need tons of ideas.
This is the ultimate skill. A designer who knows how to implement his/her mockups and pays attention to the implementation details early enough before the HTML / CSS process starts, is a real unicorn.
This skill will save you from lots of pitfalls and will make you a star-member of your team even if a developer and not you, will turn your designs into HTML / CSS.
The difference with ignorant designers is huge. You will foresee potential issues, avoid being inconsistent and start paying attention some more to other important things such as performance, CSS volume, unnecessary styling overrides etc It will definitely give you a totally different perspective.
After all the ultimate goal is to present all these to the end-user. The HTML / CSS implementation is the one that gets presented so it should look fabulous. All this work is done so that all these mockups you prepared will become accessible to the users through a monitor, a mobile device etc. This might seem so obvious but people tend to forget about it.
So as we get, being a great web designer is quite complicated and demands lots of extra skills and the right mindset. The designer is a really important member of a web development team. His/her main concern should be how to give life to an idea. Not in the paper but in the monitor after a mockup is turned to HTML/CSS no matter if he/she doesn’t make the implementation. That said he/she is responsible to make this part of the process as smooth as possible to the rest.
He/she should think ahead and provide details about all these tiny interactions from the users point of view so that the rest team members know exactly what the final result should look and function like.
Last but not least if you really want to become a rockstar web designer start studying hard and learn how to turn your own mockups into HTML/CSS. Trust me, this will teach you a lot and you ‘ll start acting proactively after you master this skill. Cheers!!
If you found this interesting, you can follow me on Twitter at @fakiolinho. Check out some of my other articles below: