Logo
    Search

    UI Elements - Basics, Best Practice, and Built Ins

    enMay 10, 2023

    Podcast Summary

    • Discussing the nuances of UI elements and their limitationsDespite their importance, UI elements like date pickers have limitations and lack customization, but exploring new technologies can lead to exciting discoveries.

      While UI elements may seem like common and straightforward components when building websites, there's a surprising amount of nuance to each one. Scott and Wes discussed various UI elements, their availability in the browser, and their current limitations. One of the most disappointing elements they mentioned was the date picker, which despite its potential, is often overlooked due to its lack of customization and inability to select ranges or times. They also touched on the idea of exploring new technologies and the excitement that comes with experimenting and creating, even if the end result isn't a finished project. The episode also hinted at the future of UI elements and best practices, so stay tuned for more insights on this topic.

    • Browser UI elements need more flexibility and customizabilityDespite improvements, input date time element, video, and audio elements, and alert, prompt, and confirm dialogues in modern browsers lack the flexibility and customizability developers need.

      While the built-in UI elements in modern browsers are a step in the right direction, their rigidity and lack of customizability can be a significant hindrance for developers. The discussion touched upon the input date time element, video, and audio elements, and alert, prompt, and confirm dialogues. The input date time element was seen as lacking in flexibility, while the video and audio elements had inflexible default UIs that required extensive customization or the use of external libraries. The alert, prompt, and confirm dialogues were criticized for being outdated and in need of improvement, with modern alternatives like dialogues offering more customization options. Overall, while the browser standards are a step in the right direction, there is still room for improvement in terms of flexibility and customizability for developers.

    • Web alternatives for alert prompts and confirmsWeb developers can use Dialog element in Swag Syntax or Progress element for alert prompts and confirms, but they lack the default styling and ease of use of native counterparts. However, these elements can be styled and used effectively.

      While native implementations on iOS and Android offer seamless user experiences with good-looking dialog boxes and APIs for alert prompts and confirms, their web counterparts lack these features, requiring developers to implement them manually. This can lead to frustration and additional work. However, there are decent web alternatives like the Dialog element in Swag Syntax and the Progress element, which offer some ease and functionality. While these elements don't have the default styling of their native counterparts, they can be styled and used effectively. It's worth considering if these new UI elements might simply expose CSS variables for easier customization in the future. Overall, while web development has come a long way, there are still areas where native development holds an advantage.

    • HTML5 Input Types: Progress, Meter, Range, and CheckboxesHTML5 introduces new input types like progress, meter, range, and improved checkboxes, offering versatile options for creating engaging and user-friendly interfaces

      The HTML5 elements progress and meter serve different purposes. Progress indicates how far along a process is, while meter functions like a fuel gauge, showing a scale from 0 to 100. Another standout input type is range, which is easy to use and style, making it great for creating interactive UI elements. Checkboxes, on the other hand, have improved with the ability to hide them and style the associated label, making the entire element more visually appealing. Overall, these HTML5 input types offer versatile options for creating engaging and user-friendly interfaces.

    • New CSS features and community collaborationThe CSS community is continuously evolving with new features like :has() and :focus-within, and collaborative efforts like the Open UI community group aim to make web development more efficient and effective.

      The CSS community is continuously evolving with new features and technologies, such as the :has() pseudo-class and the Open UI community group. The :has() pseudo-class allows for more efficient and targeted CSS selectors, enabling developers to style elements based on the state of their parents. This can lead to improved accessibility and a more streamlined coding experience. The Open UI community group, on the other hand, represents a collaborative effort to establish standards for high-quality UI controls on the web. By researching and developing UI elements, this group aims to make the process of adding new features to the web platform more efficient and effective. This can ultimately lead to a more unified and accessible web experience for users. Another key point discussed was the excitement surrounding the recent release of the :focus-within pseudo-class in Firefox, which allows for the highlighting of entire rows when a specific div is in focus. This is just one example of how these new CSS features can make development more efficient and intuitive. Overall, the conversation highlighted the importance of community collaboration and the continuous evolution of CSS to meet the needs of modern web development. Whether it's through new pseudo-classes or collaborative research efforts, the CSS landscape is constantly changing, and developers must stay informed to keep up with the latest trends and technologies.

    • Understanding UI Component Naming Conventions and ImplementationsThe UI Component Charter provides insights into the consistent and varied naming of UI components across popular frameworks, offering a valuable resource for developers and designers to identify trends and make informed decisions.

      The UI Component Charter discussed in the conversation provides valuable insights into the naming conventions and implementation of various UI components across different frameworks. The charter includes a proposal system where contributors share their research and understanding of UI elements, as well as ongoing research in the field. The most ubiquitous components, such as button and menu, are referred to consistently across frameworks, while others, like link component and pill, have more varied naming. This chart offers a fascinating glimpse into the similarities and differences among popular UI frameworks and can serve as a useful resource for developers and designers. By examining the data, we can identify trends and make informed decisions about naming conventions and component usage in our own projects. Overall, the UI Component Charter offers a valuable resource for understanding the UI component landscape and fostering collaboration and knowledge sharing within the development community.

    • Navigation elements: breadcrumbs and checkboxesBreadcrumbs indicate location within a website hierarchy and allow easy navigation, while checkboxes indicate binary states in forms and need customization

      Effective navigation is essential for a user-friendly interface. The discussion highlighted two specific navigation elements: breadcrumbs and checkboxes. Breadcrumbs act as a clear path indicator, showing users their current location within a website's hierarchy. This intuitive navigation method allows users to easily navigate back to previous pages or sections. On the other hand, checkboxes serve to indicate a binary state, commonly used in forms. While the browser determines the UI for date inputs, there is currently no standard for checkboxes, leaving room for improvement in terms of customization and design. Overall, understanding and implementing effective navigation elements like breadcrumbs and checkboxes can significantly enhance the user experience.

    • New UI elements proposals: Indeterminate state checkbox, exclusive accordionResearchers suggest new UI elements, including an indeterminate state checkbox and exclusive accordion, to enhance user experience by addressing common issues with current UI elements.

      Researchers are proposing new concepts for UI elements, including an indicator and a label with an indeterminate state, and an exclusive accordion. The indeterminate state refers to the on or off state of a checkbox when it loads, and the exclusive accordion means only one accordion can be opened at a time. An example of an exclusive accordion is the Pixel 7 product page, where only one accordion in each section can be open at a time. The researchers also suggest using CSS to select an accordion hunk that is not open, allowing you to hide and show other hunks. Additionally, they discuss the file input element, which they believe should have more functionality beyond just opening a file explorer. Overall, these proposed UI elements aim to improve user experience by addressing common issues with current UI elements.

    • New HTML elements for better user experienceNew HTML elements like file input and select menu offer advanced features and customization options, improving user experience and accessibility

      The web development community is proposing new HTML elements to improve the user experience and provide better control over certain functionalities, such as file inputs and select menus. The proposed elements offer more advanced features, like drag and drop capabilities and custom styling, without requiring extensive custom JavaScript and HTML. For instance, the new file input element includes a button and a label, allowing for more control and easier implementation of features like previews and drag and drop areas. Similarly, the select menu element offers more flexibility and customization options compared to the traditional select list. These new elements also aim to address accessibility concerns, making the web more inclusive for all users. Overall, these proposed HTML elements represent a step forward in creating more user-friendly and customizable web interfaces.

    • Improve accessibility with declarative triggers and rovingDeclarative triggers and roving can make web development more accessible by reducing workload for developers and enhancing user experience for all. Researching UI elements from various frameworks can provide valuable insights for custom UI design.

      Declarative triggers in web development can significantly improve accessibility by automatically configuring accessibility mappings for associated pop-overs. This means less work for developers and a more accessible user experience for all. A related concept is roving, which allows users to tab and focus on specific sections, rather than having to tab through every option. This can lead to a more efficient and accessible user interface. Developers building custom UI elements from scratch may find value in researching and examining examples of different UI elements from various frameworks, which can provide insight into common and uncommon design patterns and best practices. Overall, prioritizing accessibility and understanding the tools and resources available can lead to a more inclusive and effective user experience.

    • Exploring Efficient and Unique Solutions in Web Design and Everyday LifeThe speaker values discovering new and efficient solutions for common problems, from web design to making perfect popcorn at home.

      The speaker is constantly on the lookout for efficient and unique solutions for common problems in web design, such as the use of a switch HTML element, and appreciates discovering new and interesting alternatives like fish skin covers for electronics. Another key point from the discussion is the speaker's enthusiasm for finding ways to recreate movie theater experiences at home, specifically with making perfect popcorn using Flavacol and coconut oil with beta carotene. Overall, the speaker values practicality, quality, and the ability to personalize their everyday items.

    • Creating Unique Popcorn Flavors at HomeUsing M&M's instead of chocolate chips for popcorn, preferring a simple saucepan over specialized popcorn makers, and disliking single-use kitchen gadgets are some ways to create unique popcorn flavors at home.

      The speaker shares a love for adding unique flavors to popcorn at home, specifically using M&M's instead of chocolate chips to avoid the mess. Another takeaway is their preference for using a simple saucepan over a specialized popcorn maker like the Whirly Pop due to its ease of use and storage. The speaker also emphasizes their dislike for single-use kitchen gadgets and prefers versatile pans that can be used for various purposes. Additionally, they mentioned their appreciation for Century's dark mode, finding it visually appealing and desirable.

    • Century Dark Mode and Session Replays for SentryCentury Dark Mode offers a true dark mode design and introduces session replays for Sentry users, allowing easy reproduction and pinpointing of application issues.

      Century Dark Mode offers a genuinely dark mode design, which sets it apart from other designers who only provide a dark gray version. Century also introduces an intriguing new feature for Sentry users: session replays. With session replays, users can easily reproduce and pinpoint issues in their applications by viewing exactly what the user saw when an error occurred. The integration process is simple and involves copying and pasting initialization code. This new feature complements the existing features in Sentry, making it a valuable addition for developers. If you're interested in learning more, check out century.io. As a bonus, visit westboss.com/forward/courses and use the coupon code "syntax" for a $10 discount on courses. Keep tuning in for more insights on Syntax.fm, and don't forget to subscribe and leave a review if you enjoy the show.

    Recent Episodes from Syntax - Tasty Web Development Treats

    790: State of JS 2023 Reactions

    790: State of JS 2023 Reactions

    Scott and Wes dive into the 2023 State of JavaScript survey, breaking down the latest trends and pain points in front-end frameworks, build tools, and JavaScript runtimes. Tune in for their hot takes and insights on what’s shaping the JavaScript landscape this year!

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    789: Do More With AI - LLMs With Big Token Counts

    789: Do More With AI - LLMs With Big Token Counts

    Join Scott and CJ as they dive into the fascinating world of AI, exploring topics from LLM token sizes and context windows to understanding input length. They discuss practical use cases and share insights on how web developers can leverage larger token counts to maximize the potential of AI and LLMs.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    Scott and CJ chat with Paul Copplestone, CEO and co-founder of Supabase, about the journey of building an open source alternative to Firebase. Learn about the tech stack, the story behind their excellent documentation, and how Supabase balances business goals with open-source values.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 Who is Paul Copplestone?
    • 01:17 Why ‘Supa’ and not ‘Super’?
    • 02:26 How did Supabase start?
    • 08:42 Simplicity in design.
    • 10:32 How do you take Supabase one step beyond the competition?
    • 12:35 How do you decide which libraries are officially supported vs community maintained?
      • 15:17 You don’t need a client library!
    • 16:48 Edge functions for server-side functionality.
    • 18:51 The genesis of pgvector.
    • 20:59 The product strategy.
    • 22:25 What’s the story behind Supabase’s awesome docs?
    • 25:26 The tech behind Supabase.
    • 35:46 How do you balance business goals with open source?
    • 42:01 What’s next for Supabase?
    • 44:15 Supabase’s GA + new features.
    • 48:24 Who runs the X account?
    • 50:39 Sick Picks + Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    787: You Should Try Vue.js

    787: You Should Try Vue.js

    Scott and CJ dive deep into the world of Vue.js, exploring what makes this frontend framework unique and why it stands out from React and Svelte. CJ gives a comprehensive tour, covering everything from getting started to advanced features like state management and Vue’s built-in styles.

    Show Notes

    Vue.js: The Documentary.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    786: What Open Source license should you use?

    786: What Open Source license should you use?

    Scott and CJ dive into the world of open source, breaking down its meaning, benefits, and the various types of licenses you’ll encounter. From permissive licenses like MIT and Apache 2.0 to copy-left licenses such as GNU GPLv3, they’ll help you choose and apply the right license for your project.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    785: What’s Next for NextJS with Tim Neutkens

    785: What’s Next for NextJS with Tim Neutkens

    Scott and Wes dive into the world of Next.js with special guest Tim Neutkens from Vercel. They explore the latest updates, including the React Compiler and React Server Components, discussing their impact on developer workflows and the future of Next.js development.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 What does the React Compiler do?
    • 05:04 Will React Compiler help with managing Context?
    • 06:39 What happens if you’re not using a React Compiler?
    • 09:30 Will this work on any NextJS version?
    • 12:18 What are React Server Components?
    • 16:28 Shipping all the data inside an encapsulated component.
    • 20:17 Clearing up the frustrations around retrofitting server components.
    • 23:13 Handing migration.
    • 28:30 Is this just a fetch request with props?
    • 36:41 How closely are the NextJS and React teams working?
    • 41:53 Will we ever get Async Client Components?
    • 43:52 Async Local Storage API.
    • 45:31 Turbopack.
    • 57:51 Sick Picks & Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    784: Logging × Blogging × Testing × Freelancing

    784: Logging × Blogging × Testing × Freelancing

    In this Potluck episode, Scott and Wes tackle listener questions on modern blogging, website environmental impact, and using LangChain with LLMs. They also cover CSS hyphens, unit vs. integration testing, and balancing web development with new parenthood.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    Scott and Wes dive into the world of browser caching for audio files, exploring the File System API and the Cache API. They discuss size restrictions across different browsers, how tools like Riverside.fm leverage IndexedDB, and walk through code examples for creating, retrieving, and managing cached audio data.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    782: The Developer’s Guide To Fonts with Stephen Nixon

    782: The Developer’s Guide To Fonts with Stephen Nixon

    Scott and CJ are joined by Stephen Nixon of ArrowType to delve into the world of fonts and type for developers. They explore the intricacies of font creation, the utility of variable fonts, and offer tips for making visually appealing typography on the web.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    In this potluck episode of Syntax, Scott and CJ serve up a variety of community questions, from the nuances of beginner vs. advanced TypeScript to the pros and cons of SvelteKit. They also discuss falling out of love with React, shipping private packages via NPM, and the eternal struggle of always starting but never finishing projects.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    Related Episodes

    Quick Update: Jake Likes React

    Quick Update: Jake Likes React

    Dude, check it out! In this totally rad podcast sesh, you got Seth Whiting, this mega experienced coder with like a decade of tech wizardry, and then there's Jake Pacheco, this chill barber turned code surfer riding the learning waves for 13 weeks. They're diving deep into React, man. Jake's stoked on how React vibes with him, especially after he got the lowdown on JavaScript, HTML, and CSS. He's all about Code Academy's React course, diggin' the hands-on code action over those vid tutorials. He's cruising through concepts like conditional rendering and mapping, and it's all starting to fit in the big picture, ya know?

    The hosts are all about teamwork in the coding lineup. They're sharing tales of hooking up with Chelsea, this other coder shredding through JavaScript. They're high-fiving over helping each other carve through coding challenges. And they're laying it down that grasping the core logic of coding concepts is key to riding the gnarly learning curve. They're throwing in some tips for checking out documentation, suggesting newbie-friendly stops like W3Schools.

    And hey, they're not just riding the wave, they're shaping it too! Seth and Jake are spilling the beans on crafting clean, efficient code. They're droppin' knowledge on the art of efficient code reviews, bro. They're tossing around the idea of "modular code," think of it like building legit components that work together like a killer squad. They're all about nailing that efficient vibe while being cool with different coding styles.

    Wrapping it up, these dudes are pumped about their coding journey, ready to catch more React barrels and ride the coding currents. They're vibing on the energy of their listeners and even throwin' the idea of future collabs into the mix. Seth's leaving you with some stoked words, saying as your coding mojo grows, those initial bumps turn into a seriously tubular coding ride. Keep it cruisin', bro!

    Special thanks to Diarrhea Planet for our intro and outro music and @SkratchTopo for our artwork.

    2021 In Review

    2021 In Review

    In this episode of Syntax, Scott and Wes review their predictions and highlights for 2021.

    .TECH Domains - Sponsor

    .TECH is taking the tech industry by storm. A domain that shows the world what you are all about! If you're looking for a domain name for your startup, portfolio, or your own project like we did with uses.tech, check out .tech Domains. Syntax listeners can snap their .TECH Domains at 80% off on five-year registration by visiting go.tech/syntaxistech and using the coupon code "syntax5".

    Sentry - Sponsor

    If you want to know what’s happening with your code, track errors and monitor performance with Sentry. Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up.

    Mux - Sponsor

    Mux Video is an API-first platform that makes it easy for any developer to build beautiful video. Powered by data and designed by video experts, your video will work perfectly on every device, every time. Mux Video handles storage, encoding, and delivery so you can focus on building your product. Live streaming is just as easy and Mux will scale with you as you grow, whether you're serving a few dozen streams or a few million. Visit mux.com/syntax.

    Show Notes

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats

    How Long Is This Going To Take??

    How Long Is This Going To Take??

    Get ready to hang ten with Seth Whiting and Jake Pacheco in this enlightening podcast episode. They'll take you on a gnarly journey through the coding and web development world. From Jake's transition from barber to coder, to the simplicity of HTML and the creative power of CSS, they cover it all. They even dive into Jake's wild Vegas trip, the importance of health, and Seth's daughter's rad birthday party.

    In the next segment, they explore website design, career opportunities, and Seth's transition from freelancing to a full-time gig. They highlight the blend of artistry and coding in web design, the competitive market, and the challenges of estimating project timelines. They also share insights into the pride of being a coder in their location, the non-monetary benefits of learning to code, and the value of non-technical skills like networking and communication.

    The episode wraps up with an in-depth discussion on coding interviews, algorithms, and problem-solving skills. They debate the relevance of algorithmic questions in real-world scenarios and the importance of interview simulations mirroring actual job tasks. They touch on recruiters reaching out, using Google as a reference, and the time it takes to reach high-paying positions in programming. Tune in and ride the wave of coding knowledge with Seth and Jake!

    Special thanks to Diarrhea Planet for our intro and outro music and @SkratchTopo for our artwork.