A year ago, I wrote an open letter to Silicon Valley, asking people to stop and think about how they’re handling gender (and race, for that matter) in their community websites.  The short version is that if you’re requiring users to select their gender from a drop-down menu that has two options in it, you’re alienating some people. I didn’t offer alternative solutions at the time — it was just a request for everyone to think about it.

(Note: if you’re not clear on why gender is a complicated issue in data collection, please stop right now and go read that other post before continuing. This will make a lot more sense after you do so.)

After grappling with this problem on a few other projects, and talking about it in a session last week at She’s Geeky (I called it “My gender broke your drop-down menu…”), I’d like to now offer my suggested alternatives.

Alternatives to asking for a user’s gender in a required two-option drop-down menu…

Option 1: Make it Optional

Baby steps.  If the idea of getting fancy with your data collection method gives you nightmares, just remove the red asterisk.  Stop making it required! Most people will still answer the question, and those who don’t want to will select not to.  Put a plan in place for how to treat and account for those who don’t want to declare their genders, and you’re done.  It’s not the most celebratory or inclusive measure, but it is a very clean way to resolve a lot of problems.

Option 2: Don’t Ask At All

Instead of asking for gender, ask for what you actually want to know.

Is it what honorific should precede the person’s name?  Well, then gender’s not going to tell you if they’re a doctor or a reverend, is it? Give them a comprehensive list of options, and allow them to select none, if they wish. (And really, why do we use these again?  My preference is to drop them entirely.)

Is it what marketing you think they’ll respond best to?  Newsflash: not every woman likes baking, and not every man likes cars.  Ask them about their interests and market to them on that basis, instead.

Is gender not actually relevant at all, except that you think it makes for an interesting statistic? Meh. I’d like to convince you that you really shouldn’t touch it, but if I’m not going to win that argument, please see Option 1.

Option 3: Have a Third Option

Your drop-down menus can have more than two options.  Some people are trying three.

I’ve spent a lot of time thinking about this, and here’s my current position:

  • “Other” is a poor choice for a third option.  Why? Because gender-nonconforming people are othered enough as it is.
  • A more useful choice would be “Decline to State” (or something similar) — then it’s not about non-conformity, it’s about privacy.
  • But taking this a bit further, I’d like to submit “It’s Complicated” for consideration as the new third option.  Most gender-nonconforming types will smile at you for it.  It tells them you understand.

I’ve seen some people try to implement a “lots of options” dropdown menu, but I don’t really recommend this route, for two reasons:

  1. What if someone looks at the list and doesn’t identify with any of the words?  You just alienated them much further than your male/female dropdown menu was doing before.
  2. What if someone identifies as more than one thing on the list?  Take, for example, a transsexual woman who is proud to identify as a woman.  Are you really going to make her choose between “trans” and “woman”?  Come on now.  That’s insulting.

If you change it from a drop-down menu (“pick only one”) to a checkbox menu (“select all that apply”), you solve issue #2, but you still have issue #1 to grapple with.  And let me tell you: if you think you can come up with a finite list of all the possible gender identities in the world, you’re wrong.

Option 4: Redesign the System

So you’re convinced that “male/female” is a deeply flawed data breakdown for the purpose of your website, but you want people to assert their identities, and you want them to get personal about it.  Okay, then!  Time to scrap the dropdowns and do something new.  Here are some ideas…

A “gender spectrum” slider bar. Take a look at how Blackbox Republic is structuring their sexual identity data:


I could see a similar thing done with “masculine” and “feminine” at each end, and letting people self-identify.

Note: one huge problem with the spectrum model is that it’s too flat.  I believe there are people who have “a lot of gender” (i.e. dripping both masculinity and femininity all over the place) and “not a lot of gender” (i.e. minimizing signals of any gender whatsoever), and on the spectrum, they might look the same.  But that brings up my next idea, which is…

A second dropdown that asks how important gender is to them. Take a look at how OkCupid handles religion.  You get one dropdown menu for how you identify, and a second dropdown menu for how important it is to you.  For some people, their gender is a strongly identifying factor in their lives.  For others, it’s nearly irrelevant.  What if we just started asking that question?


You could also…

Get fancy and use Kreative Korp’s SGOSelect menu (or some variation on it), which basically says: if you have a traditional identity, you can use the simple form.  And if you want to get more specific, you can switch over to the Advanced form:

sgoselect… but it still runs into the “finite number of options” problem, even in the Advanced view.

And that brings me to my last suggestion, which so far seems to be my holy grail. I worked this out with my co-founder team at Boffery while we were strategizing the user interface… with some outside input from Kirrily Robert of Freebase:

An open-ended tagging field that suggests words as you type. I want to be able to define my gender as “female, androgynous, genderqueer.”  And I believe that if we were all encouraged to, we would come up with a great rich vocabulary that uniquely characterizes ourselves in all the ways a two-option gender set is trying to do, but failing at.  If the tagging system were set up to automatically suggest words as you typed, you could either loop in to what others are saying and be associated with that group, or create your own words and add them to the lexicon. The result would be a rich mix of groupable/categorizable labels (marketers: this is far more meaningful than what you’re currently working with), along with the ability for us to self-identify however we want.

I don’t have a picture for you ‘cuz it hasn’t been built yet.  But if anyone understands what I’m talking about and wants to test it out, let me know.

I want in.


ETA: immediately after I posted this, a designer took a stab at the open-ended tagging field idea and sent me early concept mockups.  Check ’em out!

Somewhere in the middle of running the “Hacking, Mashups, and Other Rebel Coding” session in the BlogHer 09 Geek Lab yesterday, I remembered that I never told the Internet how I solved the “Twitter to Facebook Pages” problem. It turned out to be an impressively convoluted daisy chain of a hack, and I’ll lay it all out below. But first: what am I talking about?

The Twitter to Facebook Pages Problem

A number of people (including myself) live on Twitter these days, and keep Facebook around as a secondary home. Personally, I’ve found it helpful to auto-broadcast my twitter updates as facebook status updates, so my Facebook friends know what I’m up to. There’s a very simple facebook app called “Twitter” that will manage this connection, and it’s super-easy to set up. (Note: If you want to start doing this, please do it with care. If you tweet a LOT, you could seriously annoy your facebook friends with this connection).

Meanwhile, Facebook launched their new and improved “Pages” functionality a year or so ago, which means that non-people (companies, projects, organizations, websites, okay and people too) can have facebook profiles that look and act like normal profiles, except that folks become “Fans” instead of “Friends.” This is awesome… except that the Twitter app FAILS MISERABLY when it tries to connect a twitter stream to a facebook page. It just doesn’t work right. A bug somewhere. They say they’re working on it, but it’s been a year now, and I don’t think we should hold our breaths.

So… I started a Facebook page for Genderfork, and wanted the Genderfork Twitter updates (which are AWESOME, thanks to the fantastic work of Bird of Paradox’s Helen) to show up as status updates on that page. This would be helpful and relevant, and it would make a lot of people happy. But, of course, it can’t be done. At least, not the easy way.

It’s also worth noting that we schedule our tweets for this account in advance using TweetLater.com. This means that any solution that requires us to tweet from X application probably won’t work for us, because it would mean we’d lose our scheduling abilities. It’s also worth noting that TweetLater does have a paid solution that would cut out some of the steps below… but Genderfork has no money, so we kept looking.

The Daisy Chain Hack

Ready for the answer? Here it is:

TweetLater.com -> Twitter.com -> Yahoo Pipes -> Twitterfeed.com -> Ping.fm -> Facebook Pages

Didja get all that?

Lemme break it down…

TweetLater.com -> Twitter.com: This is how we normally do things. I won’t go into those details here.

Twitter.com -> Yahoo Pipes: You’ll need to use your Twitter RSS feed, and this includes your username before every tweet, which gets annoying quickly on Facebook. So we’re going to run your feed through a hack someone set up on Yahoo Pipes that will remove your username from it. Go to this page, enter your Twitter username, wait for it to generate a feed, and click the “Get as RSS” menu option. When you end up at a funny-looking text-based page that shows your tweets on it, copy that URL. You’ll need it for the next step.

Yahoo Pipes -> Twitterfeed.com: So you copied the URL to your RSS feed, right? Cool. Now go to Twitterfeed.com and create an account. The go to “Create New Feed” and set the dropdown box to Ping.fm. Give your feed a name (doesn’t matter much what it is) and enter that RSS URL you grabbed. You’ll want to make a few changes under Advanced Settings on this page, too: (1) Change posting frequency to 30 minutes, (2) Change Post Content to include “title only,” and (3) turn off “Post Link.” Now wait here a minute.

Twitterfeed.com -> Ping.fm: In another window, browse to Ping.fm, create an account, and make sure you’re logged into it. Then jump back over to your Twitterfeed window and click the “Application Key” link (it’s a section header) on the page. It will launch another page that will give you a long secret key. Put that into your Twitterfeed window under Key to complete the process. It will ask how you want to post to ping… via microblogs, status updates, etc. It doesn’t really matter what you choose as long as you remember it and pick the same method when you get to Ping. Now submit that page. You’re done here.

Ping.fm -> Facebook Pages: This part’s a little confusing. You need to follow Ping’s instructions to set up a connection between your Ping account and your Facebook Page. This involves first creating a link to your profile, then adding the Ping app to your Facebook page, and manuevering buttons and switches until everything is set to the right thing. When you think you’re done TEST it by posting via the Ping.fm interface to microblogs or status updates or whatever you set in your Twitterfeed setting. It should show up on your Facebook Page and NOT on your Facebook Profile. If any of that’s not perfect, keep clicking and poking.

If all of that went as planned, you’re done now, but have no instant-gratification way of checking your work. So just sit back and wait for your next tweet to fully propogate, and see if it ends up on Facebook. You’ll need to give it an extra hour or so of wait time to be sure… there are some delays built into this process. (If you run into problems, go back and check to see that Twitterfeed.com is recognizing new posts.) Mine didn’t start working for three days because Twitterfeed was blocking Yahoo Pipes URLs (they seem to have fixed that now). But now it works beautifully.

Lemme know if it works for you.


jiffy lube (by Joe Dunckley) http://flickr.com/photos/steinsky/193395157/I’ll strategize it, architect it, and design it.  I’ll help market it.  I’ll direct the team that’s assembling it.  I’ll even tweak the engine and apply the paint job if we’re short on staff.  But if doing all this also makes me responsible for changing its oil every three thousand miles and providing roadside assistance when it has a flat tire, then suddenly I stop being good at my job.

Websites are like cars. I’ve used the metaphor and I’ve heard it from others as well.  Even the prices are comparable — do you want a $500 clunker?  Something that’s either reliable or sexy (but probably not both) for $5000?  Or are you putting down 25 grand for your new baby?

We’ve got website mass-manufacturers. Website mom-and-pop mechanics.  Website fuel (hosting?).  We sell services that make your website stand out in a crowd.  We even give them vanity plates with the special character “.com” on them, and hand out free bling for your sidebars.  Let’s keep going with this.

Where are the Jiffy Lubes?  Where are the reliable, bonded, high-profile, maintenance shops that you can feel confident handing your hosting passwords to every six months or so for a good, honest, and slightly-overpriced assessment of how things look under the hood?  They should be able to upgrade things like WordPress, edit that homepage content you only care to change every once in awhile, advise you about any larger issues, apply some Spam Guard, and send you on your way before dinnertime.

And while we’re at it, where are the website loans for new businesses?  And where is the website insurance against hacking, hosting failure, and freeway Digg collisions?  How can you upgrade the sound system that is your website copy?  Where can you get all that bird shit washed off your outside user-generated content surface?  Where can you have your server space vacuumed?  How are you supposed to know when it’s time to get your timing belt replaced? Where are you supposed to go to do that?  And how can we hold mechanics reliable for doing what we ask without ripping us off?  (I suppose that last problem still hasn’t been solved with cars, so maybe I’m asking too much.)

Rusty Car Storage (by Dave_7) http://flickr.com/photos/daveseven/2522577075/I hate watching people’s transmissions die after driving 100,000 miles without a tuneup.  And I’m even less fond of being handed that panicked problem while I’m right in the middle of designing a beautiful new car.   But I don’t blame them for it — they don’t have much of a choice.  The resources aren’t out there on the side of the road, reminding them to come in for a checkup.  Where’s the freaking Jiffy Lube?

If it’s getting to the point where “married couple” is just another way of saying, “two-website household,” it’s time to scale the industry to address the needs of consumers.  Too many people assume that whoever built a website is going to be responsible for it forever — even if there’s no maintenance retainer plan in the contract.  And true, we — as web developers — created that assumption because we wanted to hold on to our clients.  But how many unloved, unmaintained websites are out there now, rusting and creating an eye sore on someone’s front yard because “maintenance” was an assumption instead of a plan?  Drop your pride and get real for a second.  You’re not happy about it but you don’t want to do the work to fix the situation, do you.

I no longer work on projects where the “designer” and the “programmer” are the same person.  I find that — even if someone can do both — their work will be much better if they only have to do one.  Having two separate bodies engaged in that arm-wrestling match makes for a better website.  And a less crazy team.  Even though I used to try to do both of them myself.

I’m adding maintenance to the pile now.  I don’t think the manufacturers should be the maintainers.  I think it’s a conflict of interest, a disservice to the consumer, and a white lie that’s tainted with an extra layer of fear and pride.

It’s time for the Jiffy Lubes to start popping up on the suburban street corners of the Internet.  We’re ready now.  And please, do it well.

photo credits: “jiffy lube” by joe dunckley and “rusty car storage” by dave_7 — thanks, guys!


Four years ago, on a hot summer day, I was bored and decided to start a new website. This particular website was intended to be a community space and publishing venue for writers. I gathered up a few friends to help me sculpt it and get the word out, and together, we named it The Writ.

The Writ had massive ambitions and zero budget. For the first four months, it survived entirely on coffee, cigarettes, insomnia, optimism, and keg party marketing. When its membership jumped from 4 to 100, we were beside ourselves with shock. When we secured a $1200 grant to help with the web programming, we felt like we’d won the lottery. When we found a guy in Romania who promised to build us every web feature we ever dreamed of for $1200, we were certain that literary world domination was well within reach.

And then, when we all burned out from volunteer hours and discovered that Mr. Romania wasn’t the programmer of our dreams, we quietly admitted failure, gave up on the project, and moved on. It would die, we figured, without us — but hey, it was fun while it lasted.

So when the damned thing refused to die, we didn’t quite know what to do about it. There it was, living on without leadership or maintenance, with broken features and mysterious glitches, with ugly designs and spam-bloated forums, and with a passion and force that made absolutely no sense to us at all. New members were signing up. People were posting writing. People were commenting on each others’ work. People were creating community.

And that’s how I know I didn’t get it. In all my pride and ambition, I had missed the point entirely. It wasn’t about making things bigger and better. It wasn’t about creating a sustainable revenue model, or establishing a fancy brand, or extending deeper into the community. And it most certainly wasn’t about us.

The Writ now has over 5,500 members. People post new writing every day, and most pieces receive constructive feedback from readers. Over the last four years, several people have stepped up to take the leadership reigns and in doing so sparked new life into the community. But that role is too taxing to sustain long-term as a volunteer without a programming staff, and its presence is usually short-lived.

Does that matter? Not as much as we thought it would. The community members don’t really care if they have a leader or not. All they care about is being able to show up, share their stuff, and connect.

That’s it.

Tags: , , ,

Count the clothing references in this livejournal page load error:

Error running style: Style code didn't finish running in a timely fashion. Possible causes:

  • Infinite loop in style or layer

Primary Question: How many do you see?

Silly Subquestion: Is this a subliminal branding technique to appeal to cutting-edge user groups?

Followup Question: Could it be?

Friends often send me questions about their tech troubles. To keep a log of my answers and to minimize repeating myself, I’m going to start recording them (stripped of identifying information) here under the category of “Q&A.” No, this doesn’t make me a professional advisor, and standard free advice guidelines still apply: you get what you pay for. Enjoy!


Hi Sarah,

I just started working for a small realty company. What we’re trying to accomplish in the near future is to create a web presence for her site. I know a little about this, but we’re trying to direct people looking for homes in the area to her site. We’re thinking keywords on Google, thinking about buying domain names that re-direct to her site, but I don’t really understand how to implement it. If you could give me a little more insight, that would be great!

Thank you,
Pal Who Needs a Site


Hey Pal Who Needs a Site,

So, my first question would be, what does she want on her site? If she just wants static text with a description of who she is, what she does, and a sales pitch, then that’s easy. Just have someone with a little expertise throw together a website for her. I’ve spelled out an overview of that process here:


…and in that scenario, if she’s serious about directing people to the site, she probably wants to invest some cash in an online ad campaign (since there’s probably a LOT of people vying for those obvious “[region] real estate” -style keywords. Do some google searches now to check out your competition). If that’s the case, I can recommend this excellent firm who’ll make sure her campaign investment actually yields a decent ROI, and also make sure she’s doing all the “little things” right:


If she wants to actually display updated listings of homes on her site, then that requires some serious technology. I did a site like that last summer ( http://www.michaelshower.com ) and it was a bear to customize to work the way we wanted. In that scenario, you should find a company that specializes in real estate websites that display MLS listings, and expect to pay a decent amount for it, in addition to a monthly fee for the listing service. And on top of that, she should probably still invest in the ad campaign, unless she’ll have some prominent directory listings that people can find her through.

That give you an overview?



You’re amazing. Thanks.

Here’s a problem I ran into when migrating from b2evolution to WordPress: my old RSS feed, which was running through multiple aggregators across the web, suddenly didn’t work anymore. The obvious (and painful) solution was to manually inform every system and person who cares about my blog that I’m now on a new feed. I was already diving into that that task, and planning to let a few systems drop off the wayside in the process.

Thankfully, Jordan M.E. (one of my favorite programmers), sent me the easier answer. She told me to use an htaccess redirect, so the old feed becomes the new feed. Here’s the code that I added to my root level (http://www.sarahdopp.com) .htaccess file (it should all be on one line):

Redirect permanent /blog/xmlsrv/rss2.php http://www.sarahdopp.com/blog/?feed=rss2&

In this example, “/blog/xmlsrv/rss2.php” is the path of my old RSS feed, and “/blog/?feed=rss2&” is the path of my new RSS feed. You need the “Redirect permanent” at the beginning to make it work. See it in action. This is the link to my old feed:


Check the address bar after you click the link. You’re at my new feed. Voila!

If you’ve never edited your .htaccess file, it’s not as scary as it sounds. It’s just a text file with a funny file extension that controls some key things about your website. Some people have trouble opening the file because of its strange file name, so here’s a trick (note: you have to be comfortable with FTP to do this):

  1. Using your FTP client, find the .htaccess file on your webserver and rename it to htaccess.txt.
  2. Download the file.
  3. Open it in the code editor of your choice.
  4. Make the changes you want to make (see above) and save it.
  5. Upload it to your website.
  6. Change the filename back to .htaccess.
  7. Done.

So now, everybody who was reading my old blog can now see my new blog, as though nothing changed.  Well, they’re probably a little confused because I disappeared for awhile, and their aggregators may now be reloading new copies all my stuff, but hey.  Close enough.

I’ve been involved in the secret beta testing for Squidoo — the latest and greatest Web 2.0 project, spearheaded by Seth Godin. But I wasn’t allowed to talk about it, or they would kill me… at least until today. What the Heck is Squidoo?It’s an organized collection of lenses, which are simply webpages devoted to introducing and explaining specific topics–any topics–like an information-based gateway to the web. Think Wikipedia meets Google.Their philosophy? Everyone is an expert on something. Anyone and everyone should build a lens. Their incentive? Cash kickbacks based on how much traffic and affiliate clicks your lenses draw (and you can choose to donate that cash directly to your favorite charity). Their contribution the web? A better, more humanly-maintained way of finding things and learning about them. Give Google a run for their money! Squidoo’s still in beta testing, but it’s public now, so go check it out. Start with a few of my lenses:- Ani DifrancoThe Open Source Movement…and then start making your own!

Nick asked some great questions in a comment to my last entry. Since I know more people are looking for these answers, I’ll post my response here. Sarah,I noticed that the Chinese site looks nice and clean like yours. Is that one CSS too?If I was getting ready to work on some old html site but wanted to move it up into xhtml or better, css, do I need to review the html first or just begin learning how to convert it?By the way, should I never list an email on a webpage? When is it safe?Nick  Hi Nick,Actually, you’re the third person to ask me about learning XHTML this month. XHTML is definitely the way to go, but most tutorials on the web assume you already know HTML (because most of XHTML is HTML. It just has more rules). I wrote an XHTML tutorial for beginners over the summer, but haven’t put it on the web yet (thanks for reminding me that I should). I’ll email it to you if you’d like. Otherwise, yeah, you probably need to start with HTML.CSS resources, on the other hand, are plentiful. Have you been to CSS Zen Garden yet? It’s mostly a just-for-fun site, showing off how extremely versatile CSS can be. But you can also copy their techniques and incorporate them into your work.Most sites (like this one and newsinchinese.com) use a combo of CSS and XHTML or HTML. Some people use CSS for the layout of the site (like making columns), and some people just use it for the visual style (fonts, colors, etc). Either way, it needs to sit in an XHTML or HTML framework.If you’re writing the code from scratch, I’d recommend using XHTML for your layout because CSS layout can be quirky on some browsers. But if you’ve found a template that someone’s spent some time making stable with some intense CSS, go for it. Either way, you should definitely use CSS for your fonts and colors.So basically, you have to learn a bit of everything: HTML, XHTML, and CSS. But they build on each other, and it makes a lot more sense once you get rolling. Start with tutorials and you’ll build up an understanding quickly.Your other question: Should I never list an email on a webpage? When is it safe?Here’s the thing. If the webpage is indexed by Google, you can pretty much guarantee that at some point, that email address will get picked up by some robot email collector and put you on a spam list (or a hundred). A lot of people now obscure their email addresses by putting them in a different format, for example: sarah [at] sarahdopp [dot] com. But that’s a pain for readers to have to translate into a real email address, so it’s a catch-22. I’ve also seen people present their email addresses in graphics. They’re displayed correctly, but a reader can’t copy-paste them. If making it easy on people is your priority and you can suck up some spam, just list the email address. If you’d like to stay on the spam-free side of life and your audience is fairly tech-savvy, go with cryptic. But either way, you should offer an email address on your website. People need to email you!Good luck! And let me know how else I can help.Sarah

The Writ is constantly under construction and just keeps getting better. Today we launched our October Issue. It’s gorgeous and inspiring. Read it.For those who haven’t followed my obsessions for the past few years, The Writ is a literary/arts journal, review, and workshop (quite a mouthful!). I’m the web master and one of its original founders. It currently has about 100 writers and artists scurrying around its pages, and gets 5,000 hits per day. It’s also an amazing community. Check it out.