Hi
Hi
Hello, NYC
Services like Twitter are interesting to think about because from an engineering perspective, the goals around what users would initially accomplish are not so clear. Yet, at the end of the day, the service was flexible enough to accommodate the user scenarios that eventually manifested themselves, given the ability to broadcast updates (see this post for some interesting scenarios that Twitter enabled). I strongly believe that had Twitter been initially designed & marketed to ‘facilitate meetups between strangers’, it probably wouldn’t have succeeded.
Frequently, I hear from more experienced friends that selling to businesses vs consumers is very different because the consumer market is so fickle. So, an admittedly lofty goal might actually be to keep whatever capability you provide so vague, yet the use of that capability so simple that people can tell you what they want just by using your service. Making this even tougher is that it has to be flexible enough to NOT drive users away once they (or a competitor) realizes what they want and to NOT demand an about-face in strategy. In that case, you might end up not falling prey to how fickle the consumer market actually is.
So, the trifecta: simple, flexible, and powerful. Easy, right? :-)
Breakfast: The single most important meal of the day. Luckily, I’m onto a foodie’s delight with my steel-cut oatmeal in a plain white bowl:

Subtle yet complex flavors AND moist, chewy texture are qualities that few foods can qualify as having, yet oatmeal delivers on all with aplomb. However, before all of this delightful tastiness can be appreciated, a true oatmeal aficionado must be aware of the meaning of its constituent words:
oa - As in, whOA
tmeal - as in, The meal
Steel-cut oatmeal in a plain white bowl stands on its own; you’ll need no nuts, brown sugar, or fruit, as these are strictly unnecessary and could even discolor the plain white bowl.
Enjoy!
My friend Karen has a real food blog that, even if I read right after a huge meal, still makes me salivate with hunger. She’s that good! Out of jealousy & spite, I decided to start my own competing food blog, and I’ll start by reviewing one of my favorite drinks ever:

Kirkland Signature Premium Drinking Water (not to be confused with Kirkland Premium Drinking Water) holds a special place in my heart. This bottle has been sitting on my desk for a week now, but, believe it or not, the water has STILL retained its refreshing, cooling, invigorating taste! Although it’s missing that subtle lead flavor that I sometimes miss from the good ol’ tap, it more than makes up for it with a dynamic, full-bodied, in-your-face experience with no aftertaste.
On top of all that, it has the Costco connection, and who doesn’t love Costco?
Note: sample tastes of my Kirkland Signature Premium Drinking Water are not permitted.
The instructions that the computer understands are very primitive: mostly arithmetic operations such as add, subtract, divide, and multiply, some operations that aren’t arithmetic operations, and others. Because the instructions understood by processors generally operate only on numbers, it’s a time-consuming and complex process to take operations we normally think of doing, and boil them down to the primitives that computers understand.
Therefore, there are entire research areas & software markets dedicated to the task of taking languages that are more palatable to people and generating efficient sets of instructions that computers can understand. These languages that are “more palatable” to people resemble spoken/written languages in the same way that Al Gore invented the internet: hardly. FYI, the products in this market are compilers, linkers, debuggers, and other names; Microsoft’s Visual Studio is a popular one for the Windows platform.
As a back-of-the-envelope example of how describing processes can take much more space for a computer language, consider the game Towers of Hanoi. Wikipedia explains the game in about 7 sentences. An implementation in C, a popular programming language, is about 43 lines. The number of primitive instructions that your fancy Intel CPU needs to run this program is 137 (this can vary significantly but it will always be some larger multiple of the preceding 2 numbers).
The implication of the fact that computers understand such primitive languages is that every little detail need be spelled out, much like, say, instructing a toddler to do laundry :-)
Often, I get asked by nontechnical people what exactly programming is, but it’s a somewhat difficult thing to answer concisely. When I’m thinking about this, most of my comparisons are to: running a team at work that consists entirely of toddlers.

Just like a manager might distribute a memo to his/her team indicating a process to follow in certain situations, a programmer can be considered to be distributing a document that contains a process to follow in certain situations. The manager’s memo might indicate what to do if a link to another office goes down and the team needs communication from them; the programmer’s “memo” might indicate how to modify a photo if the user decides to bump up the contrast setting in Photoshop.
A program, then, is, collectively, a bunch of “memos” that are executed by the computer when the user triggers an action (a mouse click, keyboard press, or any form of input) that the programmer has decided to associate with that memo.
Programmers usually work in units of code files which can be considered documents containing instructions for the computer to execute. It’s up to the programmer to use somewhat primitive instructions to build up documents that provide functionality we take advantage of every day.
The reason I think that the analogy to a manager running his/her team is apt is because a big part of a manager’s job is setting process for his/her team. Similarly, a huge part of computer science is the study of processes: the formal expression of what a process is, the execution of a process efficiently (The word for this which Google has made trendy is “algorithm”), and the analysis of effects of a process.
Next up: the toddler part of this analogy :-)
If you’ve ever thought about why first impressions matter so much, it’s probably because of cognitive dissonance, something that Scott Adams, creator of Dilbert, writes about quite a bit (you might have surmised that he’s one of my favorite writers from the fact that this is the 3rd or 4th mention of him on my blog :-)).
Unless someone takes the time to limit the impressions they form during a first meeting (and assuming there are future meetings), cognitive dissonance indicates that it’s very hard to undo or change those initial impressions.
Another example at the other end of the spectrum is how malleable someone’s opinion of what’s important can change over time. I grew up in a household emphasizing balance but I will still pretty obsessed with making a lot of money and having prestige when I was in high school & college. It took more than a few promotions & instances of meeting job-related goals to discover that ascending along this path wasn’t everything I’d thought when I was growing up, and that it wouldn’t be the right thing for me for the future. The fact that it took a few years is probably because of my own cognitive dissonance!
I went to Patxi Chicago Pizza with a friend not too long ago, and we split a one of their signature deep dish pizzas. In between shoving down slices of pure heaven, we checked in via FourSquare and received notice that we’d get a free fountain drink for checking in. Too bad our mouths were too full for us to say anything to the waitress.
Some of the other deals available on FourSquare revolve around offers to the mayor, but it seems to me that the emphasis should be on getting customers who are not frequenters to frequent more. I don’t mean to be a heartless businessman, and I am all for rewarding customer loyalty, but it’s likely that you don’t need to spend much money to entice your mayor into coming in more. In fact, in the case of bars, if someone is the mayor of a joint, they’re probably getting enough free drinks already just out of knowing the bartenders there.
Something that I envision is a check-in system, not tied to a specific establishment, but to some geographical area like a neighborhood. I’d also like to make it seamless for businesses to run promotions on a minute-by-minute basis. Then, if the restaurant A16 has determined that it’s slow and would like to offer 2-1 drink special for the next two hours, they can do so for anyone who checks in in the Marina neighborhood.
The mayor concept is fun and maybe makes FourSquare more used, but I’m not sure it should be the primary target for advertising specials.