The latest in Material Design

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[MUSIC PLAYING] MIKE TALVENSAARI: Welcome to I/O 2024. I'm Mike Talvensaari, Head of Product for Material Design. [CHEERS] This year Material turns 10, and we're celebrating with a year-long campaign looking back on our impactful moments along the way, hearing from key voices, and examining our influence on the design of UI and the physical world. Just for fun, let's explore some key moments in Google design history, and head to design.google.com to follow along throughout the year with the entire celebration. In 2007, Google hired its first visual designer. Before this hire, UI design was handled by engineers. For the first two years, design was handled by the founders themselves. Larry designed the original Search results page and Sergey designed the first Google logo. In 2011, Larry asked for a new visual design language for all flagship desktop apps. It was codenamed Kennedy. Up to then, our products had been built by siloed teams over many years, and it showed. Larry wanted a cohesive look and feel across Google. Outside of Google, reception to this massive undertaking was a major turning point. Design was finally a thing at Google. Kennedy's success built momentum. By 2012, the word "beauty" entered the company's vernacular when Larry spent an entire TGIF talking about the importance of beauty in Google's products. In 2014, Material Design system was officially unveiled at Google I/O. It featured bold color, clear navigation, and the Floating Action Button, or FAB. Our goal was to give makers a flexible system backed by open source code to help you build beautiful, usable designs faster and more easily. But looking back, Material did more than that. It made products better by establishing a quality bar and providing the resources to meet that bar. It elevated design for mobile, giving it visibility and cachet, and it continued the work of Kennedy, building Google's reputation as a design company. 10 years later, we're still building on that solid foundation and our goals have remained largely the same, though what it means to be beautiful and usable continues to evolve. In 2016, Google Fonts joined the Material Design team. Bringing Fonts and Material together opened up new opportunities for our makers, allowing them to use any font from the Google Fonts catalog with Material to strengthen their brand identity. In 2018, we introduced Material 2, again, at Google I/O, which featured UI components and theming capabilities. Which brings us to our most recent launch, at Google I/O 2021, when Material 3 was unveiled with updated components and Material You personalization features like dynamic color. This was a critical turning point as we pushed beyond the boundary of good and explored what it means to make products desirable. So after 10 years, where is Material Design heading? We're focusing even more on helping you create personal and expressive experiences so your products feel alive and your users feel more connected to them. We've built flexibility into the system's core, ensuring that you have the ability to make the system work for you, your product, and your users. And of course, we're partnering deeply with research at each stage of product development to understand what makes products appealing. The good news is we've learned that our hunch was right, expressive and personal UIs are more desirable according to consumers. Passing these insights along to you in the form of a more thoughtful system is our goal. But we'd also like to invite you into the research process. So please check out more details in the design on the Material blog by reading the article, "What Does Your UI Say to Your Users?" Insights like this inform our evolution. They are the reason the Material Design is personal. Building on Material You, our system continues to support flexibility, not just for makers, but for end users through personalized color and contrast. Personalized contrast unlocks accessibility, making it easier for everyone to comfortably use your product. And we found that the ability to customize color is valuable to users. It allows them to make a device uniquely theirs, and it's fun. And because we bake it into our system, you'll get the benefit of accessibility and user-tailored contrast just by using Material Design. And while Material is the foundation, you, the makers, are ultimately the ones in control of the user experience. This year, we've been working hard to address some of your strongest feedback on Material Design. We're continually adding to the system, specifically the components that have been requested most by all of you to make our Compose offering more comprehensive. We'll tell you about some of these shortly. And we're graduating many experimental APIs to general availability, which means stable code that you can use reliably in your products. And finally, we're making it easier for you to create flexible, expressive experience by expanding our color and motion offerings and improving the tools to make color and motion systems easier to use. Now you'll hear from some of my colleagues who will share more detail about these exciting updates. And later, we'll hear from an engineer on Google Maps who will show us how all of this comes together to help Google teams make great products for billions of people around the world. But for now, I'll hand it off to James to go over some of our latest updates to Material Design. [CHEERS, APPLAUSE] JAMES WILLIAMS: Thanks, Mike. Hello. My name is James Williams. I am a Developer Relations Engineer for Material Design. Today I'm going to talk to you about some of our upcoming releases, and what we have planned, and how we've been listening to the feedback that you've been giving us about the things you love and don't love about Material. So first, Composed Material 1.2 has gotten to Stable. In this release, we have some color updates to expand our color scheme to make it more customizable for you and more regular, and you can understand what colors are being used and when. We also have some APIs that are going into Experimental. And let's talk about some of the components. So first, we have segmented buttons. Segmented buttons are already available in Views and we are bringing them to Compose to give you parity, to give you more reasons to use Compose for your new experiences. They are Experimental in 1.2, but they're expected to graduate to Stable in 1.3. Next, we have an Experimental API for pull-to-refresh. And part of the reason to do this was to give you a reason to not have to use external libraries. Currently you have to use the Accompanist library to have pull-to-refresh. So we're bringing that into Compose Material as of 1.3. And you can find the instructions on how to migrate from the version and Accompanist to our version at that website. The next thing in 1.3 I want to talk about is our carousel component. I won't be going into details myself, but my two colleagues, Noa and Sagie, will be talking more about what the thought was behind this component, and more importantly, how it's been used in apps. So in 1.3, some things are expected to be graduated to Stable, swipe to dismiss and the segmented button that we talked about. And some of our color updates are also going to be applied to components. Another thing that we've done in this upcoming 1.3 release is think about non-text contrasts. Now when you think about contrast, a lot of times you're thinking about the text that's being displayed and how that is shown against the background. But there's also contrast in other components, like your sliders, and your progress indicators, and your bottom sheets that you need to be able to quickly parse that information to understand what's going on. So non-text contrast identifies the parts of the component that are needed for legibility and adjusting the pixels around it or the subcomponents around it to provide a better contrast between that element and what it appears upon. That will be coming to these components in 1.3. I also would be remiss if I didn't mention our Designing Adaptive Apps talk that's also at I/O by my colleagues Javier and Aneesha. This talk talks about the way that we're helping you make adaptive apps for different screen sizes, be it regular phone, small phones, or foldables. Now on to my favorite part of this talk is our color updates. So what we're doing is we're giving you greater opportunities to customize your apps and also building in some options for contrast. One of the things that you told us in the past was surface containers were confusing, because it was this magic formula of a surface container, and the primary color, and your elevation, and you didn't understand how it was going to create the final color. So what we've done is we've replaced that sort of magical formula with discrete values of emphasis for surface container from lowest to highest. These were added in 1.2, and in 1.3 the components that use surface containers have been updated to different values in this scale. I've mentioned a couple of times before with contrast, we have a contrast control that is coming to Android V, I think Android 15. And what this gives you is your users three options of standard, medium, and high to select their contrast. If you're using dynamic color, you get this automatically out-of-the-box because these values are stored in system UI that it will pull from. If you're using custom colors, you will have to handle your medium and high contrast. OK, one way that we suggest that y'all handle this is by interrogating the UI mode manager. And there is a property called Contrast that returns a floating point value. And in this sample, I just bucket the values into either 0 to 0.33, and then the middle 0.33 to 0.6, and then above that into standard, medium, and high respectively. You can see more of how this works in our sample reply, which I believe was used in some of the other talks at I/O. But if you need to locate it, it's on our Android GitHub. The project is Compose Samples. And this is how that reply app looks in standard, medium, and high contrast. So I wanted to show this graphic for you to show sort of where Material 3 has started with our color schemes and the things that we've added to help you build more comprehensive apps, expressive apps. So we've added, like I said before, the service container from lowest to highest. And then we also have a surface bright and a surface dim. So yeah, please use Material 3 colors. That wasn't a pause line. [LAUGHTER] So one of the things that you've told us with how color is hard to understand is, one of the ways that we try to solve that is with our Tool Material Theme Builder, and it's available on the web and in Figma. And what you can do is put your colors into it and then it will give you a Material theme, like the one that we saw on the previous slide here. It will give you a Material theme with everything graded for the proper contrast between light and dark, and also the different contrast levels, as we see here, where the control you can switch between standard, medium, and high contrast. There we go. We also have a bit of scaffolding for Google Fonts to give you a way to select specific fonts for your display, titles and headers and then the think body and label the other ones. Yes, I can't see as well because my glasses aren't on. And when you export your theme it will export the little bit of scaffolding code for you to be able to use it in your app from the jump. And as I said before, all of these colors are going to be exported when you export a theme from material theme builder. So please use our tooling. Please ask us questions. Please continue to share with us what is and isn't working, because we do take in that feedback even if we can't solve that problem at that time. So I'd like to thank you all for listening to me rattle on for a little bit, and I'm going to hand it over to my colleague, Noa. Thanks. [APPLAUSE] NOA DOLBERG: Thank you, James, and thank you all for choosing our session today. My name is Noa Dolberg. I'm a UX Manager on Material Design. And if it's not already clear, these are exciting times to be both working on Material and using Material. We've heard from James about updates to our libraries and tools, and I'm here to show you how these show up in the UI. But before we dive in, let's take a look back to the beginning of our journey. From the moment of its inception 10 years ago, Material has been pursuing its mission to create beautiful design at Google scale. Over the years, our perception of beauty has organically evolved. So are the preferences of our users. Ultimately, beauty is a subjective experience, so we are pushing personalization features in our system more than ever before. We want users to see their own preferences and choices reflected back at them in their apps. Not only because this will help them form a deeper and more meaningful connection to the product, but also because this ensures that the product works best for them. The improvement updates through our color system play a crucial role here. Updates to our algorithm allow for a wider range of possible colors, greater consistency in the way it's being applied, and for selectable contrast levels. But this flexibility goes beyond color. We are gradually making updates to all of our components to make them more adaptive, personal, and way more cool. Take the M3 carousel. It's one of our most expressive and engaging components. It uses shape morphing, parallax scrolling, and dynamic layout to create a powerful yet functional moment in any app. We've tested how different carousel layouts, when paired with different contents, influence the user experience. And we share those insights back with you to help you and inspire you in making the best carousel choice for your experience. Working with accessibility experts across Google, we wanted to make sure that the carousel not only works with a beautiful swipe gesture, but also with keyboard input, reduce motion settings, and extra UI affordances. We did all this because we wanted to make sure that we deliver the most accessible carousel out there. To support accessibility requirements, the progress indicator and the slider have both been given a major overhaul. We wanted to optimize these components for functionality, but also delight. And we've achieved this with new shapes, refined animation, and a way more expressive column mapping. All this while also meeting the latest non-text contrast requirements. For the slider specifically, we focused our attention on the moment a user adjusts it. This nuance interaction needed to be just right. The new handle helps users make a more precise interaction all the way to the edges of the slider. We also added a centered configuration with new tracks and a secondary sensory feedback. And the best part about all these updates is that you can swap them in your layout without making any changes to it. Easy. Typography remains one of the main feature of any UI. And we already know that making typography more expressive is a huge lever in making any app feel more interesting and personal. To make this easier, we recommend using our Roboto Flex with all its fine grain controls. And let me show you a few things that you can do with it. You can play with a Roboto flexible variable width axis to better fit type in components with space constraints and for longer localizations. With the optical size axis, you can micro adjust your typography to improve the legibility. You can use larger and thinner weights to create dramatic moments with your UI, with your type, and you can even animate the type to enhance an interaction. Variable type unlocks so many design opportunities for you, and we're excited to make it more available throughout our system. We wanted to make sure that your apps function and looks amazingly also on foldable and tablet devices. For this reason, as mentioned, we're announcing this year the Material Paint system that is powered by the Material Adaptive Library that helps you create apps that smoothly respond to window sizes, foldable states and changing input methods. With our Paint system, we give you logical navigation paradigms with opinionated layout that works smoothly across devices right out of the box. And to make this library even more robust, we're gradually adding adaptivity to all of our components, so they work beautifully with the adaptive layouts. Please be sure to check out our talk, Designing Adaptive Apps, to get you started. And with this recorded talk and many others, we keep making updates to our guidelines that aim to empower you, designers and engineers, in making the best design decisions in the context of your business goals and user needs, and your brand. With Material Design, we're constantly pushing the envelope of what is possible when a user interacts with their device. With all these updates, M3 allows you to do so much more now, and also these updates are now in Compose ready for you. My team and I are super excited to see what you're going to make with all these things. In making updates to the Material system, we partner closely with teams across Google to unlock with them the experience those updates might bring to their users. This approach makes us even more confident in our products, in our updates, and how these influence the user expectations. And with that, I'll hand it off to Sagie to showcase how Material works in Google Maps. [CHEERS, APPLAUSE] SAGIE PUDINSKY: All right. Thanks, Noa. Hi, I'm Sagie Pudinsky, a Software Engineer on Google Maps. We've been using Material components in Maps for a while now. So when we started adopting Compose, we were excited to continue that collaboration. If you've ever used Maps on Android, you probably notice how rich and complex the UI is. We have our own design system and component library, but it's built on the foundation of Material Design. This means we can use Material components under the hood to get built-in accessibility, performance, and rich functionality while customizing for our product's unique needs. When we started adopting Compose, we knew we had to implement more than 50 components in our Maps component library. Using Material as our foundation made the process faster and more efficient than if we had to write them from scratch. That also ensured our components were battle-tested, supported by the Material team, and consistent with the rest of our Google ecosystem. When we use a Material component, we know it adheres to Google best practices for user experience, accessibility, and personalization. We know we don't have to worry about dynamic color, accessibility delegates, or complex motion. That means we can focus on styling the component to match our design language and deciding which parts of the API we want to expose to our developers to maintain app-wide consistency in the long run. I'll go back to the previous slide for a second. So in this example, in Google Maps, we changed the elevated button that Material uses by default. We use the elevated buttons under the Search box on Google Maps to help you search for places like restaurants or coffee shops. To do this, we just wrapped the Material elevated button with our own composable, setting the colors and height of the component to match our design specs. Additionally, we wanted to ensure our developers only use icons and text labels inside the button. So we replaced the Composable content slots with Icon and Label parameters to ensure that consistency across the app. As for the latest updates we just heard about, we've been working closely with the Material team on these and we're super excited about them. Our Notifications inbox is already using the new pull-to-refresh API. Using pull-to-refresh for Material meant we didn't have to handle any swipe interactions or animation, and it was really easy to hook up to our existing data layer. Our recently revamped missing road reporting experience also leverages several Material components, including buttons, lists, and the bottom sheet. While Material's bottom sheet didn't have the look and feel we needed out-of-the-box, it was really easy to customize it to match our specs. On the color front. James just told you about Material's latest updates to surface color roles. We were very pleased to hear about these ourselves and wasted no time incorporating them into our app. Being a very content-rich app with a ton of useful data to show the user, we're always looking for ways to improve our information architecture on screen. With the new Arrival card design we're exploring, you'll see how we leverage surface roles to organize the different layers of information on the page. Whether it's a quick overview of your destination, additional actions you can take after you've arrived, or requesting feedback on your navigation experience, the new surface roles make all of these elements distinct and easily parsable by the user. Finally, we're especially excited about the new carousel component. As Noa mentioned, the new expressive carousel is intended for creating hero moments in your app. Since Maps is all about discovering new places, we believe the new Discover Through Photos carousel is the perfect opportunity to introduce it. We're still exploring this direction, but here's how this could look like in our app. You can see it allows us to highlight all the amazing places you can find on Google Maps and all the amazing latte art that comes with them while bringing an expressive and fresh look to the app. Now, I'll hand it back to Mike to wrap things up. [APPLAUSE] MIKE TALVENSAARI: Thanks, Sagie. Over on Material, we love to see the added customization that are adopting things built onto the system. It's really inspiring to us. We hope this gave you an idea of the latest technology we're offering to help you make your products as useful, accessible, and memorable as possible. And we've got one last exciting thing to share with you all. I bet you never guessed it would be AI-related. We know from research that developers are relying more and more on AI while building their products, but our researchers are on the front lines. They see how some developers struggle to make use of these powerful tools, both our system and the Gemini app. To help, one of our researchers over on Material put together a guide, complete with general best practices for leveraging LLM tools, as well as it walks through specific prompts on how to make them yield more helpful results. Head over to the blog on material.io to read "Using the Gemini App with Material Design 3" to see the guide and start using the Gemini app in your Material Design workflow today. We're working to make it easier than ever to leverage Gemini as you adopt material. Oops, wrong button. That's all we have for today. We hope you're as excited as we are about these latest updates. Please keep talking to us. Share your experience. We really do listen and add the things you ask us to. It just might take us a little while. Share your experience adopting Material Compose and help us continue to make future versions easier and faster to use, and ultimately a better experience for everyone. Have an amazing rest of I/O '24, and thanks for listening. [MUSIC PLAYING]
Info
Channel: Google for Developers
Views: 23,806
Rating: undefined out of 5
Keywords: pr_pr: Google I/O;, ct:Event - Technical Session;, ct:Stack - Mobile;
Id: XQ_Hvu-s7JY
Channel Id: undefined
Length: 28min 46sec (1726 seconds)
Published: Thu May 16 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.