Logo
    Search

    Podcast Summary

    • Optimizing web projects for polish and performanceFocus on reducing page load times and latency to create a better user experience and keep users engaged.

      As developers, we need to focus on improving the polish and performance of our web projects after they have been built and deployed. This goes beyond just fixing bugs and errors. It involves making our pages snappy, responsive, and providing a smooth user experience. We want our pages to load quickly and reduce the amount of time users spend looking at loading spinners. The network tab in the developer tools is a valuable resource for identifying performance issues and reducing latency. It's important to remember that a website with no images, resources, or database will have excellent page speed scores, but that's not the goal for complex web applications. Instead, we should strive to optimize our applications for the best possible performance for our users. By focusing on reducing page load times and latency, we can create a better user experience and keep our users engaged.

    • Identifying and addressing heavy elements for faster website performanceRegularly assess and eliminate large JavaScript files, massive images, and unwanted embeds to enhance website speed and user experience.

      Optimizing website performance involves identifying and addressing heavy elements that cause significant delays. This could be large JavaScript files, massive images, or unwanted embeds like Twitter, Facebook, or Discord iframes. These elements may seem useful initially, but they can negatively impact page speed and user experience. For instance, removing unnecessary JavaScript or replacing them with anchor links can lead to faster loading times. Similarly, optimizing images, lazy loading, or using proxies to serve cached images from tracking-free sources can also help improve website performance. Overall, it's essential to regularly assess and eliminate heavy elements, focusing on what is truly necessary for your users.

    • Optimizing Images for Website PerformanceUse serverless functions to optimize and serve images, identify large images with tools, and focus on megabyte-sized problems for better user experience

      Optimizing images is crucial for website performance. You can use serverless functions to optimize and serve images as JPEGs, clearing the cache periodically. Tools like Lighthouse in Chrome, PageSpeed Insights, and Polypane can help identify large images and other performance issues. Focus on addressing megabyte-sized problems, as compressing or removing image metadata can significantly reduce image sizes. Cloudinary is a service that can help automatically optimize images by serving them with the appropriate width and format. Remember, the goal is to improve visibility and tackle big issues for a better user experience.

    • Optimizing Data Transfer and Caching StrategiesEffective caching strategies and data transfer optimization can significantly improve website loading times by saving bandwidth and providing faster user experiences. Examine network tab in browser dev tools, set correct headers, cache static files, and use server-side caching to reduce server response times.

      Optimizing the size of data being transferred and implementing effective caching strategies can significantly improve website loading times. By making large files smaller and identifying which files can be cached, both on the client-side and server-side, you can save bandwidth and provide a faster user experience. Caching is a crucial aspect of website optimization. Setting the correct headers on specific requests, such as images, allows for caching in user browsers and Content Delivery Networks (CDNs). Caching static files, like logos, for extended periods can lead to substantial time savings and a better user experience. Additionally, server-side caching of frequently used queries and data can reduce the need for database operations, leading to faster response times. Tools like Redis, GraphQL, and data loader patterns can make implementing caching strategies more straightforward. To identify potential optimization opportunities, examine the network tab in your browser's developer tools and sort resources by transferred size. Long-running server-side requests may indicate opportunities for caching or inefficient processes. In essence, understanding and implementing caching strategies and optimizing data transfer can lead to noticeable improvements in website performance.

    • Optimize file sizes for faster web transfersCompress files with GZIP, reduce large image and dependency sizes, and offload external dependencies with tools like Party Town for faster website loading times.

      Optimizing the size of files transferred over the web can significantly improve website loading times for users. This is achieved through techniques like compression, such as GZIP, which makes files smaller before they are transferred. By identifying and reducing the size of large files, like images or unnecessary dependencies, websites can load faster, saving users bandwidth and time. Additionally, tools like Party Town can be used to offload external dependencies into a worker, improving performance by reducing the load on the main thread. The ultimate goal is to provide a better user experience and make websites as fast as possible for businesses.

    • Monitoring website performance with tools like network tab and page speed insightsRegularly check performance metrics using tools like network tab and page speed insights to identify and prioritize severe performance issues, ensuring fast and efficient websites for all users.

      Monitoring and optimizing website performance is crucial for providing a good user experience. During a recent discovery, the speaker found that every time a component using Style Components rerendered in Google Chrome, the fonts were being redownloaded, causing a flicker. This issue, even though it was a workaround, highlighted the importance of keeping an eye on network activity and using tools like the network tab and page speed insights. These tools help identify and prioritize the most severe performance issues, allowing developers to address the biggest network requests and longest load times. While specific numbers like PageSpeed Insights scores can be useful, the speaker emphasized the importance of focusing on real-world user experience, rather than just achieving a high number. By regularly checking performance metrics and addressing issues, developers can ensure their sites are fast and efficient for all users.

    • Desire for Instant Website Optimization ResultsSpeaker expressed a goal for serverless functions to deploy changes immediately and discussed the importance of addressing caching issues and deploying changes as quickly as possible for improved website performance.

      While there are improvements in build times and page speed, achieving instant results remains a goal for website optimization. The speaker mentioned that their build times have become faster with the latest Gatsby, but they still take several minutes. They expressed a desire for serverless functions to deploy changes immediately, as opposed to waiting for extended periods. The speaker also noted that caching can sometimes cause confusion and that fixing issues and deploying changes can take time. They encouraged listeners to check out their website, sboss.com, to see the progress made on optimizing the syntax logo's size. Overall, the conversation highlighted the ongoing process of improving website performance and the importance of addressing caching issues and deploying changes as quickly as possible.

    Recent Episodes from Syntax - Tasty Web Development Treats

    791: LLRT The Serverless Runtime w/ Richard Davison

    791: LLRT The Serverless Runtime w/ Richard Davison

    Scott and Wes chat with Richard Davison from AWS about LLRT, a new runtime tailored specifically for Lambda. They dive into the benefits of using LLRT, challenges with JavaScript in serverless, and why Rust was chosen for its development.

    Show Notes

    Sick Picks

    Shameless Plugs

    • Richard: Javascript

    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

    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

    Related Episodes

    20 Easy Win Performance Tips

    20 Easy Win Performance Tips

    In this episode, Scott and Wes chat about 20 different ways you can improve the perf, speed and overall user experience of your websites.

    Cloudinary - Sponsor

    Cloudinary is the best way to host, compress and transform your images on the web. Sign up for their free tier and get 10GB of bandwidth for free!

    Also check out Cloudinary's ImageCon conference - use the code SYNTAX99 for a discount when checking out.

    Fluent Conf - Sponsor

    Developers, software engineers, designers, and web performance professionals flock to Fluent in pursuit of a common goal: building a better web. That means delivering fast, secure, accessible experiences to users and customers.

    Fluent covers a broad range of technologies and topics to provide web programming professionals with the skills, connections, and inspiration needed to build better online and mobile experiences.

    Fluent is this June 11-14 in San Jose, CA. Save 20% today with code: SYNTAX

    Show Notes

    So many perf tips came in over twitter, so in addition to this podcast I'd recommend you read all the replies to this tweet

    0:00

    • We just cracked 1,000,000 downloads! Thank you!

    4:00

    • Network Tips
    • Reducing the amount of HTTP requests
    • A little bit about HTTP2
    • An interview about http2

    8:00

    • Use Caching and LocalStorage
    • Turn on aggressive caching on your server - long expire times
    • What is gzip? / Enabling gzip

    12:00

    13:00

    • When to load your JS
    • Blocking Requests

    15:00

    • Use Lazy Loading

    17:00

    • Preloading content with Link rel="preload"
    • rel="prefetch"

    19:00

    • Picture, picturefill and srcset=""
    • Article on srcsrc and Picture
    • srcset vs picture/source elements

    25:00

    • Image Compression
    • One less jpg
    • Serve less data

    26:00

    • Inline SVG
    • Talk about Font Awesome

    33:00

    37:00

    • Remove unused code
    • Purify CSS
    • no-unused-imports with ESlint

    38:00

    • Code Splitting

    40:00

    • Transpile less
    • babel-preset-env

    41:00

    42:00

    45:00

    • Icon Fonts
    • Web Fonts
    • Native Font Stack:
    • Good: font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;

    47:00

    49:00

    SIIIIICKkkkkkkkk PIXXXXX

    Shameless Plugs

    Tweet us your tasty treats!

    Supper Club × Edge Functions and Deno with Eduardo Bouças of Netlify

    Supper Club × Edge Functions and Deno with Eduardo Bouças of Netlify

    In this supper club episode of Syntax, Wes and Scott talk edge functions and Deno with Eduardo Bouças of Netlify.

    Hasura - Sponsor

    With Hasura, you can get a fully managed, production-ready GraphQL API as a service to help you build modern apps faster. You can get started for free in 30 seconds, or if you want to try out the Standard tier for zero cost, use the code “TryHasura” at this link: hasura.info. We’ve also got an amazing selection of GraphQL tutorials at hasura.io/learn.

    Postlight Podcast - Sponsor

    Postlight is a strategy, design, and engineering firm that builds platforms for some of the biggest organizations in the world. The Postlight Podcast is hosted by senior leaders Rich Ziade, Paul Ford, Gina Trapani, and Chris LoSacco.

    If you’re looking for answers to tough leadership questions, the Postlight Podcast has you covered.

    Listen to new episodes every Tuesday, wherever you get your podcasts.

    WP Mail SMTP - Sponsor

    Did you know that many WordPress sites are not properly configured to send emails? With WP Mail SMTP, you can easily optimize your site to send emails, avoid the spam folder, and make sure your emails land in the inbox every time.

    WP Mail SMTP comes with detailed email logs, email engagement tracking, visual email reports, weekly email summaries, integrations with popular email providers like SendLayer, Gmail, Outlook, and more!

    Try WP Mail SMTP Pro today and get 50% off or start with their free version by downloading it from the WordPress plugin directory.

    Show Notes

    Shameless Plugs

    Tweet us your tasty treats

    Hasty Treat - The New AVIF Image Format Is Unreal

    Hasty Treat - The New AVIF Image Format Is Unreal

    In this Hasty Treat, Scott and Wes talk about AVIF — what it is and how you might use it!

    Freshbooks - Sponsor

    Get a 30 day free trial of Freshbooks at freshbooks.com/syntax and put SYNTAX in the “How did you hear about us?” section.

    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.

    Show Notes

    03:10 - What is AVIF?

    • AVIF is derived from the keyframes of an AV1 video
    • Royalty free (big deal)
    • What about WebP?
    • Basically half the file size of a WebP for free, which was already about half the size of a jpeg
    • It’s a lossy format — ie it inherently will degrade the image
    • https://jakearchibald.com/2020/avif-has-landed/
    • No animation

    10:53 - How to implement

    Tweet us your tasty treats!

    Potluck Part 2 - Magic GQLess × Are classes dead? × Custom Hooks × Staying Up To Date × CSS × More!

    Potluck Part 2 - Magic GQLess × Are classes dead? × Custom Hooks × Staying Up To Date × CSS × More!

    It’s another potluck! In this episode, Scott and Wes answer your questions about custom hooks, static site generators, code management, CSS, and more!

    Sentry - Sponsor

    If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”.

    Freshbooks - Sponsor

    Get a 30 day free trial of Freshbooks at freshbooks.com/syntax and put SYNTAX in the “How did you hear about us?” section.

    Show Notes

    04:02 - Q: Could you do a quick overview of how to effectively use a platform like Cloudinary? I have a Gatsby site with a lot of images and want to use something like Cloudinary to help with optimization, but the docs aren’t completely clear to me how to get the most out of their service.

    10:58 - Q: What kind of CSS pre/post-processor you usually use? What are the pros and cons of pre-processor (SASS, SCSS, LESS) and post-processor (PostCSS)?

    16:22 - Q: What is the most effective way to share a project with the internet and get feedback? I’m in a phase right now where I’m building loads of new web things with React and JavaScript, but the only place I can think to share them is my Twitter, where only like 3 people will see them.

    18:35 - Q: What are your thoughts on classes in JavaScript? Do we still need them in 2020, or has the functional programming paradigm made them largely unnecessary? Does the answer change based on the size of the project and/or team?

    23:56 - Q: Does ES2020 have var? Also, is ES2020 a real spec or just a term people are using?

    27:37 - Q: Have you tried gqless, a graphql client alternative to something like Apollo client? Very interesting idea for clean and maintainable code.

    29:15 - Q: What are the main differences in working for a software agency and a software product company? Pros and cons of each?

    33:53 - Q: Advice for having static blog with minimal moving parts? I used to have a static blog but I eventually got sick of touching it because instead of writing content I often got stuck keeping up with all the dependencies involved.

    38:18 - Q: Micro Frontends—is it the solution to rewriting legacy components?

    42:16 - Q: I am relatively new to web development and I feel like it is very difficult to “catch up” with JavaScript. It seems like whenever I try to contribute an open source, I can’t figure out the code because they’re using newer (and presumably better) ways of doing things. How can I get up to date with everything that’s going on in the JavaScript world? Also, at what point should I start learning a front-end framework?

    46:56 - Q: My team and I are starting to write pretty complicated custom hooks gathering data from a number of different endpoints and/or polling certain endpoints on a continuous interval timer before returning it to the component that needs the data. Since this is the case some hooks have gotten fairly large with multiple functions inside of them getting called to get/manipulate all the data, or multiple hooks using those same functions to get slightly different data. Is it a best practice to keep all those hooks together in one file if they support all the hooks? Or should we break the hooks into separate files and move the helper functions into another file and just have one hook per file?

    51:10 - Q: Any tips for navigating projects with bad project managers? Working with non-technical agency project managers makes it pretty difficult to effectively plan and allocate time to ensure that all of the projects are done on time, on budget, and done well. It’s important to me to maintain an optimistic attitude in the organization, but sometimes I’d love to just hit 'em with the 'ol “Peace out” and go smoke some pork butt. Wondering if you guys have any good experience managing these types of projects?

    55:45 - Q: I’m committing often and early, but this means that I end up writing the same vague git commit message over and over again. I know the solution to the problem is to just be more verbose, but it’s a difficult habit to break. Any advice?

    Links

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats!

    Supper Club × val.town with Steve Krouse

    Supper Club × val.town with Steve Krouse

    In this supper club episode of Syntax, Wes and Scott talk with Steve Krouse about val.town, what it is, his philosophies on teaching people to code, the tech stack for val.town, and the benefits of inspiring kids to learn to code.

    Show Notes

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats