WaterBear: Building A Free Platform For Impactful Documentaries (Part 2)<\/h1>\nAdrian Bece<\/address>\n 2023-10-02T18:00:00+00:00
\n 2024-06-12T20:05:40+00:00
\n <\/header>\n
In my previous article<\/a>, I talked about Waterbear, a significant project I worked on as a newly-appointed lead developer, and the lessons I learned leading a team for the first time. In this second article, I\u2019ll go over some key technical highlights from the project. Before we start, let\u2019s quickly remind ourselves what WaterBear is all about and what makes it so interesting.<\/p>\nWaterBear<\/a> is a free platform bringing together inspiration and action with award-winning high-production environmental documentaries<\/strong> covering various topics, from animals and climate change to people and communities. The WaterBear team produces their own original films and documentaries and hosts curated films and content from various high-profile partners, including award-winning filmmakers, large brands, and significant non-governmental organizations (NGOs), like Greenpeace, WWF, The Jane Goodall Institute, Ellen MacArthur Foundation, Nikon, and many others.<\/p>\n<\/p>\n <\/p>\n
<\/p>\n
<\/a>\n (Large preview<\/a>)
\n <\/figcaption><\/figure>\nFor context, I am currently working at a software development company called Q Agency<\/a> based in Zagreb, Croatia. We collaborated with WaterBear and its partner companies to build a revamped and redesigned version of WaterBear\u2019s web and mobile app<\/strong> from the ground up using modern front-end technologies.<\/p>\nIn the first article, I briefly discussed the technical stack that includes a React-based front-end framework, Next.js<\/a> for the web app, Sanity CMS, Firebase Auth, and Firestore database. Definitely read up on the strategy and reasoning behind this stack in the first article if you missed it.<\/p>\nNow, let\u2019s dive into the technical features and best practices that my team adopted in the process of building the WaterBear web app. I plan on sharing specifically what I learned from performance and accessibility practices as a first-time lead developer of a team<\/strong>, as well as what I wish I had known before we started.<\/p>\nImage Optimization<\/h2>\n
Images are pieces of content in many contexts, and they are a very important and prominent part of the WaterBear app\u2019s experience, from video posters and category banners to partner logos and campaign image assets.<\/p>\n<\/p>\n <\/p>\n
<\/p>\n
<\/a>\n Image assets, cards and carousel UI elements are featured prominently on these promotional campaign pages. (Large preview<\/a>)
\n <\/figcaption><\/figure>\nI think that if you are reading this article, you likely know the tightrope walk between striking, immersive imagery and performant user experiences we do as front-enders. Some of you may have even grimaced at the heavy use of images in that last screenshot. My team measured the impact, noting that on the first load, this video category page serves up as many as 14 images. Digging a little deeper, we saw those images account for approximately 85% of the total page size.<\/p>\n<\/p>\n <\/p>\n
<\/p>\n
<\/a>\n Unoptimized, full-size JPEG is around 1.2 MB. Imagine how poor the loading performance would be if we had to load a bunch of images like this one! (Large preview<\/a>)
\n <\/figcaption><\/figure>\nThat\u2019s not insignificant and demands attention. WaterBear\u2019s product is visual in nature, so it\u2019s understandable that images are going to play a large role in its web app experience. Even so, 85% of the experience feels heavy-handed.<\/p>\n
So, my team knew early on that we would be leveraging as many image optimization techniques as we could that would help improve how quickly the page loads. If you want to know everything there is to optimize images, I wholeheartedly recommend Addy Osami\u2019s Image Optimization<\/em><\/a> for a treasure trove of insightful advice, tips, and best practices that helped us improve WaterBear\u2019s performance.<\/p>\nHere is how we tackled the challenge.<\/p>\n
\n
\n 2024-06-12T20:05:40+00:00
\n <\/header>\n
WaterBear<\/a> is a free platform bringing together inspiration and action with award-winning high-production environmental documentaries<\/strong> covering various topics, from animals and climate change to people and communities. The WaterBear team produces their own original films and documentaries and hosts curated films and content from various high-profile partners, including award-winning filmmakers, large brands, and significant non-governmental organizations (NGOs), like Greenpeace, WWF, The Jane Goodall Institute, Ellen MacArthur Foundation, Nikon, and many others.<\/p>\n <\/p>\n <\/a> For context, I am currently working at a software development company called Q Agency<\/a> based in Zagreb, Croatia. We collaborated with WaterBear and its partner companies to build a revamped and redesigned version of WaterBear\u2019s web and mobile app<\/strong> from the ground up using modern front-end technologies.<\/p>\n In the first article, I briefly discussed the technical stack that includes a React-based front-end framework, Next.js<\/a> for the web app, Sanity CMS, Firebase Auth, and Firestore database. Definitely read up on the strategy and reasoning behind this stack in the first article if you missed it.<\/p>\n Now, let\u2019s dive into the technical features and best practices that my team adopted in the process of building the WaterBear web app. I plan on sharing specifically what I learned from performance and accessibility practices as a first-time lead developer of a team<\/strong>, as well as what I wish I had known before we started.<\/p>\n Images are pieces of content in many contexts, and they are a very important and prominent part of the WaterBear app\u2019s experience, from video posters and category banners to partner logos and campaign image assets.<\/p>\n <\/p>\n <\/a> I think that if you are reading this article, you likely know the tightrope walk between striking, immersive imagery and performant user experiences we do as front-enders. Some of you may have even grimaced at the heavy use of images in that last screenshot. My team measured the impact, noting that on the first load, this video category page serves up as many as 14 images. Digging a little deeper, we saw those images account for approximately 85% of the total page size.<\/p>\n <\/p>\n <\/a> That\u2019s not insignificant and demands attention. WaterBear\u2019s product is visual in nature, so it\u2019s understandable that images are going to play a large role in its web app experience. Even so, 85% of the experience feels heavy-handed.<\/p>\n So, my team knew early on that we would be leveraging as many image optimization techniques as we could that would help improve how quickly the page loads. If you want to know everything there is to optimize images, I wholeheartedly recommend Addy Osami\u2019s Image Optimization<\/em><\/a> for a treasure trove of insightful advice, tips, and best practices that helped us improve WaterBear\u2019s performance.<\/p>\n Here is how we tackled the challenge.<\/p>\n<\/p>\n
\n <\/figcaption><\/figure>\nImage Optimization<\/h2>\n
<\/p>\n
\n <\/figcaption><\/figure>\n<\/p>\n
\n <\/figcaption><\/figure>\n