I have subscribed so many new-to-me RSS feeds in the last few months that it feels like an Indieweb renaissance for independent publishing
I’m a front-end developer. This is the label I’ve allowed myself to be since the mid-2010s but it was a struggle to get that far. I previously referred to myself as a front-end coder, front-end designer, web designer, and webmaster. I still consider myself a web designer in the sense that I design code that produces websites. But this label doesn’t apply to me in 2019.
I’ve always struggled with wanting to be a good web designer, essentially a graphic designer for the web. I never solely followed that path, with countless attempts producing designs that were amateurish. It’s always been easier for me to iterate off other people’s work rather than come up with my own ideas, even as a musician or audio engineer. Remixing and updating someone else’s code, music, or recording feels more natural for me because it’s the creative realm with immediate feedback. But my beginnings into a web career started more technically.
What is front-end developement today?
- 2019 Front-end web development >= 2000s back-end development.
- The web is as much of an operating system in 2019 as Classic Mac OS or Windows was in the 1990s.
- Computer science is equally as important for the web as it is for the desktop.
As long as JS continues being a fundamental role for web development, I believe an understanding of Computer Science basics is mandatory. Staying stuck in the middle between the creative and the technical limits me in job prospects, so much so that I don’t qualify for many available, and many of which are senior level, front-end developer jobs. And all of this has left me drifting professionally, in between a noticeable distance from my creative desire to my technical knowledge.
Code is a commodity
Just as jQuery plugins delayed my need to level up, WordPress plugins furthered my procrastination. WordPress’ theme architecture, at a basic level, mirrors static HTML, sprinkled with PHP in minimal template files. The real work in a WordPress theme is scaffolding a layout with HTML and styling it using CSS, using pre-built WordPress plugins (mostly mixed with jQuery) for most interactivity. Along with a mature WordPress community came a rich ecosystem of turnkey themes and opinionated plugins; I only had to moderately create or modify the front-end or PHP.
For too many businesses, CSS is Bootstrap. Bootstrap, like jQuery, takes work out of truly learning basics of CSS. I’ve worked for many companies that quickly needed to iterate and develop what’s known as an minimal viable product (MVP) and they forced these types of frameworks into the product or cycle. To a degree, Bootstrap, and to a larger degree an increasing amount of other front-end libraries and frameworks can be considered to have immutable CSS, where most CSS is abstracted into individual classes for iterations of most rules and values. Among other things, this relieves the developer from having to think about a global namespace issue that CSS provides by default. CSS becomes like most other languages where you treat given CSS classes as methods to extend the markup without much thought into the cascade. I think this is a mistake.
My front-end knowledge for putting together puzzles out of HTML, CSS and JS pieces was commoditized to these various systems, libraries and frameworks. This was problematic for me at a slow but increasing pace. That said, my affection for web design on a creative level trumped the need to become more proficient with learning programming fundamentals. But this shifting paradigm quickly moved me out of contention for more jobs as time went on.
The moving paradigm
It really started hitting me in 2014 when job ads increasingly wanted devs familiar with principles from the MVC world for more rich web apps. It was baffling and stressful to watch the “I’m qualified” pool of jobs decrease. Despite that, I was still determined not to learn back-end programming. My mind circles around HTML and CSS plus some JS, visual layouts and User Interfaces, small animations and transitions that are now the role of CSS. Reliance on JS for everything was growing out of control.
The next few years, I accepted roles allowing some static templating or moderate scripting, each new role requiring more JS than the previous but still within my capability. And that leads me to today.
JS is the future
Perl and Java slowly phased out starting over a decade ago. WordPress’ PHP back-end likely faces a similar fate. WordPress is slowly replacing chunks of its system with modern JS like React. WordPress is a slow moving ship but there will be noticeable pain in the forced transition continuing this year into the next decade considering that WordPress drives about one third of all websites. I wouldn’t be surprised to see other similar software environments like Drupal have to pivot to more JS everywhere.
And I’m playing catch up to get into this reality, struggling to learn what I avoided for so long. I move further from creativity and more into technical everything. This is where the front-end developer jobs are, this is how to stay employed as a developer. If I want to re-enter a freelance career where I can build and support my own product, I have to embrace a full-stack skill set based around JS. Or partner up with someone who already has this. This is a slow moving process that I’m not sure where I’ll end up.
March 1st marked an important milestone, my 15th year living in Los Angeles. This is the longest I’ve settled in one place in my life. However, in the years I’ve been here, I moved six times. I almost evenly split my childhood/adolescence/young adult and adulthood between Texas and California respectively.
Funny thing is, I don’t really consider much of my time in LA as settled down. So much felt transitional in my mind, despite having lived in one place for more than eight years. I still think of Texas as home when I return, but California is just as much a part of my life in this way.
Maybe it’s time I shake things up again soon, as I enter a new decade in my life very soon…
Some days, I just don’t want to go to the gym. I don’t have to lift weights or use a treadmill to get my heart rate up, and these exercises were a challenge!
Why do I find React.js progress bar examples that never involve the HTML progress element? It’s always nested <div>s. Progress elements have broad support for almost five years now.
As I transition back onto my personal website, I want to find a way to have a personal friends list to connect with here: a list of trusted connections that will receive exclusive blog posts. It’s a challenge I haven’t yet solved but I have some ideas. But let’s step back for a moment so I can explain better.
Many years ago, in the age of Friendster becoming a social network, I installed a web forum called phpBB here for a couple of reasons:
- Give people a central place to socialize
- Keep track of birthdays
I thought it would be neat to give people I know a central place to have conversations and talk about things. I can’t find the number now but I believe I had close to 50 people sign up and that was helpful for me. It was effectively a contact list. Some people left their birth dates, others left more information. I could use this to keep track and personalize my greetings to people, mainly for #2 above.
I actually like the idea of a friends list and I think we see various forms of them online. Most apps or sites describe this as your social media connections, using terms like Followers, Following, or Friends. But why am I highlighting this?
When I know my writing goes into a tunnel, such as private messaging, direct messaging or custom publishing to the various friends lists or followers, I can let my guard down a little and be more personal.
See this image above? Look at the bottom right side where it says “Friends”.
Facebook profiles can be closed from the broader ecosystem as well as the internet. The form above provides some form of nuanced privacy control when broadcasting your writings. Outside of Facebook collecting and selling everyone’s data, this is a form of encapsulation that allowed me to be more vulnerable than I am on the broader internet. It’s a convenient but effective mirage.
If we’re connected online, it’s possible you’ve noticed my participation in social media dwindled starting in 2017. I’ve had a complicated relationship with these various sites since the late 2000s and had my ups and downs. I grew envious when I saw more people I know sign up and almost exclusively use these services.
I blogged a lot in early to mid-2000s with all kinds of random posts. My writings began at the end of college and this was the outlet to all those who weren’t in the same place as I was. I moved from Colorado to Texas to California and traveled at least a couple times a year, or more, in most of that decade. So keeping up with people was not easy and this was a place I could send people.
But that envy of MySpace and later Facebook took its toll. It effectively silenced me in the early 2010s. I lost the motivation to write here into the void. But I’m now apart of what’s being labeled as the old guard of the web, looking back at a time in the first millennial decade where the web was a playground for anyone who cared. And I believe more than ever that this type of connection should not be solely enclosed by walled gardens of social media sites who prey on me.
So what’s this leading to? More blog posts here. Right now they’ll be public, open to the whole world, syndicated to social sites at times, and available for you to leave comments and participate if you want. Maybe you’ll just read or skim, that’s fine too.
Ultimately, I would like to recreate a friends list here. I want to create a tunnel for people who care and want more than sometimes-bland, often-technical public blog posts. When you “add” me, when you “follow” me, when we make a trusted connection that shares a common secret between each other, I can make more personal statements and know these words are going to people who I want them to see.
But I haven’t figured this part out yet. Maybe it’s making encrypted posts that my trusted connections can view. Maybe it’s something else that I haven’t thought of. I want it to be something you can sign up for, you can click, you can follow, and I can approve, similar to what we’re already used to.
Privacy might be increasingly difficult, maybe it’s mostly dead online, but that doesn’t mean I can’t try to take it back in small ways. Ways that’ll benefit both of us.
Let’s see how long it takes for me to come up with a way to have a personal friends list for asuh.com. Once this happens, you can have your own site/profile/blog and do the same.
Trying to be more creative and updated my blockquotes to heavily stand out. It’s my freakin’ blog, I might as well try new crazy styles!
The modern web developer is more a software engineer than what I would call a web developer. The app-ification of the web isn’t a case of writing some HTML, authoring a CSS file, and using a new jQuery-like library to get that sweet interaction.
You are going to need to know how to program; like a real programmer. You are going to need to know some very different approaches to how you build, deploy, and maintain things. You’re going to need to question the value of some of your strongest held best practices.
And you’re going to need to get to grips with tooling. So much tooling. Because the new web development has matured enough to be dangerous to ignore, but not enough to be simple and entirely stable.
It’s clear now that a programmer path for the web requires skills that I don’t have and must continue to learn. I have to cross the line to the left brain from the safety of the right brain.
I think I’ll write a post about my journey and struggles.
An open-source screen recorder built with web technology
While looking for an open source alternative to the useful tool called Gifox, for creating screen recording animations on macOS, this Stackexchange comment led me to Kap. While it doesn’t display the last recorded gifs, I was sold on the fact that it go beyond just animated GIFs because it offers WebM, MP4, and APNG. What a great tool and highly recommended.
If I hadn’t found Kap, I probably would have hooked up this solution using Quicktime, various apps, and Automator for a dirty but effective free alternative.