Design+Code logo

Quick links

Suggested search

Icons, Typography, and Styles image 1

Dark Mode

Dark Mode has become increasingly popular among users for its sleek appearance and the benefits it offers, such as reduced eye strain in low-light conditions and potentially saving battery life on OLED and AMOLED screens. For a smart home app, incorporating dark mode is not just about following trends; it's about providing a user-centric experience that respects user preferences and environments.

  • Contrast and Readability: Ensure your text and UI elements stand out against the dark background without causing glare. A subtle contrast, rather than a harsh one, often works best.
  • Color Usage: In dark mode, your color palette needs to adapt. Use desaturated colors to avoid vibrancy overload, which can be jarring against dark backgrounds. Accent colors should be used sparingly and thoughtfully to highlight important information or actions.
  • Backgrounds: Choose a deep, dark color for your app’s background. Pure black (#000000) can create a stark contrast, which might be too intense for some users, so consider using a slightly lighter shade of black or dark gray such as (#080B1C).
  • Embracing Shadows and Depth: Proper use of shadows can help create a sense of depth and hierarchy in your app. In dark mode, lighter elements can float above darker backgrounds, so adjust shadow properties accordingly to maintain visual consistency.

Icons, Typography, and Styles image 2

Typography

Typography in app design is not just about choosing pretty fonts; it's about readability, accessibility, and setting the tone for your smart home app. Effective typography guides users seamlessly through their in-app journey, making interactions feel intuitive and effortless.

  • Font Choices: Opt for legible fonts that work well in various weights. San-serif fonts are generally preferred for digital screens due to their readability. Also, SF Pro is an excellent choice for iOS applications. It's designed specifically for Apple platforms, offering a range of weights and styles that ensure text is easy to read and looks great at any size.
  • Hierarchy and Layout: Use font sizes, weights, and colors to establish a clear hierarchy. Headlines, body text, and captions should be distinctly different, guiding the user’s attention naturally.
  • Responsive Typography: Ensure your typography adapts to different screen sizes and orientations. Dynamic Type on iOS allows users to adjust font sizes based on their preferences, so your app design must be flexible to accommodate this.

Icons, Typography, and Styles image 3

SF Pro Font

We're going to use SF Pro, Apple's official font for iOS, macOS, and tvOS. Designed for clarity and readability on all devices, it offers various weights and styles, such as Bold and Light, making it suitable for both text and user interface design. SF Pro supports multiple languages and is optimized for screen and print, available for designers to ensure a consistent look in apps and websites that aligns with Apple's style.

Icons, Typography, and Styles image 4

Icons

Icons are more than just decorative elements; they're tools of communication that transcend language barriers. In a smart home app, icons help users quickly identify functions and controls, making the user experience more intuitive and efficient.

Icons, Typography, and Styles image 5

SF Symbols 5

We will use icons from SF Symbols 5, the system font for Apple platforms. With over 5,000 icons, we can find anything we want. Symbols come in nine weights and three scales and automatically align with text. They can be exported and edited using vector graphics editing tools to create custom symbols with shared design characteristics and accessibility features. SF Symbols 5 introduces a collection of expressive animations, over 700 new symbols, and enhanced tools for custom symbols.

Icons, Typography, and Styles image 6

Temperature Control

We've finished with the thermostat. This is the most complex and time-consuming part of our design. Now, we're going to design the temperature control for our thermostat app. This part lets users easily change the temperature with simple plus and minus buttons. We'll make sure the buttons are easy to use and show changes right away, so users can quickly set the temperature they want.

Icons, Typography, and Styles image 7

Placing Plus and Minus Icons

  • Locate the temperature control area at the bottom of your thermostat design.
  • Place the plus and minus icons on polygon shapes, ensuring they are centered. Icons, Typography, and Styles image 8

Filling and Outlining Polygons

  • Fill the polygon with a white linear gradient to create visual depth.
  • Place one end of the gradient opposite the polygon's edge and set its opacity to 0% for a seamless blend with the background.
  • Keep the other end of the gradient at 100% opacity to ensure a clear definition.
  • Adjust the polygon's opacity to 10% for a subtle effect that enhances the overall design without overpowering it.
  • Add stroke to the polygon and apply the same white linear gradient as used for the fill.
  • Set the stroke's opacity to 60% to enhance its visibility against the background.
  • Use the overlay blend mode for the stroke to ensure it blends smoothly with the dark background, avoiding harsh lines.
  • Repeat the process for the other polygon. Icons, Typography, and Styles image 9

Adding Text

  • Press "T" to use the text tool. Type "20 degrees Celsius". Choose the "Title, Emphasized" style with SF Pro Bold and a font size of 28. This is the main temperature display.
  • Duplicate the temperature text. Change its style to "Footnote/Regular", reduce the opacity to 60%, and update the text to "10°".
  • Make two more duplicates, changing the text to "20°" and "30°". Place these duplicates at the top, left, and right of the main temperature, aligning them neatly. Icons, Typography, and Styles image 10

Gradient Button

We're designing a sleek "Thermostat Schedule" button for our interface, essential for easy access to scheduling features. This button streamlines interaction, enabling users to effortlessly manage temperature schedules, enhancing usability and satisfaction. Its presence ensures efficient customization, contributing to a seamless experience within the app.

Icons, Typography, and Styles image 11

Add Text and Auto Layout

  • Press T on your keyboard to select the Text tool.
  • Click on your canvas to start typing and enter "Thermostat Schedule" as your text.
  • Apply the Body/Emphasized style from the Apple UI kits.
  • With your text selected, press Shift+A to add Auto Layout to your text frame.
  • Resize the frame to 390px in width and 44px in height to ensure it has sufficient space around the text for visual appeal and interaction.

Icons, Typography, and Styles image 12

Add Linear Gradient

  • Select the frame you've just adjusted and fill it with a linear gradient. Make sure the gradient is applied vertically.
  • Add three color stops to your gradient:

    • First stop: Color code #00D7FF.
    • Second stop: Color code #026DFF.
    • Third (last) stop: Color code #090F26.
  • Position the last color stop (the dark color) below your text, aligning it with the baseline of your text. Set its opacity to 70% to create a subtle overlay effect.
  • For the frame containing your text and gradient, round the corners to 30px. Icons, Typography, and Styles image 13

Incorporate Rectangle Element

  • Select the rectangle from the wireframe and place it inside the button layout.
  • Activate the absolute position for the rectangle to override the auto-layout flow, ensuring it doesn't disrupt your design.
  • Center the rectangle within the parent layout to maintain symmetry.
  • Fill the rectangle with white color and reduce its opacity to 30% to blend it subtly with the background use Overlay.
  • Add a stroke with a linear gradient of white to enhance its visibility and aesthetic appeal. Set the stroke type to overlay.
  • Finally, add a background blur of 20 to the rectangle. This will make it blend more seamlessly with the button's background, giving it a sophisticated, frosted look.

Icons, Typography, and Styles image 14

Navigation Bar

We'll continue where we left off and create our navigation bar generally used for navigation, it allows users to move from one view to another or from one state of the application to another. We'll need icons for "mode, humidity, fan and timer".

  • Choosing Icons: We need icons for "mode", "humidity", "fan", and "timer".
  • Icon Size: Adjust each icon to be 24 pixels in size for clarity.
  • Placing Icons: Position each icon inside a square frame that measures 44 pixels on each side, ensuring the icons are easily clickable.

Icons, Typography, and Styles image 15

Utilize Predefined Text Styles

Text Styles are predefined sets of attributes for text, like font, size, and color. They ensure consistency across designs, save time by allowing quick application to text layers, and can be updated globally. They help keep typography organized and consistent throughout projects.

  • Adding Text Labels: Use the Text tool (shortcut ‘T’) to add a label under each icon, starting with “Mode.”
  • Text Style: Change the text to “Callout/Regular” style, and make it white.
  • Text Visibility: Set the text opacity to 60% to make the icons stand out more.
  • Applying Auto Layout: Select the icon and the texr. Use auto layout on these groups to manage their arrangement.
  • Auto Layout Settings:

    • Adjust the width of the auto layout frame to 82 pixels to fit both the icon and label.
    • Set a 4px gap between the icon and label.
    • Add 20px padding at the top and bottom, with 10px padding on the sides.
    • Apply a 16px corner radius for a soft, rounded look. Icons, Typography, and Styles image 16

Styling the Group

  • Coloring the Group: Apply a background color named "container 2" to the group.
  • Adding an Edge: Outline the group with a stroke called "outline container 2" for a distinct edge.
  • Copying for Other Icons: Copy the group you made for the "Mode" icon.
  • Adapting for Other Categories: Replace the icon and label in each copied group to match the "Humidity," "Fan," and "Timer" categories, respectively.

Icons, Typography, and Styles image 17

Top Navigation Bar

We need a top navigation bar in our app. It's crucial for guiding users through the app and giving them easy access to actions and features they need. Instead of starting from scratch, use the pre-designed icons. For the back navigation, use a chevron icon, and for thermostat settings, use a gear icon. On the third page, add a chevron for navigation and a bell for notifications. For the first page, we'll use the navigation bar from my assets page.

Icons, Typography, and Styles image 1

Status Dashboard Card

We're going to create the Status Dashboard Card. The card essentially helps the user to quickly understand the current weather conditions both inside and outside, as well as the battery level of a relevant device, all of which could influence decisions such as adjusting the heating or charging the device. We’re going to play with icons and different text sizes. We'll also experiment with typeface weights, such as bold and regular.

Icons, Typography, and Styles image 2

Outdoor Temperature Card

  • Start with a sun-snow icon, resizing it to 24.
  • Type the temperature next to the icon using the Title 2/Emphasized style.
  • Below the temperature, add the word "Outdoor" using the Callout style in regular weight.
  • Group the temperature and "Outdoor" text, applying Auto Layout.
  • Combine this text group with the icon in another Auto Layout, setting both horizontal and vertical padding to 20.
  • Duplicate the container. Icons, Typography, and Styles image 3

Creating a Separator

  • Use the line tool to draw a separator. Fill it with a white linear gradient, including three stops. Make the ends transparent (0% opacity) and the middle fully opaque.
  • Blend the separator with the background using the overlay setting. using the overlay setting. Icons, Typography, and Styles image 4

Finalizing the Layout

  • Select the two containers, and the separator, add auto layout. Center-align the layout.
  • Duplicate it for another set of information and group these layouts using Auto Layout, with a gap of 0.
  • Adjust the parent container to 390 in width. Ensure the child containers resize to 'Fill container.'
  • Label your layers appropriately for clarity.
  • Duplicate the layout for additional data.
  • Combine the duplicated layouts into one Auto Layout, setting the gap to 0.
  • Ensure separators are set to 'Fill container' for uniform appearance.
  • Apply the Container 2 style for background fill and Outline Container 2 style for the border. Round the corners to 20 for a sleek look.
  • If a separator is missing, copy one, rotate it to 0, and integrate it into the layout, setting its size to 'Fill container.' Icons, Typography, and Styles image 5

Current Energy Usage Card

Now, let's go to the Smart Home Dashboard, we're going to create the Current Energy Usage Card.

  • Title: Press "T" to add "Current Energy Usage" as the title. Style it with Body/Emphasized.
  • Timestamp: Add "9:41 AM" next to the title on the right, using footnote/regular style.

Energy Usage Display:

  • Show "2.1 kW" in the center, using Title 1/Emphasized and blue color (59B4F7).
  • Add a description below: "Your home's power draw at this moment." Use body/regular style, white color, and 60% opacity.

Supplementary Data:

  • Place an energy icon near "24-Hr Usage" in callout/regular and show "48 kWh" next to it in Title 2/Emphasized.
  • Add a cost icon with "$5.20 Estimated Cost" next to it.

Organize with Auto Layout:

  • Use Auto Layout for the title and timestamp, aligning them left
  • Also apply Auto Layout to the icon and text pairs, setting an 8px gap.
  • Duplicate as needed for other data.
  • Use a separator from the Status Dashboard Card if needed.
  • Group all related items (like energy usage and its description) in Auto Layout, maintaining an 8px spacing.

Style Adjustments:

  • Remove any extra rectangles.
  • Apply a fading gradient from the top for background styling. Icons, Typography, and Styles image 6

Conclusion

In conclusion, through this tutorial, we've learned to enhance our smart home app by adding clear icons for easy navigation and using consistent text styles for readability. We focused on making the interface more user-friendly with temperature control icons, a "Thermostat Schedule" button, and a detailed dashboard for current energy usage. By experimenting with typography, like SF Pro for iOS, and design elements like gradients and auto layout, we've made our app not only functional but also visually appealing. This process showed us how small design details can significantly improve the user experience.

BACK TO

Shapes, Gradients and Strokes

READ NEXT

Auto Layout, Constraints and Pen tool

Templates and source code

Download source files

Download the videos and assets to refer and learn offline without interuption.

check

Design template

check

Source code for all sections

check

Video files, ePub and subtitles

Videos

Meet the instructor

We all try to be consistent with our way of teaching step-by-step, providing source files and prioritizing design in our courses.

Sourasith Phomhome

UI Designer

Designer at Design+Code

icon

17 courses - 67 hours

course logo

Design and Code User Interfaces with Galileo and Claude AI

In this course, you’ll learn how to use AI tools to make UI/UX design faster and more efficient. We’ll start with Galileo AI to create basic designs, providing a solid foundation for your ideas. Next, we’ll refine these designs in Figma to match your personal style, and finally, we’ll use Claude AI to turn them into working code—eliminating the need for traditional prototyping.

4 hrs

course logo

Build a React Native app with Claude AI

This comprehensive course explores the integration of cutting-edge AI tools into the React Native development workflow, revolutionizing the approach to mobile application creation. Participants will learn to leverage AI-powered platforms such as Claude and Locofy to expedite coding processes, enhance problem-solving capabilities, and optimize productivity.

11 hrs

course logo

Design and Prototype for iOS 18

Design and Prototype for iOS 18 is an immersive course that equips you with the skills to create stunning, user-friendly mobile applications. From mastering Figma to understanding iOS 18's latest design principles, you'll learn to craft two real-world apps - a Car Control interface and an AI assistant.

3 hrs

course logo

Master Responsive Layouts in Figma

Creating responsive layouts is a must-have skill for any UI/UX designer. With so many different devices and screen sizes, designing interfaces that look great and work well on all platforms is necessary. Mastering this skill will make you stand out in the field. In this course, we'll start from scratch to create this beautiful design using Figma. You'll learn how to make layouts that are easy to use and work well on any device. We'll cover key concepts and tools to help you master responsive design in Figma.

2 hrs

course logo

UI UX Design with Mobbin and Figma

Mobbin is a powerful tool for UI/UX designers seeking inspiration and innovative design solutions. This platform offers a vast collection of real-world mobile app designs, providing a treasure trove of UI elements and layouts.

2 hrs

course logo

3D UI Interactive Web Design with Spline

Learn to create 3D designs and UI interactions such as 3D icons, UI animations, components, variables, screen resize, scrolling interactions, as well as exporting, optimizing, and publishing your 3D assets on websites

3 hrs

course logo

Design and Prototype for iOS 17 in Figma

Crafting engaging experiences for iOS 17 and visionOS using the Figma design tool. Learn about Figma's new prototyping features, Dev Mode, variables and auto layout.

6 hrs

course logo

Design and Prototype Apps with Midjourney

A comprehensive course on transforming Midjourney concepts into interactive prototypes using essential design techniques and AI tools

8 hrs

course logo

iOS Design with Midjourney and Figma

Learn the fundamentals of App UI design and master the art of creating beautiful and intuitive user interfaces for mobile applications

1 hrs

course logo

UI Design for iOS, Android and Web in Sketch

Create a UI design from scratch using Smart Layout, Components, Prototyping in Sketch app

1 hrs

course logo

UI Design a Camera App in Figma

Design a dark, vibrant and curvy app design from scratch in Figma. Design glass icons, lens strokes and realistic buttons.

1 hrs

course logo

UI Design for iOS 16 in Sketch

A complete guide to designing for iOS 16 with videos, examples and design files

3 hrs

course logo

Prototyping in Figma

Learn the basics of prototyping in Figma by creating interactive flows from custom designs

1 hrs

course logo

UI Design Quick Websites in Figma

Learn how to design a portfolio web UI from scratch in Figma

1 hrs

course logo

UI Design Android Apps in Figma

Design Android application UIs from scratch using various tricks and techniques in Figma

2 hrs

course logo

UI Design Quick Apps in Figma

Design application UIs from scratch using various tricks and techniques in Figma

12 hrs

course logo

Figma Handbook

A comprehensive guide to the best tips and tricks in Figma

6 hrs