Things I Like
by Ryan Trimble
I like a lot about web development, even if its hard to remember sometimes.
I’m feeling pretty bad about web development (like, in general) lately. There is a lot happening that makes all of this a whole lot less fun in my opinion. I’ve drafted quite a few angry posts that haven’t been finished and will never be published.
Instead of stewing in that negative energy, I wanted to remind myself of what I do like about web development.
I Like Accessibility
My first web developer position was at a local college, where I learned a lot about accessibility. A majority of my time was spent checking out various components of the site, testing them, and learning how to make them more accessible. That experience made me understand the importance of accessibility in web development.
Although it’s generally a good idea to follow established patterns, there is a fun challenge in crafting user interfaces with accessibility in mind. Accessibility really makes you stop and consider all the different ways a user might interact with a design, and how best to prepare.
This involves a lot:
- Color contrast, typography, and readability
- Semantic HTML and information hierarchy
- Testing how screenreaders might interpret things
- Navigating sites without a mouse
- … so much more!
I truly believe there’s a good balance to be found in providing fun user experiences, designed to be accessible, with results that benefit everyone.
If it’s designed well, but not accessible - it’s not designed well.
I Like Animations
I’m a fan of animation in many forms, unfortunately I don’t have the skills to create cartoons. I do have the skills to create web animations, at least.
The animation capabilities of CSS and animation libraries such as GSAP (GreenSock Animation Platform) are super fun to explore. One of my favorite workshops I participated in was about animating SVGs, with instructor Cassie Evans.
Some animation may conflict with accessibility, but I feel like there is always room to add non-intrusive micro-animations on interactions to make them a tad more enjoyable. Animation may improve perceived performance of sites, as well as inform users while something happens in the background.
I Like Building Stuff
As much as I enjoy building complete websites or applications, I think I have more fun building tools and libraries that may be used in any type of project.
At a previous position, I contributed to our company’s in-house design system, which was used in several of our projects. I built tools like skellyCSS (now skelly-wc), just a tiny library to quickly add skeleton screens into projects.
I really like building custom components. Like components that nail functionality and are reusable. Digging into the small details of a single component, providing the right functionality, making it accessible - it’s where I thrive, I think.
I feel I have a more difficult time working in third-party component libraries than I do creating components from scratch. This is most likely due to some personal standards that never feel met when perusing docs of an off-the-shelf component library. My problem, not theirs.
Personally, I love the idea of using native web components to make reusable user interfaces, with zero dependencies and can be used everywhere.
If I had to pick a reactive JavaScript framework to build components with, it would be Vue. Vue’s single file component structure works well with my mental model for what a component needs: a template, script, and styling.
I Like Learning Stuff
I love learning new things and luckily, with web development, there is an endless amount of things to learn about.
My favorite thing to do is just pick a topic and do a deep dive, try to figure out how it plays a part of the web. A lot of the time, I start a project to build and use whatever thing that happens to be. I never really finish the project, but I do learn a lot about the thing, which is the actual goal.
Also, the web evolves fast: CSS becomes more powerful all the time, new tools for building static websites or new ways to render server-side. I love finding creative solutions to various types of problems, please keep sharing how you “solved it” on your blogs!
I Like Optimizing
I never really consider something “finished” and strive to make things better. In a variety of ways:
- Faster website and web application performance
- Enhancing semantics for accessibility and search engines
- Updating styles towards more modern CSS
I also like tinkering with tools to help with optimizing things! For example, Vite is one of my favorite tools as it is crazy fast and has a great ecosystem for optimizing compiled code.
I Like Semantic Markup
There are over one hundred different HTML tags that are highly capable in structuring documents and templates.
Semantic markup is helpful in lots of different ways, especially for accessibility. I’d say the primary benefit is information hierarchy, helping users understand the flow of a document easily.
If I find myself reaching for a generic <div> or <span>, I tend to revisit the code and see if there is possibly a more applicable HTML element to handle it.
I Like Styling
Of the many, many, many aspects of web development, CSS is my absolute favorite. CSS provides an infinite canvas to create anything and without a doubt is the best design tool available.
Admittedly, I took a long time to fully understand how JavaScript works and would often find various ways to avoid it, instead reaching for CSS-only solutions. Back then, this was probably not the best approach, however nowadays CSS is so powerful I find it weird developers aren’t using it more effectively.
CSS really checks off all the boxes of “things I like” -
- CSS helps with accessibility and semantics
- CSS provides enjoyable and memorable user experiences
- CSS has a lot to learn and is always improving
- CSS enables me to endlessly create
I love getting to share my excitement for CSS here on my blog and over on CSS-Tricks.
CSS has taken me places as well, I flew halfway across the world to attend CSS Day in Amsterdam. Still one of the best trips; it didn’t even feel like a conference, as everyone was also there because they also love CSS.
I Like the Web
As disappointing as things have been lately, I still really enjoy working on the web.
I find it fantastic that there is such a low barrier for entry to writing your first lines of code. There are so many resources available to help folks learn, build, and create on the web.
Hopefully, as “hype” dies down about certain technologies, I’ll be able to return to a point where I’m more excited about the web again.