Wednesday, August 1, 2012

Craigslist now asks for exclusive license when posting


I don't remember seeing this before at the bottom of the Craigslist posting form. I'm guessing this is the result of the Padmapper debacle? (bolding mine)
Clicking "Continue" confirms that craigslist is the exclusive licensee of this content, with the exclusive right to enforce copyrights against anyone copying, republishing, distributing or preparing derivative works without its consent.

For comparison, here's Yelp's language:
As such, you hereby irrevocably grant us world-wide, non-exclusive, royalty-free, sublicensable, transferable rights to use Your Content for any purpose.
 And Facebook's:
you specifically give us the following permission, subject to your privacy and application settings: you grant us a non-exclusive, transferable, sub-licensable, royalty-free, worldwide license to use any IP content that you post on or in connection with Facebook
Google:
When you upload or otherwise submit content to our Services, you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works, communicate, publish, publicly perform, publicly display and distribute such content. 

Saturday, July 14, 2012

Do you know anyone who...?

In the business world, the question "do you know anyone who..." must get asked thousands of times a day. Do you know anyone who... can program? Would be interested in investing? Would be a good fit for this position? Is looking for a job and has this particular skill and background?

I personally get asked this question several times a week. Most of the time it's by a business contact that I'm either friends with or have recently met. Sometimes the question is code for "Are you interested?" But most of the time, when it's used in that way, the sentiment comes bundled with "well if you aren't, do you know someone who might be that you'd recommend?"

Whenever I get asked this question, I struggle to think of names on the spot and often promise that I'll "keep them in mind" afterwards and send anyone I know their way. Although I try to follow-through on this commitment I almost always feel like I'm letting the person down afterwards. In my address book are 728 entries and I probably "know" several more thousand people in Silicon Valley alone.

Not only can I not remember everyone I know, an equally hard if not harder problem is that I don't know what they're all up to. Each person is in a different state of their career progression and while I might know someone with the right skill set to answer the "do you know someone" question getting that person at the right time is difficult.

In a sense, answering this question is an information retrieval problem. The field of information retrieval has the notion of precision versus recall. When people struggle to answer this question they're primarily facing a recall not a precision deficit. In other words, the people they're able to remember are probably pretty good fits (no false positives) but they are likely missing many individuals who would make good candidates (many false negatives).

Why are so many missing? For two big reasons: they can't remember people or they don't know if a person would be a good fit. They're both large components of why the question is tough to answer and I'm not sure which is the larger factor. The first reason is a consequence of how the human brain works. It just isn't made like a computer database, able to lookup thousands of entries in milliseconds by a particular criteria. The second is the lack of perfect information. You might remember that Jane would be a good fit for a particular position, but is she looking for a job right now? Or is she happy as a product manager at Facebook.

Finally, even if you have remembered someone and have recently spoken to them (thus having perfect information) the actual assessment of whether they match the criteria asked in the question is a difficult and fuzzy one. Would an engineer who became a product manager be a good fit for a role at a venture capital firm? It depends. Notice how this assessment of relevance is more complex than picking a restaurant, where the most important relevant factors are likely only location, price, food type, and star rating.

To summarize, why is answering the question "do you know anyone who..." difficult:

  1. Recall - it's impossible to remember everyone you know, especially when trying to filter according to a particular criteria. Your brain isn't designed to sort through thousands of entries and find the correct ones.
  2. Missing or outdated information - even if you remember a person, you might not know that they're looking for a job, unhappy in their current position, or would be enticed by a new role. What's worse, this information is constantly in flux. You might have checked in with a person a two months ago but now they've found a new job.
  3. Complex criteria matching - assuming you've remembered a person and have perfect information about their situation, making an assessment about how well they satisfy the criteria of the question is a difficult one. 
I personally don't like the feeling of not living up to my commitments. I also like the feeling of genuinely having helped someone else out. The solid referrals I've made in the past are some of the more emotionally rewarding "favors" I've been able to perform.

Some of my recent brainstorming has been around building a tool that would better help me (and hopefully many others) better answer this common question. And I believe before thinking about solutions it's best to understand deeply the problems associated with answering it.

Thursday, August 25, 2011

My one question for Steve Jobs in 2001

I’ll always stay connected with Apple. I hope that throughout my life I’ll sort of have the thread of my life and the thread of Apple weave in and out of each other, like a tapestry. There may be a few years when I’m not there, but I’ll always come back. [Playboy, Feb. 1, 1985]

I've had two personal encounters in my life with Steve Jobs. The first was in 1997 when my parents forced me to stalk him after a Cirque du Solei show in San Francisco and I shook his hand. I wouldn't recommend doing this to any famous person, although in my parents' defense Steve wasn't as famous back then except to fanboys like me.

The second encounter, however, happened 4 years later at Apple in the summer of 2001. I was an intern there and one day the head of the intern program gathered the almost 100 interns into the Town Hall auditorium in Infinite Loop 4 for a "surprise guest speaker" that wasn't really much of a surprise: Steve Jobs.

The meeting had no agenda but I had a hunch that when Steve (everyone who has ever worked at Apple just calls him "Steve") ended his remarks there would be a Q&A session. My mind started racing. This was probably going to be the one time in my life when I would have the chance to ask Steve Jobs a question and get a reply. This has *got* to be a good question. This was like getting a chance to shoot a basket with Michael Jordan, you want to take a good shot.

I can't remember exactly the questions that I decided against, but I remember specifically thinking that I wanted to ask something that hadn't been captured in the numerous books I had read about Apple's history. Something Macworld magazine hadn't reported on. Something Steve hadn't talked about in the press before. And something personal to him. The other interns, disappointingly to me, were asking questions more about the company like "Is Apple ever going to go after the enterprise market?" (Steve's response, a refreshing "If you're interested in that, you're probably at the wrong company.")

Steve got to about his 4th question from the audience and by this point almost every single intern had their hand up. He gestured in my direction but I could tell he was actually looking at an intern in the row right in front of me. I got a bit aggressive and barged ahead with my question anyway before the other intern could begin. Steve smiled a bit in apology to the intern I had just trampled over but let me continue.

I was nervous. "Steve, many years ago you left Apple to start Next. But recently you returned to Apple. Why did you come back to Apple?" I could be filling in false details, but I remember Steve thinking for a moment with his characteristic "fingertip pressed together downward glance". He then proceeded to give a two part answer.

The first part of his answer I've completely forgotten because it seemed to be a canned spiel that he had used before. It had something to do with Apple's products or mission. I started losing interest because it sounded like something I might have even heard Steve say before at a keynote. I felt a bit disappointed that my one chance to learn something new and unique about Steve was probably about to end.

But then, as if to try again at my question, he added a second part to his answer.

"When I was trying to decide whether to come back to Apple or not I struggled. I talked to a lot of people and got a lot of opinions. And then there I was, late one night, struggling with this and I called up a friend of mine at 2am. I said, 'should I come back, should I not?' and the friend replied, 'Steve, look. I don't give a fuck about Apple. Just make up your mind' and hung up. And it was in that moment that I realized I truly cared about Apple."

When I was 5 I first played with an Apple II GS. And when I was 10 (or 12?) my parents got me a Macintosh IIsi, put it in my room, and subscribed me to Macworld magazine. Apple and Steve's work has been a part of my life for almost as long as I can remember.

To bring a company that in 1997 was losing money and had changed CEOs nearly every year for many years in a row, to be the most valuable company in the world is a feat I'm not sure we'll ever witness again in our lifetimes.

Steve managed to find work he loved and did it to the very best of his ability. It's a concept that sounds so simple but in practice is hard to do, but one that is worth striving for.

Update 1/7: On page 315 of Steve Jobs, Walter Isaacson quotes Jobs telling the same story where he uses Andy Grove by name , instead of "a friend".

Thursday, July 7, 2011

Code components not features

A few days ago, I asked one of the "grey hairs" (experienced people) at my startup:
Is it better to have engineers coding features or components? Should they work on a vertical slice, a feature, that cuts through many layers in the technical stack? Or instead, should they focus on one component in one layer of the stack?

I wasn't sure of the best answer, but the experienced-one recommended a one-engineer-per-feature approach, especially for a startup. His argument cited greater individual motivation, higher functional quality of the feature, and faster iteration on the feature.

They say an easy way to make a 50/50 decision is flipping a coin, and if it comes out heads and you're disappointed you know you should have decided on tails. So let me try to make the opposite case: you should always have engineers work on just one particular component, in one layer of the stack, and never on an entire feature.

When you have a system, whatever system that might be (a company, a technology product, a team of people), the system will naturally have a tension between the goals of the individual parts of that system and the system as a whole. For example, the star hitter on a baseball team might want to go for a homerun everytime to improve his stats. But sometimes, it's best if they only go for a single because the team needs another man on base.

A tech startup has two big systems: the product itself and the team creating the product. Happier teams make better products so we'll focus on optimizing the "team system" first. Where the post linked above goes wrong is here:
Nothing is more motivating than feeling like your work really makes a difference.
Programmers, however, aren't motivated by quantity they're motivated by quality.

The quality of one's work is directly tied to one's self-esteem a trait inherent to human nature. A piece of code that is executed by a processor 750 million times isn't necessarily higher quality than a piece of code that is executed only once.

The very idea of a startup is a perfect example of this principle. When you're writing code at a startup it will likely get used by no one at first. So the only motivation you have is making something that is high quality.

Since about 1960 the software world has agreed that producing high quality software requires breaking a system down into smaller parts. This isn't too surprising given the way large systems (like countries and corporations) have always been organized.

It's easier to make one thing of high quality than ten things of high quality. And while an engineer might enjoy creating more rather than fewer high quality things ("Yay! Big contribution, I know I can do a good job on all of them!") it's going to be best for the system (the team) to have each person focus on making at least one thing of high quality first.

This encourages better encapsulation, abstraction, and in the end a better product which can go on to lead a company to becoming the second biggest in the entire world. It comes down to a focus on quality first and all else second that wins the day.

Sunday, May 8, 2011

Kings, Addresses, and Facebook -or- Why We Don't Need Phone Numbers Anymore

We've been using addresses to send messages for a long time but Facebook has made them obsolete. Our "identity" is our new address. We don't need e-mail addresses, phone numbers, or IM handles anymore but address books, strangely, might still be useful.

Addresses sprang from the need of identifying someone within a crowd without a central directory. Before addresses, we didn't have the crowd or the central directory. In 1229 King Frederick II wrote a letter to King Henry III of England updating Henry about the latest news. When Frederick wrote that letter he probably just put Henry's name on an envelope, stamped it with wax, and then told a servant to deliver the message. Frederick didn't need an address because there wasn't a crowd - there weren't many people he could send a message to.

The first widespread use of addresses in the US came about in 1775 when Benjamin Franklin formed the US Postal Service. Sending letters was brought to the masses and a system was standardized to move these sheets of paper around. You couldn't just write a person's name on an envelope anymore because the number of recipients went way up. The possible number of recipients went up because it became cheaper (and just plain possible physically) through the use of technology like trucks and roads to send a letter to anyone.

Good old Frederick probably didn't have an address book but the first US citizens needed them because although they could remember who their friends were like the kings, they couldn't remember all those addresses. The old kings didn't need them since in their day addresses were the same thing as identity.

With mailing addresses, your identity is still pretty close to your address since one is contained in the other. But once e-mail arrived "address" and "identity" fully separated for the first time. For once, a person could choose whether to reveal their identity as part of an address. I could choose to make my e-mail tactless@gmail.com or berger.jon@gmail.com for example, and still receive messages just the same either way.

Finally, jump to current day. Facebook comes along and makes the old new again. Let's assume for a moment that Facebook reaches its goal of making everyone on the planet a user. Coupled with an excellent, graph-weighted people search (which it has) your identity ends up being your address again, just like with the medieval kings. Meaning, all you really have to know is someone's name to send them a message.

Wait a second, what? So we're now all kings like Frederick where we can just scribble a name on a sheet of paper and hand that to our servant and trust it gets to the right person? Yes, essentially. Facebook is our servant and its almost perfect mapping of real people to accounts provides the infrastructure necessary to make this possible.

Facebook messaging is a departure from e-mail precisely because it ties so strongly "identity" with messages and abandons "addresses". Facebook actively bans fake accounts, while Hotmail allows you to create as many as you'd like.

If all it takes to message someone is their name, then it follows that the only people you can't message are people whose names you don't know. You know Barack Obama's name, and you can message him if he has his Facebook privacy settings at their default. OK, so famous people will likely want to alter their privacy settings, but for everyone else the rule still holds.

But wait, you might say, what about the fact that you aren't friends with everyone on Facebook. Facebook lets you talk with your friends and since I'm not friends with everybody that's the real reason I can't message the President. It turns out Facebook's default privacy settings do allow you to message non-friends, they just restrict you from seeing personal things like photos you're tagged in and your email address and phone.

You can message John Smith too. I know he has a common name and it'd be more helpful to have his address. But it's likely you met John Smith at a party, or a conference, or some real world event with real world relationships that Facebook knows about explicitly or implicitly and those allow him to pop up in that spiffy search right away.

What about those pesky address books, things people hated anyways. Kings didn't need them, Benjamin Franklin and friends did, and since we're back to the "king situation" people on Facebook today don't need them again.

Well, not quite. Address books just look much different. It's no longer a list of addresses. Rather, it changes to become a list of names. Your only task becomes remembering the names of people and how they are relevant to you rather than managing the addresses associated with them (or managing phone numbers which are just another type of address). You could try to just keep this list of names in your heads, but we meet so many people these days that's just not possible.

And Facebook is definitely not good at this either. It only remembers a small subset of the people you'd really want in a modern address book. Which means Facebook can't be the end-all and be-all of our social world forever. Which is a good thing for Google, Apple, and all the startups and would-be startups just getting started.


Thanks to Kartik L. and Andrew O. for providing feedback on this post.

Tuesday, January 18, 2011

Experiment in graphic design textures

I was inspired by Path's iPhone app to dabble in textures tonight. Here is the part of the iPhone app that I thought looked very pleasing to the eye:

And after downloading a few of the packs from http://tileabl.es/ and using a technique from Game Artist to colorize the texture, I ended up with this:


The rounded rectangle is intentionally different from Path's. Path's shadows give the impression that the profile picture appears at a layer in between the frontmost beige and the background brown texture. I thought this introduction of three separate planes was unnecessary and chose instead to have my rectangle float above both. While writing I realized I had also created three planes and so made another version with only two.


Overall, I think my attempts look pretty good although the texture I'm using still isn't great. Path's looks more refined, sanded, smooth, polished, solid, slick, and less gritty, noticeable, and intrusive.

Wednesday, July 1, 2009

"Honor the voice of possibility that calls you."

Honor the voice of possibility that calls you. Notice what diminishes you and what brings you alive. Embrace your questions, treasures, and gifts with gratitude. Passionately commit to impossible causes. Love generously. Believe in your goodness and genius. And always - keep learning.

Dr. Stephanie Pace Marshall, Spring 2007