The beautiful place where all the ugly technology comes from

The beautiful place where all the ugly technology comes from (Photo © Nick Jones)

I was one of the first 20,000 or so people to have Twitter. I remember being at SXSW shortly after its launch. Screens in the convention lobby were showing attendees’ tweets in real-time. Twitter employees were running around replacing dead and dying servers. It seemed like an important thing at the time.

I think we struggle to find a good purpose or higher meaning for anything we’re addicted to. In its time on earth, Twitter patted itself on the back as the enablers of the Arab spring, the #MeToo movement, and more. Any mass media platform could have done those things, but Twitter was the one that was there so they take the credit.

But not long after Twitter became part of our vernacular people started to wonder—the types of people who can usually be counted on to wonder—if it was good for us. What happens when the majority of the world is existing more or less in the public eye? And what does it say that so many people are doing it willingly? If I came to your house and told you that you had to share all the minutiae of our day with the world you would very likely be angry. But not us. We liked it. And then so many other apps came along whose very business models relied solely on our willingness to overshare.

I can look back over the last twelve years or so and tell you that for me it was not healthy. Relying on an external and unseen audience for approval, validation, and purpose is not only terrible for the human brain—but it’s well-known that it is. I’ve wrestled with who I am as a person, and whether or not the things I created were of value if I didn’t talk about them online. Like, this isn’t news to anyone, really. It’s frankly crazy that we put up with it for as long we did.

The issue at hand now is that all the usual suspects—the governments, the oligarchs, the bad-actors on a global scale, the fascists—are taking over the tools, as they always will. Mass media has a history of infiltration by one extreme cause or another, and social media isn’t different. You combine the interests of business with the interests of government and you get fascism. Companies like Twitter always talk like the Beatles until there are lawyers or senators in the rooom; they pitch themselves like wide-eyed, hippy-dippy solutions to all the world’s ills, but are more than happy to sellout at the first opportunity.

So when that makes you mad, and if you feel like you need social media badly enough, you can pack up and leave. But I would urge you to consider for a moment (talking to myself here, too) that you don’t really need social media. Yes, this sentiment is not new. Yes, I sound like someone’s English professor. But it’s also very true.

In a dozen years, I’ve made so few connections that I would not have been able to make in some other way through these platforms. For most people, things like Twitter are not the great enabler they claim to be. (They could be, but the money isn’t in that particular aspect of these businesses.) My favorite people on Threads, for example, live minutes away from me in the huge city I live in.

In 2025 I think I’d like to rely less and less on this stuff (social media), and stop getting caught of in this ridiculous routine of indignantly packing up all my data to move from app to app in a huff when said app’s handlers are revealed to be evil in some new and terrible way. I have enough problems.

— Nick Jones

Unfinished building restoration, Chelsea

Unfinished building restoration, Chelsea (Photo © Nick Jones)

Over the holidays my son piped up from the back of the car. “Dad, I’m working on a screenplay. Want to hear what it’s about?” I look into the rearview mirror and I think of course I want to hear that, but I cringe momentarily.

I’ve been a tinkerer, writer, designer, ruminator, learner all my life. I’ve dreamed up a million projects in a thousand different places, laid the best plans—set my tools out on the bench, selected the perfect color scheme for my text editor—and then…nothing. I get out of the gate and I go promptly nowhere. I get bored, things stop feeling fun or productive and I just quit.

I’m not alone in this, I know. Most people quit, if I’m honest. Finishing is really difficult, maybe the hardest thing there is.

But I can tell you a small secret that separates the shipped projects from the ones in the archives: I didn’t tell anyone about them. And I know you want to tell people. I do, too. I want to ruminate and chat and yap about this cool thing I want to build.

But I also know that the fun I will have doing that will sometimes feel like it’s enough; it will steal the desire I had to learn while doing the project itself. My little ADHD brain will think oh cool we don’t have to do the hard work now! and it’ll move on to reading about Mesopotamia or ghosts or eating cheese or whatever.

Over the last year I’ve actually sent some things out onto the showroom floor, and here’s what I did to make that happen.

  1. Keep loose notes. Make a little file and type dumb stuff in there. Remind yourself that no one will ever see this note. It doesn’t have to look cool or be spelled correctly. It’s just for you.

  2. Seek and use help. Try to understand the difference between creating something new and learning the skills to create something new. Those are not the same. When I’m learning a new skill I tend to put myself into “help starvation mode”; I feel like in order to learn to swim I need to nearly drown. Ok, fine. But when I’m trying to use those hard-won skills to actually make something, I’ve learned to recognize my skill gap and ask for help.

  3. Don’t tell anyone. Just don’t say anything. Work away on your thing. Hide it if you have to.

I’ve been more fulfilled working in this way, because I don’t feel like things have to be “good” or “cool”. Every creative endeavor has an ugly phase. You are absolutely going to want to stop in that phase. And worst of all is if you’ve talked about your amazing plans it’s going to make stopping in the ugly phase feel even easier. This sucks you will say to yourself, correctly. I can’t show this to anyone you will intone, understandably. And then you will quit, depriving the world of a social network for people who love cold eastern European soups (BorschtBook, obvs).

I want to hear about your screenplay. In fact, you have no idea how much I want to hear about it, and talk about it, and then talk about my own screenplay ideas.

But more than that I want to see your movie. Don’t tell anyone. Create your thing and show it to me when you love it.

— Nick Jones

Not a website, but a person.

Not a website, but a person. (Photo © Nick Jones)

I’ll give you the bottom line up front: one of the most powerful lessons I’ve learned as a designer working with companies of all shapes and sizes is that there is still no good replacement for owning your own marketing website. There are a handful of disclaimers to this rule of thumb, sure—but time and time again it’s proven to be true. And there are some good reasons why.

Social media is a fickle space

In 2023 the media landscape is littered with the dead and dying corpses of once-dominant behemoths. Some are so toxic that no sane person would ever allow her brand to appear on them, while others yield so little reach as to make then unworthy of effort. And this pendulum swing will keep happening, and likely accelerate, as more and more platforms proliferate. While there are still good reasons to maintain presences on these platforms, they’re not the primary stages they once were.

Even if you still want to build out complex presences on sites like Facebook, you owe it to your product and your team to diversify beyond those walled gardens. Any platform that you don’t own is subject to sudden and jarring change. Owning your own marketing tools can’t completely innoculate you from every ill wind blowing through the media space, but it sure can help-or at least soften the blow when your platform du jour suddenly decides to devote itself to, I don’t know, something crazy like fascism.

Improved synchrony between teams

Product launches are hard. In a typical SaaS product launch, a Product Manager will be coordinating efforts between product designers, developers, marketing, merchandising, compliance and more. Adding fifteen logins to fifteen go-to-market tools into the mix practically guarantees something will go wrong. Rather than touching each and every one of those external platforms, a strong marketing site and some automations act as a practical solution that can eliminate a lot of credibility busting errors on gameday.

This central repository of content also means editorial calendars are slimmer, which means those tasks are more likely to be completed on time. Some of the highest performing marketing teams I’ve worked with have such high performance metrics because they’re focused on just a few repositories of content.

AI can’t do everything

This could be my age showing, but one of the more pernicious things I see inside teams is the desire to cede marketing to AI. While some of this is credible, and probably worth keeping an eye on, there are still millions of consumers who are put off by AI generated content and who can, in fact, pick it out of a lineup. My early observation is that teams who are still willing to generate their own content, and by extension own that experience via a homegrown marketing site, do better—at least for now.

This is the golden age of design technology

This next one is not for everyone, but one of the things I constantly preach to any organization that will listen is that not only should your marketing team own your product’s website, but they should own the design and the code. This is hard if not impossible for many teams, I know; coders who design and designers who code are more plentiful than they once were, but still a boon to find in the wild.

But what I’ve found is that exposing design and code to the right people can actually create full stack designers and developers in some cases. My own journey begins with design and turns into design tech, code, dev-ops, and other things I never thought I’d see myself doing. I’ve seen the same transformation happen elsewhere, and I’ve used it to move so many SaaS marketing sites into the marketing org where they belong. I’ve then watched those marketing teams build millions in pipeline and do other amazing things, simply because they were that much closer to that critical tool.

Final word

A lot goes into building a marketing site, but it’s completely manageable. And if you’re marketing your own product, hopefully no one knows it better. You may need help to flesh out your story and set all the pieces of your brand in order, but there’s help for those tasks. In the end, I’ve never regretted advising anyone to own their marketing tools.

— Nick Jones

Shop window, NYC

Shop window, NYC (Photo © Nick Jones)

I am my father’s son. He was a journalist and writer, and he firmly believed that one of the best things any person could be was well-rounded. To that end he could translate a little Greek, paint a passable watercolor, make a decent pot of lentil soup; in other words, he knew a little about a lot of things. But one of the things I suspect he loved the most and wanted to understand more than some others was photography.

I can remember so many trips with my dad where his only real goal was to walk around and use a couple of rolls of film. It wasn’t long until I needed a camera of my own, which started a life-long infatuation with cameras and gear, and photography in general.

**

In the late ’90s, it seemed clear that every electronic device would soon be an “everything” device. Companies looked around at all the things humans liked to carry around with them as they went about their lives, and made a list. Then they spent two decades combining the big things in various ways—fax machines with printers, TVs with built-in VCRs. When the big things became useless they started on the smaller things, and a combination was born that many people can’t even remember as separate devices: phones and cameras. There is a high resolution camera attached to practically everything you buy; not only phones but laptops and tablets. Doorbells and even cars are arrayed with cameras, not for shooting birthday party photos, but to enable “computer vision”.

The most popular camera in the world right now—and I do mean camera in the traditional sense, not the “this device has a camera for computer vision or some other purpose”—is the iPhone. Phil Schiller, a former Apple executive who was heavily involved in the iPhone from its earliest days, is an avid photographer. He’s also a big believer in the axiom that “the best camera is the one you have with you”. Under his direction the iPhone went from a device with a (mostly) passable 2 megapixel camera to something much more capable.

A modern iPhone can take 48 megapixel stills and 8k video, process dozens of simultaneous exposures into one single “perfect” shot via machine learning and AI, eliminate camera shake in software, and so much more. In every way it is the perfect camera. It produces a nearly perfect shot, every time, without any knowledge from the operator. It’s what every camera company spent a hundred years trying to create. It’s very difficult to produce a missed shot with an iPhone (or really any smartphone camera). This is what happens when you apply one of the central tenets of user interface and user experience design, that a system should make it easy to do the right thing and difficult to do the wrong one, to photo taking. No missed shots. No blur.

**

I have the same “workflow” as most people when I use an iPhone as a camera. I point it at things and take photos, and they are dumped into the cloud for me to sort later. In my Apple Photos library there are tens of thousands of photos. They’re all fine. Many of them are very precious to me because of the people in them, but I have no real recollection of taking them. I know I did, because here they are. But I don’t remember where I was standing, or what I was saying. The human ritual of taking a photo—the weird body posture, the holding of breath—is not present. I held a thing in front of the subject and tapped a button. In some cases I tapped the button numerous times for insurance, and I just kept walking.

One of the promises technology has always made is that it would simplify life and remove stress. In the case of the iPhone’s camera, the stress removed would be that of the failed snapshot at the most critical time. I see and understand the validity of that purpose, but I also have felt how the iPhone has helped me to forget.

My first “real” camera was a Vivitar PS:120, a little point-and-shoot my dad bought for me at Sears. After insisting on scratching my name into its battery cover, he sent me on a fifth grade field trip with it. I have a memory of that trip, of taking a photo of my best friend Andrew posed beside a tank of piranhas making his best piranha face. That photo is long gone, but I remember taking it and I remember what it looked like.

The photo itself is secondary. The effort of opening the camera, waiting for its flash to warm up, then pointing and shooting, aided in the creation of a memory. When I shoot with my iPhone, backed by terrabytes of invisible cloud storage, my brain says to shoot now and remember later when I’m looking at the pictures I took. Like a lot of people, I feel like that step never really happens. When I finally look in at all these photos what I’m seeing are thousands of bookmarks that have fallen out of the books they were holding place inside; I waited to make the memory, and now it’s mostly gone.

— Nick Jones

First, the helpful hint

When you’re putting dates in the frontmatter of your posts in an AstroJS blog, do yourself a favor and add T12:00:00 to your time stamp. It corrects for the UTC offset so your dates don’t display as off by one day.

Some background

As I’ve built this site with Astro, I’m rediscovering how much I loved web development before React 1. I’m also remembering how it’s possible to go around and around on a single problem for an entire day, and find a solution in the obscurest corner of the web.

One of my favorite aspects of the Astro framework is its folder-based routing. Astro can connect to your database-as-a-service du jour, of course; but your blog can also just be a folder full of Markdown files served up on the fly with some frontmatter and TypeScript validation to stick it all together.

It’s really slick, and in total it’s been one of the best developer experiences I’ve had since the glory days of Rails (which has tragically become a trainwreck to use.) My only issue was with outputting dates.

The Astro way of blogging in Markdown involves adding frontmatter to posts:

---
title: 'My awesome post'
subtitle: 'This is so cool'
pubDate: 2023-04-18
---

This frontmatter is part of the schema you define using the Astro content module (using Zod under the hood). TypeScript then validates the schema as you save and author your Markdown files.

// Import utilities from `astro:content`
import { z, defineCollection } from "astro:content";
// Define a `type` and `schema` for each collection
const postsCollection = defineCollection({
    type: 'content',
    schema: z.object({
      title: z.string(),
      subtitle: z.string(),
      pubDate: z.date(),
    })
});
// Export a single `collections` object to register your collection(s)
export const collections = {
  posts: postsCollection,
};

Later you can iterate over the collection and render all the collection elements, maybe in a nice component with some styling.

<div class="container mx-auto p-8">
  {
    allPosts.map((post) => (
      <BlogPost 
        url={`/notes/${post.slug}/`} 
        title={post.data.title} 
        image={post.data.image} 
        date={post.data.pubDate}
      />
    ))
  }
</div>

The problem

My issue was in the way Javascript handles dates. I was using a date like

---
pubDate: 2023-11-16
---

and transforming it like

date = pubDate.toString().slice(0,10)

and getting output like

Published on: 2023-11-15

The state of getting answers about broken code on the web is weird at the moment. AI is taking over, and places like Stackoverflow and GitHub Issues are turning into ghost towns. Even so, I was able to find out enough to see that the issue was UTC timestamps and how they’re interpreted in a user’s browser.

So I did what everyone does these days: I described the issue to ChatGPT.

I got some good, thorough results but nothing was getting me over the hump. ChatGPT correctly understood the problem, and was making a valiant effort to write some code that would solve it. But it wasn’t until I read an offhand line in one of its responses that I realized the solution was as simple as adding T12:00:00 to the date in the frontmatter.


Footnotes

  1. Astro is Javascript, after all — but it outputs HTML in all but the most extreme cases. Writing Astro templates is a lot more like writing good old HTML than spaghetti JSX, and I like that.

— Nick Jones