One morning this past summer seemed like most others: I left my house at 7 AM, to start my two-hour commute to my contract job in a Bay Area exurb.
The BART train arrived punctually. I was glad I had a reverse commute, which required a nearly hour-long ride across the drab, de-industrialized stretches of southeast Oakland; I nearly always had a seat going to work. The passengers headed the opposite direction to San Francisco, didn’t have this privilege, even at this early hour.
To while away the time, I reviewed the stream of tweets on my phone. There was quite a lot of indignation over the recent strike by BART workers, not much directed at BART management–the Twitterverse seemed appalled by the benefits and salary protections demanded by blue-collar transit employees. Meanwhile, the train dutifully stopped for the students, retail clerks, construction guys, and home health aides getting on the Fruitvale, Coliseum, San Leandro, and Bayfair stations. A few passengers dozed. Sometimes a young guy would enter the car, looking at us half-asleep drones with apparent distaste, and hastily exit, as if we threatened him with some contagious disease.
I checked the news from back home in Arizona. Fire season. A photo of the twenty Granite Mountain Hotshots posed in front of an ancient alligator juniper they’d protected from wildfire. Now the hometown news included the story of a Hotshot’s wife denied benefits because her husband wasn’t classified as a permanent, full-time employee. He was, however, permanently, full-time dead, killed on Yarnell Hill with eighteen others.
At Castro Valley station the train passengers started including more people carrying computer bags. By the end of the line–Dublin/Pleasanton–most of us leaving the train looked to be white-collar tech workers. We moved through the BART station in quiet, somnambulant order, every movement calculated to bring us to the next stage of our commutes to distant office parks–to the buses, the shuttles, the sidewalks and bike paths. All this uninspiring travel, just for our paychecks.
The organizers of Blog Action Day prompt me to write about “human rights.” There’s plenty of cause for outrage–the rights of women, of the non-heterosexual, of civilians, of people of color; all of these denied in some way, somewhere, every moment of every day. I’m confident a blogger will address them eloquently. What I’ll treat instead are the rights we seem to have forgotten in our grubby, half-awake, workaday lives. Those are workers’ rights.
As workers, and as human beings, we have:
the right to complete compensation for our work, including pension and health insurance benefits;
the right to compensation for every minute we spend working;
the right to reliable transportation to our job sites, the costs sustained by taxes on the corporations which benefit from our labor;
the right to join other workers to bargain with management, and the right to strike;
the right to be hired and retained based on merit, not on racial, gender, or class identity;
the right to employer loyalty in exact proportion to the loyalty we show the employer. The right to protection from “rightsizing,” moves, and offshoring when we have kept up our side of the relationship;
the right to be paid and treated the same as our native-born colleagues, no matter which visa arrangement brought us to work in this country;
the right to compensation when our jobs have maimed or disabled us; the right of our survivors to compensation when our jobs have killed us;
And, to my mind, the most important:
the right to discuss these rights, in public, worldwide, without retribution.
Erika and I entered the wrong door at first, learning only by the flash displayed on the walls that we were in the tattoo parlor, not the conference room where we’d meet our client. Once within the appealing 1920s store front adjacent, we met a serenely smiling young woman welcoming us to Tech Liminal, Oakland’s first co-working spot. The space was so newly opened a fan blasted on “High” to disperse paint fumes. The décor was a mix of sleek tech and East Bay thrift; we felt right at home. Met the client, concluded our business, finished the project–and I kept returning to Tech Liminal.
I came to evenings about jQuery, Python, and WordPress. I watched a fascinating presentation about the Internet as used in Iran and Estonia. During the Occupy Oakland hurly-burly just a few blocks away, I went to a Meet-up all the same, even if a police helicopter felt obliged to follow me as I rode up Alice Street on my bicycle. When the Indiegogo campaign for Tech Liminal’s move to swanky downtown digs started, I didn’t hesitate to contribute.
Heck, yeah. Anything to help Anca Mosoiu.
Let me tell you a little about Oakland, California. We’re just across a bay from San Francisco, we’re about a third its size, and about half its population. News stories about Oaklanders tend to paint us as fearful crime victims picking through the rubble of a de-industrialized wasteland, California’s Detroit. In the last three or four years, though, Oakland’s received some positive attention for its lively restaurant scene and its (relatively) less overpriced real estate. The hipsters have conspicuously moved in. Oakland! San Francisco’s Brooklyn!
Those of us who’d been living here all along already knew this, of course. I wasn’t the only one who’d given SF life a good try, but came to Oakland to stay. We knew Oakland had wonderful qualities–redwood forests in the hills, reusable factory buildings on the waterfront, and inventive people all over town.
But what matters is what we did, which, for most of us, was pretty much nothing.
I’ll never know how discouraged Anca felt as she struggled to establish a tech business not just in Oakland, but in the depths of the Great Recession. I’ll never know if she ever doubted her vision of Tech Liminal as community center, as more than rental space. One of Anca’s most admirable qualities is her steady, reassuring unflappability. Around someone like that you feel sure the future’s going to be fine. Maybe it won’t be slick, maybe it won’t rain VC money, maybe it’ll be next door to a tattoo parlor. But it’ll bring in other people, their energy and ideas, and soon enough the whole thing has greater momentum than a skateboard flying down Keller Avenue.
Thank you, Anca.
On the fourth of July I was whiling away a hot afternoon outside Jackson, California, where the thermometer read 40-something in Celsius–even a warm-weather-lover like myself found it intimidating to go hike. Downslope, in town, up and down Highway 49, people were finishing Independence Day parades, starting BBQ grills, finding a good spot to watch the fireworks. Me, I pulled a chair to the ingratiating shade of a live oak, to read an anthology of California Gold Rush literature.
There were familiar words from Twain, Harte, Dana, the “Dame Shirley” letters: prose about rough mining camps, arduous sea voyages, illness, death. Others were less well-known, and many, contrarian: the editor wanted to offer a broader picture of the world rushing in to exploit the discovery of gold at Sutter’s Mill. For all the ships that arrived in Yerba Buena Cove, not a few left full of the diseased, dejected, and death-bound, carrying them back to “the States,” their view of the elephant complete.
Probably the most engaging selection of the book is editor Michael Kowalewski’s introduction. He notes that the California Gold Rush is one of the best documented events of the nineteenth century, due to the high literacy rate among the gold-seekers. Not only did the argonauts write, they read: the dismal sand dunes of San Francisco–more than one observer judged Benicia a better location for a great city–produced a bonanza of newspapers, such as The Pacific News, The Alta Californian, Public Balance, and the delightfully named Satan’s Bassoon (I call dibs on naming a band that!).
And just while I read about this on that hot July day, under the handsome oak tree in Amador County, San Francisco’s latest Gold Rush roared to similar pitch.
What had been “Multimedia Gulch” in the 1990s, and the epicenter of the dot-com boom by the 2000s, roils again with crowds of fortune seekers, so many of them young men confident of their success, swaggering with a grandiose sense of entitlement, jumping each other’s claims. The pickings had been easy in the Nineties–the placer gold period of the Web industry. Now we’re into the hydraulic mining era, requiring more elaborate rigs, more hands, more capital, to find anything valuable in the picked-over ore.
The world has once more rushed into San Francisco. It’s becoming a monotonous place. Instead of tents or shanties, these new miners pay too much to live in the tiresome glass boxes sprouting on unlikely street corners. If you were here even fifteen, twenty years ago, you remember the corner grocery, the dusty variety shop, or the never-open hairdresser’s–now it’s a curtain wall of green-glass mirrors for the parvenus to admire their reflections.
“Nothing gold can stay,” wrote Robert Frost, born in San Francisco just 25 years after Marshall’s discovery.
Nature's first green is gold,
Her hardest hue to hold.
Her early leaf's a flower;
But only so an hour.
Then leaf subsides to leaf.
So Eden sank to grief,
So dawn goes down to day.
Nothing gold can stay.
Sit in South Park’s Caffe Centro a while, and observe the tidal flow of customers. In 2000 there were no empty seats in the mornings; the line for takeout coffee spilled out the door, an easy target of industrial espionage as all of us yakked about our startups right there in the queue. But one morning in 2002 I lingered for hours at a table, nobody there to take it, the cafe glad for at least one customer that Wednesday. Today, maybe the line isn’t as long–the places serving Blue Bottle are more in vogue. Tomorrow, who can say: full house, empty chairs, or no chairs at all.
None of us knows when, nor how; we can know only that it will. The Hayward Fault will slip, or Wall Street will lay another egg, or….the mines will play out. Ore becomes impossible to find. The disappointed will drift back to where they came from, to the foghorn sounds of Satan’s bassoon.
The devil’s own double-reed will reprise its eight-bar solo. Nothing gold can stay.
My friend Bill Fisher did me a big favor back in January.
Gee, thanks, Bill! Uh, I think…
At that moment my career as presenter had included a couple of CSS workshops and my fifth-grade monologue about Pre-Cambrian fossils. When I pinged Dave, it was in a state of great anxiety: I wasn’t a performer. I didn’t know how to sing, do magic tricks, impressions. I sure as heck didn’t know, really, how to give a technical presentation to a room full of developers who’d paid to see me do something besides fall into shrieking glossolalia.
Those starting this process today can gain from Rebecca Grenier’s How I Wrote my First Technical Presentation as well.
I thought I’d go all Reveal or Prezy at this, you know, HTML5 conference, but I realized that of all the burdens to assume on the way to presenting, learning new software shouldn’t be among them. I barely knew Keynote as it was. I found an appealing presentation theme with a Saul Bass-like aesthetic, and built my slides around this Jet Age motif. It helped that the theme’s graphics included a bird silhouette–great for a presentation about Twitter Bootstrap.
Now, what about the slides’ wording?
And how to display code samples?
I rehearsed at least one section of my presentation every day for about a month. I had some transitions between Sublime Text, Chrome, and Keynote which I knew would be even more challenging when I was nervous, so I emphasized working on those.
One tip that intrigued me was to mirror displays when I connected to a projector, so that switching between the various applications would be a lot easier.
I rehearsed both with presenter’s notes visible and with them hidden–I wanted my patter mostly committed to memory.
When I felt really comfortable with my presentation, I rented a conference room at TechLiminal and rehearsed in front of obliging superstar Angel Inokon. If you follow only one scrap of the advice I’m listing here, do something like this. Not only did it help to have an experienced presenter like Angel critique my rehearsal, I really gained from dealing with the projector and the strange world of mirrored displays.
An hour or two before I got on stage, I:
When I connected to the projector, I made sure to choose “Mirror displays.” One thing I didn’t do was check that my laptop display was the correct resolution! As a result, I couldn’t see scrollbars on the distorted, oversized laptop display when I was doing a code demo–not a catastrophe, but not what you need on top of everything else.
Well, if nothing convinces you to take responsive Web design seriously, consider this: there are now approximately eight thousand special people poised to use your application. Eight thousand select, elite, affluent, early-adopter people, eager to purchase something new, something you can offer just to them. Eight thousand people who probably influence eight thousand others, and so on.
Think about it: does your application’s interface really scale down to the size of an average person’s eyeball? If you tore your hair out over the task of making a mobile version of your site usable and attractive, you’re probably tempted to ignore the vast problem of responsively designing for Google Glass for as long as you can. This would be a mistake, for it’s a great opportunity for a clever designer. You’ll be the toast of the Web, widely cited as an innovator, if you come up with any workable solution to this problem.
The main difficulty, of course, is deciding which areas of content to display first. Given the device’s extremely limited screen width, you’ll probably want to use infinite scrolling. User objections to this construct will most likely be fewer than in other contexts, since it’s by verbal commands, rather than hand-cramping mousing or touch events, that scrolling proceeds in Google Glass. Determining how to order your content is really the task of a prose or copywriting expert, but here are a few tips:
Add visual stimulus to keep your users engaged. At random moments, animate portions of the screen without requiring user input. Give the user a rest from the trying job of reading prose by strobing the display’s colors, or reversing light for dark values.
Take advantage of Google Glass’s audio output. Which of your users won’t like to hear uninterrupted background music as they scroll your content? You could even imitate the wildly popular practice of playing intermittent system announcements, which most of us are familiar with from calling service lines. Remember, as fashion-forward as Google Glass users are, they’ll still be reassured by your adopting familiar techniques from older media to help them navigate this exciting new technology.
Today I’m deep into preparing my slides for the HTML5 Developer Conference. Topic: “Making Peace with Twitter Bootstrap.” I have forty-odd minutes to soothe everybody’s ills with this ubiquitous framework. Since it’s a developer’s conference, I’ll emphasize solutions for people like you and I: front-endy things about SASS and Bower and whatnot. This will be the reasonable-sounding part of the presentation. Then, in real time, I’ll fight the temptation to disintegrate into full-on rant mode.
Here’s what I’ll try to say with terse, politely worded slides, rather than foaming at the mouth:
Stop it with the goddamn PSDs already. Fer Chrissakes, it’s the year 2013. High time to stop pretending to simulate Web applications with twenty-three-year-old image editing software.
Okay, so you’re a visual type, and you like to sketch your ideas in Photoshop? Fine. But for the same reason you don’t hand a page torn out of your Moleskine to your developer, you shouldn’t hand her a freakin’ PSD either: both formats communicate very little about what you intend for the application interface.
A PSD is a painting of a website.
If your interface links to framework stylesheets, and your application’s stylesheet bristles with
!important rules overriding those styles, it’s a definite sign your project isn’t using the framework’s styles effectively. There are a couple of sources for this problem: 1) a developer not understanding how to use CSS selector specificity to create new styles; and 2) a design completely, totally detached from what the framework offers.
Want to drive Web developers insane really fast? Require them to cram Twitter Bootstrap, ZURB Foundation, or pretty much any CSS framework into a design dictated by PSD. In this workflow the designers and developers never discussed nor established viewport breakpoints, element widths, line heights, and such ahead of the design and development process, and fashioning something resembling the Photoshop comp out of pre-built components becomes an exercise in crazy-making CSS stunts. Meanwhile, the really necessary work of creating responsive design goes undone–what really happens is more like Reactive Design, when somebody glimpses how awful the interface looks like on somebody’s phablet, and then there’s a mad scramble fifteen minutes before the client meeting to patch over the rough spots hoping nobody notices.
My freelance rate is by the hour, and this kind of unanticipated rush developing can be lucrative. But it enrages me instead, because it’s entirely unnecessary. These days a Web design is properly devised in markup and CSS. Don’t like the associated learning curve to do this by hand*? Then use any of the following alternatives to Photoshop:
Adobe Edge Reflow. Even Adobe wants you to stop delivering paintings of Web sites.
Easel. Design for the browser–in the browser!
Jetstrap. Get rid of that whingeing front-end developer and make the interface yourself.
Why are you still designing Web applications in Photoshop?
* A link to a design blog post from over three years ago.
This year, the Joel Test marks its thirteenth year (does it get a bar/bat mitzvah?) For all the publicity and parody it gets in developers’ media, it seems little-known elsewhere–I still get panicked stares when I ask about it in job or project interviews (“The JOLE Test? Is that one of these HTML5 things we’re supposed to be doing?! Maybe it’s that responsive design stuff! Must–nod–head–sagely…”) So, here’s what the Joel Test is, if this is the first you’ve heard of it:
In August 2000 software entrepreneur Joel Spolsky listed several questions he thought would reveal the quality of a software development team. Observers noted the list could become something a developer should ask a potential employer before accepting a job offer, because Spolsky’s questions focus on aspects of a programmer’s working environment that make enormous differences in job satisfaction, yet are rarely described in detail even at the interview stage. Each question can be readily answered “Yes” or “No”, and the complete list of answers could help a programmer determine whether a particular job offer includes things important to her.
Here’s the Joel Test below, but I encourage you to read Spolsky’s justifications for each list item.
The Joel Test
- Do you use source control?
- Can you make a build in one step?
- Do you make daily builds?
- Do you have a bug database?
- Do you fix bugs before writing new code?
- Do you have an up-to-date schedule?
- Do you have a spec?
- Do programmers have quiet working conditions?
- Do you use the best tools money can buy?
- Do you have testers?
- Do new candidates write code during their interview?
- Do you do hallway usability testing?
I’ve never worked on a project that would pass the Joel Test. I’ve worked on some projects that rated only seven Yes answers, but they were indeed better experiences than the ones who rated even lower. My 2013 resolution is to join a project that garners at least eight Yes answers on the Joel Test–doesn’t even have to be an A+, just eight skimpy “Yes” answers.
A useful supplement to the Joel Test is software engineer Julie Pagano’s response to recruiter
spam unsolicited queries, which doesn’t just list what she values in a job, but weights each in importance to her: is the job far away? Involving Windows? Assumed to be the only thing in a developer’s life? I see many items on Pagano’s list which could be on many of ours; I hope recruiters do see her post and take note of what’s really important to candidates (short answer: it’s not foosball).
Combining the two approaches, I emerge with this:
My Joel/Julie Test
- Do you use source control?
- Can you make a build in one step?
- Do you have a bug database?
- Do you fix bugs before writing new code?
- Do you use an issue tracker?
- Do you have requirements before writing user stories?
- Do programmers have quiet working conditions?
- Do you have testers?
- Do you purchase the exact tools your programmers request?
- Do you use Agile methodologies?
- Do you use only open source software in your application stack?
- Do your developers have their own tech blogs or present at meetups?
- Do your designers work only in Photoshop/graphical editing software?
- If I dropped in here some random weekday night at, like, 8:30PM, would your developers still be at their desks?
- Would you give me a hard time if I wanted to telecommute one or two days a week?
- Can I get to your office from Oakland by transit within 45 minutes?
- Can I bring my bicycle to work?
What’s on your Joel Test?
By late afternoon that day in September 2002, I was getting pretty grumpy. The sandwich at lunch had dissipated into low blood sugar; the files I’d placed on the server just moments before had disappeared (and we had neither backups nor version control); the room was stuffy on an uncharacteristically hot day in San Francisco. And here comes this woman from one of the rival teams in the hackathon, introducing herself, trying to make friends, or at least, acquaintances.
I don’t remember being very effusive. The day had been grueling–I was on a team of four, working feverishly to develop an an accessible, yet visually appealing, Web site in just a few hours here in the Mission High School computer lab. But we shook hands. I recognized this woman’s name from the discussion list for SFWoW, at the time indispensable for finding out about tech events like this one. I hadn’t known how to pronounce it.
“Estelle Weyl. Like ‘while,’” she said. Within moments we all learned how excited she was about CSS, a technique new to many people at the hackathon, which was just one day of the Accessible Internet Rally. At another gathering we’d learned about various accessibility techniques, such as supplying text alternatives to images, offering keyboard shortcuts, and using CSS for presentation. The last had been my M.O. for three years already–I was puzzled how slow acceptance of it was.
I’d recently left a job at a software company which assembled a bunch of open source superstars, both actual and self-proclaimed, and then hired some front-end types like me to rework the clumsy, visually unappealing interface for the superstars’ application into something more usable. The low status of front-end work became obvious to me upon my introduction to one of the engineers.
“Oh, one of the pixel people,” he sneered, then lumbered off, leaving me to read the absurd style guide the UI lead had delivered. CSS was too “unsupported,” the guide admonished. Use
<CENTER> to render the design atrocities we build in the browser. I didn’t stay long at this pointless gig.
So Estelle’s bouncy enthusiasm for CSS didn’t seem infectious to me, but instead, rather nai (more…)