Published

Two articles on SPA or SPA-like sites vs alternatives

I missed these two articles by Tom MacWright from last year.

Second-guessing the modern web, 10 May 2020
If not SPAs, What?, 28 October 2020

In both, he outlines few upsides and downsides about the single page app (SPA) approach to websites and has a few points that I have really struggled to articulate in the past.

From “Second-guessing”:

There is a swath of use cases which would be hard without React and which aren’t complicated enough to push beyond React’s limits. But there are also a lot of problems for which I can’t see any concrete benefit to using React. Those are things like blogs, shopping-cart-websites, mostly-CRUD-and-forms-websites. For these things, all of the fancy optimizations are trying to get you closer to the performance you would’ve gotten if you just hadn’t used so much technology.

I’ve dabbled with React and Vue in small side projects and experiments. But the point above is the big reason I’ve never taken the time to sit down and learn either of them properly. For almost every client site I’ve ever done, it just didn’t make sense to make it an SPA.

And I’m not 100% sure, but I think this might contribute to longevity. Some of my clients are still working with the same sites I built for them nearly 10 years ago, a few with just minor security-related updates in the meantime and no other maintenance strictly required. That’s not to say that those sites couldn’t use a “lick of paint” to bring them in to the 2020s; the point is that they work. And for organizations working on really tight budgets, or budgets that fluctuate wildly due to public funding, stability is really important. They can’t afford a developer on retainer to keep things running smoothly.

But of course the SPA vibe is pretty attractive, particularly for cultural orgs. MacWright has some decent alternatives suggested in “If not SPAs” including Turbolinks, Barba.js, and instant.page. Will also mention MoOx/pjax since I’ve used it before for page transitions with very good results, but probably won’t use it in the future as it hasn’t been updated in a while.

And again, there’s the rub. The more non-native scripts, plugins, etc I use in a project, the more likely that it’s going to be a major headache (and thus major time/money for the client) for me to change things down the line if or when that bit of tech is no longer supported or has changed significantly.

So it’s not even so much about being wary of React or Vue, it’s about not making assumptions, being cautious and cognizant of future needs or restrictions when proposing a tech stack. Any tech stack you choose will ultimately become a ball-and-chain, not just those based on JavaScript frameworks. It’s just that the ball can sometimes be heavier than it needed to be, and you can anticipate that with a little foresight.

Published

Some long-winded thoughts on privacy policies and consent popups

This Q&A is compiled from conversations I have had with many, many clients and collaborators who have had a hard time navigating things like the GDPR, privacy policies, cookie notices, consent messaging, and other related topics.

Here are all the questions covered below:

Read more

Published

General maintenance tips for website owners

This was originally written as a bit of a guide for my clients and collaborators, an aggregation of similar tips I have given to many of them individually in the past in so many shorter emails and conversations. Since it is relevant to most website owners though regardless of their relationship with me, I decided to share it more broadly here.

Websites require maintenance, even those with the smallest of footprints.

This is what I would consider “bare minimum” website-related maintenance tasks including checking your payment methods and contact details, reviewing your login and security practices, performing updates and taking backups, and checking your privacy policy.

The vast majority of these tasks do not require a web developer or IT person, almost anyone can perform this maintenance so long as you have access to necessary logins, can follow instructions, and are willing to set aside the time.

I say “almost anyone” because some people are understandably uncomfortable with wading in to this stuff, they may get confused or a bit daunted by the user interfaces they have to use. In that case, just be sure that you are working with someone that can hold your hand through it or can simply do it for you. Also, not everyone has access to all of their service providers. If you’re in a different situation, for example if you retain a web developer, design studio, or IT person to continuously maintain your website, then these are worthy topics to discuss with them but ultimately they will probably need to complete these tasks for you.

Of course there are other maintenance tasks that are super worthwhile. For example it might be worth checking search performance or 404 pages with Google Search Console if search engine optimization (SEO) is important to you, or to check analytics if that’s relevant to your site. And it’s worth speaking to your web developer about front-end maintenance. CSS and JavaScript gets better all the time, as do browsers, so old front-end behavior can really date a site.

But that’s all just the cherry on top. If you complete the tasks below I’d say you’re pretty golden, probably a step ahead of 80% of the site owners I’ve come across.

If you do fall behind on maintenance (it happens to the best of us!) and something goes wrong, at the very bottom you’ll find some tips on what to do if your site goes down suddenly.

Read more

Published

Dev environment issue related to MySQL and missing OpenSSL v1.0.0 symlink

I woke up early this morning to get some work done before a call and suddenly my local dev environment stopped working without warning and with seemingly no reason. The root issue was that MySQL wouldn’t work, /usr/local/opt/openssl/lib/libssl.1.0.0.dylib was not loading.

TL;DR: This may have been related to some automatic cleanup on Homebrew’s part. But regardless, a simple restart sorted it. If this happens again and restarting doesn’t sort it, try uninstalling and reinstalling MySQL.

The rest of the detail is below for posterity if I run in to this in the future.

Read more

Published

How I handle proposals 🧐

This post outlines how I handle proposals as an independent web developer, almost the whole pre-project arc including gathering info, writing and sending the proposal, and what happens after it’s sent.

I love chatting about potential projects with anyone who will entertain me, but I can’t stand writing proposals. My goal is to make the process streamlined enough that I hate it a bit less and am able to get proposals out the door much faster.

This is an important topic and something I’m continuously trying to improve. A good proposal lays solid foundations for a project and sets the tone of a working relationship. Sometimes it even helps weed out the people I’d prefer *not* to work with.

Some of this has evolved over years of freelancing, but a lot of it is brand new or newly refined. Moving from the UK to the US has given me the opportunity to reconsider my procedures and improve the commissioning process both for myself and for my clients.

I’m pretty happy with my approach, but I’m sure it could be improved. Also, what works for me may be totally unworkable for someone else. So take this as one person’s perspective, and please share with me if you have other ideas.

Read more

Published

How I handle rates, pricing, and invoicing 🤑

Pricing is a minefield, and I’m not sure I’ll ever feel like I’ve got it totally right. That seems like a drag but on the sunny side, as an independent developer I’ve got total control over what I charge and can continue to adjust it as necessary.

This is where I’m at with pricing methodologies, rates, and invoicing at the moment. Please send me your thoughts if you have other ideas.

Read more

Published

New site for a Barcelona-based architecture practice

We launched a new site for architecture practice Barozzi Veiga about a month ago. It was a pleasure to work with Adrien Vasquez at John Morgan studio during the development process and to work with the Barozzi Veiga folks as we fine-tuned things. The site launch coincided with the announcement that Barozzi Veiga had been selected to take on a major renovation of the Art Institute of Chicago (read more).

barozziveiga.com

Published

Where do you draw the line?

There’s a fine line between changing from within and being complicit.

Dr Kate Darling, MIT Media Lab researcher and expert in robot ethics, said this in her 27 August Guardian opinion piece on Jeffrey Epstein’s influence on the science world. This comment referred to her relationship with the MIT Media Lab and with literary agency Brockman. There was an all-hands Media Lab meeting on 4 September to internally address their part in all this, read more in the MIT Tech Review. Sounds like the meeting was something… hard to tell. Ended on a thoroughly rotten note.

That line from her article has stuck with me, it’s a succinct way of articulating an ever-present worry. If you’re doing good work at an organisation that is being questionably governed or is doing iffy things, you either A) stick with the org and live with that worry every day or B) step away from it entirely and be free from the worry. In scenario A, in order to feel ok with yourself you do everything you can to make a difference. This is exhausting, and you resent colleagues that aren’t working as hard to fix things. In scenario B, you’re free from this worry but you live in a fresh hell of new worries (missed opportunity, financial stability, unfulfilled potential, etc).

Don’t know where the line is, it shifts constantly and is probably different for every person. Just have to keep it on your mind and keep having the hard conversations. Don’t let it build up, talk little and often, with everyone.

Edit 10.09.19: Deleted a sentence mentioning Darling’s plans to drop Brockman and stay with the Media Lab, from her Guardian article. That may still be the case, but more has come to light so I wouldn’t assume anything. It must be incredibly tough thing to navigate.

Published

Some background and selected projects

I’ve just added a Work & Background page to this site that provides a bit more context for what I do and some selected projects. It’s a WIP, there are some thumbnails I would like to swap out and I’m sure the text will need tweaking. Nice to have a version up at any rate.

I’m really hoping to explore a few new-to-me bits of tech in the near future, particularly related to our books index. SB has been doing some very cool experiments with that recently.