frontend thoughts

musings on frontend development

SEAN K.H. LIAO

frontend thoughts

musings on frontend development

me

In this case, frontend means mainly web development, though it extends to mobile/desktop as well. Somewhere close to the top of my front page, I have:

I'll do anything except touch frontend

and I know I have been rejected for at least one job for that.

about frontend

Fontend is high impact.

It is the first, and hopefully only, thing end users will see. They don't care if it all runs off of a potato or the brain of a dinosaur reanimated with fairy dust and magic. It is what end users see and interact with, and if they can see it, they think it's done.

Frontend is hard.

If you're developing for an iPhone, it's fine, there's a few different dimensions, but they look mostly the same. Anything else though, and you have an explosion of screen / window sizes, display densities, and orientations to think about. Also, accessability / a11y, I think it looks fine, it's functional, but X% of users can't use Y bcause $reasons and you have to work around that. Also, internationalization / i18n, we are not in perfect world where everyone speaks the same language so you have to design for that.

The web platform is incoherent.

The web is amazing, it works pretty much anywhere, for some definition of works. But the featureset isn't stable or always available, because people don't upgrade or because vendors want to protect their walled garden. Then, there's a plethora of security and performance issues to consider. And finally, the ecosystem of tools and frameworks churns so quickly, that choosing something that you are confident will be well supported is next to impossible.

my position

I want to like frontend.

Because it's highly visible, because you get the satisfaction of making something pretty, because it's something you can show your non technical friends (you have those, right?) and they will understand. A lot of the time, something visual makes everything so much easier.

I think the current system is not mature.

Amazing things can be built today. I just don't think the platform or the ecosystem as a whole is close to an elegant solution. Some complexity can never be abstracted away, they can only be managed, but currently frontend feels like they just fed it to get a bigger pile of complexity.

things to watch