Or try one of the following: 詹姆斯.com, adult swim, Afterdawn, Ajaxian, Andy Budd, Ask a Ninja, AtomEnabled.org, BBC News, BBC Arabic, BBC China, BBC Russia, Brent Simmons, Channel Frederator, CNN, Digg, Diggnation, Flickr, Google News, Google Video, Harvard Law, Hebrew Language, InfoWorld, iTunes, Japanese Language, Korean Language, mir.aculo.us, Movie Trailers, Newspond, Nick Bradbury, OK/Cancel, OS News, Phil Ringnalda, Photoshop Videocast, reddit, Romanian Language, Russian Language, Ryan Parman, Traditional Chinese Language, Technorati, Tim Bray, TUAW, TVgasm, UNEASYsilence, Web 2.0 Show, Windows Vista Blog, XKCD, Yahoo! News, You Tube, Zeldman
Jeffrey Zeldman Presents
Since 1995.My Glamorous Life: Entertaining Uncle George 19 Oct 2025, 1:10 pm
Fam and I are visiting my 96-year-old Uncle George tonight. We love him. His complicated and somewhat meandering stories have been music to my daughter’s ears since she fell asleep in a cab at age six listening to him lament his wife’s death.
George is my late mother’s only sibling, and the only survivor of that generation, just as I am now the only survivor of my generation of my birth family. I hear my mother’s depression in Uncle George’s stories, and he sees my mother when he looks at me.
A former president of the New York Psychoanalytic Institute (NYPSI) and past medical director of the institute’s Treatment Center, he was still lecturing as recently as October of 2011, when he was a spry and supple 82. He’s a lifelong New Yorker who walks miles every day. I expected him to go on forever. But nobody does.
My cousin told me yesterday that Uncle George may have lost a step or two this year. The thought of that brought my daughter and me to tears.
My mom died fairly young of Alzheimer’s; my dad had untreated dementia for years before my late brother (supported by the Biblical destruction by flood of Dad’s house, and the desertion of Dad’s second wife, who couldn’t take his weekly hospitalizations anymore) managed to get him into a home. He deteriorated there quickly, although he continued to dress each morning as if he were going into the office. He died believing he had beaten up Hitler in a fistfight.
My beautiful younger brother Pete passed soon afterwards, consumed by the worst kind of cancer, and not helped by having exhausted himself worrying about our father.
You never know if the next visit may be the last.
The thought that now Uncle George too is beginning to lose his brilliant mental faculties—and maybe past beginning—is tough to take.
Our culture conspires against preparing for or even acknowledging disability, aging, and death—as if happiness is just one more Amazon delivery away.
I got extra sleep last night and this morning to boost my emotional strength for our visit tonight. Believe it or not, this is me pumping myself up to experience love and joy in tonight’s reunion, and not let sorrow dominate. So much of living now is about finding love and connection while the systems and people we took for granted collapse around us.
The post My Glamorous Life: Entertaining Uncle George appeared first on Jeffrey Zeldman Presents.
My Glamorous Life: Bots, Books, and Betrayal 18 Oct 2025, 12:10 pm
My father was an engineer who designed robots. When I first learned what he did, I imagined the Robot from “Lost in Space,” and asked him to make me one. When I turned 13, I realized that the pick-and-place robots he designed replaced assembly-line workers, and asked how he, who’d been a socialist in his impoverished youth, could create something that took anyone’s job away.
“Those are depressing, repetitive jobs,” he said. “Those folks can be trained to do more interesting work: work that stimulates their mind. Pays lots better, too.”
Actually, that’s what he meant to say, but how he expressed it was:
“A steam shovel takes away the job of 1000 Coolies digging with teaspoons. Should we not have steam shovels?”
Oof. My father and his words.
Uh-oh. Let me explain…
My father didn’t mean to be racist with that “Coolie” crack. He was as anti-racist as any white man of his generation, which in his case was actually a lot.
Like he wouldn’t watch “Gone With the Wind” because, in his words, “it’s anti-Negro.”
He would say this angrily, with wet eyes.
As a young man, my father had been a civil rights worker who worked to enroll voters in Harlem. His heart was in the right place.
(But also: He had major emotional problems, constant bubbling rage from untreated childhood trauma, and undiagnosed spectrum stuff, which made him brilliantly inventive and creative, but also left him almost incapable of speaking for ten minutes without offending someone, often profoundly. Where was I? Oh, yes.)

As for the “Negro” in “anti-Negro,” my father was taking his lead from the Black community itself. This was the era of the United Negro College Fund and the NAACP, when a white person calling a Black person a “Negro” was showing respect, strange as it sounds to modern ears.
And he was profoundly right about that damned film, which whitewashed slavery and depicted Black people as either sweet, overgrown children or violent rapists crazed by white flesh. (Still later in my life, when cable TV became a thing, it appalled me that Ted Turner played “Gone With the Wind” seemingly every other week on his big channels, TNT and TBS.) I’m not saying it’s a badly made or unambitious film. Just that it’s racist af. So fuck Ted Turner. Fuck him for platforming “Gone With the Wind” every ten minutes. Fuck him two times for creating the 24-hour cable news cycle. Look where that’s gotten us.
But I digress.

(NOTE: I can’t watch any film with Clark Gable since I learned that he wore dentures that stank—something his glamorous leading ladies had to endure during dialog and kissing scenes. It’s not that I judge the poor man for his health problems and the state of dentistry in the 1930s. It’s just that, ick, it shatters the romantic illusion movies work so hard to create. But I digress again. I can’t watch “Gone With the Wind” because it is racist, and I’m glad my father gave me that understanding when I was young.)
Beep Boop

Wait a minute, how did I get into all this? I was talking about my dad creating robots for Perkin-Elmer, American Machine & Foundry, and Rockwell International. Robots that didn’t look anything like the talking, beeping 1950s sci-fi robots in the old movies I grew up adoring.
I was talking about how my once-socialist, pro-worker dad helped create products (like pick-and-place robots) that replaced human workers on the assembly line.
Not that that reminds me of anything happening today. Although I should probably ask my chatbot to check and make sure.
(That’s humor, kid—is what my dad would have said.)
Betrayed!
By the way, if you’re so inclined, you can buy a Kindle copy of my dad’s book, “What Every Engineer Should Know about Robots,” from you-know-who. Technically, my father and I wrote the book together: he supplied the knowledge, I brought the writing chops.
When he brought me in on his book-writing assignment, my father promised to share a coauthoring credit with me. But in the end, he couldn’t do it, and I was listed in an acknowledgement as a “creative editor,” whatever that means.
I found out when I saw the printed book that I’d been denied my credit.
My dad could have told me in advance. He could have lied and said the publisher insisted on only crediting one author. How would I have known any different? I was only 23.
But he said nothing.
Not that I’m bitter. My dad was profoundly abused in his childhood. While he came across as having a huge ego, inside he was more fragile than silence. To have given me the boost my writing career desperately needed at the time was simply too difficult for him. It needed to be his book, so everyone would know Murray Zeldman was a genius.
At least, that’s what my mother told me when she saw me sitting quietly in a corner, looking like I’d been gut punched.
I have long understood and forgiven my dad, although at the time I could only feel hurt. (Also at the time I was working blue- and grey-collar jobs that barely covered my rent and bus fare; even if it didn’t immediately boost my financial circumstances, it would have been swell for my self-esteem to have the publishing credit I’d earned. But I digress.)
Besides, it was a great learning experience: mindful of the pain I felt when screwed out of my credit, I’ve made it a point during my decades of work to always credit my colleagues for their contributions. I hope I have not failed to do that.
But we were talking about chatbots or something. Right?
Say, look here, I’ll tell you what Claude.ai and ChatGPT can’t do: write a memoir as disorganized, digressive, and curdled in the stench of resentment as this here—but what is this thing I’ve written here, anyway? A lament? A word salad dressed in thousand island tears? Who can say? I was dreaming when I wrote this. For you. Always for you, my dear daughter.
The post My Glamorous Life: Bots, Books, and Betrayal appeared first on Jeffrey Zeldman Presents.
How do you spell success? 25 Sep 2025, 4:36 pm
Working in tech means being comfortable with change and uncertainty. Successfully working in tech means not letting change and uncertainty paralyze you.
Forge ahead on the best information you have, and be prepared to change direction as needed.
The post How do you spell success? appeared first on Jeffrey Zeldman Presents.
Behind every successful launch, there are 100 interesting failures. 24 Sep 2025, 1:24 pm
We must stop thinking of failure as an end of something, and learn to see it as a natural part of progress. The first incarnation of a new idea may die, but the best ideas will find new lives. Behind every successful launch, there are 100 interesting failures.
The post Behind every successful launch, there are 100 interesting failures. appeared first on Jeffrey Zeldman Presents.
Everybody’s lost it, Part I 19 Sep 2025, 4:36 pm
My beloved veterinarian’s office apparently moved to a new office location without informing customers. They also changed phone systems. The new phone system doesn’t work, and they didn’t leave a forwarding message on the old phone system. You call, leave a message, never hear back, and never learn what’s become of the business.
Our oldest cat, Snow White, who’s had failing kidneys for two years, is alive at 18 chiefly because we love her and we give her drip medication three times a week. We ran out of the medication last week and requested a refill, but never heard back, and nobody was at the office when we checked.
So for a week I’ve been calling them every morning and every afternoon, while also using their website (which, like the voicemail system, offered not a peep about their office relocation) to request the medicine our queen requires to keep living, and nobody called me back or responded to web messages or text messages, because they weren’t hearing or seeing them.
Today I received a boilerplate email saying that they had moved; the hurried communication included the *area* they moved to but not a street address.
The email also said that their new phone system doesn’t work. So they’ve been sitting in a new office with no customers, not getting their messages—not having thought to provide advance notice to their customers that any changes were afoot—and probably wondering what went wrong.
The email included a phone number we could use to send them a text message. So I did that, letting them know I’d been trying to reach them all week, repeating my request for the badly needed medication, and asking for the street address they’ve moved to.
Three times they texted back with the same information they’d already provided. Information that told the general area they’d moved to. With no street address.
I continued to respond, saying that’s nice but what’s the street address? And each time they replied by resending the same boilerplate that contains absolutely no street address information. You’d think, oh, he’s talking to a bot. But in fact I’m talking to people. People who are responding to messages they’re too frantic to actually read and reply to properly. Instead of answering once, correctly, they end up answering many times without actually, you know, answering.
I empathize with their freakout, I know their job is hard. I had service jobs myself all through my twenties—the benefit of an MFA in fiction writing is that it prepares you to take shit jobs that will later give you material to write about. And even much later in life, as a business owner, I’ve been guilty myself of responding too fast to queries I scanned instead of reading. But I learned better. I learned that it was actually more helpful to read and respond correctly to ten messages, than to scan and respond uselessly to 100.
I know this because one of my former employees would yell at me to slow down. As you may realize, nobody who worked for me ever feared me. Nor did I want them to. I’m happy about that. No boss should intimidate the people who work for them. I made lots of business mistakes—the cliche about creatives not being super-duper at business exists for a reason, and was true for me. But I never made the mistake of encouraging my employees to live in fear. And neither, apparently, does my veterinarian. Which is cool. He is, after all, a good person. The panic driving the thoughtless responses doesn’t come from him, but from the situation.
I’m not angry at anyone—not the brilliant veterinarian who founded the business, not his medical colleagues, and certainly not the folks who run the front desk. But damn. Don’t move without informing your customers. Don’t tell people approximately where you’ve moved to when you finally realize your customers have no idea what happened to your office and you should let them know where you’ve been hiding all week. And if a customer with fair-to-excellent diplomatic skills gently points out that they still need a street address, the thing to do is update your boilerplate to include the street address—not keep resending the useless boilerplate that asks people to treat their pets’ health as a scavenger hunt with exciting clues about where the veterinarian MIGHT be located.
I am an employee myself these days, and happy to be one. I like that everyone at my workplace is available for honest conversation—even the CEO. It’s an unusual and excellent part of our culture.
Dealing with bills and medications and doctors is something I squeeze into short breaks I take during my working day. Today I’m not only dealing with this during those breaks, I’m also trying to coax the staff of a brilliant and expensive gum surgeon I see (I’m old, I have health problems like everybody, and more than some) to send me the records of my many expensive visits there, which I have paid up front (as they required), so I can share those records with my insurance company and possibly get reimbursed. I spent ten days waiting for those records after they promised to send them to me right away. It used to be, doctors sent their bills to the insurer, and if there was any part the insurance company didn’t cover, they’d invoice you later, discreetly. But that hasn’t been The Way of medical treatment in NYC for years, now. I was polite and didn’t bother them about the missing documentation. I only asked twice. I finally got it and submitted it to the insurer. The insurer’s website entered a black hole after I submitted the invoice, because of course it did. So I submitted again. After which, there were two identical invoices in the queue, because of course there were.
So they’ll probably reject them both. As an added bonus, I discovered that the periodontist had sent me two (out of seven) of the bills that they then re-included in the new mega-bill. Which means the insurance company will think I’m fraudulently trying to double-bill them for my expenses. Because of course they will.
Solving writing problems, design problems, and music production problems brings me joy. Dealing with life on life’s terms, not always so much.
The world is on fire and we will see worse before some sense of justice or even normality returns—if it ever does. But me, I’m still worrying about medical bills and where on earth my cat’s lifesaving medical practice has moved to.
The post Everybody’s lost it, Part I appeared first on Jeffrey Zeldman Presents.
Too many meetings? 20 Aug 2025, 3:19 pm
At Automattic, we know our time is finite and precious. Here are the questions we ask ourselves before agreeing to any meeting:
- Am I investing time toward the things that are doing the most to help me grow and improve my ability to contribute?
- How much of my time is contributing to my team’s goals, and choosing the right ones?
- Is the work effective? Is it moving the needle? Can I describe it to a friend over dinner in a way that gets them excited? Can I blog about it?
- Are all my meetings so effective that you look forward to them? (Don’t laugh. It is possible.)
The post Too many meetings? appeared first on Jeffrey Zeldman Presents.
Staying relevant 5 Aug 2025, 1:52 pm
Or not.
My fears melted away. And in their place came acceptance. All this vast majesty of creation. It had to mean something. And then I meant something, too. Yes, smaller than the smallest, I meant something too. To God, there is no zero. I still exist. —
The Incredible Shrinking Man (1957)
AKA:
How I feel after not updating Designing With Web Standards or writing a new book since 2013.
AND:
And also how I feel now that there’s no longer a single, agreed-upon digital town square (and, further, now that the biggest one, where I once enjoyed a hefty following for some pixel pusher, has turned into a N*zi bar, where I no longer choose to spend time).
And since Covid killed the conference I co-founded, and I cut way back on travelling and giving conference talks and focused on paying off the debts we were left with.
And since financial reality forced us to kill our publishing company, too. So many nice things, all gone.
I had the world, or at least a wee piece of it, by the eyeballs, and, not entirely by my own choice, bit by bit, I let it go.
Kinda depressing, sure. But also, and mainly, pretty liberating.
I also learned something about people and friendship, and remembered something about the passing of all things.
The post Staying relevant appeared first on Jeffrey Zeldman Presents.
Project 2026 16 Jul 2025, 3:41 pm
Starting today, file suits to prevent biased gerrymandering. Fight harder for the right to vote than the GOP has fought to suppress the votes of Americans MAGA dislikes. Craft a Democratic party platform focused on equal rights, equal justice, fair wages, and affordable housing. Win the Midterms, shifting the balance of power in congress. Upon gaining control of the House and Senate, do as many of the following as possible:
Restore and expand women’s rights.
Overturn laws and policies that were motivated by anti-Black or other racial animus. Take them one by one.
Restore queer and trans rights.
Dissolve ICE.
Immediately halt deportations, freeing all prisoners who were denied due process. Provide reparations to them and their families. Use ICE money to restore veterans services, children’s lunch programs, and other essential services that were cut to give billionaires an extra tax break.
Close and tear down Trump’s concentration camps. Educate the public about what happened in those camps, so it never happens again.
Restore the department of education and all other departments that were defunded during Trump’s moronic reign.
Take aggressive action to fight climate change. Lead on it.
Strongly and firmly support Ukraine with no strings attached.
Halt arms shipments to Israel while that country pursues its genocidal project in Gaza. Do whatever is possible to insist on peace and justice.
To the greatest extent possible, lay the groundwork for America to rejoin the family of nations after the Trump presidency.
Restore the “equal time” rules about TV news coverage.
Aggressively prosecute FOX “News” when it deliberately misleads the public.
Create affordable housing programs.
Revive FEMA and other essential services.
Restore Biden’s student loan forgiveness program.
Replace Trump’s hacks with professionals.
Arrest and aggressively prosecute Trump for all the crimes he has committed as president. Use a prosecutorial carrot and stick approach to encourage cooperation from White House staffers who can best roll over on their boss. Hold televised trials so Americans will see Trump and his minions testify to their crimes under oath.
Nullify the Supreme Court’s worst rulings, e.g. Donny’s crimes while president cannot be prosecuted; corporations are human beings; no limits on dark money, etc.
Expand the Supreme Court and impose term limits.
Impose term limits on congress itself.
Forbid senators and congresspeople from profiteering by buying and selling stocks based on inside knowledge. Arrest and prosecute as you would any other insider trader.
Increase the taxes billionaires pay and use those funds to pay down the national debt.
Do everything the legislative branch can do on its own to fix the economy, support small businesses, create jobs, and restore the rights and dignity of all Americans and make America a welcoming place for visitors from other lands.
Having built a strong Democratic party platform that most Americans can get behind, and proven that you mean it by doing as much of the above as you can achieve despite a hostile Executive branch, take back the presidency in 2028.
Immediately limit the power of the presidency so that no future would-be Caesar will seek that office again.
What have I omitted?
The post Project 2026 appeared first on Jeffrey Zeldman Presents.
The eye of God 11 Jul 2025, 2:28 pm
My doctor sends me to Brooklyn for an abdominal aortic aneurysm screening. As instructed, I fast for six hours beforehand. I don’t even brush my teeth, for fear of swallowing toothpaste and screwing up the test. I wear a Covid-era face mask to avoid breathing on anyone.
The journey takes me to Boro Park, a part of the city I’d not explored before. Judging by the style of pedestrian dress and the Hebrew lettering on some of the buildings, it appears to be an Orthodox Jewish neighborhood.
I enter an enormous, shabby waiting room—empty except for me, a receptionist, and a warehouse’s worth of old furniture. The couches are patched with duct tape. There are signs on the tables forbidding you to sit on them. The receptionist informs me that I can in fact drink water without spoiling the test results. She gives me a cup.
After some minutes, a technician comes for me. She’s soft-spoken and quietly friendly. Wears a pink headband and a long dress.
The examination room and the equipment inside it remind me of OB/GYN visits when my ex was pregnant. In those tests, we wanted to see something. In this test, I suppose, we do not. I lie on my back. The jelly is cold.
The exam takes 40 minutes. The only point of visual interest in the somehow-coffee-stained drop ceiling above me is a circular, flat light fixture composed of concentric glass rings. It is like the eye of God, peering down at me. Not a personal, loving God, mind you. Or maybe it’s more like the hard stare of a universe that, if it took note of our trivial human suffering, would be indifferent to it. I breathe in and out, as instructed.
The technician takes several dozen pictures. There’s sound, too. Occasionally I hear the roar my blood vessels make, chugging busily. My blood vessels don’t share my worries. They just do their work. Some of the sounds they make are rather rude. I suppose that’s good. I like to think the boys in the engine room are somewhat boisterous. The rudeness sounds like health.
It’s time to stop staring at the light, sit up, and wipe the goo off my belly. The technician gives me a large piece of special medical paper designed for this very task.
After I leave, a radiologist will review the pictures and send a report to my doctor.
I have a half-dozen other tests to take in the next few weeks. X-Rays, scans, even a lung screening. Ordinarily when a doctor recommends a half-dozen tests, I shove the paperwork in a corner of my desk and forget about it. But this time, I decided to be an adult and follow through. I may even balance my checkbook one day.
I exit the mostly empty medical facility, call a Lyft, and stand on the sidewalk a while, taking in Boro Park. On the ride home, I let my gaze caress the changing neighborhoods. Somehow the whole city seems more interesting. Or maybe more alive. Like air after rain. Even the familiar landmarks as I near home strike me as beautiful and reassuring.
Home again, I wash my hands, clean last night’s dishes—the kid and her boyfriend cook late at night—pour my first espresso of the day, and knock it back with plenty of fresh, cold water.
I text my friend, to whom I’d complained earlier about the instructions against tooth brushing. He asks, “Did they give you a mint?” I respond with a “ha-ha” emoji.
Much as I enjoy my job, am grateful for my health insurance, and appreciate the wonders of modern medicine, I decide to take the rest of the day off. You know, for mental health.
The post The eye of God appeared first on Jeffrey Zeldman Presents.
Accessibility 101 28 May 2025, 12:53 pm
The post Accessibility 101 appeared first on Jeffrey Zeldman Presents.
My Glamorous Life: broken by design. 15 May 2025, 7:10 pm
Debt brought on by large, unexpected expenses caused me to lose access to my credit card. I’d put a close friend’s storage unit in my name and on my credit card while they relocated and job-hunted. So my payments on my friend’s behalf were no longer going through, and the storage company began texting me about the missed payments.
Sounds straightforward, ordinary, and boring. Turned out not to be.
Meanwhile, my friend—after moving house twice—has landed a terrific job, and is beginning to dig themselves out of their debt. But they can’t pay the full amount of their storage fee yet. Or transfer the unit from my name to theirs.
They tried to make a partial payment by telephone, but the company’s “partial payment” line didn’t work.
It didn’t work in a highly specific way.
Specifically, it let them waste ten minutes entering data by hitting their phone’s keypad and typing “1” after each step to confirm that it had been completed correctly. Finally it asked them to confirm the entire order and type “1” to pay and finish. As soon as they did so, the bot told them that the payment had not gone through … asked them to “wait to speak to a manager” … and immediately disconnected them.
Each time they tried, they got to that stage and were immediately disconnected. With all the goodwill in the world, my friend could not pay their bill. So it was up to me.
“Nothing works” is working as expected.
I had enough cash in the bank to make a full payment on my friend’s behalf; and since the unit was in my name anyway, I followed the company’s text message instructions—sent to me personally—to pay the full bill online on their behalf and set up automated payments for future bills. My friend would pay me back when they could. Eventually we’d transfer ownership. All would be well. Such was my naive hope.
The website let me enter my data step by step, including “new card” data. I removed the defunct credit card info and replaced it with my debit card data. Unlike a credit card, my debit card never lets me spend more money than I have in the bank. That is a good thing when you’re in debt. And even when you’re not. My debit card is with one of the largest banks in the world. If I said the bank’s name, you’d know it. Cole Porter mentioned it in his lyrics. I’ve had the account for over 30 years. In short, it’s a stable account with a long history.
The website allowed me to enter my data, a process that took about five minutes.
When I hit “Send,” the website announced that the payment had failed to go through because the bill was past due.
The system is designed to block payments after first encouraging you to try sending them. There I am, working to send them my money. And the system refuses. Not to put too fine a point on it, consider the facts: their system was designed specifically to let customers make payments. It already knew who I was. It told me my name, my storage unit number, and the amount due. The notes I’d scribbled prior to using the website were unnecessary. The site knew me. It knew what I owed. It was theoretically optimized to take money sans friction. And it failed every time I tried to pay.
Two design choices are worth noting.
- The system only accepts timely payments, not late ones. But…
- The system deliberately doesn’t tell you that it won’t accept your payment. It encourages you to waste time trying. That’s key.
Is the software poorly designed? Was the company’s QA process less than perfect? Did some sadist deliberately set up the system to punish folks who are struggling?
The answer, of course, is yes. To all three questions.
I tried.
I tried three times, even switching options. Like, the first time, I asked the company NOT to use my debit card number to automatically pay my friend’s bills in the future. The next time, I said, OKAY, go ahead and charge me automatically. No matter which options I chose, the result was always: “The payment did not go through because the amount is past due.”
Who chose those defaults? Elon Musk?
Since the payment website did not accept payments, I called the special “call this number to pay” line the company’s text messages had shared with me. Again, this was a special phone number with a specially built system set up explicitly so existing cutomers could pay their bills by phone.
The number was smart. It had been waiting for my call. It recognized my phone number and told me my storage unit’s account number. It remembered my old credit card number—the one it knows doesn’t work. It asked me if I wanted to pay with the card that doesn’t work. It allowed me to say “No.” It enabled me to enter the account number and other data for my “new” debit card. It encouraged me to type “1” each time I completed a step. It asked me to confirm that everything I’d entered was correct. I did. It asked me to hit “1” one final time to finish making the payment. I did that.
The automated phone voice then informed me that the payment had not gone through, instructed me to “hold the line to speak to a manager,” and immediately disconnected me. Same as what had happened to my friend when they tried to pay.
I tried three times. Each time, the same.
Enter a ton of data by phone. Say yes over and over. Hit the phone equivalent of Send. Get the same error message, followed immediately by disconnection. (Why did I try three times? Why not two? Why not eleven? That’s a QA subject for another day.)
When one door closes, so does another.
Clearly the payment line—like the website—was not working. So I looked up the company’s website to find their main number. Not the smart automated number that knew who I was and what I owed. A dumb number, but presumably with a human being at the other end.
I figured I’d call the main number and explain that I’m trying to pay a bill, have my account number and unit number ready to recite, and all set to approve the dollar amount. If the human being on the other end told me to use the “bill payment number,” I’d explain that the bill payment number wasn’t working at the moment, and ask them to please please pretty please with sugar on top ever so kindly allow me to send them my payment.
So I called and got a busy signal.
Hung up.
Waited ten minutes, called again.
Busy signal.
I’d now wasted at least 30 minutes and it was a work day, so I turned my attention back to my job, and away from nut-grindingly pointless exercises in futility.
After roughly an hour, I tried phoning the company’s main number once again. Busy signal.
Busy, busy, busy. The call never went through. Nobody ever answered.
Here’s what I think: I think if you’re late, this company’s systems stop working. Not because they don’t want your money—they do. But because they want you to suffer for being late. Before they’ll take your money, they want you to crawl. At one time, there was probably a Japanese newsgroup dedicated to this kind of kink. And the beauty part, for the perverted, is that the pain is pointless and nonconsensual. Just like our country’s new government.
The company wants you to try paying them via the payment website till your eyes cross. They want you to dial the “payment” phone number and jump through your own anus until you tire of being disconnected after approving the payment. They want you to weep endless, useless tears. To curse. To try dialing the main number a thousand skrillion times before you get through to a human being. They want you to break down altogether when you finally hear a human voice. Like you’ve been rescued from a desert island and had forgotten the glorious sound of ordinary human speech.
There’s probably a German word for the relief you feel after banging your head against the obtuseness of American business systems until you are finally, after great sorrow, permitted to pay your bill and get back to your life. It’s like the relief you feel when the cable internet finally comes back on after an unexplained blackout. Or when the New York landlord finally fixes the water heater so you can stop washing your private parts in ice water. Or when your trainer finally says, “Good job, let’s go stretch.”
The underlying belief is clear: making a payment should not be routine. It should be a privilege, forged in fire and earned in blood.
Mind you: I don’t know that there actually will be a human being at the end of the phone line if I spend all day Saturday trying to reach one, but, at the moment, that’s my plan. Try and try and try and try and try again and keep trying world without end ad infinitum until at some blessed hour, some stranger finally agrees to take my money.
And here’s the point of all this:
I encounter broken systems like this almost every week.
As a UX person, it makes me nuts. Also as a human being. It’s not right. It’s not fair. And we all put up with it.
Even if you’re lucky enough to have a good job, and even if you live in a progressive city like New York, our increasingly automated business systems are not our friend. In short:
They want to take your job and replace you with a machine that doesn’t work.
The post My Glamorous Life: broken by design. appeared first on Jeffrey Zeldman Presents.
A morning’s tale 10 May 2025, 9:11 am
Editor’s Note || Our New York apartment is home to three humans and three cats: Snow White, Mango, and young Jasper.
Woke to pee 2:00 am. Entered bathroom. Narrowly avoided slipping on a small lake of Snow White’s urine. Beheld a giant fat shit she’d left on the stone bath mat. It was like the cinema sequence, underscored by dissonant trumpets, where the heroine realizes she’s entered a chamber of horrors.
Instead of screaming, I turned on the faucet so Snow White, who had followed me into the bathroom, could hop onto the sink and drink from the tap.
She’s 17, so by “hop” I mean climb at a moderate pace from floor to toilet seat to toilet tank to sink. (17 also explains why she has recently begun drinking exclusively from the bathroom taps, and excreting outside the litter box. And why I accept living with it. Acts of kindness are no guarantee of karmic reciprocity, but I can hope that when I’m Snow White’s equivalent age, someone will smilingly tolerate my dotty incontinence.)
By now, young Jasper had awoken and followed us in, so I spent a fast hand-waving minute guiding his sleek bullet-fast frame away from Snow White’s award winning turd, which had arrested his curiosity.
After Jasper skedaddled, and while Snow White was still busy sipping from the sink, I sprayed and mopped the floor.
Scooped up the giant shit.
Wiped down the place where it had been.
Washed my hands.
Finally, peed.
Washed my hands again.
Looked to see if the floor was dry. Semi. Good enough.
Laid a fresh dry giant wee wee pad on the damp but clean floor. Started to pick up the previously used wee wee pad, which one of the cats had folded into a sopping origami. As my fingers approached the wet paper, my skin somehow sensed how drenched it was. I left it where it lay.
Snow White, having sipped her fill, climbed down from the sink and glided away.
I left the damp origami to the side of the dry, newly laid wee wee pad and departed the chamber of secrets.
Somehow it had become 3:00 am. I heard the kids chatting in their room, so sent them a friendly middle of the night text: “Hi, fart heads.” Then I wiped my feet and climbed back into bed.
But sleep did not come. So I picked up my phone and pecked into it the words you’ve just read.
It is 3:52 am and I’m thinking I need to make an espresso and start the day. Good morning!
The post A morning’s tale appeared first on Jeffrey Zeldman Presents.
Writing in WordLand 21 Apr 2025, 12:14 pm
This is a test. This is only a test. I’m using WordLand to write this post to my WordPress website. It’s a new, stripped-down writer’s tool for bloggers. Think of it as a frill-free writer’s frontend to the majesty of WordPress. The essential features (and some advanced ones, even) in a distraction-free, scribbler-friendly environment.
## An H2 subhead, my liege.
WordLand supports Markdown, I understand. It also supports direct bolding and links, of course. An overview of the features is available at the link I shared in the opening paragraph. For your convenience, here it is again: https://this.how/wordland/
WordLand doesn’t yet seem to include an affordance for ALT text. Either that, or I couldn’t find the affordance. Pretty likely that that will be corrected soon, as ALT text is a bottom-line basic necessity. (And, again, I may have simply overlooked an existing affordance.)
### An H3 subhead, your worships.
Hmm. More to come. WordLand is a creation of Dave Winer, one of the first bloggers, who also gave us RSS and lots more. Read more about Dave Winer on Wikipedia.
Okay, this was easy enough. For bloggers who mostly *write*, it’s a clean, distraction-free interface with strong basic features that lets you offload CMS duties to WordPress.
Noting that my subheads showed up as text with raw Markdown syntax also presenting as text. This was true even when I stopped writing *##* and replaced it with *h2*, for example. No doubt I’m doing something wrong, and that’s … okay.
I’ve updated this post six or seven times within the WordLand page itself, and the updates flowed seamlessly to the live site.
Update: Make that eight updates I’ve made to this post. Apparently the editor is WYSIWYG and stores the content in Markdown. I misunderstood the function of Markdown in the app (but I also didn’t carefully read every word of the support docs). Also, there’s supposedly built-in category support using a checkbox system. But I could not find the checkbox widget while using WordLand. That doesn’t mean there isn’t one—but if such an affordance does exist, it would benefit from being made more discoverable.
The post Writing in WordLand appeared first on Jeffrey Zeldman Presents.
Web typography: a refresher and history 20 Apr 2025, 3:04 pm
Many designers still think in px
first when creating baseline styles. But we know intellectually that various relative typography approaches are better suited to our medium in all its complexity. Better for accessibility. Better for avoiding bizarre typographic disasters linked to user preference settings, device limitations, and the unforeseen ways our overwrought styles can interact with one another.
As I contemplate a long-overdue redesign of my own site, it’s worth taking a refreshing dip into what we’ve learned about web typography over the past 20+ years. From the pages of (where else?) A List Apart:
Bojan Mihelac: “Power to the People: Relative Font Sizes” (2004)
An early and simple creative solution for text resizing that respects users’ choices and also gives them an additional option for resizing despite the limitations of some of the most popular browsers of the day. Presented for its historical importance, and not as a how-to for today. https://alistapart.com/article/relafont/
Lawrence Carvalho & Christian Heilmann: “Text-Resize Detection” (2006)
Detect your visitors’ initial font size setting, and find out when they increase or decrease the font size. With this knowledge, you can create a set of stylesheets that adapt your pages to the users’ chosen font sizes, preventing overlapping elements and other usability and design disasters. Presented for its historical importance as an insight into the complex dancing we’ve done in the past to ensure readability. https://alistapart.com/article/fontresizing/
Richard Rutter: “How to Size Text in CSS“ (2007)
Sizing text and line-height in ems
, with a percentage specified on the body (and an optional caveat for Safari 2), provides accurate, resizable text across all browsers in common use today. An early move toward more responsive type and away from the accessibility problems created by setting text sizes in px
in some browsers and devices. https://alistapart.com/article/howtosizetextincss/
Wilson Miner: Setting Type on the Web to a Baseline Grid
The main principle of the baseline grid is that the bottom of every line of text (the baseline) falls on a vertical grid set in even increments all the way down the page. The magical end result is that all the text on your page lines up across all the columns, creating a harmonious vertical rhythm. https://alistapart.com/article/settingtypeontheweb/
Tim Brown: “More Meaningful Typography” (2011)
Introduces modular scales, the golden ratio of readable typography. Delivers accessibility plus aesthetic beauty derived from the math underlying all of creation. https://alistapart.com/article/more-meaningful-typography/
Tim Brown: “What is Typesetting?” (2018)
“We must now practice a universal typography that strives to work for everyone. To start, we need to acknowledge that typography is multidimensional, relative to each reader, and unequivocally optional.” https://alistapart.com/article/flexible-typesetting/
Keep going…
For more web design community wisdom and web typography history, see Typography & Web Fonts in A List Apart, for people who make websites.
And in the Comments below, please share your favorite resources for creating websites that look great and read beautifully, no matter what technical and human capabilities get thrown at them.
The post Web typography: a refresher and history appeared first on Jeffrey Zeldman Presents.
My father, Maurice Zeldman, and his ZGANNT software 14 Apr 2025, 9:01 am
My father, Maurice Zeldman, was a giant in the field of project management, though I suspect few in my world of web standards and design would recognize his name. Dad consulted for over 180 organizations and led seminars around the world. Project managers everywhere used his techniques to create realistic estimates and timelines that actually worked—a rare skill in any technical field, then and now.
Before founding EMZEE Associates (the name a play on his initials, M.Z.), Dad was Corporate Director of Technical Development for Rockwell International’s Industrial & Marine Divisions. He designed, built, and staffed their entire Engineering Development Center. Earlier in his career, he worked with Perkin Elmer developing an Atomic Absorption Spectrometer and with American Machine & Foundry as Chief Engineer of their Versatran Robot division. His robotics knowledge led to his book Robotics: What Every Engineer Should Know, published by CRC Press in 1984, followed by Keeping Technical Projects on Target, an AMA management briefing.
EMZEE Associates, Dad’s consulting and training company, specialized in project management and technology implementation. While I was designing websites and campaigning for web standards in the mid-90s, Dad was already running a successful business teaching Fortune 500 companies how to bring their complex technical projects in on time and under budget.
Then there was ZGANTT, his DOS-based project management software from the late 80s/early 90s. The name combined “Zeldman” with “Gantt chart—those horizontal bar charts showing project schedules that are still used today. While I was learning to code and finding my path, Dad had already created specialized software implementing his project management methodologies. This was during the first wave of specialized project management tools, before Microsoft Project took over the market.
Looking back, I realize my obsession with systems, standards, and improving how people work together didn’t come from nowhere. While I applied these principles to web design, Dad had been applying similar thinking to the complex world of project management decades earlier. His ZGANTT software and EMZEE Associates consultancy were direct expressions of his belief that the right methods, correctly implemented, could bring order and success to even the most complex technical challenges.
The post My father, Maurice Zeldman, and his ZGANNT software appeared first on Jeffrey Zeldman Presents.
Forever 2 Apr 2025, 11:27 am
The first website my colleagues and I created was for “Batman Forever” (1995, d. Joel Schumacher), starring Val Kilmer. That website changed my life and career. I never saw “Top Gun,” but Val Kilmer made a brilliant Jim Morrison in Oliver Stone’s “The Doors.” Rest in peace.
The post Forever appeared first on Jeffrey Zeldman Presents.
Who turned off the juice? 1 Apr 2025, 7:19 pm
Beloved reader, I spent 90 minutes on hold with Con Edison yesterday, getting my power turned back on after a billing contretemps.
The whole 90 minutes, my brain’s shrieking, “You’re having a panic attack!”
And maybe I was.
I could rattle off my diagnoses, but the simplest way to state it is that the ordinary setbacks of life fill me with dread. Always have. For over a decade, I self-medicated daily. And nightly. And afternoonly. In 1993, with help from others, I changed my life’s trajectory. But removing the booze didn’t make me “normal.” Step work healed some old wounds, but I’m still deeply anxious on my best days. And this was not shaping up to be one of them.
Look, if recovering from alcoholism during the Clinton years didn’t magically cure me of the rest of my problems, you can imagine what it feels like, being me during these dark days of fascist overreach. And, hey, maybe you don’t need to imagine. Maybe every blank unholy news day feels scary, wrong, and depressing to you, too. No need to apologize. Some days, just showing up takes courage.
Even the positive things, like the kick-ass job my daughter did applying to colleges, come with deluxe boxed sets of anxiety for folks like me. Then factor in an IRS audit, medical debt, and various friend and family traumas unrelated to the ongoing assault on decency.
Got all that?
Now, take away my electricity (and therefore my internet access), sit me down in the dark beside an iPhone with a low battery (Will it die before I finish this call? I can’t charge it, I have no electricity!), and tell me to get on the phone with the utility company that just shut off my power.
You may expect me to show up, but not to glide serenely through.
Look, I wasn’t abducted by ICE or fired without cause after years of dedicated civic service. But, for Mrs Zeldman’s little boy, loss of light and power and 90 minutes of antipatterns are grounds enough for a panic attack. (Besides, nobody tells you it will take 90 minutes to speak for 60 seconds to a human being who’ll take your debit card number over the phone. It might have taken longer. In another timeline, I might still be on hold.)
Yes, they have a “pay your bill online” website. No, it doesn’t work on my phone. Yes, it semi-works on my desktop. But a desktop needs electricity to run and to access the web. And they had cut off my electricity. It was call them or stay without power.
(Footnote: Later, when everything was resolved, I discovered that their website also doesn’t work. I use Google’s Auth app for two-factor ID, which signs me in. But when I try to see my bill, the Con Ed website asks me to sign in again, and rejects the two-factor ID. Instead it needs to send a different code to my cell phone. Why a different code? Why not the Auth code? I assume because the developers worked in siloes and were forbidden to speak to each other when creating the website. So I give it permission to send the code to my phone, and then it never sends it. I tried four times. And yes, they had my correct phone number on file. It also says, if it keeps failing to send a code to my phone (so they obviously know they have a problem), I can have it send a code to my email address instead. Except that there is no affordance to do so. It’s like if I said you could win a prize by touching this sentence. Heckuva UX, Brownie. It’s almost like they want you to have to call their overworked, underpaid, understaffed support staff. Because you can’t use their site. To rub it in, every five minutes the bot that thanks you for being a customer is interrupted by a bot that tells you to use their website to pay your bill online, which, as I just explained, you can’t. But I digress.)
As the Muzak ground on, during the better moments when I was able to focus on breathing, I pushed down the panic by telling myself I’d take a personal day as soon as the call ended and my lights came back on. Why take a personal day? I love my job. But I honestly didn’t think I’d be able to put in a day’s work after 5400 seconds of “your call is important to us, please stay on the line.” I reckoned I’d be wrecked.
But here’s the thing, and it’s why I bothered tell you this: the instant the lights came back on, I was fine. Utterly, totally, calmly, and completely.
More than that: when the modem connected and told the router the news, I pounced on my desk and got back to work, a happy cog. As if I hadn’t just spent 90 minutes in the stench of my own fear and gloom.
Am I becoming slightly more resilient with age?
The post Who turned off the juice? appeared first on Jeffrey Zeldman Presents.
This Years Model 27 Mar 2025, 12:43 pm
There’s a new AI model that can render photorealistic people and products, including text and logos.
Geisha With Walkman is something I tried to draw 40 years ago, but my rendering skills were simply too poor. The Reve Image 1.0 preview allowed me to do it instantly this morning with a single, basic prompt.
P.S. I retro-updated the Walkman with an iPod to “modernize” the concept.
The post This Years Model appeared first on Jeffrey Zeldman Presents.
Your opt-innie wants to talk to your opt-outtie. 15 Mar 2025, 5:36 pm
Here’s a fact: “Opt-in” is great for programs a platform controls, but meaningless when that platform has no control.
Take, for example, oh, I don’t know, let’s say AI companies scraping web content without your permission. The heart wants to make content scraping permissions “opt-in,” so people who post content online are protected by default.
Except we won’t be. Smaller, “good” AI companies may comply with “opt-out” notices; big ones surely won’t. Scrapers gonna scrape.
So why even bother with an “opt-out” setting? Because companies that continue to scrape opted-out content may find themselves on the losing end of major lawsuits.
Of course there’s no telling how these lawsuits will work out—not with ketamine supervillains and their GOP enablers willfully violating consumer, worker, and climate protection laws here in the benighted States of America. But even so, an opt-out notice is a red line, and most corporate legal teams are cautious and sober—at least during working hours.
An opt-out notice is *something.* It smells funky, but has a chance of working.
Of course opt-in feels better. It’s how we’d do things if we had control over third-party scrapers. But we don’t have that control.
Which makes opt-in for AI scraping a feel-good but basically performative gesture. And we don’t have time for those.
However pretty it might be to think otherwise, something imperfect that might work beats something pure that won’t. Don’t hate me ’cause I’m beautiful. I’m only here to tell you what we both know in our souls.
Your AI sponsor,
z
Photo by Tingey Injury Law Firm on Unsplash.
The post Your opt-innie wants to talk to your opt-outtie. appeared first on Jeffrey Zeldman Presents.
My Glamorous Life: The Unexpected Samples 7 Mar 2025, 12:24 pm
A whinnying horse. A blaxploitation sample. A female instructor saying Chinese is the easiest language to learn. These three brief audio samples regularly interrupt my late-night headphone music listening.
I’m not tripping or having a medical episode. My bedroom faces the rear of the Chinese Mission to the UN. I can’t be certain that these unwelcome late-night audio interruptions come from there, but it’s a theory. If you’ve never fallen gently asleep to a bespoke playlist of jazz ballads, only to sit bolt upright in terror an hour later because a horse is shrilly whinnying in your ears, you should try it some time.
Photo by Mikael Kristenson on Unsplash
The post My Glamorous Life: The Unexpected Samples appeared first on Jeffrey Zeldman Presents.
Page processed in 0.929 seconds.
Powered by SimplePie 1.4-dev, Build 20170403172323. Run the SimplePie Compatibility Test. SimplePie is © 2004–2025, Ryan Parman and Geoffrey Sneddon, and licensed under the BSD License.