Learning how to code a website can be an overwhelming task. It is even more challenging if you are not comfortable with programming languages. However, learning how to code a website is simple if you use the right guide. In this article, we will look at simple web design for beginners with an HTML page template. It is one of the easiest ways to code a website. This process will help you save time when trying to develop a dynamic website for your visitors.
Before we start coding, let us try to understand the ideas instilled in the design. Ideas can further divide into a few segments, and we want our final product to showcase all these ideas. The segments that we commonly use are:
1. Layout-level patterns – replicating layout ideas and the entire grid.
2. Element-level patterns – headings, text sizes, fonts, icons, button sizes.
3. Colour palette – the name is enough
4. Structural concepts – the organization of sections apart from the layout.
5. Everything else – ideas present in a single component.
Illustrating the patterns in this manner is essential to understand our CSS approach. It also helps choose suitable HTML elements and start conversations with the designer or other team members. Accessing the design source files, sections, and layers will help you understand the designer’s thinking. It will come in handy when you want to discuss particular areas.
A step-by-step guide to turning design into codes:
This section will show how you can optimize your design-to-code process and make it easier for your team to follow the process. We have listed the process to assist designers design for the end-user and the developers to get their work done in the most efficient way possible. Let us find out how:
1. Dev Team Inclusion from the Beginning
We are not saying that developers should interfere with everything going on in the design phase. But, including just the lead developer from the design phase is enough. In this way, the designer will be aware of the limitations depending on the technology used and the timeframe available. For instance, it isn’t easy to stick to a single design in Android applications. The designers have to be reminded to think about Android specifications, so there is minimal design rework. Or, the final result will be an application that doesn’t look and feel right when compared with the original design.
Some frameworks include pre-existing font icons with set components and distinct layouts along with margin settings. For example, the dev team will use Bootstrap and as a designer if you start working on the design without this information. This means there will be inconsistencies like margin settings in your artboard that are different from the margin set in Bootstrap. The designer must know which framework will be used to develop the code to make appropriate design decisions.
2. Responsive Templates
For all new projects, designers must always have three different templates for mobile, tablet and desktop. This is the least that any design team could do. Sometimes, a developer gets a design with single screen size, and the requirement is to build a responsive website. This will waste precious time of the development team, and it will not go well with your client.
At Nimblechapps, we design on a grid system, as you can easily create multiple screen breakpoints. Simultaneously, it enables you to respond to screen sizes slightly smaller or larger than your breakpoints. If you want to take this one step further, you can start using Auto Layout. It is an essential Sketch plugin that will be a blessing in disguise for your design team. The tool enables you to design responsive layouts for all screen sizes by changing pixels into percentages, which the developer can export into HTML.
3. Create a Design System
If you do not have a design system, it indicates that your design will have some irregularities to an extent. The unclear design will not please the development team, as they will have to build messy, complex components to honour that design. This also means that you are wasting the development team’s time which could be used better. Moreover, further development changes will be complex, and you will need to maintain a heavier code base. Alternatively, a uniform design system will help you keep the design and development team on the same page.
A design system is an extensive list of the reusable components and layouts organized, each serving a specific purpose. It helps ease out the future UI and UX changes too. These are the things you should pay attention to when creating a design system:
- Style Guide – It is the canvas on which a design system is built. It consists of a colour palette, fonts, icons, CTAs etc, in your design. Without the style guide, it will be challenging to develop a uniform design for the project and add to the development team’s frustration.
- Naming Conventions – Each layout, component, asset and file should include a uniform label. It is best to avoid using generic names and labels. It is better to name the labels based on their function.
- Offering all possible states – It is good to ask instead of guess. Check all the error states, validation messages and disabled states for inputs and buttons that a user can come across.
4. User Flow
You are not just handing off the design screens to the development team; you also hand over the user flow. If you are not able to do it, it means you are making their work harder. If a designer is lost in the design, the development team will share the same feeling too. Story narration means informing the group what happens when a user clicks on a button, why they do it, what happens when they do it etc.
The development team will use this story to plan their strategy to build the app features. Hence, the design team must link all the screens together. You must not think that the development team will figure it out. If it needs to be done in a particular way, then they will need to be told as they do not mind readers. For design, tools like Figma or Sketch can be used to link your screens and create a working prototype.
5. Auto- Generate Visual Specifications
For a developer, it is always tough to imagine why a designer would hand off a project without using a tool that enables them to see the specifications for a particular component like margins, paddings etc. It is easy to auto-generate these specifications in a tool like Zeplin or InVision. It is easy and assists the developers in not wasting time doing pixel-distancing. And it is pretty common not to use this option or to forget about providing them proper access to see those specifications.
A designer should consider two things when it comes to assets:
- Store assets in a single place using a tool like Zeplin.
- Add SVGs whenever and wherever you can.
6. Maintain a Checklist
Many times, a product manager has to remind the development team about the last-minute design updates. It can be avoided by making a list of all the features and case scenarios included in the design. This happens when it is not adequately documented in the user flow or the design system.
If you can’t follow all or any of the above steps, it is not the end of the world. You can start by implementing some of these methods in your projects (one at a time). Even a single good practice will improve the collaboration between a designer and a developer. The guide has been created for ease of translating the design into code. A final recommendation from our side, we at Nimblechapps love doing post-handoff meetings, including all the stakeholders. This includes the project manager, the developers and the design team.
Typically, the project manager and the development team conduct timely meetings, but they focus solely on meeting the deadline. The design team in this meeting can compare each product build against the final design. Moreover, they can also identify what practices could be implemented in the future. Let us know what you think about this guide? Do you follow a specific design to code guide in your business? We would love to hear from you.
Dhruvil is a marketer for Nimblechapps, an app development solutions company joining December 2014, based out of Sydney, Australia. He has worked briefly as a Branding and Digital Marketing Manager before moving to Australia. At Nimblechapps, he worked on Social Media Marketing, Branding, Email Marketing and Blogging. Dhruvil studies Business at University of Western Sydney, and also handles Operations for the company in Australia.