Sachin Rekhi

Posts

January 23, 12:20 PM


Those who know me know that outside of software, music is a great passion of mine. But not just any music. More specifically, music from up and coming unsigned artists on YouTube. What excites me about artists at this stage is you see them acoustic and raw, often just a guitar or piano and their own vocals. By following them over time, you also watch them grow in confidence and mature over surprisingly short periods of time. Many of them go on to sign deals with record labels, put on national and international tours, and much more. One of the greatest disruptions YouTube enabled was making it possible for individuals with talent to showcase it online, gain an audience, and become successful without the traditional talent scout approach.

But there is an even more interesting trend that has emerged on YouTube in the last couple of years - that of the collaboration. It’s become popular for up and coming artists on YouTube to collaborate with other such artists on a single recording. The recordings always ends up being richer with the combination of two different artist interpretations. But equally important is the cross-pollination of audiences across both artists. Existing fans of one artist are exposed to the other artist and vice versa, significantly growing the fan base for both. It’s a win-win-win user acquisition strategy for each artist as well as their fans. I know I’ve discovered many new artists in this exact way.

As I saw this phenomenon grow in popularity on YouTube, I thought about how to apply the same successful model to the software world. And in fact we adopted it as a core tenant in our user acquisition strategy for Connected.

Our first such collaboration was with Evernote. We started to receive a lot of requests from users to add note-taking functionality to our mobile experience. As we were strapped for resources and focused on the web experience, we decided to instead integrate with Evernote as opposed to building the functionality ourselves. We developed an integration where users could leverage Evernote’s suite of mobile, desktop, and web applications to take notes on their contacts and the note would automatically be associated with the appropriate contact within Connected. It was a great value for Connected users since it got them an even better experience than we would have been able to deliver ourselves. But more importantly, through out listing in the Evernote Trunk app store, we gained significant exposure to Evernote’s audience and saw an influx of users directly from the integration. Similarly, users of Connected now became aware of Evernote as a new integration option and often tried it out even if they weren’t using it before. This cross-pollination of similarly-minded users worked so well, we decided to repeat the strategy across many more integrations.

The next set of integrations we did were with Email Service Providers like AWeber, MailChimp, and Constant Contact. Our integration with each of these services enabled users to learn more about their email marketing list subscribers right within Connected. We also gained exposure to each of these email service provider's customers which closely mirrored our own. And many of our users started to leverage these products since they integrated deeply within Connected.

Given our success with this model, I encourage others to leverage the collaboration as a strategy for user acquisition for your own startup. While more costly to implement compared to running ads or other forms of user acquisition, it creates a win-win-win for all parties when done just right.
January 14, 12:06 PM

I often get asked what motivates me as an entrepreneur to do what I do. For some it’s fortune, for others it’s fame. But for me, it’s this:



Seeing the positive impact the software I’ve built has on real people every day. That’s what motivates me. That’s why I do what I do!
January 09, 11:24 AM

I recently went through the thought exercise of trying to define my professional identity on the web. When thinking about the various components that make up my professional identity, I thought about it in terms of what I’d like people to know about me and what best represents myself and my work.

My Primary Identity
The following four online presences represent the core of my professional identity.

1. My Resume - linkedin.com/in/sachinrekhi
If I had to pick a single online presence to represent me, it would certainly be my LinkedIn profile. It provides the most comprehensive view of what I’m doing, what I’ve done, and my areas of expertise.

2. My Blog - sachinrekhi.com
My blog is an equally important part of my professional identity, as I use it as a way to share in long-form my views on various technology issues, my learnings from my various career adventures, and as a platform for promoting my latest project. By perusing my blog, a reader gets a clear sense of the way I think, what I’m interested in, and ways we can mutually benefit from each other.

3. My Tweets - twitter.com/sachinrekhi
I leverage Twitter as my daily platform for engaging in conversations associated with my industry. It’s where I share in short-form what I’m reading, what’s new that I find interesting, as well as network with leaders and colleagues in the space. Given it’s daily activity, it’s by far the best way to learn what’s important to me right now.

4. My Company - connectedhq.com
No picture of me is complete without understanding my work. Thus my company’s website and product are an equally important part of my professional identity.

Up & Coming Presences
Three additional online presences have cropped up as potential additions to my professional identity. They still feel nascent, so I haven’t yet made them part of my core set, though I do think they each have a lot of potential.

1. My Answers - quora.com/Sachin-Rekhi
Quora has emerged as a great place to learn from startup luminaries about the strategies and tactics they employed to be successful. It’s also a great place to exhibit your own expertise and offer your wisdom on a variety of topics. The Quora team has done a great job of cultivating the site in such a way that a Quora answer serves equally as an answer to a question as it does an expression of your own identity. While I am concerned whether they’ll be able to keep the strength of the community as they grew, it’s certainly one that I’m eagerly watching.

2. My Presentations - slideshare.net/sachmonkey
Sometimes the best presentation of my work or learnings is in the form of a PowerPoint presentation and SlideShare provides a great way to share these with the broader community. I’ve used it on several occasions and plan to continue to do so as it provides a more engaging look into my work and thoughts than simple blog posts or tweets.

3. My Open Source Contributions - github.com/sachmonkey
While I haven’t yet made any open source contributions on github, I certainly plan on doing so. It’s become a great place to contribute to open source projects you care about, host your own open source projects, as well as serve as a great showcase for your work. It’s the best portfolio I’ve seen for developers work to date.

Gaps in My Identity
There are also a few areas I feel are lacking in terms of an online presence that I’d like to develop.

1. My Portfolio
I haven’t found a great way to represent my portfolio of work online. As a product guy, the best show case is definitely the products I’ve built. While I do list many of them here, it doesn’t provide the depth I would want from a portfolio. I’d love to find a better way to present and allow readers to explore them.

2. Buzz About Me
Outside blog and press coverage of your work and yourself is a great way to showcase yourself. It’d be great if there was an easy way to include this as part of your online identity. While I do have a press mentions page on the company website, I feel a certain amount also belongs as part of my portfolio as well as should also include interviews of me.

Alternatives I’ve Tried
In addition to the above mentioned presences, I’ve tried a variety of additional services, each with their own unique representation of you. Unfortunately most have not become a regular part of my professional identity.

Facebook - http://www.facebook.com/sachinrekhi
Google+- http://plus.google.com/114888243026382631402
About.me - http://about.me/sachinrekhi
Flavors.me - http://flavors.me/sachinrekhi
re.vu - http://re.vu/sachinrekhi
friendfeed - http://friendfeed.com/sachmonkey
Zerp.ly - http://zerply.com/sachinrekhi
Path.to - http://path.to/sachinrekhi
Geekli.st - http://geekli.st/sachinrekhi
CrunchBase - http://www.crunchbase.com/person/sachin-rekhi
YouNoodle - http://www.younoodle.com/people/sachin_rekhi
500 Startups - http://500.co/mentor-profiles/sachin-rekhi/
Gist - https://gist.com/sachinrekhi
BranchOut - http://branchout.com/Sachin.Rekhi
Xing - http://www.xing.com/profile/Sachin_Rekhi
Viadeo - http://www.viadeo.com/en/profile/sachin.rekhi
Ushi - http://www.ushi.com/p/61239
Spoke - http://www.spoke.com/profiles/mWqJNsJ
Klout - http://klout.com/sachinrekhi
Kred - http://kred.ly/sachinrekhi
PeerIndex - http://www.peerindex.com/sachinrekhi
Identified - http://www.identified.com/wombat/candidates/56068
MyWebCareer - http://www.mywebcareer.com/profile/sachinrekhi
TweetLevel - http://tweetlevel.edelman.com/User/sachinrekhi
PROskore - http://www.proskore.com/profile.cfm?ContactID=52429444
Twitalyzer - http://twitalyzer.com/profile.asp?u=sachinrekhi

If you have creative ways of representing yourself online or new services you suggest I try, please let me know!

December 28, 12:59 PM

Given the recent acquisition of Connected by LinkedIn, I thought it would be a great time to reflect on what worked well with our technology stack as well as what I would like to improve going forward.

If you haven’t had a chance to check them out, feel free to review my previous posts where I detail our technology stack and the open source libraries we leverage. In this post I’ll jump right into our learnings.

What Worked Well

Python \ Django facilitated fast iteration. Our primary purpose for picking Python \ Django as the core of our stack was to enable fast iteration with both new features as well as feature enhancements. Overall the stack held true to this core value, enabling us to release and iterate on features faster than many of our competitors. We would incubate concepts as weekend projects and have them running in production before the weekend was over.

Amazon Web Services enabled on-demand and cost effective scaling. AWS was the key to keeping our costs down but allowing us to scale with spikes in traffic. We could easily spin up additional servers to handle the additional load. Given our work load required significant resources when a member joined but fewer resources afterwards, we were often able to spin down instances to save on expenses after big spikes in traffic.

Python was versatile enough to serve as both our front-end and back-end language of choice. Python worked equally well to build our front-end website as it did to implement our sophisticated back-end infrastructure that is continuously syncing contacts and conversations from various social networks, address books, and email providers. While we have seen some developers build their front-end in say Ruby on Rails but their back-end in Java \ C++ \ etc, we were able to efficiently leverage the same language and code base for both sets of tasks.

Python \ Django libraries embodied the “batteries included” philosophy. The included standard libraries in both Python and Django as well as the broad community of available libraries ensured we rarely re-invented the wheel to support core capabilities. We were able to find reusable libraries for everything from HTML parsing, to vCard reading\writing, to Amazon S3 object manipulation.

Memcache provided a quick win for performance. Memcache as well as the native support for it within Django made it very easy to employ this distributed cache from the get-go to improve performance via caching heavily used queries as well as pre-caching expected future queries. It allowed us to build an experience that felt more responsive than many others in our space.

jQuery minimized our cross-browser JavaScript headaches. By using jQuery for all our of DOM manipulation and AJAX requests, we were able to spend minimal time on JavaScript-related browser incompatibilities.

What Needs Improvement

Database migrations are painful. While Django models make it easy to iterate on data models prior to pushing to production, once they are in production, they do little to support the sometimes complicated and painful data migration process. We ended up maintaining a migrations file with each release that detailed the SQL needed to appropriately migrate the database. To keep things simple, we required that the database and app code were migrated at the same time without requiring backwards compatibility. This was possible in the early days, but started to get more painful as we grew. Many folks have pointed to Django South as a solution to these migration issues. I haven’t yet had a chance to explore it, but certainly plan on doing so going forward.

CSS is not easy to keep cross-browser compatible. While jQuery certainly helped with JavaScript-related browser incompatibilities, we had no such help for our CSS related issues. It’s difficult when leveraging modern UI design and relatively new CSS tags to ensure your page looks good in all supported browsers. While tools like MogoTest help to show what your page looks like in each browser and reduces testing costs, they don’t solve the core issue of enabling authoring a page’s CSS once and not having to worry about such browser incompatibility issues.

Application monitoring requires custom scripts and alerts. We leverage a variety of monitoring and alerting tools to manage our overall infrastructure. These included Pingdom for monitoring up-time and overall site availability, Munin for instrumenting our common application services like Apache, Nginx, MySQL, and memcache, Amazon Cloud Watch for Amazon instance monitoring, Cloudkick for additional virtual instance monitoring, and Django Sentry for app-level exceptions. Yet our most frequently occurring issues around our queue server and third party APIs issues were reported via custom scripts and alerts which were brittle, unsophisticated, and costly to maintain. It would have been helpful to have one overall platform for monitoring and alerting that easily supported our custom events. We’ll certainly be evaluating such solutions going forward.

Nginx, Apache, and mod_wsgi is heavy-weight for Django application serving. Our web application stack consisted of nginx as a front-end web server in front of several Apache instances. Apache interfaced with our Django app via mod_wsgi, which ran a separate pool of processes to handle incoming requests. Originally nginx was responsible for serving static files, but that was eventually off-loaded to Amazon S3, so it currently isn’t doing much for us. The biggest issue though is Apache with it’s high memory usage for each process spawned by the mod_wsgi daemon. It all feels too heavy-weight for our serving needs. Some folks have recommended simply using gunicorn with nginx. I’ll definitely be looking into alternatives like this and would love to see more large scale deployments talking about their experience with them.

There is no built-in framework for versioning static files. Django 1.3’s built in support for handling static files makes it a lot simpler to collect static files from various Django apps and push them to various serving locations, including Amazon S3. However, if you are following web performance best practices by setting long expire headers for static media, you need a way to version your static files to ensure new media are served when deployed. Some of the popular mechanisms for doing this include putting a version number in the path to the static file to ensure the new version is always served. Developers are left to invent their own mechanism for doing so and it would be great if it was either natively supported by the framework or best practices were encouraged.

Sharding your database is difficult. Django 1.2 brought multiple database support to a single Django instance, which allowed you to easily setup rules for where database traffic was routed. The DatabaseRouters mechanism made it easy to setup routing algorithms that enabled schemes like writing to a master and reading from various slaves, or partitioning database tables along app boundaries. However, actually sharding user data across various database shards remains a challenge. The hints offered in the DatabaseRouter mechanism are too limited to enable easy sharding along, say, a user or profile id. Better native support for this would enable developers to plan and build for this early on, as opposed to the expensive task of adding this in later.

Enabling rich JavaScript interactions quickly gets cumbersome. jQuery makes it easy to add simple AJAX interactions to your app as well as demand load various content onto your page. However, as you try to get more sophisticated with your JavaScript interactions, it quickly becomes cumbersome to do so. The first issue you run into is the need for client-side templates. We leverage John Resig’s micro_templating.js to enable this, though the placement of these templates and the syntax was fairly messy. The second issue we ran into was managing state within the client. We began experimenting with backbone.js to implement JavaScript models, but it really only felt appropriate for JavaScript-centric pages. I think there is plenty of room for improvement and we certainly plan on exploring alternatives to rich client-side JavaScript.

Amazon Web Services scaling is not for free. While the promise of on demand resources from AWS are enticing, the reality is it takes a decent amount of work on the developer’s side to enable it and comes with it own operational issues. While on demand virtual instances are certainly broadly available across a number of providers, the mechanisms for automatically scaling up and down your resources require significant input from the developer to manage. In addition, simply adding redundancy across your infrastructure in an environment like AWS isn’t as easy as you think, as you have to think through your deployment configuration to decide whether you wish to spread your infrastructure across multiple availability zones and/or multiple regions. These have latency and cost implications depending on your choices. You also need to deal with the fact you don’t have dedicated hardware, so your instances could be restarted or terminated at any point. We had this happen to us numerous times. Building fault tolerance into your system from the beginning is certainly a best practice, but is a fairly costly hit that you need to take upfront if you are going to deploy to such an environment. It shouldn’t have to be this kind of trade-off.

Round robin DNS is a poor solution for automatic failover. We leverage round robin DNS as a way to load balance across our front end web servers. While it has issues with lookups being cached for extended periods at different points, it does a decent job of balancing traffic across our servers. We also rely on round robin DNS as a simple form of automatic failover. When a browser does a DNS lookup and gets multiple IPs it first attempts to connect on the first IP. If it cannot, then it connects on the second IP and so forth. This provides failover in the case one of your servers is down. In practice, this turns out to be far from the reality. The browser only attempts the second IP if it gets a connection refused back from your server. If your server is experiencing high latencies, the browser will continue to wait on it. The browser also doesn’t cache the fact that it has failed over to an alternate IP. So every request checks the primary IP and then the alternatives, which results in significant latency before the timeouts expire. This makes it an unrealistic solution for automatic failover. Actual DNS failover solutions seem like the right answer.

I hope this provides an interesting perspective on what worked well and what needs improvement in the Connected tech stack. I’d love to hear from any of you if you have potential solutions to some of the issues we ran into!

August 26, 12:14 PM

The cost of building software products has dramatically fallen compared to a decade ago. Products that used to take millions of dollars are now being built for hundreds of thousands if not tens of thousands of dollars. Two of the most important drivers of falling costs have been open source software and cloud computing.

Yesterday I had the delightful task of rebuilding one of our production cloud images for Connected. What I realized during that process was the full extent to which we rely on open source software to build Connected. Connected wouldn't be what it is today and couldn't have been built nearly as quickly or cheaply without the incredible amount of open source used throughout the stack. I thought I'd take a moment to catalog all the open source software we use to give you a sense of just how much it has truly changed the cost of software development.

Production Operating Systems
Fedora - OS used on our web servers
CentOS - OS used on our queue servers

Data Tier
MySQL - data storage
mysql-proxy - used for automatic db failover
memcached - hot cache

Web Servers
Apache - application web server
mod_wsgi - interface to Python application code
Nginx - static files and load balancing web server

Application Code
Wordpress - hosts our blog
Python - application programming language

Python Libraries
django - Python web framework
setuptools - easy package installation
pip - even easier package installation
virtualenv - isolated package installations
mysql-python - Python MySQL driver
BeautifulSoup - HTML parser
lxml - HTML parser
django_compressor - JS and CSS static file compression
django-indexer - simple key/value store
django-paging - simple paging
django-sentry - detailed web request error logging
greenlet - concurrent programming library
eventlet - concurrent programming library
pyopenssl - SSL support
gdata - Google Data API library
httplib2 - advanced http support
pycrypto - cryptography
python-openid - OpenID
pytz - timezone support
tlslite - SSL support
feedparser - broad feed parsing support
iso8601 - ISO 8601 date conversion
thrift - cross-language development
evernote - Evernote API library
python-dateutil - automatic date conversion
vobject - vCard support
suds - SOAP API library
python-ntlm - NTLM authentication
dnspython - DNS querying
django-storages - common Django storage back-ends
boto - S3 library
python-memcached - memcached library
aweber_api - AWeber API
django-templatetag-sugar - simplified django templates
oauth2 - OAuth library
pyssh - SSH client
django-logging - django debugging
debug_toolbar - dango debugging
daemon - daemonize your background processes

Front-end Code
jQuery - light-weight javascript library
jQuery UI - UI widgets for javascript
jquery-autocomplete - autocomplete text field
jquery-fancybox - pop-up dialog
sencha - mobile javascript framework
micro_templating.js - John Resig's simple javascript templating
underscore.js - powerful data manipulation javascript library
Backbone.js - light-weight javascript MVC framework

Developer Tools
svn - version control
svnX - Mac svn client
Eclipse - developer tools
iTerm - alternative terminal client
PyDev - Python support in Eclipse
Pylint - Python static analysis
pyflakes - Python static analysis
Munin - graphing and monitoring
yui compressor - javascript compressor
August 22, 07:27 PM

Social is clearly one of the biggest trends on the web right now, with the majority of new apps and services taking advantage of your friends to provide a more participatory experience. This extends across desktop and mobile applications as well as across most verticals, including media, e-commerce, travel, and more.

But what’s most exciting to me is what is happening a layer below these applications - the rise of the social data layer. The social data layer provides a set of compelling APIs that any application can take advantage of to quickly immerse it’s experience in social. Just as cloud computing significantly reduced the cost of building web applications, these social data platforms are significantly reducing the friction in creating compelling social experiences.

While Facebook is clearly leading the efforts in providing the social data layer, there are a growing set of startups and other providers of social data that new applications can take advantage of. I thought I’d take a moment to describe the current landscape from my perspective.

Social Network APIs
Without a doubt, at the core of the social data layer are the social networks that enable access to both their rich social profile data as well as robust social graph APIs.

Facebook
Facebook, now with over 750 million active members, is not only the largest of the social network providers, but also kicked off the social data revolution by opening up their APIs in 2007. Any app developer building a social application should strongly consider making Facebook their base, with the largest & truest social graph across all the networks.

Twitter
Twitter, with 300 million registered accounts, provides a very unique set of opportunities as their one-way follow mechanic has led to Twitter’s social graph being described as the interest graph as opposed to a pure-play social graph. Since you can follow people that you may not know, but are interested in their area of expertise or just keeping an eye on, it creates a unique set of graph nodes that are compelling for a variety of applications. And of all the social data providers, Twitter has been the closest in keeping up with Facebook in terms of API robustness and has even gone on to create an entire layer of streaming APIs that are very unique to Twitter and their data set.

LinkedIn
At 120 million members, LinkedIn is by far the largest professional graph with the richest searchable resume data for each of its members. It’s a clear choice for any professional application. LinkedIn has had renewed focus of late on their API offering and has expanded beyond basic profile APIs to also allow you to query their company data, group data, and jobs database.

Email Providers
Another rich source of implicit social data that I believe is still significantly under-utilized is the email inbox. Locked inside one’s inbox is almost a truer representation of one’s social graph compared to that which is mapped on explicit social networks. And we only now starting to see applications start to leverage this data in interesting ways.

Gmail
Gmail is leading the pack in opening up their platform to third party developers. For one, they launched an OAuth extension to their IMAP APIs, which now allow you to have delegated access to a user’s inbox without the user having to share their credentials. Given how sensitive the inbox is, this one addition goes a long way to ensure user trust. In addition, they launched the Gmail Contextual Gadget extension point that allows apps to be embedded right within Gmail. Unfortunately this extension is currently limited to Google Apps, but will hopefully be ported to consumer Gmail as well.

Yahoo Mail
Yahoo Mail also provides a set of APis to query their inbox directly. It’s nicer than Gmail’s interface since you can bypass IMAP altogether and use their web standard APIs. Yahoo has also invested in mail as a platform by enabling applications to be installed right within the Yahoo Mail interface. Unlike Gmail, these apps are targeted at both consumers and professionals leveraging Yahoo Mail.

Windows Live Hotmail and AOL Mail are other notable mentions here due to their large user bases. However neither have devoted serious resources to opening up a platform to access their inbox data, though straight POP and IMAP access is available.

Inbox APIs
While you could develop an application that directly speaks to the various email APIs out there, there are a set of inbox API startups looking to simplify the entire effort of accessing inboxes on your user’s behalf.

Context.IO
Context.IO provides a robust inbox API that will automatically index the inbox of your end-user and provides an easy-to-use REST API accessing those messages. If you have ever dealt with IMAP, you’ll appreciate all the work that Context.IO does for you so you don’t have to deal with the complexities associated with it. Their currently enable indexing an IMAP account with speed and scale.

Jexy
Jexy is still in it’s infancy, but one to watch for normalized API access to email, calendar, notes, and more. Their goal is to provide a single interface across any inbox, whether it’s IMAP, POP, Exchange, etc. Looking forward to trying their beta when it becomes available.

Social Data Providers
The social data providers supply connection data to map an email address to social profiles across the web. This becomes very useful when trying to acquire social data from email addresses or trying to fill out a full social profile of a given user.

Rapleaf
Rapleaf was the first compelling offering in this space with one of the largest databases of social data. Unfortunately they have discontinued their social profile lookup API that returned various social profiles for a given e-mail address due to negative press around how they acquired their data. They do still offer a useful personalization API that will give you data on the user behind an e-mail address, including age, gender, household income, and more.

Qwerly
Qwerly allows you to search both by an e-mail address to find associated social profiles or by a single social profile and find other associated social profiles. The data has been leveraged by many email marketing providers, CRM tools, and more to help provide more data about your customers. They have an interesting approach to acquiring their data through a sophisticated social profile crawler.

FullContact
FullContact is a more recent entrant to the social data space, with a compelling contact API that allows you to send it a partial contact record (name, email, phone number, etc) and have them fill it out with more complete data, including social profiles. Again a very useful data source for apps looking to build a more complete profile of users and connections.

Fliptop
Fliptop also enables looking up an e-mail address and returning both social profiles for that person as well as demographic data like name, gender, location, and more. Worth checking them out as well.

Google Social Graph API
Google also provides an answer to this problem via their public crawler. The Social Graph API enables accessing social profile data via their search engine and allows you to search across a variety of attributes. It’s definitely worth looking at for your needs as I hear their data set has gotten much better over the years.

Social Influence APIs
With the rise of the power of the collective community across social networks, key influencers become more and more important. And now there are a set of APIs for you to understand just how influential a person is across their areas of expertise. This data can be used for scenarios ranging from CRM, to customer support, to social marketing campaigns.

Klout
Klout is the most well known social influence provider available. While they got their initial start analyzing Twitter data, they have since expanded to analyze 10 different social media properties, including Facebook, LinkedIn, YouTube, Blogger, and more. For any user, Klout provides an overall influence score as well as details on a given person's areas of expertise.

PeerIndex
PeerIndex is another provider of social influence data. They similarly provide detailed scores on each user to help you better understand their topic expertise as well as overall audience reach.

Personal Data Stores
These projects attempt to bring all your personal data together and then make them available to services via a unified API. They provide value both to the end user in the aggregation but also to developers via their API.

Singly
Singly is the company behind the Locker Project, an open-source effort to create a personal data store of all your personal data from across the web. While a useful end-user service in itself, they also plan on offering a rich set of APIs for developers to take advantage of to get access to this personal data store for their applications. While still in the early phases, certainly a worthwhile effort and one to watch.

Greplin
Greplin is the ultimate search tool across your personal data. They index all your social accounts, inbox, and more and provide a simple Google-style interface to search across the data. They currently have an API in closed beta, but will hopefully open it up shortly to allow other developers to take advantage of their rich index.

API Aggregators
When you are looking to integrate with a variety of APIs, it’s often useful to consider leveraging an API aggregator that normalizes social data for you into a single API interface.

Gnip
Gnip is the most well known API aggregator, providing comprehensive access across a variety of social data providers. They are also the official Twitter partner for getting access to the Twitter firehose of data. So if you have extreme Twitter needs, these are also your guys.

Apigee
Apigee is useful in the development stage, as they provide developer tools for exploring APIs, making it much easier to get started with a variety of APIs. I expect over time these guys may even help normalize these different APIs for developers, though they are currently focused on working mainly with API publishers.

Standards
There have been several attempts as well to develop standards for sharing social profile data that will hopefully continue to get traction amongst publishers.

PortableContacts
PortableContacts was designed as a standard for publishers to share their contact data uniformly across a variety of publishers. Plaxo was one of the first publishers to support it, as Joseph Smarr was a strong advocate for it while he was there. Google also has an implementation of PortableContacts. However, we haven’t yet seen many of the other providers of contact data take up PortableContacts, so it’s usefulness is currently limited.

Webfinger
Webfinger attempts to bring back the old finger protocol that allowed you to get identity information. The new webfinger API enables modern access to identify information. Google again currently implements Webfinger, but continues to have low adoption amongst other data providers.

If you know of other startups or technologies that help to access the social data layer, please leave a comment!
August 18, 09:05 PM

Today I had the pleasure of attending the Evernote Trunk Conference, Evernote’s first ever developer-focused event. I was excited to attend not only because Connected is an app in the Evernote Trunk, but also because Evernote has been a break-out success story in the productivity space. I thought I’d share some of my thoughts from the day.

The 100 Year Company
When Evernote raised their recent $50M round of funding, Phil Libin announced his vision for Evernote being a 100 year company and explained how this monster round of funding would help ensure that was possible. He re-iterated at the event that there is no exit strategy for Evernote and he is truly committed to building Evernote for the long-haul. It’s refreshing and bold to see such ambition and I believe their recent moves reflect making it a reality.

Evernote Acquires Skitch
Evernote is already putting that monster round to use and today announced their first acquisition: Skitch. A very complimentary tool, Skitch has become a popular Mac app for editing and annotating photos. It’s exciting to see these two productivity apps together and speaks to Evernote’s larger vision of productivity beyond simple note taking. I expect we’ll see more acquisitions from Evernote in the near future along these lines.

Freemium Works
At the event, Phil shared the following update on user growth, engagement, and monetization stats:

Evernote stats: 12.5M users, 4.5M 30 day active users, 42k daily new users, 568k paying users #evernote_etcless than a minute ago via Twitter for iPhone Favorite Retweet Reply


They continue to re-inforce that freemium can indeed work given the right situation of a large base of users (thanks to their success on mobile app platforms), cheap per user costs, and a product that users absolutely love.

Evernote is Building a Global Brand
It was exciting to see how thoughtfully Evernote has been thinking about establishing their brand. Gabe Campodonico, Evernote’s Creative Director, walked us through how they got to establish their brand identity and what it stands for. As you can see from the images below, you can get a sense for the different iterations Evernote went through to come up with their perfect logo:





But in addition, they are focused on building a truly global brand. Only 1/3 of Evernote’s audience is in the US and the rest is globally distributed, with Japan being the second largest country. Apparently in Japan there are dozens of books written specifically about Evernote, a testament to it’s adoption throughout the country.

Evernote is Committed to the Platform
Today’s event showcased Evernote’s commitment to it’s nascent platform. The excitement in the room from developers was outstanding. And Evernote promised a significant set of enhancements to their API to make it much easier for developers to develop across platforms, including new SDKs for Silverlight, Actionscript, Node.js, and more. They even hinted at new APIs coming out that would enable even deeper integration into Evernote via their new Galleries functionality.

I continue to be impressed with both Evernote’s strong vision and their continued excellent execution. Looking forward to what's next!
May 13, 02:03 PM
Startup2Startup has been on a roll lately with great events and this week was no exception. BJ Fogg, a professor and researcher from Stanford University, stopped by and shared with us his secrets on behavior change. For those of you who are not familiar with BJ Fogg, he has been studying behavior change for over a decade, is the founder of the Persuasive Technology Lab at Stanford, and author of the book Persuasive Technology. He also led the first Facebook Apps class at Stanford, which was massively successful in generating explosive growth for student apps. BJ Fogg has leveraged his insights into how technology can be used to bring about behavior change both in his academic work as well as in industry work, especially in the mobile and health sectors.

His focus for the evening was around how we can leverage his research in our own startups to help bring about the behavior change that we seek in our users. Practically every startup is trying to elicit some behavior from their users, whether it’s getting them to log into your site daily, signup for a new service, or share their content with their friends. And the lessons from BJ Fogg help us to understand the psychology behind eliciting these behavior changes and how we can ensure they happen. I thought I’d take a moment to summarize his 5 key secrets from the evening.

1. Look for Patterns
Despite significant advancements in technology, BJ Fogg made clear that humans frankly haven’t changed that much. Our reasons for acting are fairly universal and we should leverage these age old lessons in our own work. And when we see patterns of behavior change that work in other settings, they can often be re-applied to our problem. What follows are four such patterns that can be applied in most settings.

2. Baby Steps
In designing for behavior change, one of the keys to success is ensuring you are seeking only baby steps from your users. For example, a common exercise goal is to exercise 45 minutes/day. That’s a fairly amorphous goal and intimidating to start. So instead, you should break it down even further. Maybe to something as simple and achievable as walk 10 minutes/day. But even put a limited span of 10 days on it. And schedule it specifically after lunch. Then the idea of walking 10 minutes/day after lunch for the next 10 days seems significantly more approachable and achievable. While this may not be our ultimate goal, it’s the best way to get to the desired behavior change started. And it’s no wonder that many of the top diet books are limited to 2wk or 30 day programs.

One common example of leveraging such an optimization in the web world is signup forms. Sometimes we attempt to walk the user through all the steps necessary to get the most value out of our app during the signup process. But the reality is the drop-off rates are going to be significant unless we break it down to the very minimum needed to get them started, and then exercise baby steps to get them the rest of the way there. Leveraging existing logins via Facebook and Twitter help here to even further reduce the friction required.

3. 3@1
In BJ Fogg’s behavior model, behavior happens when 3 things exist at the same time: a trigger, ability, and motivation. A trigger is the call to action. That could be an email, a social notification, a mobile message, etc. Ability is about how easy is it for the user to take the action that we seek. And motivation is the user’s inherent desire to achieve the results. All 3 of these need to be present for the behavior to actually happen.

This gives us a framework to analyze our own app scenarios to see if we are ensuring that all three are actually present in order to maximize the opportunity for the desired behavior.

4. Hot Trigger in Path
BJ Fogg’s advice to maximize effectiveness in behavior change is to put hot triggers in the path of motivated people. The idea is to first start with folks who are inherently motivated. And then focus on triggers that allow the user to accomplish the task right now, as opposed to cold triggers, where the user is not empowered to act right now. For example, a billboard ad is a cold trigger because there is no way for the user to take an action right away. So instead ensure that you are always delivering triggers when they can take the action immediately.

The interesting lens that BJ put on looking at the current market environment is that we are currently witnessing a fight for who controls the ability to push hot triggers to users. Google, for example, has had this ability the longest with their search engine rankings. But Facebook’s notifications system has become more important than ever. And at the same time the mobile platforms are creating an even more interesting triggering capability. Understanding how best to leverage these emerging triggers is necessary to successfully driving behavior change.

5. Ability > Motivation
Another key insight from BJ was that ability matters more than motivation in designing for behavior change. It’s much easier for us to move the needle on ease of use than it is for us to change motivation. While we like to think that we can leverage education to get the user more motivated, that’s an extremely uphill battle. Instead put your effort in taking away all the friction in performing the desired action and thereby improving their ability to complete the action.


Overall I thought it was a great lens to apply on product design: focus on the key behaviors that we are trying to elicit from our users and optimize those through lasting lessons from psychology. I know I’m going to leverage this framework in my own work on Connected to think about how to elicit some of the desired behaviors, including reconnecting with one person in your network each day.
April 13, 05:52 PM

Last night I attended another fantastic Startup2Startup event focused on Interaction Design. The lineup was terrific with Jason Putorti, lead designer of Mint.com and now co-founder of Votizen, Kate Aronowitz, Director of Design and User Experience at Facebook, and Garry Tan, co-founder of Posterous and Designer in Residence for YCombinator. They brought together a breadth of experience in design across all stages of the startup lifecycle.

I thought I’d briefly summarize by sharing five key quotes from the night and some of the discussion around them.

“Design is product, product is design”
Garry Tan spent some time talking about this idea that design encompasses the entire experience users have with your product. This is a fairly new notion that has become popularized with the recent rise in design thinking. Prior to this design was often seen as simply a phase in the process near the end to spruce up the user interface. But with the rise of successful startups that have focused on design first has come the realization that building your entire product from a design-centric philosophy could give you significant advantages against your poorly designed competition.

“Great design is invisible, bad design gets noticed”
Jason Putorti brought up this quote from one of his idols in the field, Jared Spool. One of the common misconceptions that he talked about with design was the idea that it was simply about the pretty visuals designers were asked to incorporate near the end of the cycle. Jason instead talked about how it’s much more about being intentional with the entire user experience. And frankly the best design is the design that goes unnoticed. The design that you don’t even think of. Think Apple and the iPhone. You forget about the product interface and focus completely on the content you are consuming. And that is part of the brilliance of it’s design.

“Designers need to have a vision for the product. A/B testing will not get you to a vision.”
Jason Putorti also talked about the fact that while A/B testing and metrics have their place, they are no replacement for having a strong vision early on. And oftentimes the best feedback early on is qualitative in nature and around whether your customer’s pain is really being solve by the product you are putting out.

In the subsequent table discussion, we talked about a variety of ways to get at this crucial feedback. The obvious choice is conducting usability studies with your users. But for early stage startups this can often be very expensive and time consuming. Instead, we brought up a variety of cheaper alternatives to this. For example, UserTesting.com provides a quick way to conduct an online user study and get immediate feedback on your product. In addition, Olark or SnapEngage enable simple online chats with your current users to hear about their pains and have them reach out when there are issues. And we also talked about instrumenting your product so that any negative user event, such as a low star rating within the product or downgrading a paid account, results in an email being fired off to your team who can then respond immediately to address or at the very least learn from their issues.

“Done is better than perfect”
Kate Aronowitz later brought up in the conversation a famous motto at Facebook: done is better than perfect. Kate spoke about how this can be quite hard at times at Facebook since when you bring together some of the world’s top designers, perfection is their ultimate goal. Yet shipping bits, getting real user feedback, and iterating is of even greater important and they often release before designers ever feel their work is done. Kate suggested this is exactly the kind of culture you want to build into your organization to make sure that you are always pushing the envelope with your actual users, not just in your lab.

“The ideal startup team consists of: a designer, a hustler, and a hacker”
Garry Tan brought up this recent quote that has been going around the valley about the makeup of the ideal early stage startup team. Only recently has it become popular to seek out a designer as a founder or one of the earliest employees.

We talked about a variety of tactics to help startups hire rockstar designers. The talent crunch for designers mirrors what is happening for top engineers, so all the same best practices from last month’s Startup2Startup apply. In addition, the panelists suggested looking outside of the valley cohort of designers since they are all in high demand. Instead they suggested taking bets on younger designers who have a great portfolio but maybe not a great set of production apps they have built. Jason, for example, noted that Aaron Patzer took a chance on him, given that he didn’t have much app experience, but instead design agency experience. But that worked wonderfully given how much recognition Jason has received for his work at Mint. So keep a look out for folks that have great design fundamentals, even if that’s in other mediums like print, because it can carry over well to the web apps world as well.

Altogether it was another great Startup2Startup event and important design lessons for all of us in the startup world.

March 28, 09:55 AM

In the wake of LinkedIn’s announcement of reaching 100 million members, I’ve been impressed with the resurgence they have had in the past year. I thought I would showcase some of the recent product innovation from LinkedIn as well as cultural shifts we’ve seen from within the company that have contributed to this growth.

Product Innovation
For the longest time LinkedIn’s product pace has always been overshadowed by the more nimble Facebook, which has constantly been pushing the envelope both on the speed and shape of innovation. While I won’t try to argue that LinkedIn has caught up, we’ve certainly seen it pick up the pace in the past year as well as start to get comfortable in its own skin, understanding exactly where it provides unique value that Facebook, Twitter, and other social networks cannot.

The latest example of this is LinkedIn Today, a social news product for professionals, that automatically builds a daily digest of the top news you’ll likely be interested in based on how it’s trending amongst your professional network. Even despite a product like Flipboard already existing, you can see how LinkedIn Today provides unique value targeted at professionals and aspires to be more on par with a next generation Wall Street Journal.

LinkedIn also realized that much of it’s value is for sales, business development, and hiring managers seeking out specific contacts that can help them achieve their goals. To that end, we saw the redesign last year of search to supported Faceted Search, a much smarter way of filtering your search results to find exactly who you may be looking for. This search mechanism differs significantly from the keyword-centric Google Search, name-centric Facebook search, and recommendations-centric Twitter results. Instead it’s precisely optimized for what LinkedIn users are doing - narrowing their results down to find candidates for the task at hand.

Beyond that, LinkedIn invested heavily in bringing the LinkedIn experience to you, with revamped iPhone and Blackberry apps as well as a new Android app. These apps provide full profile information on the go for both people in your network as well as new folks you may have just met. They are also complete with Bump-style business-card replacement functionality, enabling you to add a LinkedIn contact on the go.

This is just a taste of some of the new products LinkedIn has developed or enhanced in the past year, with many other little feature improvements throughout.

InDays
Beyond this product innovation, we’ve also seen some important cultural shifts inside LinkedIn. One of the most exciting is an initiative spearheaded by Adam Nash called InDays. Every month employees are encouraged to spend one day working on projects outside of their core responsibilities. Alongside InDay LinkedIn also throws a Hackday contest to showcase the best applications that come out of these internal projects. They started posting these internal projects publicly through a separate LinkedIn Labs site. There is some resemblance to Google’s 20% time, though the time dedicated to these efforts at LinkedIn remains fairly minimal.

The kinds of applications that have come out of InDays have typically shown the robustness, power, and richness of the unique dataset that LinkedIn has. For example, the analytics team at LinkedIn developed InMaps, a stunning way of visualizing your connection graph, complete with clustering of your contacts into similar groups. I found clusters of folks from my previous employer Microsoft, colleagues from my alma mater at The University of Pennsylvania, as well as a cluster of fellow silicon valley entrepreneurs. It’s amazing how they were able to deduce these purely on connection data.

Another great application was The Year in Review, which visualized all the contacts within your network that had changed jobs. LinkedIn ended up sending this out as a email marketing campaign to all of it’s users. It’s interesting to see how many of your colleagues have changed jobs as there are always surprises in there that you didn’t even realize.

I’m sure this culture of encouraging innovative ideas from it’s own employees has boosted employee morale as well as given user’s access to functionality that traditionally wouldn’t be on their roadmap. I’m excited to watch these efforts continue.

App Platform
While LinkedIn has been fairly slow to encourage third party developers to leverage their rich data set in their own apps, we are finally seeing this start to change. LinkedIn has been investing more resources in their API platform as of late, recently releasing OAuth 2.0 endpoints as well as a full-featured Javascript API.

Developers are also starting to leverage the API in more ways in their own applications. Cubeduel created a fun hot-or-not style contest for your co-workers, Bump leveraged it to enable sharing of LinkedIn data on meeting folks, and popular calendaring apps Timebridge and Tungle.me provide further details on meeting attendees. My own relationship managemant application Connected uses the LinkedIn API extensively to provide full work history details on all of your contacts.

This renewed energy behind the API will allow developers to take advantage of their rich dataset in functionality beyond what LinkedIn is likely to provide.

Acquisitions
LinkedIn has traditionally been absent from the acquisition scene unlike many of it’s similarly sized tech brethren. However, that all changed this past year when LinkedIn made not only it’s first acquisition, but a total of three.

The first acquisition was mSpoke in August 2010. mSpoke developed content recommendation technology which was presumably leveraged for a variety of recommendation scenarios throughout LinkedIn’s product. LinkedIn quickly followed this up with the acquisition of ChoiceVendor in September 2010. ChoiceVendor offered ratings and reviews for B2B service providers. And most recently, LinkedIn acquired CardMunch in January 2011. CardMunch makes it easy to convert a business card into a digital contact record simply by photographing a business card via your iPhone and having it automatically transcribed by humans for accuracy.

All these acquisitions have been predominantly talent acquisitions for small dollar amounts, but great ways to inject young talent into the fold.


All the recent changes within LinkedIn are clearly in preparation for their upcoming IPO, which they publicly announced their intention to do so in January. I hope this more aggressive LinkedIn continues along these lines, as I truly believe they are sitting on a goldmine of data which they have only scratched the surface on it’s possibilities.

March 01, 06:01 PM

Last night I had the pleasure of attending the latest Startup2Startup on engineering management with Yishan Wong, an early director of engineering at Facebook.

The area we spent the most time discussing, both during the presentation and during the discussion that followed, was how to hire great engineers for your startup. I thought it was a particularly appropriate topic given that I receive weekly requests from colleagues asking me for help on their quest for engineers. So I thought I'd take a moment to post on some of the most actionable take-aways from the discussion.

The fundamental insight was that a transition has occurred in the last couple of years causing the core problem of technical recruiting shifting away from being a filtering problem to now becoming a marketing problem. The reasons are obvious: the growth in tech fueled by access to capital coupled with the declining engineering graduates continues to widen the supply and demand gap. Startups need to now spend more of their recruiting resources not around improving the filtering process of selecting candidates that have applied for positions, but mainly the marketing process of finding interested candidates in the first place.

With that, let's talk about 5 practices you can put in place today to improve your chances of finding great engineers.

Leverage your network.
We have all heard that the best folks to hire are those that are already in our personal and professional networks. The first thing any of us do when looking to hire is try to recruit folks that we know or have met at some point in our career. But Yishan took it one step further by talking about specific practices that you should be employing to maximize the value of your networking for recruiting. The biggest one was not to simply reach out to folks once and see if they were interested in your opportunity. But instead to hit them up every 3 months. Circumstances change and they change especially fast here in the valley. You want to make sure that not only are you reaching out to them when it may be a good time, but more importantly that you are top of mind when they do decide it's time for a change. The other key strategy is to not simply think of people in your network that are actively looking. Some of the best hires are those that are not looking, yet still decide to jump when they find a much better fit at another company.

SHAMELESS PLUG: You might want to try out my latest product, Connected, as a great way to leverage your network for recruiting.

Become a magnet.
Yishan also talked a great deal about the need for a company to find a way to become a magnet for great talent. In the early days, Facebook widely distributed technical puzzles that they often asked during engineering interviews. While many people thought the puzzles were used primarily to asses technical talent, they were in fact used mainly as a marketing tool. They were eager to find engineers that enjoyed solving and discussing these kinds of technical challenges and wanted to convey to engineers that Facebook was the place to go to tackle them.

Similarly, we talked about how Netflix did a fantastic job of putting together an astonishing culture deck that certainly caused a boost to inbound recruiting with the company. It very clearly laid out what Netflix believed in and how they were going to win in their market and made many people feel like this was an exciting company to work for.

There are a variety of tactics that can be employed to achieve this, but the goal is to find a way for your company to become a magnet of technical talent. Only then can you expect a great pipeline of candidates.

Hire H-1Bs.
Unfortunately the immigration process in this country is still so painful and while there are efforts to resolve them, they still persist. However, many companies simply overlook foreign candidates because of all the hassle associated with the visa process. This can be a real mistake. It turns out that for certain countries, the process really takes no more than a great lawyer and some up-front legal fees. Being open to doing so gets you access to a whole new pool of talent. And frankly, these employees will be more likely to be loyal to you since you have gone through the process of getting them their visa on their behalf. I know several companies that have successfully hired many folks this way.

Contribute to open source.
Early in a startup's life, it can be difficult to justify contributions to open source projects given the limited resources the team has. But it turns out that there are two reasons you may want to reconsider this stance. First, many engineers love giving back to the community and contributing and it can be a real carrot to offer prospective candidates. More importantly, the open source community is very tight knit and having serious contributions to projects can be a great way to market your company to other open source contributors, who are often some of the finest tech talent available.

Prioritize what you need.
Given how difficult it is to hire, it's unrealistic to expect to find someone that matches all your ideal criteria. The key is to pick the few attributes you are really unwilling to compromise on and let that guide your recruiting process. While hiring the right people is paramount to success, so is making forward progress in your company. So make sure you are truly discerning in your required list of criteria. And realize that often attributes like having the right attitude end up being more important than straight technical skills or experience.

I hope that gives you some good ideas on how to super charge your startup's own recruiting process. If you come across other techniques that work, please do share!

February 14, 05:18 PM


Last night I read Sarah Lacy's excellent post entitled Inside the DNA of the Facebook Mafia. If you haven't read it yet, you should. It not only catalogues many of the excellent startups that have come out of Facebook, but the emerging patterns amongst the bunch.

It got me thinking about my own experience at my previous startup, imeem. When I think back on imeem, I always felt that we had an incredible group of fascinating, talented, and ambitious people. While we never achieved our ultimate goals at imeem, I was sure many of these same folks would move on to something great afterwards. I told myself to keep a lookout as I was sure many would likely start their own ventures.

And sure enough, about a year since imeem's acquisition by MySpace, more than ten new exciting startups have been founded by the original imeem crew. I thought I'd take a moment to showcase some of them.

The most well known of the bunch is obviously Mixed Media Labs, the creator of the popular iPhone and Android photo sharing app, picplz. It's well known not only for it's impressive traction thus far, but because it was started by imeem's founder Dalton Caldwell and his right-hand man Bryan Berg. In addition, they have brought together many from the original crew including Tim DeGraw, Allan Hsu, and even Ali Aydar as a director. They've raised funding from Andreessen Horowitz and are a strong contender in the now heated mobile photo sharing space.

Mobile has become a popular space for many of the imeem alumni. One of our top mobile developers at imeem, Ty Amell, teamed up with our search guy, Will Palmeri, to start Stackmob, an application platform to ease the development of mobile apps. They even convinced one of the back-end rockstars at imeem, Keith Dreibelbis, to join them. Similarly, imeem's CMO and Head of Biz Dev Steve Jang went on to start Schematic Labs, which is also focusing on the mobile space. He's roped in former imeem designer Alex Katzen into the mix as well.

Some took imeem's sucess in the entertainment space and propelled it into their own incarnation of an entertainment property. Our COO Ali Aydar went on to be CEO of Sporcle, a gaming site with endlessly entertaining quizzes and more. VP of Sales David Wade went on to start Popdust, a music news, reviews, and gossip site.

Still others have gone in completely different directions, following their passions wherever they lead them. For example, Sameer Alsakran, who managed imeem's entire big data infrastructure, including our large Hadoop cluster, is continuing his work in the Hadoop space with his latest venture White Label Labs. Raj Irukulla and Gina Olsen, two folks who were always passionate about great food, went on to start their own startups in the space. Raj founded FoodPair, which helps you find recipes to make with whatever ingredient you choose. Gina started Mothergood, which produces wholesome snacks for expectant mothers.

As many of you know, I got to imeem myself because my own startup, Anywhere.FM, was acquired by imeem. As I fully expected, the three co-founders of Anywhere.FM, have now gone on to start their own new ventures as well. Anson Tsai is already having amazing success with Cardpool, the easiest way to buy and sell gift cards. Lux Chen is following his dream of getting into gaming with an upcoming iPhone\iPad game. I myself have started Connected, a personal relationship manager that brings all your contacts and conversations together in one place.

Though it's too early to tell which will ultimately be successful, I've continued to be impressed with what the imeem crew has gone on to do. Maybe one day we'll even see a post on TechCrunch about the imeem Mafia instead of the already popular Paypal or Facebook Mafias ;)
February 02, 02:31 AM


Today I’m excited to announce the launch of my latest venture, Connected. Connected is a personal relationship manager that brings your contacts and conversations together in one place. It integrates with Facebook, LinkedIn, Twitter, Gmail, Google Contacts, Google Calendar, and Google Voice to make it easier than ever before to stay on top of your most important relationships.

Relationship Management is Important


I learned early in my career that the story of success in almost every business endeavor starts with relationships. Maybe your buddy introduced you to a potential customer that became a landmark deal. Or an executive at your company championed your project due to the rapport you had built with him. We’ve all seen examples of this happen throughout our careers. Yet how many of these situations feel serendipitous? And are we really maximizing our ability to create such opportunities?

After spending considerable time with folks who I consider successful networkers, I’ve realized that while the tactics they employ may differ, they all regard social capital as one of their most important assets. And they take the time to build, maintain, and leverage their social capital just like the rest of us do with any other kind of asset.

Unfortunately the tools we employ today to manage our relationships are rather abysmal. In an earlier era you’ll remember that executives or sales guys often had a carefully guarded rolodex that they viewed as one of their most prized possessions. Yet today we have no equivalent. While social networks like LinkedIn and Facebook have enormous potential in maintaining a vast network, they are insufficient and in fact have exacerbated the problem. We often now end up spending our time simply reading and responding to the folks that bombard our feeds and inboxes. Being so accessible today makes it much more difficult to focus our time and efforts on the relationships that matter.

My goal with Connected is to build the modern day equivalent of the rolodex. And this time make it accessible to the rest of us that aren’t born networkers nor have the time to constantly manage it.

Connected is Your Personal Relationship Manager

Contacts and conversations in one place
Connected brings all your contacts and conversations together in one place. It does this automatically so you don’t have to waste time with the basics of building and updating your address book. With integrations into email, social networks, calendar, and phone, Connected is able to build a comprehensive view into all of your relationships. For every contact you can see your entire conversation history, including last email, last phone call, or even last in person meeting. While it will be some time before Connected supports all available services, today it supports a popular subset, including Facebook, LinkedIn, Twitter, Gmail, Google Contacts, Google Calendar, and Google Voice.

Integrated with the social web
Connected gives you the most complete picture of your contacts by integrating data from across the social web. Your contact’s profile automatically includes their latest status updates, photos, work history, mutual friends, and so much more. Instead of manually scouring the web to stay up to date on a contact’s latest happenings, Connected does the work for you.

Personalized daily agenda
Connected makes this data actionable to you on a daily basis. Every morning Connected helps you prepare for your day by sending you an agenda of all your meetings and everything you want to know about the people and companies that are attending. In addition, Connected helps you stay in touch by discovering opportunities to reconnect with your network. You’ll never miss a birthday, job change, or other important event again. Connected also lets you quickly see who you’ve lost touch with and even set reminders that proactively notify you when you haven’t talked to someone recently.

This is just a taste of the functionality Connected provides to help you build stronger relationships in less time.

Connected is for Networked Professionals

While many folks could benefit from Connected, it is optimized for those of us that are in the business of relationships. That includes sales, biz dev, executives, recruiters, investors, real estate brokers, and much more. It is these folks that feel the greatest pain today without adequate tools to support them. But as with any startup, I’m eager to see who Connected takes hold with and expect to be surprised by what we find.

I hope this gives you some insight into the vision for Connected. Today’s launch represents just the first step in making it a reality. If you are interested in following this journey, Get Connected Today.
June 29, 03:30 PM

I had lunch with an old college buddy last week and he has been considering moving to San Francisco to start his next venture. We got into a discussion of the potential advantages and disadvantages of doing so. I thought I'd throw up my thoughts on the subject for those interested.

I've been in San Francisco now for the past three years. My immediate prior residence was up in Seattle, but I originally grew up in upstate New York. I have come to love San Francisco for many reasons, but mostly because it's an ideal place to start a technology venture.

While I am clearly biased, here is my attempt at a balanced discussion of the pros and cons of starting your venture in San Francisco or the Bay Area in general.

Advantages
Discussions on startup tactics & methodologies
One of the things I appreciate most is the open dialog on the best practices in starting and running a startup. You know that if you run across a problem, you can leverage the fact that many others in the valley are thinking about the best way to tackle it, whether it's user acquisition, metrics, marketing, etc. Even more interesting is the open debate about the best methodologies for building your company, including recent debates on agile development, customer development, etc.

Network of people to help you
Since there are plentiful startups in the exact same boat as you in the Bay Area, there is an amazing network of people that can help you achieve success in their area of expertise. This could be anything from technical to product to business development to sales expertise. You can rest assured that someone has been there and done that and oftentimes is willing to help a fellow startup out in order to prevent you from making the same mistakes they made.

Access to capital
The available capital sources, including angel investors and venture capitalists, are definitely most plentiful in the Bay Area. Many investors prefer investing in companies that they are close to, so simply being in the Bay Area can often give you a leg up. In addition, since there are always startups looking to raise money here, there is a growing ecosystem of help in order to get the round done. There are people that can help you get the right introductions, refine your pitch, and help you with negotiating the best possible round of funding.

My kind of fun
When you are like me and feel like you live to work (instead of working to live), you will love the fact that you can find people to engage with you on your startup 24/7. Whether its conference, happy hours, coffees, lunches, or just geek hangout fests, there is limitless events to keep you in and around the startup sphere as much as you like. There are also great incubator-style open work spaces that are full of startups all day long that you can participate in. Some people think doing a startup can be lonely. But that is definitely not the case here in San Francisco.

Nice weather
While this may seem like a trivial one, I think having nice weather in the Bay Area is a nice plus. As many who have started a startup will tell you, your startup will be an emotional roller coaster ride with high and lows as the business ebbs and flows. If you were stuck in cold and dark weather, it does nothing but make those emotional highs and lows even more acute. California weather helps to generally keep you a little more optimistic about your startup's prospects.

Disadvantages
Group think
One of the main disadvantages of living in the Bay Area is that the startup echo chamber can often result in group thinking. This means many people are chasing the same ideas, leveraging the same methodologies, and following the same trends. While leveraging best practices in general makes a lot of sense, oftentimes the most successful startups are those that go against the grain and do something no one thought would work. In some cases it can be harder to pursue those kinds of ideas here or at least you may gravitate to chasing whatever the hotest trend is: social networking apps, mobile apps, real-time apps, location-based apps, etc.

Not a friendly incorporation state
Despite being home to a ridiculous number of startups, California is not the ideal state to incorporate. Both in terms of forming an LLC or Corporation, California is not as advantageous as places like Delaware. Because of this, many corporations still choose to incorporate in Delaware even if their primary business location is in California. Similarly for LLCs, California imposes high taxes just to get up and running, versus other states like Washington where there are no such taxes.

High state taxes
Another governmental drawback of starting your venture in California is the high state taxes. This was especially acute to me coming from Washington where there are no state taxes. But across the country, California has some of the highest. This just drives up the cost of doing business and ultimately increases your burn rate.

High cost of living
Along the same lines, San Francisco is just an expensive place to live. Regardless of whether you are in the city or one of the suburbs, you are going to be paying a premium in terms of cost of living compared to many other parts of the country. This again results in increased burn rate.

June 17, 05:43 PM

One of the most disruptive trends in the Internet era has been turning a culture of scarcity on its head and transforming it to one of ubiquitous access. No longer is the news, music, videos, and games we consume controlled by powerful oligopolies who artificially constrain supply in order to increase the value of their offerings. Instead, the new found democratization of media and information has been a win for all consumers, giving them the ability to consume their content wherever, whenever, and however they wish. While this transformation isn't complete, it is well on it's way across almost all major content verticals.

Yet with this new world has come new challenges. Specifically, finding the information most relevant to you right now has become a real struggle with the explosion of availability of content. When you look across the web today at the most successful properties, they can often be looked at as productivity tools helping us to increase the signal-to-noise ratio to make sense of our new information overload challenges. These services help us to filter and discover the content that is most relevant to us right now.

Given that this is still an emerging space, there are a variety of tactics that are being used across these services to increase the signal to noise ratio. I thought I'd take a moment to discuss ten trending tactics that these services are leveraging so that you can bring them to your own applications. I expect to see us refine our best practices across each of these tactics as well as see new ones emerge as we continue to understand how to handle this explosion of content that empowers the Internet today.

1. Search
Search is clearly the predominant way that users find information relevant to them on the Internet today, as evidenced by Google being the #1 property on Alexa's Top 500 Global Sites list.

The thing to remember about search is that it has itself been a mini revolution within the Internet. In the early days the major portals like AOL, MSN, and Yahoo controlled our web experience and search was a very insignificant portion of it. But user's behaviors have now changed to come to expect keyword search based experiences.

Given this transformation, if you don't at least have a search bar on your own application, your missing out on a great opportunity to leverage user's existing behaviors and help your users get to their desired content fast. This doesn't have to be an expensive feature. You can leverage Google Custom Search Engine to simply show Google Results for your site on your page, styled to your own CSS.



2. Search + Filter
A newer trend in search has been marrying search results with various category or content type filters to enable further result refinement. Bing was the first search engine I can remember that did this, but this has become an important part of Google as well. Even in social networking, LinkedIn has released a multi-faceted search experience that leverages the same concept to display relevant filters to refine your people search results.

The additional filter refinements are important because it allows a user to easily jump to the subset of results that are relevant to them without having to think about how to use traditional keywords to more precisely refine their search. It removes the need for additional cognition, which saves time and valuable mental cycles that can be directed elsewhere.

While implementing this does require the ability to cluster results around categories, your data set most likely already lends itself to a natural categorization structure that you already have in place.



3. Recommendations
Recommending content based on marrying a user's content consumption history with that of other user is the hallmark of Amazon's product recommendations experience. They were the earliest and still today one of the best in doing so.

Recommendations take advantage of the fact that people don't always know exactly what they are looking for, but by leveraging your existing understanding of their content consumption, you can recommend additional content they may enjoy consuming.

While the collaborative filtering techniques that companies like Amazon and YouTube leverage are non-trivial to implement, there are often cheaper shortcuts for early implementations, like serving up recommendations based on top categories of the content the user has consumed. In addition, there are existing recommendation engines that you can leverage like DirectedEdge that bring the intelligence of collaborative filtering to your data set.



4. Location
With the advent of powerful mobile devices comes the ability to create relevance from location. The simplest example of this is how Google Mobile can automatically leverage your current location to serve up search results filtered to your current city.

Mobile scenarios are often the most straightforward to implement since it's expected that at the time the user would be looking for locally-relevant information on the go. However, many existing web applications can take advantage of location as well. Many applications lend themselves easily to location-centric information, like restaurant reviews, weather, news, and more. But even outside of the typical categories, location can be used in many ways to improve a user's experience. Milo, for example, leverages not only the user's location, but location and availability information of product to tell you where you can locally purchase a product right now. Or photo sites like Panoramio (acquired by Google) leverage location to put photos on a map of where they were taken.

The HTML5 Geolocation API enables all web developers to get access to a user's current location in a modern browser. As HTML5 becomes ubiquitous across desktop and mobile browsers, this data will become pervasive. In addition, users are already announcing their location across a variety of services like Twitter, Foursquare, and more and most provide easy APIs to get access to this information for you and your friends. Each of them are building proprietary places databases, but I expect larger standards to emerge. In the meantime, services provide ready access to their places database that you can leverage in your application. For example, the Google Places API can be leveraged shortly to look up various locations.



5. Realtime
Another emerging trend is the usage of realtime data for relevancy. Twitter and Facebook alone are creating monstrous archives of publicly accessible real time information in addition to Google's recent efforts to better catalog realtime content.

Many scenarios can and are being enhanced with realtime relevancy, including up-to-date news about various events, latest product reviews for a just shipped product, to customer support reviews for a popular brand.

Twitter makes this data easily searchable through their API. Others are providing even more powerful APIs on top of the data set, like Topsy, which gives you deeper history data than even Twitter's API. While Facebook has an interesting data set as well, much of it is not publicly accessible and requires your users to be friends with the content publisher. This can be useful in some cases, but may be limiting in others.



6. Crowdsourced Ranking
Another popular way to increase the signal to noise ratio of content is to leverage the wisdom of the crowds and allow your user's usage pattern or explicit ranking of content to influence the ranking of content displayed on browse pages of your application.

Digg uses explicit votes to rank submitted links, YouTube uses video watches to rank uploaded videos, Delicious uses number of bookmarks to rank bookmarks, Rotten Tomatoes uses user movie reviews, and so on.

This method is often difficult to bootstrap since it requires significant network effects to truly provide value. However, in many cases there is no better source of quality data than your own users. As a best practice, it's best to leverage both implicit and explicit signals. The implicit signals get you much broader data sets, like video watches and bookmarks. But the explicit voting, commenting, ranking often provide the highest signal to noise ratio.



7. Social
In addition to using the wisdom of the crowds, using the specific tastes and preferences of a user's friends can significantly enhance the filtering experience.

While social search is still in it's infancy, social filtering has been leveraged across many experiences to provide compelling value. Much of the success of the Facebook News Feed is predicated on highly robust social filtering algorithms to bring to the top the content that you will enjoy the most based on your closeness to the content publisher. The beauty of social filtering is that in addition to the high likelihood that friends share taste preferences, users are also likely to interact with their friend's content purely because they are interested in their friend.

A great example of this is in my product Feedera. Feedera produces a daily digest of the top content that your friends have shared across Twitter. When I started prototyping the interface, I did some content extraction to try to extract the relevant photo from the article to surface it in the article summary (similar to what you see on Google News), thinking that it would increase click-through rates by giving you a visual picture of the content. But when I simply replaced the content picture with a profile picture of the user that shared that piece of content, click through rates significantly increased. That association of the content with people you trust provides a great incentive for users to engage with your content.

All the popular social networks today, including Facebook, Twitter, LinkedIn, and MySpace provide easy to use APIs that you can leverage to get access to the social graph and social data to create compelling social filtering experiences. You'll want to be judicious about picking with social graph(s) are most relevant to your specific content or scenarios.



8. UI Personalization
Another way to help reduce the friction in content discovery and consumption is via UI personalization. While typically only leveraged by your most advanced users, it can enhance their experience.

YouTube, for example, allows you to customize your home page experience by adding, removing, or reordering its discovery widgets, including subscriptions, featured videos, popular videos, what people are watching now, etc. If a specific widget resonates well with the user, they can put them front and center and allow them to easily access that content every time they visit the site.

While storing customized preferences is easy, it may be significant work to enable a modular experience that can be re-organized and re-worked. Given that UI personalization features are typically leveraged only by power users, it's important to asses the cost of offering personalization with the expected uptake of such features.



9. Threading
The recent announcements that Hotmail will finally support email message threading and that Gmail will finally offer an option to turn off Conversation View reminded me that the concept of threading is not a commonly accepted best practice, but still an emerging tactic.

We've seen threading become an important information presentation technique mainly in communication scenarios, like email messages, comments, and forum posts. But beyond these instances, it works as a generic presentation technique to allow you to easily prioritize as well as collapse content for later retrieval to increase your user's efficiency in consuming content.

The key implementation consideration in cases where threading is not natural to the underlying data set is figuring out the right way to break up the tree with your content type. I'm confident that their is often a way to present your data in a tree form and it's worth at least considering as a potential way to improve content consumption for your data set.



10. Most Recently Used List
While this one may seem like a no-brainer, I feel the need to remind web designers about it because I rarely see it inside web apps. With traditional desktop software you are used to always having a most recently used list of the content within that application that you have leveraged. It was so standard, that you often expected to find it under the File menu of an application. Since we live in a world with constant distractions, you are often leaving a given experience and later coming back to consume that content. That has become even more true in the web world.

While some web applications do provide most recently used lists, I am still shocked that many applications don't. Sure, search provides a quick and easy way to get back to that content, but it still requires additional unnecessary mental cycles. So I implore you to look at your application usage patterns and if you see frequent usage of the same content, make sure to provide a simple most recently used list to make the lives of your users a little friendlier.

May 17, 01:13 PM


I remember as a kid being very excited about the future. One concept that was extremely enticing was the coming age of robots. I was assured that they were only around the corner by my favorite cartoon at the time, The Jetsons, and their robot Rosie. I knew in the future I would want my very own robot to take care of the laundry, vacuum the house, and cook all my meals.

Fast forward to today and unfortunately the closest thing we have to commercialized personal robots is the iRobot Roomba that can vacuum your carpets. That's sadly about it.

Yet the underlying beauty of having a personal robot, something that was always taking care of things for you while you were busy with the rest of your life, has found it's way into many interesting software solutions.

The concept has materialized into passive monitoring solutions that are constantly monitoring some set of activities that are relevant to you and providing you with insight in the form of summarized and aggregated views, relevant alerts, and more. While large scale passive monitoring solutions have existed in B2B industries in a variety of verticals, only recently have these solutions started to become commonplace in consumer internet. Much of this has to do with a set of trends that are coming together. For one, all of our communications, transactions, and activities continue to be digitized and move online, making it easier for software to monitor these activities. In addition, open APIs are starting to pervade many verticals, making the task of extracting the interesting data from across disjoint data sets even easier. Finally, cloud computing has also played a significant role is decreasing the cost of constantly monitoring a set of activities with the flexibility to scale up and down resources with your user needs.

Four such passive monitoring solutions have found their way into my own day-to-day life.

Mint
Mint does an amazing job of aggregating all of my financial accounts, across credit cards, saving and checking accounts, and investment and retirement accounts, to provide an aggregated summary of my spending and overall net worth. While I can log in to the dashboard whenever I like, I love that Mint sends me a weekly summary of my financial data. Mint not only provides a great overview of your financial assets, but also provides deep drill down capability into specific transactions categories or transactions themselves. I've also found it extremely helpful that Mint keeps my transaction history forever, versus many of the credit card and bank online interfaces limit my view into my own transactions to sometimes as little as 90 days.

The key enabling technology behind Mint is a company called Yodlee which developed the interfaces to connect to your bank transactions. Mint simply licensed their service and created a compelling experience on top of it.

RescueTime
RescueTime provides a view into how I spend my time each week in front of my computer, breaking down all of my activities into specific application and web site usage as well as summarized category usage. Categories include communication, social networking, news, software development, and more.

By looking at my weekly RescueTime summaries, I can get a great sense of how productive I was that week as well as an understanding of how much time was wasted on non-productive activities. It's a great way for myself to help realize where all my time is going and then make course corrections based on them. RescueTime is able to get this detailed information about my computer activities through a simple monitoring tool they install on your desktop to collect your data.

Tripit
Tripit has become an invaluable aspect of my travel experience. Everytime I get an itinerary confirmation from an airline, I simply email it to plans@tripit.com and Tripit lets me rest assured that the rest of my travel experience will be extremely simplified. Once Tripit receives your e-mail, it parses it to understand exactly what flights you are taking as well as the time for that flight. It then creates a calendar that you can subscribe to that shows you exact departure and arrival times. I used to do this manually, but now it's all automated. In addition, their iPhone app provides me access to my itinerary on the way to the airport. I don't have to hunt for that e-mail with the confirmation in it. For premium subscribers, it even provides text message alerts on delays on your flight through regular monitoring of your flight status.

Feedera
Feedera provides a daily summary of the latest buzz amongst my friends on Twitter. It makes it much easier for me to keep up with Twitter without a significant time investment in constantly watching my feed.

Feedera provides this summary by constantly monitoring your feed, scoring all the content that comes across it by popularity and friend relevance, and delivering a daily digest of the highest ranked content. Feedera basically reads my feed to find the good stuff so I don't have to. It's significantly decreased the time I spend on Twitter and that is a great thing.


While these solutions may seem like no-brainers, there are a set of key criteria that these types of applications need to satisfy in order to ensure successful adoption.

Maximize data accuracy.
When a user decides to adopt one of these solutions, they are placing their trust in the application to monitor the given activity for them so that they don't have to. This is a high trust level required for a piece of software. The issue with this is that trust is quickly rescinded if the application fails to uphold it's end of the bargain. And the most common breach of trust is the result of data accuracy issues.

A friend of mine told me that the reason he abandoned Mint in the early days was that their categorization of transactions was always off. This forced him to go through and look at every transaction to ensure it was categorized correctly. He therefore saw little value in the automation and ultimately abandoned the solution.

Maximize security.
In addition to a user expecting to trust the output of such an application, a user needs to place even more trust on the system ensuring the security of their credentials used to get access to the data as well as the security of the data itself.

One of the things Mint had to deal with in the early days was getting users to put their financial account credentials into their service. They spent a lot of effort building this trust through education, security reviews, compliance tests, etc. Similarly, RescueTime collected potentially personal data about your application usage and web site history. User's need to trust that this data will be kept private. It's thus important for applications to invest heavily in maintaining and building this trust. Blippy, a startup that displays your credit card transactions to your friends, unfortunately suffered from a serious breach of trust recently that will be sure to effect at least their short term growth rate.

Regularly re-engage your user.
Given that these solutions are constantly monitoring a set of activities, oftentimes there isn't a natural point at which the user should re-engage with the application. This may result in high expense for the application to monitor the customer's data, but little customer utility.

Therefore it's important for the solution to provide meaningful re-engagement points with their user. The most effective ones I have seen are daily or weekly e-mail summaries as well as real-time notifications. Feedera sends out a daily summary, while Mint and RescueTime send out weekly summaries. Tripit, on the other hand, sends out real-time notifications before and during your travel plans.


Overall I'm very impressed with how far passive monitoring solutions have come and expect to see many more pervade our daily lives. While it's not the robots that I dreamed of as a kid, it's definitely an analogous trend towards personal assistants in the software world.
May 10, 01:14 PM

I'm always interested in improving my development stack in order to maximize productivity, facilitate rapid iterations, and maintain flexibility. Over the years I've periodically iterated my web stack, from a Microsoft-based self-hosted environment, to a PHP-centered world, to finally my present Python\Django stack on top of a cloud platform.

I thought I would detail my current stack and technology choices for those interested. I would also love to hear from you on what you use or if you have any suggested improvements.

Hardware
Mac Book Pro 15''
Not only does Apple make elegant Mac Book Pro laptops for both portability and to serve as a desktop replacement, but the Mac OS X operating system is terrific for web development, since the underlying Linux OS allows the system to closely mimic my production environment.

Dell Ultrasharp 24''
Ever since getting my Dell Ultrasharp 24'' monitor, I refuse to do any serious development away from it. The productivity gains from having a large monitor are astonishing and I can't believe I lived without one for so long.

Klipsch Quintet III
I spend a lot of time listening to music while coding, so this top notch speaker system, Klipsh Quintent III, has become an essential component to my development environment.

Developer Tools
Eclipse \ PyDev \ Pylint
While some will rave about the elegance of TextMate as the IDE of choice for Mac (or simply emacs or VI), I've always been a fan of powerful IDEs. (I did work on the Visual Studio team for 2 years before coming to the valley, after all). Eclipse, coupled with the PyDev and Pylint plugins, provides a great development environment for Python. In addition to all the Eclipse productivity features, you get Python specific syntax highlighting, code completion, syntactic analysis from PyDev and semantic analysis from Pylint.

Subversion \ svnX
Subversion is my go to version control repository, with svnX as the native Mac client. While Git is the latest craze, I haven't found it's features compelling for my small team. Though Github itself as a hosted Git provider has some compelling features that I have been meaning to try.

Project Management
MonkeySort
While Basecamp or Trac are the tools I most often recommend to young startups for basic project management, I instead use a very simple task manager I built called MonkeySort. It has the 3 things I need and nothing more: lists, prioritization, and task history.

Google Docs
All of my specs, project timelines, feature breakdowns, competitive analysis, overviews, and presentations are produced in Google Docs, including documents, spreadsheets, and presentations. While not as feature-full as Microsoft Office, they provide anywhere access and easy collaboration which are very important to me.

Hosting
Amazon Web Services
I'm a big supporter of cloud platforms to reduce the administration overhead of deployments as well as increase the flexibility of increasing\decreasing capacity whenever necessary. I've used AWS for my previous startups and continue to use it for my new projects. I've dabbled with Google App Engine as well, but found it too limiting for large applications.

WebFaction
I have a cheap $10/mo shared host running on WebFaction. I use it for hosting my Subversion server. While I could easily do this on AWS, I personally prefer having my development servers separate from my production environment.

Front End
HTML 5
I'm excited for the innovation we are seeing in HTML 5. For the first time in a decade we are experiencing the browser wars again. I'm taking advantage of the new HTML 5 capabilities wherever possible (especially on mobile web apps), including offline support, local data storage, canvas, video, and audio components.

jQuery \ MicroTemplating
JavaScript is no longer a toy language due to the wonderful libraries that have been created. My personal favorite is jQuery, with its super easy DOM manipulation, which is the most painful part of javascript development. I'm also using John Resig's simple MicroTemplating framework for javascript templates.

Server Side
Python
I discovered Python while learning Google App Engine. While I've abandoned App Engine, Python has stuck with me as a highly productive and elegant web programming language. The additional benefit of it over PHP is that it is easily usable for non-web code, so I use it for all my queue server and offline processing as well, allowing one elegant language across all my web and non-web components.

Django
Django in my mind is a great compromise between Ruby on Rails and raw PHP programming. RoR has too much magic going on for me under the covers and has somewhat of a take it all or leave it all mentality. Django, on the other hand, is extremely pluggable, allowing you to use individual pieces like the ORM, templates, URL dispatching, etc or to abandon an individual component without throwing out the framework. The flexibility allows you to easily start on the complete stack and switch components as you grow out of them.

Web Server
Apache \ mod_wsgi
I use Apache with mod_wsgi as my app web server for all of my Python\Django code.

Nginx
Nginx has been a great web server in front of my apache instances for static file serving as well as round robining for distributing server load. Very easy to configure and super fast for these tasks.

OS
CentOS
CentOS is a complete open source version of Red Hat Enterprise Linux, so it has the robustness and scalability of Red Hat's core operating system. In addition, it's extremely lightweight and perfect for server deployments. I've moved most of my prior Fedora instances (AWS default) to CentOS.

Data
MySQL
MySQL has been the reliable back-end relational database I've been using for years. Development has been significantly simplified now with Django's ORM, but MySQL is still a crucial piece of the architecture.

memcached
memcached has been a relatively new addition to my stack in order to significantly improve the performance of applications that have complex SQL queries behind them. I've also started using it to cache API requests in addition to database query results.

Monitoring
Munin
While Amazon provides it's CloudWatch server monitoring solution, it's needlessly expensive and limited in the kind of monitors you can attach. Instead I use Munin, which is completely free and has a rich ecosystem of pluggable monitors that you can add. I use it to track everything from website latency, to memcached usage, to MySQL query usage, to Apache requests, to Nginx load balancing. All visible in one easy to use web dashboard.

Pingdom
It's of course necessary to get real-time alerts when servers are down. I trust Pingdom for this task. I have also been using Cloudkick recently for this and it's additional cloud platform server monitoring functionality.
May 05, 01:01 PM


As many of you know, I spent the last two weeks getting married. Yes, it did indeed take two weeks, including a wedding on April 24th in the Bay Area, as well as a reception in my home town in Rochester, NY on May 1st. Beyond the actual wedding festivities, there were months of planning and preparations prior to the events. Now that all of this has culminated, I thought I would take a moment to reflect on the lessons learned relevant to the startup community from my recent wedding experience.

Enjoy the journey, not just the final event
It's pretty obvious that the time involved in planning and preparing for a wedding completely outnumber the hours of the actual wedding festivities. It's therefore extremely important to find ways to enjoy the actual planning in order to ensure the entire experience is worthwhile. For me, I took extra pleasure in the cake tasting, wine tasting, and wedding favor preparations. Similarly for startups, some people find that their main motivation is the potential final exit opportunity. But like weddings, startups are an arduous process that takes immense time, energy, and motivation, and you have to enjoy the journey itself, and not just the final exit, in order for a startup to really be a worthwhile endeavor.

Pursue your passions and you'll have the greatest success
The interesting part for me in vendor selection for our wedding was that many of the vendors we selected were entrepreneurs in their own right. The ones that struck me as the most successful were the ones that were truly pursuing their own passions. Jason Shires, for example, has always been deeply passionate about music and being a DJ. And he has built a wonderful wedding DJ business, Quantum Music, out of this passion. It shows in his energy and dedication to the client that he isn't just doing this for the pay off. He's doing it because he loves making a party rock. Same for Enez Peoro, who fell in love with cake making over 30 years ago when she took her first class. Since then she has been teaching cake making as well as making extraordinary wedding cakes through her business Cakeabakin. She takes extreme pride in her designs and it shows in her work. I think sometimes when entrepreneurs are looking at pursuing a business idea, they don't put enough weight on pursuing their own passions. I encourage everyone to do so, since you are likely to have more success in a space you are passionate about rather than simply pursuing a great market opportunity.

Confront your biggest fears early
Every wedding involves planning a ton of things that are unpleasant or downright dreaded. For some it's putting together the guest list, figuring out how to pay for the wedding, or deciding the seating chart. For me it was learning to dance for our first dance. The best advice I can give you is to confront these fears early. Similarly in your startup you'll come across many fears for which you dread the answer, whether it's will anyone will use your product, will you be able to generate revenue from your product, or can you cheaply acquire users. One should address these fears as soon as possible as the fear will continue to eat at you until you confront it and learn how best to solve it.

I also wanted to take a moment to thank those of you from the startup community who helped celebrate this special day with Ada and I, including Jameson Hsu, Andrew Chen, Anson Tsai, Noah Kagan, Jared Kim, and many others. I would especially like to thank Gus Tai for being our wonderful officiant for the ceremony.

Thanks everyone!
March 15, 02:31 PM

Based on a suggestion from Andrew Chen, I spent Saturday afternoon reading The Monk and the Riddle by Randy Komisar, which put me in a reflective mood on my own goals and vision for success here in Silicon Valley.

Randy Komisar put together a short narrative that challenges the traditional assumption of the deferred life plan, romanticizes the notion of business as a creative pursuit, and even finds room to go into a discourse on self-knowledge of one's own motivations. Beyond this, Randy litters throughout the book a great set of lessons from his own career as a successful entrepreneurial executive.

I thought I'd take a moment to share some of the highlights through a set of my favorite quotes from the book.

The Deferred Life Plan

The Deferred Life Plan. For the promise of full coverage under the plan, you must divide your life into two distinct parts:

Step one: Do what you have to do.

Then, eventually-
Step two: Do what you want to do.

The Deferred Life Plan certainly dominates Silicon Valley. Most people think getting rich fast provides the quickest way to get past the first step - and where can you get rich faster than Silicon Valley? The problem is that, despite the undisguised affluence, the verdant hills, and media-generated mythos, the vast majority of people in Silicon Valley will not get rich. Most business ideas do not find funding. Even the majority of those that are funded - that is, vetted by very smart people who think enough of the ideas to invest in them - ultimately fail. And the lucky winners may get to step two only to find themselves aimless, directionless.

Tim Ferriss echoes this same sentiment in The 4-Hour Work Week about how too many of us optimize for our deferred lives that may never materialize and both authors encourage finding ways to stop deferring and doing what you are most passionate about today.

Randy suggests that some of us may even postpone our ultimate life dreams indefinitely out of fear of risking what matters to us most only to find it ultimately uninteresting, unsatisfying, or unachievable. He encourages us to embrace that risk head on and right now; otherwise we face an even graver risk of never enjoying the rewards of pursuing our dreams.

Business as a Creative Institution
It comes down to my realization over the years that business isn't primarily a financial institution. It's a creative institution. Like painting and sculpting, business can be a venue for personal expression and artistry, at its heart more like a canvas than a spreadsheet.

This perspective on business rings true to my own view. I initially fell in love with coding as a creative hobby. I saw beauty in elegant solutions to technical problems. As I matured, business became the next logical pursuit in taking my solutions to problems and finding creative ways to commercialize and create value for all stakeholders.

Self-knowledge of Your Passion
Randy goes on to define where we traditionally source our notions of success, distinguishes passion from drive, and suggests that self-knowledge is paramount in making that distinction for yourself.

Most of us have inherited notions of success from someone else or have arrived at these notions by facing a seemingly endless line of hurdles extending from grade school through college and into our careers. We constantly judge ourselves against criteria that others have set and rank ourselves against others in their game. Personal goals, on the other hand, leave us on our own, without this habit of useless measurement and comparison.

Passion and drive are not the same at all. Passion pulls you toward something you cannot resist. Drive pushes you toward something you feel compelled or obligated to do. If you know nothing about yourself, you can't tell the difference. Once you gain a modicum of self-knowledge, you can express your passion.

Entrepreneurial Lessons
Littered throughout the book is a set of best practices for aspiring entrepreneurs from Randy's own entrepreneurial adventures. My personal favorite was his metaphor for CEO archetypes as various kinds of hounds and how different types are needed at different phases in a startup's lifecycle.

The first CEO is "the Retriever". From the muck she must assemble the core team, the product or service, and the market direction - all around a coherent vision. She must also raise the money and secure crucial early customers and partners. She is prized for her tenacity and inventiveness. The second CEO is "the Bloodhound." He must sniff out a trail - find the market and prove the business. He needs to build an operating team and establish a market beachhead. He is prized for his keen sense of direction and company-building skills. The third CEO is "the Husky." She must lead the team, pulling an operating company that grows heavier by the day with people and public company responsibilities. She is prized for her constancy and scalability. None of these, to me, is top dog. All are equal in importance, just different in skills and temperaments.


While much more theoretical and philosophical than the books I normally find myself reading, it turned out nonetheless to be an inspiring and thought-provoking read.
March 08, 10:55 AM

Every week I meet with different entrepreneurs asking for my advice on topics ranging from funding strategy, exit opportunities, user acquisition, monetization, to technology investment. However, unlike others who often have a set of best practices they like to dispense around these topics, I find myself spending a considerable amount of time understanding the entrepreneur's personal goals before laying out my recommendations.

Entrepreneurs come in all shapes and sizes and there are a variety of successful outcomes that can be achieved. It's therefore important to be wary of anyone that gives you one-size-fits-all advice before understanding your needs.

One dimension along which I wanted to elaborate is a founder's choice to optimize for building fundamental vs strategic value. Let's start with some definitions. An entrepreneur that focuses on building fundamental value is optimizing for creating a standalone business that generates meaningful cash flow and profit as an independent entity. On the other hand, an entrepreneur optimizing for strategic value is one that is building their organization in such a way to maximize potential value to a larger organization that will ultimately benefit from an acquisition of the entrepreneur's startup.

When superficially looking at these definitions, one could argue that every startup is in the business of generating profits and therefore all startups are focused on building fundamental value. In addition, one could also argue that these are not mutually exclusive and ideally when an organization is building fundamental value they are also increasing their strategic value for potential acquirers. While both of these statements are true, the reality ends up being much more nuanced.

With the nature of startups having limited resources, entrepreneurs find themselves either consciously or unconsciously biased towards optimizing for fundamental or strategic value. With every decision an entrepreneur makes comes a set of trade-offs that could result in the maximization of either of these types of value. And a lot of my advice on the topics above depend on which direction you go. For example, your funding strategy may vary significantly depending on the outcome you are optimizing for. The timing in which you choose to focus on monetization may also differ depending on this strategy.

Let's take a look at some concrete examples.

Last.FM, a social music service founded in 2002, was ultimately acquired by CBS Interactive for $280M in May 2007. I remember chatting with Michael Marquez, who was in charge of the acquisition at CBS, about why they ultimately decided to purchase Last.FM. As a media conglomerate, CBS was very interested in aggregating meaningful target demographics that they could monetize by leveraging their existing sales force and brand relationships. At the time Last.FM had one of the largest online music communities. In addition, Last.FM had experimented with a variety of ad units and had shown some initial traction on ability to monetize it's inventory. However, Last.FM had not built out a large sales team nor was it already making meaingful revenue. It had simply shown that it worked on a small scale, which ultimately proved to CBS that if they married their own large sales team with the Last.FM inventory, it could be a match made in heaven. Last.FM's decision to focus on growth at the time clearly helped to boost it's strategic value. In addition, it's revenue experiments without huge investments in building out a large sales organization also improved strategic value.

imeem, similarly, optimized for strategic value. While imeem was interested in reaching profitability to ensure its on sustainability, it nonetheless regularly made decisions to trade-off short-term profitability for maintaining strategic value. For example, imeem could have chosen to stop servicing international markets that were shown to have little monetization potential, yet continued to do so in order to maintain its large user audience that could be attractive to an acquirer. Similarly, when imeem's VIP subscription service started to show traction, imeem could have decided to push more free features into the premium service in order to boost revenue, but leadership chose not to out of unwillingness to alienate it's large free user base. Unfortunately in the end for imeem this bet did not pay off since the market for such media acquisitions softened, imeem was unable to prove profitable per unit economics to potential acquirers, and it simply ran out of cash to continue fighting the good fight.

LinkedIn, on the other hand, continually shows that it is focused on building fundamental value. LinkedIn has been profitable for years and many say it's an ideal IPO target. While they are in no rush to actually pursue the IPO, the decisions they make on a day-to-day basis are optimizing for fundamental value. One example of this is their API platform. While they have finally released an API platform, it is by no means as open or powerful as similar platforms from other social nets like Facebook and Twitter. And in many ways it has to do with the fact that LinkedIn has existing revenue lines from paid subscriptions for pro users and recruiters, as well as licensing and advertising revenue, which they are unwilling to sacrifice simply to provide a more open API to their users. Some may argue that this is shortsighted of LinkedIn in that a more open API may result in an ultimately more profitable business, yet you can't argue with the fact that LinkedIn is consciously making the trade-off to continue to maximize it's fundamental value over all else.

My point with these examples is to show how decisions are made in startups every day that trade-off fundamental vs strategic value. There is no "right" answer on whether to optimize for one or the other. It depends on a combination of the founder's personality, risk tolerance, desired company culture as well how best to reap the value in the specific opportunity one is pursuing.

In the end though, the answer I hear most frequently from entrepreneurs is that they are pursuing fundamental value but are opportunistic about considering strategic opportunities. On one hand this is a very reasonable answer as entrepreneurs don't want to take options off the table. But at the same time, it's really a non-answer and I urge entrepreneurs to consciously realize what they are currently optimizing for in the decisions they make every day.

February 16, 01:20 PM

Lately I've been spending time thinking about freemium business models and how best to structure them to maximize conversions. I believe we are still early in our understanding of these models and to date most of the available analysis has been limited to anecdotal evidence, one-off case studies, tips & tricks, and a few early overviews of what's been tried.

Despite this I think we are starting to see some interesting emerging design patterns and best practices coming together. I wanted to discuss one such design pattern, including examples of it's usage and potential limitations.

One of the segmentations that is often talked about among Chris Anderson, Eric Ries, etc. is dividing freemium plans into 3 main tiering types: time-limited, capacity-limited, and feature-limited. Canonical examples of each include 30-day trials for 37 Signals' Basecamp, storage space limitations for Dropbox, and mobile access for Remember the Milk, respectively.

One variant of capacity-limited freemium tiering that is particularly effective for products targeted at the SMB market is to scale pricing with customer success. What I mean by this is providing various premium tiers of your product that will become appropriate for your customer as they are more successful in their own business. Typically this means tying the tiers with capacity-limits that either directly reflect or proxy the customer's growth in their own user base or revenue.

What's nice about this model is that it appropriately segments your potential customers into pricing buckets by ability and often willingness to pay. Businesses that are just getting started, pre-revenue, or early in finding product\market fit can often leverage your product as part of the free tier or low priced tiers. This provides few barriers to adoption and get's them quickly onto your product. And as their business scales, they'll think twice about switching since they've already been successfully using your solution. On the other hand, larger businesses will pay against a higher tier appropriate for their level of success.

Let's take a look at 5 different products targeted at SMBs that leverage this freemium design pattern.



Mixpanel offers a sophisticated set of analytics tools that picks up where Google Analytics leaves off. It often replaces hard-to-maintain home-brew solutions that companies put together themselves. Mixpanel works by allowing you to instrument your application to track custom data points and then does all the data crunching and segmentation to present the data in an easy-to-consume fashion.

The way their pricing structure works is by pegging the monthly subscription rate to packages of tracked data points. The free package provides up to 10,000 monthly data points. The next package allows 100,000 data points for $25/mo. And so on. While the number of data points collected does depend on how many individual event types you wish to track, the biggest determinant is total number of users using your service and you'll likely only scale to a larger plan when you reach new customer segments. Thus tiering on tracked data points provides a close proxy for their customer's own success in user growth.



Recurly is a service that makes it easy for SaaS businesses to manage their customer's monthly recurring subscriptions. Since billing is not where a service wants to innovate, Recurly provides a great solution to let them take the load off of managing this part of their business.

Recurly's fee is based on number of subscriber's to the customer's business. If your business has less than 50 customers, then Recurly is free. Above that amount, the Recurly monthly subscription ranges from $28-$2,650, depending on various bucket sizes for number of customers. So their pricing structure directly reflects the user growth of their customers.



MailChimp is an e-mail marketing solution that provides e-mail list management, an html editor for designing your e-mails, and detailed email analytics.

MailChimp offers two pricing plans, one based on total mailing list subscribers and the other based on volume of e-mails sent. While one is a direct reflection of customer user growth, the other is a close proxy, thus causing the cost of using MailChimp to increase as your customer's user base continues to grow. Their free plan allows managing and sending monthly newsletters to a list of up to 500 subscribers.



UserVoice is a customer feedback solution that allows you to easily collect, aggregate, and make your user's feedback actionable.

UserVoice allows you to setup a free forum for your customers to supply their feedback. One of the biggest values that UserVoice provides is allowing users to vote on the various feature requests. And it's the number of potential voters that UserVoice divides it's various freemium plans along. Your forum gets 100 voters for free. The premium tiers then allow various numbers of additional voters. The number of voters you will need at any given time is designed to be a function of the customer's own user growth, with UserVoice even detailing that they expect on average 3-7% of your user base to become voters.



FreshBooks provides an invoicing solution for consultants, contractors, freelancers, etc. to make it simple for them to generate, send, receive payment for, and track the entire invoicing process.

FreshBooks tiers it's offering along the obvious scheme of number of clients. You get to invoice up to 3 clients for free and additional premium tiers allow various numbers of additional clients. As your business clients grow, so does the fee you pay to FreshBooks for supporting you.

Limitations
There are a variety of reasons why such a freemium scheme may not be appropriate for your product as well as additional considerations to carefully evaluate before implementing.

Customers may not be very amenable to such a pricing scheme if they did not perceive additional costs for you to offer them support for a larger customer base. But it is often the case that your own costs scale in proximity to this tiering.

At the same time your costs may end up scaling along another axis tangential to growth in customer's own users and revenue numbers and this may make it difficult to leverage this tiering scheme. But keep in mind that you should be looking at costs in aggregate over your entire customer base and not just for individual tiers.

This freemium design pattern does not remove the essential critical question in every freemium tiering scheme, which is where to divide the free and paid plans. While this design does give guidance on along what dimension to segment, you still are free to decide what capacity each plan allows. Is MailChimp giving away too much with allowing 500 free subscribers? Is FreshBooks being too restrictive by only allowing 3 free clients? These are tough questions that remain. And despite our industry's best efforts to optimize through analytics, I've seen very little effective A/B testing done along pricing tiers. The difficulty arises from significant user backlash resulting from taking away features from a free plan.

Also along these lines, if your product ends up being applicable to a wide range of organizations and business sizes, there may not be a way to easily design a free plan that allows every organization to try it out. For many user segments they may just see your service as a SaaS offering with no free level. While this may be advantageous to you overall, it does limit many of the benefits of allowing all users to start for free.

I'd love to hear your feedback on other considerations you think are important when evaluating this freemium design pattern. As well as other patterns that you think have worked well.




I also wanted to mention that I've very excited that Charles Hudson this year is putting on The Freemium Summit. As this business model and marketing strategy reaches heightened interest across consumer and business applications, the time is ripe to bring together the early implementors and thought leaders in the space to discuss these exact design patterns and overall benefits and drawbacks of freemium models.

The Freemium Summit has already put together a great set of panels with speakers including leaders from some of the products mentioned above:

  • Ben Chestnut, Mailchimp
  • Lance Walley, Chargify
  • Isaac Hall, Recurly
  • Drew Houston, Dropbox
  • Peter Harrison, TripIt
If you are interested in attending, you can use the following link with the code SACHIN to recieve a 10% discount on general admission:

http://freemiumsummit-sachin.eventbrite.com


Freemium Resources
I've also provided a list of articles that you may find helpful in thinking through your own freemium model design.
February 08, 12:31 PM


As many of you know, I'm a huge proponent of on-demand computing as I believe it's the best starting point for most early stage web startups. Cloud computing allows a venture to substitute high initial capital expenditures for operating expenses that grow proportional to your traction. Equally important is its ability to flexibility scale and retract with the ebb and flow of your business. While it may make sense at a later stage to move to your own data center as you look to optimize costs, it rarely should be a priority in the tumultuous early days when you are still searching for product/market fit.

At my previous startup Anywhere.FM, we were an early adopter of Amazon Web Services in 2007. I've continued to be an early adopter of next generation cloud platforms as I'm always interested in understanding the bleeding edge innovations. Last year I initially saw a lot of promise in Google App Engine, but ultimately chose to abandon it due to its shortcomings. Just recently I tried the Rackspace Cloud, which is shaping up to be the fiercest competitor against AWS. I thought I'd share my experience with you.

What Attracted Me
Rackspace is not shy about looking to compete aggressively against AWS. They offer on their website a detailed head-to-head comparison with Amazon's EC2. While they suggest a variety of reasons why you might choose Rackspace over EC2, there was one specific advantage that caught my eye and ultimately led me to run a full-scale test on Rackspace. It was the fact that Rackspace offers cheaper low-end server instances that may be all you need for certain tasks. While Amazon's cheapest instance starts at $63.24/mo (1.7GB RAM) for continuous running, Rackspace's cheapest instance starts at $10.95/mo (256MB RAM). For certain tasks that are not CPU or memory-bound but instead network bound, the low-end Rackspace instances may be sufficient and cost effective. Given this fit the characteristics of my workload, I decided to shift some of my resources to Rackspace. I ultimately expanded to a farm of 8 low-end Rackspace instances for a full month.

Why I Abandoned
Given that I've been on Amazon Web Services for years now, my expectations for a cloud platform are high. And unfortunately the Rackspace Cloud ended up falling short for my needs.

Unreliable Boxes
One drawback that completely surprised me was the lack of reliability of the servers. This shocked me given Rackspace's long history of being the underpinnings of some of the internet's largest sites even before they launched their cloud offering. But I regularly would receive e-mails like the following:

This message is to inform you that the host server your Cloud Server 'cloud-512-2' is on became unresponsive at 10:15 PM CST today. As a result we have scheduled a reboot to occur on the physical host server and will investigate the issue. If the problem arises again we will proceed with a hardware swap to maintain the integrity of your data.

I received 13 such required reboot notifications during the 33 days that I had instances live on Rackspace! Talk about a maintenance nightmare!

Limitations on OS Images
Rackspace also has some pretty restrictive limitations on backups and images created on instances. First, a backup of an instance is always tied to a particular instance. So say for example you setup and installed all the appropriate software like I did on one instance. Then you took a backup of that instance so that you could deploy additional servers based on the backup. Today you cannot delete the instance from which the backup was created because if you were to do so, you'll lose the backup! So as long as you want to create future instances based on that image, that instance has to live on. This is due to the strong coupling of servers and backups.

Related to this issue is the fact that you cannot share images with others. This means that any software you want on the box you have to install yourself instead of potentially taking advantage of someone else's work.

This is in contract to Amazon's strong Amazon Machine Image ecosystem. I personally use the great CentOS images from RightScale. This is just not possible on Rackspace.

While Rackspace does plan on addressing both of these issues, they have a ways to go to catch up with Amazon.

No Elastic Storage
The amount of disk that you can have associated with a given Rackspace server instance is based on the server instance package. So if you require more disk space, you'll have to upgrade to a larger instance size and resize your server. While this does mirror most hosting providers, it falls short of the compelling offering of Elastic Block Storage that Amazon provides. Elastic Block Storage is completely resizable persistent storage that can be attached to any Amazon instance, with easy backup, redundancy, and re-attachment to\from different instances. It's great for storing the data files for a database server, for example, and allowing it to grow as necessary. I definitely missed this when I was on the Rackspace cloud.

Bandwidth Costs
Much of my workload involves making requests to third party APIs or scraping web pages. This results in significant network bandwidth both into the box and out of the box.

Currently Amazon is more price competitive on this front. AWS is currently offering completely free data transfer into EC2 instances for the first half of 2010. Compare that to Rackspace's $0.08/GB. In addition, EC2 charges $0.15/GB transferred out, versus Rackspace's higher $0.22/GB transferred out.

For these reasons I have ultimately decided to abandon the Rackspace Cloud. While none of them were deal breakers themselves, there wasn't enough compelling reason to move my infrastructure away from AWS.

What I'll Miss
Despite abandoning the Rackspace Cloud, there are definitely some aspects I will miss.

Fanatical Support
Rackspace doesn't lie when they say they have fanatical support. Because they really do. I signed up for Rakcspace at midnight on the weekend and I still received a friendly call from a Rackspace agent to confirm my identity and ask me if I had any questions about the service. And this wasn't an offshore calling center either. It was a very knowledgeable American representative.

Similarly, they have always available Live Chat that I have taken advantage of on multiple occasions. Why waste time digging through forums to try to find an answer to your question when you can ask extremely helpful and expert chat support staff immediately? Compare this to AWS, which charges significant additional fees for that level of support.

Easy Backups
While the server backup system does have its limitation, it was refreshingly easy to setup. Just tell it in the control panel to backup daily and you are all set! Compare it to the details in this article for getting reliable backups on AWS.

Instance Names
Something so basic that was again very refreshing was the ability to provide easy to remember names for your server instances. AWS can be frustrating at times to look at the Control Panel and simply see instance IDs like i-462e3b1e, leaving you wondering what exactly is running on the instance.

While I have decided to abandon the Rackspace Cloud and stick with AWS, I'm sure I'll be re-evaluating Rackspace as it matures. Nonetheless I'm excited to see strong competition in the marketplace since it forces all cloud providers to continue to innovate. I expect to continue to see significant advancements in the space from all the major vendors as they evolve.

Related Posts
February 01, 12:26 PM


Over the past two decades we have seen an evolution in the way we discover the content we consume online. I wanted to chronicle this evolution as well as offer a better way to take advantage of the next chapter in content consumption.

Mega Portals Dominate
Many of us only faintly remember a world before the world wide web and the Internet. A world dominated by online services Prodigy (1990) and AOL (1991). While today these services look like walled gardens, in their day they provided the first national access to online media when compared to the local BBSs that came before them. Both Prodigy and AOL built huge newsroom staffs as well as partnerships with existing offline content providers to bring news, reviews, weather, and sports online in mass for the first time. While these services eventually went on to provide internet access, these mega portals maintained a strong editorial voice over the content they made available to their users.

With the internet boom came the growth of the other large mega portals that are still hallmarks of many user's internet experience today, including Yahoo (1995) and MSN (1995). These services fully embraced the open web, yet still provided a strong editorial voice over the content they featured prominently across their sites, which continued to significantly direct online consumption.

As is often the case in technology adoption, the incumbents in offline content were late to the game. But eventually the big news brands, including NYTimes (1996) and CNN (1995), found their way online. With their popular web presences they continued to exercise the strong journalistic voice which has always been hallmarks of their brands.

Rise of Blogs, RSS, and Content Producers
Yet then something profound happened. We began to realize that the Internet as a medium had unique properties that we could leverage beyond simply redistributing offline content more broadly and cheaply. We started to realize that the web opened up the possibility of anyone becoming a content publisher. Thus came the beginnings of blogging. Blogger (1999) launched it's widely popular service along with many others to come.

With the rise of blogging came the need to efficiently aggregate and read your favorite content. The eventual popularization of RSS and their associated RSS readers, including Bloglines (2003) and Google Reader (2005), made this all possible. While many continued to rely on portals and major media outlets for their news, the best of us had moved to consuming a wide range of content produced from individual bloggers to the largest media organizations through our readers.

Social Voting and Democratic Content Curation
In the next pivot we found out that the web's value proved to be in not only allowing anyone to become a content publisher, but also to give the power of editorial voice to the masses. Anyone could recommend, curate, and discuss content online and through the laws of large numbers, the very best content could surface at the top.

Thus came the rise of social voting services to allow individual users to contribute to the curation of the best content online. Digg (2004) was the most successful to launch in the category followed by reddit (2005). In addition, Delicious (2003) launched a social bookmarking service which became equally beneficial as a content discovery tool.

The Age of Personalized Social Streams
But then the real social revolution hit us. Despite the many social networks that came before, it was Facebook (2004) that really initiated modern social networking with real identity, mapping the offline social graph, and most importantly, the news feed. While Facebook started as little more than a photo sharing site with a social graph layered on top, it continued to push the envelope and innovate with the news feed, enabling anyone to easily share what they were doing, what they were thinking, what they were reading, or even what they were eating with the rest of the world. Twitter (2006) took the very essence of the social stream and productized it in a simple micro-blogging service. These two services alone laid the groundwork for the rise of social streams, now published by many of the most popular services we use online today.

In terms of content discovery, this took the previous social voting evolution to the next logical frontier: our friends. Now we can easily share and discover what content our friends are writing, reading, watching, and engaging with. It has really empowered anyone to become a content curator with an eager audience of friends and followers. Readers can move past enjoying content discovery based simply on the popular vote to truly personalized recommendations from the people they trusted most.


Yet our understanding and use of social streams is still very much in it's infancy. During the blogging evolution, it wasn't until RSS readers were popularized that we learned to efficiently discover and consume the vast amount of content available on blogs across the web. We now need similar tools to increase our efficiency in discovering the best content from our social streams.

Yet what is unique about this pivot as compared to blogging is the problem is quite the opposite. With blogging the challenge was often finding relevant content to consume that was dispersed across the web, undiscoverable, and of varying quality. In this pivot, the content is right in front of us. It is abundant, real-time, and endless. We have already reached the point of saturation where there is too much content to possibly consume. This time around we need tools to filter, cut down volume, improve the signal-to-noise ratio, and find what is truly relevant in our social streams.

Feedera (2010) is one such attempt to build a tool to help sort through the clutter and allow us to efficiently consume the best content available through ubiquitous social streams.

The initial genesis for creating Feedera came from my own realization that I was now finding much more interesting content to consume on Twitter then I was in Google Reader. The power of Twitter as a content discovery tool lies in its ease of sharing content, ability to follow interesting people who tweet about relevant content, and it's real-time nature to surface content as soon as it's important. Yet Twitter in its raw form is ill-suited for content consumption. If you miss it in the stream, it's hard to consume later. The actual content is hidden behind non-descriptive short urls. The content is displayed as raw text with links when images or videos would be more appropriate. It's hard to discern what is hot or trending from a flat stream. It leaves a lot to be wanted as a content reader. With Feedera I set out to build the content reader that I wanted on top of Twitter.

Feedera takes the form of a personalized daily digest that delivers the best of your Twitter feed to your inbox every morning. It starts by segmenting the content into articles, photos, videos, and music and delivering the appropriate preview format for that content, including titles, description, thumbnails, and more. But more importantly, it applies a ranking algorithm to reduce the noise and surface the very best of your feed. The FeedScore algorithm combines overall popularity metrics for the content with friend relevance to find you content you're sure to enjoy.

I hope you will give Feedera a try as I would love to hear your thoughts.

Try Feedera Now!
January 26, 02:06 PM


As many of you know, I'm a big proponent of open platforms and have spent much of my career designing, building, or leveraging open platforms and APIs. While we have seen explosive growth in social platforms over the past several years, I believe they are still very early in their history.

I wanted to put out my 5 social platform predictions for 2010, as I think we are poised to see another exciting year of innovation.

Facebook & Twitter become the social and real-time protocols of the web.
There is no doubt that Facebook and Twitter have become the de facto social and real-time platforms of the web. I'm not going to argue which service will win because I strongly believe there is room for both as they serve important and separate functions. But I think both will see the next evolution of their dominance. We've already witnessed the transition of these services from valuable end-user apps to compelling platforms serving thousands of scenarios through a strong platform ecosystem. The next leg of this evolution will be transform to ubiquitous protocols that underlie all major social and real-time scenarios across the web. We will start to think of Twitter as a micro-messaging protocol just as we think of existing communication protocols like SMS and IM. Facebook will become the universal address book protocol for connecting and sharing with everyone in our lives. The unique aspect of this transition if successful is that each of these new protocols will be owned by one dominant player. This is a scary reality that we may soon be faced with.

Facebook taxes the value creation happening on top of its platform.
Facebook has seen incredible growth in 2009, reaching over 350 million users worldwide. In addition to strong user growth, they have seen equally exciting platform growth. App growth specifically in social gaming has been coupled with strong monetization for large and small app makers alike. The platform ecosystem's aggregate revenue is rumored to have exceeded Facebook's own revenue. While Facebook has fully embraced this in order to further its priority of platform growth over platform monetization, I think we'll start to see a shift towards Facebook looking to capture more of the value being created on top of its platform. Facebook already makes a significant portion of it's advertising dollars from app developers promoting their games. And Facebook has spent much of 2009 developing it's own virtual currency platform that would provide an easy and efficient way for Facebook to tax it's app developers. Look for this to launch in 2010.

LinkedIn's professional networking platform sees significant app innovation.
LinkedIn made it's first foray into apps in Oct 2008 when it launched it's on-site InApps platform. This platform allowed third party developers to build applications on LinkedIn. However, it was a completely closed platform that was never made generally available to developers and never grew past 13 available applications. Then a year later in Nov 2009 LinkedIn finally opened up it's platform for third parties to leverage it's data on apps on their own sites. The platform is still in the early days and has many limitations, but does pave the way for real innovation leveraging the valuable professional networking data repository LinkedIn has built. With this true opening I expect to finally see significant app innovation, despite it being plagued with delays until now. But better late than never, since LinkedIn stills holds an incredibly valuable data set with tons of untapped scenarios.

API monetization becomes an important question for emerging platforms.
API monetization remains at it's infancy. While there are APIs that are currently being monetized, what the customer is typically paying for is access to a restricted data set more than anything else. This rings true for Twitter and it's monetization of it's real-time data with Google and Microsoft, with the licensing deals LinkedIn struck with various partners which leverage it's professional resume data, or Compete with it's click-stream aggregate site analytics data. We are starting to see the freemium business model apply to APIs as well, with Compete, Urban Mapping, and Whitepages offering free and paid API offerings. In 2010 we'll start to see the discussion of API business models come to the forefront and I expect to see progress across the various models.

OAuth WRAP gains popularity over the original protocol.
The OAuth protocol has been a very important specification that has resulted in true standardization of API authentication across social, media, and other APIs. This has made the task of integrating third party APIs simpler for the developer, thus allowing a developer to interact with more APIs than ever before. Yet one thing that continues to be an extremely confusing aspect of the OAuth protocol is the signature authentication process. While it is standardized in the spec, we've seen a variety of slightly different implementations that have made it difficult for developers to get started with a new API. Just take a look at the LinkedIn API forum, where much of the discussion is around this authentication process. Twitter has kept around non-OAuth based authentication to make it easy for developers to get started without having to get bogged down with the OAuth details. Yet OAuth WRAP solves this very pain point by leveraging SSL for the authentication and removing the need for the developer to manually implement the authentication step. We'll see OAuth WRAP or a variant gain traction to further ease developer pain in this space.

Related Posts
January 25, 02:25 PM


After last week's post I got quite a few folks asking me what exactly is an Entrepreneur-in-Residence. Since I didn't describe it in my previous post and there isn't very good information out there about the role, I thought I would provide an overview, it's benefits, and drawbacks.

The Role
The reason the definition of an Entrepreneur-in-Residence is so elusive is because the role takes on different meanings at different firms. Even individual firms have hired a variety of different types of EIRs. But you can boil an entrepreneur-in-residence down to these four basic roles. Keep in mind that an individual EIR often works in multiple or all of these roles at once.

1. Successful entrepreneur who is looking to start his next company. This EIR has usually just finished a previous venture and is in between startups. Their time is typically spent vetting various startup ideas, finding a co-founder, doing market research on the space, putting together a pitch deck, and maybe starting early prototypes\mockups. Though full scale development is usually left for after the EIR period is over. For example, Jeff Smith, CEO and Co-Founder of Smule, was an EIR at Bessemer Venture Partners and incubated Smule while there.

2. Serial entrepreneur\senior executive looking to join an existing startup. In this case, the EIR typically looks to join an existing firm as a CEO or senior executive. EIRs typically bring these companies in as potential deals for the VC firm and spends their time doing due diligence and vetting the startup as well as deciding if its a good fit for them. Typically this form of EIR results in both the EIR finding a new company and the VC firm doing an A or follow-on round in the company. Nick Mehta, a prior executive at Symantec, was an EIR at Trinity Ventures, from where he ultimately became the CEO of LiveOffice.

3. EIR serves as an advisor to portfolio companies. This is most useful for the firm when the EIR brings a specific set of skills to bear that would be widely applicable across their portfolio. In this case, you often sit in on board meetings or do one-on-one mentoring\advising for existing portfolio companies leveraging your areas of expertise. Jason Putorti, lead designer at Mint, is serving as a Designer-in-Residence at Bessemer Venture Partners, bringing his design expertise to a variety of portfolio companies.

4. EIR serves as part of the investment team. In this case the EIR is an extension to the investment team, participating in all aspects of deal flow, including deal sourcing, due diligence, and closing deals. This provides an opportunity for an EIR to understand the VC side and decide whether it's a potential career opportunity they wish to pursue long-term. Ashu Garg is an example of an EIR at Trinity Ventures, who eventually went on to join Foundation Capital as a Venture Partner.

Benefits
While the benefits of the position depend on what role you specifically take on, there are some benefits that apply to all of the potential EIR roles.

An understanding of the VC perspective. As an EIR, you often get the opportunity to sit in on pitches, hear why the firm moved forward with or passed on a deal, and participate in the due diligence process. This is an invaluable experience for any entrepreneur. Not only does it better prepare you for making your own pitch to VCs in the future, but it helps you to refine your own startup evaluation process.

Access to an incredible VC network. VCs are highly connected individuals that have an extensive network of entrepreneurs, professional management, rock-star employees, and investors. Gaining access to this network opens your doors to new relationships that can be fruitful for all aspects of your entrepreneurial endeavor. Take ample advantage of this during your EIR as the VC is often very willing to open up their network to you.

Time to brainstorm and vet your ideas. One of the other benefits of an EIR role is that it gives you the freedom to spend time appropriately brainstorming opportunities and carefully vetting your ideas. Sometimes entrepreneurs are eager to rush into an opportunity and such a role encourages you to fully understand the scope of the opportunity.

Drawbacks
Despite the many benefits, there are potential drawbacks to keep in mind and evaluate when considering a position.

VC Potentially Owns Your Round. One of the reasons a VC typically offers an EIR position is to get early access to the next deal from a trusted entrepreneur. This can also be a great opportunity for an entrepreneur to ensure they can have a quick and friendly raise from their favorite VC. But this can also have potential drawbacks. First, it's important to always be an EIR at a firm that you would want to do a deal with. Never take an EIR at a firm that you wouldn't be willing to raise from. Secondly, it's important to understand the expectations from the firm from the beginning. Find out what the situation has been for past EIRs at the firm. At some firms there is an explicit right of first refusal on the round of funding or in other cases there is enough social pressure or expectation to effectively have the same effect. Still other firms leave it completely open and have no such expectation.

Adverse Signaling. Even if there is no obligation associated with the VC doing the round of funding for your next startup, there is potential for adverse signaling. For example, sometimes other VCs won't look at deals from EIRs at other firms too closely if the sponsoring firm is interested in investing. This is because they assume the sponsoring VC will win the round because of their relationship with the EIR and the other VC may not wish to waste time on a deal they won't close. Of course if you and the sponsoring VC are open to syndication, this won't be an issue. But a larger potential issue is if the sponsoring VC chooses to pass on the deal, then some VCs will shy away from investing because the sponsoring VC with the most information has passed on the deal and therefore think there must be something unattractive about it. This mirrors the issue Chris Dixon blogged about regarding taking seed money from big VCs.

Never Start Something. Some people's perceptions of EIRs is that they don't ever actually start something. While there are countless examples of EIRs going on to found very interesting startups, this is still a perception to keep in mind. Just remember that an EIR is meant to be a stepping stone, with positions typically lasting anywhere from 3 months - 18 months. So you should be diligent in constantly making progress towards whatever your end goal is.

I'll close by saying that a role as an Entrepreneur-in-Residence is not typically a position you apply for. Instead it is most often friends of the VC firm that are in between opportunities. It can provide a great stepping stone for the entrepreneur as well as the VC firm for the right fit.

Additional Resources
I've linked below two older posts that I found helpful on explaining the EIR role as well as two newer posts on modern incarnations.
January 18, 12:33 PM

As many of you know, I spent the better half of 2009 as an Entrepreneur-in-Residence at Trinity Ventures. It was one of the most rewarding experiences I've ever had and would encourage anyone who gets the opportunity to do it. Working alongside Gus Tai, Ajay Chopra, Jim Tybur, Dan Scholnick, and the rest of the Trinity team provided an inside look into the world of venture capital. Given that I've spent most of my entrepreneurial career in scrappy startup environments, I developed a valuable new perspective on evaluating opportunities.

I thought I would take a moment to share some of the most compelling lessons I learned during my Entrepreneurship-in-Residence.

Evaluating Opportunities

Why Hasn't it Existed Before. One of the most valuable thought exercises for innovative opportunities is to think about why your solution hasn't existed in the market before. If there are structural changes that have occurred in say the last 5 years that make this opportunity possible today, then you may be on to something. If there are no such changes and you simply think that "no one has thought of this before" then I would urge you to dig deeper, as you may simply not have enough domain expertise to know why it is a bad idea.

Seek Leverage. For every startup opportunity, think about how to get the most leverage in the ecosystem to command the lion's share of the value created, as opposed to being limited to taking a small sliver. This was one of the most important perspectives VCs offered. For example, Trinity helped me think through how to take an end-user product idea and expand my thinking to eventually become a platform for an entire ecosystem.

Human Behavior is Fundamentally Consistent. When looking at introducing new consumer behavior, look for analogies that exist in the offline world or using previous technology that may be applicable to this new behavior. For example, while Twitter is definitely a novel service, it can be fundamentally thought of as an expansion of the the traditional town hall concept.

Disrupt Incumbents. In certain spaces, after the market leaders gain significant market share, they stop innovating and simply focus on servicing and maintaining their existing customers. This creates opportunities to disrupt these spaces with cutting edge technology. For these spaces, think "if I were to re-invent this space from the ground up using present day technology, what would it look like?"

Original Thinking. When you look at some of the biggest innovations in the past decade (Facebook, Twitter, YouTube), they often come from original thinking. The founders of these startups are often young and unlike their older brethren, haven't yet fossilized their world view into the existing paradigms. This thinking creates opportunities for innovation.

Funding Considerations

Venture Funding is not for Every Startup. Given the economics, VC funding makes sense for startups with high return potential. Right now there is too much money chasing too few good deals and has lead to funding companies that really aren't VC fundable opportunities. We have seen some right-sizing with the economic recession, but the over-funding continues.

Goals Differ Based on Funding. Often the goals in the initial stages of your company are very different depending on whether you choose the bootstrap or venture funding approach. For bootstrapping, the most important goal is to get to cash flow positive as soon as possible. This is less important for VC funded opportunities since they are more concerned with quickly understanding the overall market potential.

VC Value Add. While VCs aren't great at everything, they do provide incredible value add in a variety of specialties. Seek out investors who can help support you in these endeavors. Their expertise often include recruitment, financial strategy (ie raising future rounds of funding), strategic perspective on large opportunities, business development contacts, and liquidation strategy (ie acquisition\IPO).

Relationships Matter. VC funding is very relationship focused. It's critical to create a strong relationship between a VC and entrepreneur. This is not something you do in a one hour pitch. Try to get to know them over time before closing a round. Given that you'll be stuck with the VC for the entire life of your company, it's also very important for you to develop a personal and trusting relationship with your VC beyond simply to help close the deal.

Addressing Slow Growth Businesses. For existing slow growth businesses looking for funding, it's often difficult for a potential investor to discern whether that slow growth is due to tepid market demand, poor execution, or simply not enough resources to fully penetrate the market. Only the last one is a positive thesis for an investment. So if you are one such startup, make sure you have a great justification for why your growth has been slow to begin with and exactly how that will change in the future.

Fundable Entrepreneurs. VCs spend a lot of time thinking about whether a founder is VC fundable. The key questions they are asking themselves is can he or she build a strong team around them, scale the organization, and relentlessly pursue the larger opportunity? VCs are typically biased towards repeat entrepreneurs. So make sure to pimp yourself and the team as much as possible.

Failed Startups. If you are in a space with a history of failed startups (ie music), you need to have a strong positive thesis on why you will be different, supported by evidence. Don't wait for a VC to bring this up. Address this immediately and with confidence.


Related Posts
January 11, 04:17 PM


I was perusing Andrew Chen's bookshelf and came across The PayPal Wars by Eric M. Jackson. It turned out to be a riveting tail of the entire journey of PayPal, from its early conception to its monstrous success, retold by one of its earliest hires in marketing. It's a story I thought I knew, but there was so much more to it than the simple success story we all hear about.

I thought I'd take a moment to reflect on the five most important lessons I learned from their journey and my thoughts on their application to today's entrepreneurs.

1. Strong long-term vision coupled with pragmatic short-term attainable goals
One of the most insightful aspects of the story was getting a chance to understand Peter Thiel's management style from the inside. Though he is known as a brilliant financial strategist, it was a simple management tactic he used throughout that really struck me as effective. Peter Thiel is no doubt a man with a big vision. His vision for PayPal was no less than to become "the Microsoft of payments, the financial operating system of the world" and he often talked about solving corrupt government practices of inequitable wealth distribution through his simple online service. This world domination view became a strong rallying cry for all employees. Yet he was always careful to put in place pragmatic short-term attainable goals that kept the team focused and executing against an achievable milestone. This included carefully monitoring, tracking, and rewarding success on increases in percentage of eBay listings using PayPal verses their biggest competitor at the time, Billpoint.

2. It's all about assembling an A-team
Equally exciting about the story was being introduced to the entire management team, which was full of rock stars. Peter was big on hiring incredibly talented, brilliant, and ambitious folks. They didn't necessarily need to be experts at the role they were assuming, but smart and hungry all around. Many of the strategic decisions they made and their success in doing so can be directly attributed to the team. Today all of these top execs have moved on to new and equally ambitious projects, including Peter Thiel (Clarium Capital, Founders Fund, Palantir), Max Levchin (Slide), David Sacks (Geni, Yammer), Reid Hoffman (LinkedIn), and Elon Musk (Tesla). By focusing on bringing the right team together, entrepreneurs can ensure that they can handle even the most difficult challenges.

3. Push decision making down as far as possible
One of the key takeaways for me was that leadership is not about having all the best ideas, but instead about providing a culture for great ideas to win, regardless of where in the company they came from. PayPal promoted this culture throughout and even institutionalized it through the producers role. Producers at PayPal is what we would typically call product managers these days. They essentially were given full authority and responsible for a feature area or discipline and expected to execute and report on their success. Even the naming of the role "producer" showed how focused they were on results and holding people accountable to them. By pushing decision making down, they allowed the best ideas to win from the people who were living and breathing the space all day long, not just the senior management tam.

4. Even the winners have rocky roads
While it's easy to look upon the success of PayPal as a sure fire win, it was clear from this story that throughout they faced many challenges and potentially disastrous situations.

In the early days fraud became a horrendous issue for PayPal. They were losing millions of dollars to the mafia and other organized fraud circles. The reputation, business, and economics were at stake if they could not solve this problem. Max however was able to build strong algorithms for detecting the fraud and eventually reduce the risk. In addition, they had a rather tumultuous merger with X.com which caused a complete shuffle in the star management team, Peter Thiel leaving as CEO, and then his eventual return. And their IPO, which occurred prior to their acquisition by eBay, was almost doomed by pending lawsuits and banking regulatory issues.

It's an important lesson in that all startups have rocky roads, even the successful ones. One needs to know what they are getting into when embarking on a startup, but be equally persistent to overcoming them.

5. The risk of dependence on a platform
Yet the biggest issue that plagued PayPal throughout it's journey is one that is near and dear to many entrepreneurs today: dependence on platforms. PayPal's rise was built on top of eBay as the preferred method of receiving payment for both buyers and sellers. Yet their success was completely dependent on eBay. eBay constantly changed policies which completely disrupted PayPal's service and caused them to endlessly be scrambling to maintain listing share. The situation got monumentally worse when eBay acquired PayPal's competitor Billpoint and made it the default payment method on their service. Many would have assumed PayPal was dead at that point. Yet PayPal was able to survive, through a variety of tactics.

The most important tactic that I think is a key lesson for today's entrepreneurs was building a consumer brand and strong customer affinity towards it. When eBay made changes which threatened PayPal's position, PayPal often appealed to their own users, who flooded the eBay forums with complaints. This strong customer affinity eventually forced eBay to have no choice but to buy PayPal if they were going to keep their customers happy.

While platforms like Facebook and Twitter have created huge opportunities for entrepreneurs, it has caused many of the largest startups leveraging these platforms to feel at risk due to the whims of the platform. My belief is the startups with a strong independent brand and consumer affinity have the highest likelihood of survival.


I'd highly recommend The PayPal Wars to anyone looking to really understand what it's like to work inside a rocket ship startup with an A-team at it's helm.
December 31, 09:19 PM

It has been exactly a year since I started this blog, as it was one of my new year's resolutions for 2009. So how did I do? Well, I'd say it went as well as a typical new year's resolution: highly motivated at the beginning with great progress in the first half of the year, then the consistency started to lapse, with eventual abandonment towards the last quarter of the year. All told I authored 23 posts, which is almost 2 posts/month, though they heavily skewed towards the first half of the year.

While it's far from where I'd like to be with blogging, 2009 was a solid start. And it was a very rewarding experience when I did make time for it. It helped collect my own thoughts on a variety of topics, get feedback from a growing audience of readers, and meet quite a few interesting people along the way. Here's a look back at the highlights:

Top Five Posts from 2009 (by pageviews)

1. Is Google App Engine Ready for Prime Time?
2. The Value of the Y Combinator Experience
3. My Muses for Brainstorming Startup Ideas
4. 5 Music Startups to Watch in 2009
5. Make Something People Will Buy

With the start of 2010 comes a new blogging resolution (and a revamped blog design). This year I hope to blog weekly. It's a big step up from last year, so here's to hoping I can keep up the pace. I hope my readers help hold me to it! You can look forward to posts covering all my interest areas, including technology, entrepreneurship, product management, platforms, monetization, productivity, and more.

Happy New Year!

August 24, 02:16 PM

Despite my post last week on the Shortcomings of Google App Engine and my decision to move away from it as a viable platform for upcoming projects, I have been impressed with the overall architecture and design of their experimental Task Queue API.

Google throughout its years has been a leader in interface design and that has been reflected not only in the UI of the products they have built, but the countless API interfaces they have published. Google has made available some of the most easy to use yet powerful API interfaces. A clear focus on leveraging open standards where possible has helped them along the way. Google App Engine is probably the strongest testament to this, allowing developers to quickly build web applications that scale to millions of users on an easy to use Python or Java runtime environment. Their latest experimental design for the Task Queue API in Google App Engine is no exception.

Definition
Before I discuss its advantages, I should provide a definition of a task queue:

Task Queue is defined as a mechanism to synchronously distribute a sequence of tasks among parallel threads of execution. The global problem is broken down into tasks and the tasks are enqueued onto the queue. Parallel threads of execution pull tasks from the queue and perform computations on the tasks. The runtime system is responsible for managing thread accesses to the tasks in the queue as well as ensuring proper queue usage (i.e. dequeuing from an empty queue should not be allowed).

Source: Task Queue Implementation Pattern: Ekaterina Gonina (Author), Jike Chong (Shepherd), UC Berkeley ParLab

Task queues have all sorts of uses for offline processing, including periodically pulling data from third party sources, computing aggregate statistics, delivery of emails to users, etc.

Simple Interface
One of the most straightforward advantages of Google's Task Queue API is its very simple interface. While you can define a set of configuration options, they are all optional. Enqueuing a task for execution is as simple as the following:

#python

from google.appengine.api.labs import taskqueue

#Add the task to the default queue.
taskqueue.add(url='/worker', params={'key': key})

A default queue is provided, though you can easily define additional queues with their own execution options. After being enqueued, the task is run as soon as possible (according to the queue's scheduling options). Optional configuration options are specified in a queue.yaml file, including queue names, rates of processing, and bucket sizes.

Push vs. Pull
While a simple interface is nice, the push vs. pull model of the GAE Task Queue is what makes it really shine. To understand this advantage, let's compare it to another popular cloud based queue solution, Amazon Simple Queue Service (SQS). With SQS, you define a queue and it becomes a central repository for unprocessed tasks. Then you create a set of worker processes (on, say, Amazon EC2 servers) that regularly poll the qeueue to see if there are available tasks for processing. If a worker process finds an available task, the task becomes locked, allowing that worker to process it without other workers having access to it. Once the work is complete, it is removed from the SQS queue.

While this approach provides a lot of flexibility, it requires constantly running worker processes that are polling for available work. In addition, if there is a spike in tasks in the queue, you must also manage the scale up and eventual scale down of worker processes.

In contrast to this mechanism, GAE Task Queue provides a push model. Instead of having an arbitrary number of worker processes constantly polling for available tasks, GAE Task Queue instead pushes work to workers when tasks are available. This work is then processed by the existing auto-scaling GAE infrastructure, allowing you to not have to worry about scaling up and down workers. You simply define the maximum rates of processing and GAE takes care of farming out the tasks to workers appropriately.

Web Hooks
What is also compelling about GAE Task Queue is its use of web hooks as the description of a task unit. When you break it down, an individual task consists of the code to execute for that task as well as the individual data input for that specific task.

The web already provides a great mechanism for this through HTTP requests, their GET and POST input, and the resulting status response. Since in GAE you already define code to execute on an HTTP request, you can leverage the same mechanism for defining the execution code for tasks. As far as the data input, the GET querystring params or HTTP POST body provide suitable mechanisms for providing any kind of input. In this way, a task description is simply a URL that handles the request and a set of input parameters to that request.

This allows you to leverage everything you have already learned in building web request handlers in GAE for user-initiated requests. And more importantly, leverages the fact that GAE has already invested heavily in auto-scaling web request handling. It can simply re-use this infrastructure for tasks queues without having to invent a separate scaling architecture.

Shortcomings
While the overall design of GAE Task Queues is compelling, it suffers from the same shortcomings I mentioned in my previous post. Namely, a given task has a 30 second deadline. That means any individual task cannot perform more than 30s of computation, including getting data from the data store, calling third party APIs, computing aggregations, etc. In many cases, this is fine, since you can simply enqueue many small tasks and make tasks granular enough to always complete in 30s. However, this often does introduce needless complexity in task division and some tasks simply cannot be divided into less than 30 seconds of processing.

Overall, I find the design of the GAE Task Queues compelling and think its a great pattern for modeling queue infrastructure, whether its on or off Google App Engine.

If you enjoyed this post, feel free to subscribe by RSS or Email or follow me on Twitter.

Related Posts
August 17, 02:24 PM

As many of you know, I have been a huge fan of Google App Engine. I love the vision and truly believe its the first real platform-as-a-service as opposed to the other dominant cloud platform Amazon AWS. While AWS has significantly moved the industry forward with on-demand virtualized instances and cloud storage, it has not developed a fully scalable runtime environment comparable to Google App Engine. Sure Google App Engine only supports a very restricted use case and set of technologies, but constraints can be liberating. If the scenario fits for your web app, the freedom to focus on your app and not on infrastructure and scaling is very compelling.

Thus far I've created a variety of small production apps on app engine, including this blog, TuneChimp, and MonkeySort. I am now in the process of embarking on a large project and have been planning on using Google App Engine for it. However, I have run into a variety of shortcomings in GAE that currently and for the foreseeable future seem insurmountable. It has led me to have to reconsider my platform choice for this project and at this point relying on Amazon AWS (or an alternative cloud platform) seems like the ideal option.

For those also considering building applications on top of Google App Engine, I wanted to discuss these shortcomings so that you can make an informed decision when making your own platform choice.

Urlfetch Requests Can't Take More Than 10 Seconds
Google App Engine in Python requires you to proxy all your third party HTTP requests through their urlfetch library. They have created a lightweight wrapper around it to allow python developers to use their typical urllib and urllib2 interfaces. However, the urlfetch library still has a hard restriction that enforces a deadline on any outgoing HTTP request to a maximum of 10 seconds. While in many scenarios this restriction is fine, when building a mashup application that leverages third party APIs (whether its Twitter, Facebook, YouTube, or others), there are many scenarios where you realistically run into this urlfetch deadline restriction. Some APIs allow you to break up long requests by paging, which allows you to get below the 10 second limit, but this often needlessly complicates your code. In addition, some third party APIs are simply poorly written, don't allow paging, or have high latencies that make it impossible to get meaningful results within the 10s limit.

While Google has already increased this deadline once to the higher 10 second limit, they have provided no roadmap or expectation of increasing this deadline further.

Requests Can't Run for More Than 30 Seconds
In addition to the urlfetch restriction, any web request cannot take longer than 30 seconds. This is the entire time allotted to responding to a request. The scenarios for longer requests typically are not user web requests, but instead offline tasks that periodically call to third party APIs to get the latest data and cache it locally or any other kind of offline computation. While Google App Engine has provided the scheduled tasks and task queue APIs to create a nice facility for this, the fact that any individual task can still only take 30 seconds severely limits the possibilities. While in many cases you can smartly divide the tasks to less than 30 second increments, this again requires significant management of task breakdown which may create needless complexity in your application. Or there many even be scenarios which just simply can't be modeled as tasks that must return within 30 seconds.

Since Google App Engine is designed primarily to respond to user web requests and not designed to be an engine for significant offline processing, there is no roadmap for significantly increasing the amount of time an individual task can take.

Can't Open Sockets To Arbitrary Ports
Given that Google App Engine is a constrained runtime environment, it has an understandable limitation of preventing you from opening sockets on arbitrary ports. This restriction is necessary for security and scalability and Google can only be expected to enable these scenarios by providing their own wrapper libraries for each desired scenario. However, this leads to restrictions on important scenarios. For example, if your application wants to incorporate email and connect to an IMAP server, then you have no ability to do this on GAE.

While Google does plan to eventually add additional services to their capabilities, there is no plan for providing a general capability for opening sockets.

Can't Support HTTPS on Own Domain
Google App Engine allows you to launch applications on either their appspot.com domain at a custom subdomain or to host your application on your own domain through Google Apps. However, if you want to handle HTTPS requests, it has to be done on the appspot.com domain. You cannot support HTTPS on your custom domain. This is a significant restriction since it prevents you from providing a fully secured experience for a user on your own domain.

Given technical limitations, Google has not provided a roadmap for when this issue will be solved, leaving people who require this functionality to simply find another cloud platform.


While I love the promise of Google App Engine, each of these technical limitations in the current platform with no clear roadmap to enable these scenarios has led me to abandon Google App Engine for my next project. I plan to continue to monitor Google App Engine developments and see where it goes as I still believe it is a great platform for certain constrained scenarios. But I plan to spend my time now investigating Amazon AWS and Rackspace Cloud.

If you enjoyed this post, feel free to subscribe by RSS or email or follow me on twitter.

Related Posts

June 22, 02:56 PM

Several months ago I had the opportunity to sit in on a guest lecture Clara Shih gave at the Stanford Seminar on People, Computers, and Design. Clara has spent the last several years at Salesforce leading their social networking product strategy as well as developed Faceconnector, the first business app on Facebook that made it easy to integrate Facebook profile data into Salesforce CRM tools. With this insight, Clara recently authored The Facebook Era, a look at how social networks have changed people's behaviors, expectations, and relationships, and the resulting business opportunities it has created.

After attending the seminar, I decided to read the book and wanted to share some of the key trends discussed and the business opportunities that arise from them.

Opportunity #1: Transparent transitive trust opens up social advertising possibilities
Clara speaks at length about transitive trust: the notion that if I have mutual friends with you that I trust, I am by extension more likely to trust you. In addition, if a friend of mine endorses a product or service, I am more likely to respond positively to the brand. Facebook creates complete transparency in both of these scenarios, allowing you to quickly see who are your mutual friends with someone as well as to see a variety of brand endorsements through fan pages, groups, status messages, and a variety of notifications of engagement with various brand applications.

Facebook's enabling of passive word of mouth of brand recommendations creates many opportunities around social campaigns that leverage the higher conversion rate associated with word of mouth referrals. Brands can capitalize on this new channel and user's willingness and desire to associate themselves with the brands they care about to supercharge their previously offline and unscaleable user referral programs.

SocialMedia has been one of the early innovators on social ads, with the Word of Mouth Impression being their latest ad creation. This new ad product attempts to incorporate your friends sentiment around the advertised brand to increase conversion rates of ad campaigns. Appirio has also built a Referral Management for Viral Marketing product to enable brand advocates to easily share their brand preferences with their friends on Facebook.

Opportunity #2: Explicit self expression makes hyper targeting a reality
Compared to the social networks that came before it, Facebook has encouraged authentic online identities and personalities. This has led to users willingly and explicitly expressing themselves on their profiles and streams. With this has come never before available deep data about user's demographics, behaviors, and interests. Of course this creates exciting new opportunities for advertisers to hyper target a set of users based on their interests.

The Facebook Ads platform has provided an opportunity to get at some of this hyper targeted data. Advertisers can now target their campaigns on specific demographics and interest keywords found on user profiles. However, this platform is still in its infancy, only scratching the surface on the targeting vectors that are possible. Hopefully with time Facebook will continue to innovate on their ad platform as well as open up an advertising API to allow third party developers to help with the innovation around targeting. To date third parties have been severely limited by Facebook in their ability to use the data available on user profiles for the purposes of targeting.

Opportunity #3: New forms of casual interactions enable maintaining and growing weak ties
Clara also emphasizes the importance of weak ties on social networks. These are the friends you have on social networks that aren't your closest real life friends, but instead the people you casually or occasionally keep up with. What's important about this class of individuals is that research has shown these are the connections that will be most important to you in terms of business relationships, since over the life of your career these are the people that you are likely to benefit from in one way or another. Facebook enables you to easily maintain and grow connections with these weak ties through casual interactions, including reading their status updates, posting wall posts, sending messages, and more.

Many applications have been developed on Facebook to further encourage casual interactions to grow these weak ties. MyCalendar and Birthday Cards enable you to easily remember your friends birthdays and events and send them online greeting cards. Even many of the social games on Facebook have the affect of allowing you to casually interact with your friends and remind them of you.


Facebook has truly enabled new scenarios and behaviors for people across the world. With these new interactions come many new business opportunities to leverage the social graph to create value. Clara Shih has done a great job of researching and documenting this trend. So check out her book!

May 13, 09:27 PM

In a departure from my usual focus on startups, I thought I would take a moment to reflect on my most recent experience in jury duty.

I was selected as one of twelve jurors for a murder trial against a defendant who was accused of beating up his girlfriend and throwing her out of her apartment window in San Francisco in 2005. After an intense 2 week trial and jury deliberation, we today found the defendant guilty. His punishment is still to be determined.

This was my first experience with jury duty and the criminal trial process and I must say I was impressed with the court proceedings and the overall fairness of the trial. I've included my specific thoughts on the jury selection process, the burden of proof standard, and the trial timeline.

Jury Selection
Probably the longest aspect of the entire trial was jury selection. Judge Kevin McCarthy mentioned that for this trial they tried to put together a jury four times prior to finally assembling one. The issue was that this case was projected to take up to four weeks and many potential jurors filed for hardship which allowed them to postpone their service and potentially serve on another case.

After a large enough pool of potential jurors was found that did not file for hardship, the Voir dire process began, which allowed both the prosecution and defense to examine the potential jurors and object to any that may have clear biases or additionally reject any juror for any reason at all (up to 20 times). I was impressed with how they systematically removed anyone with any potential bias that might effect this case. Since this case involved an African American, a victim who suffered from bipolar disease, a substance abuser, and occurred in the Tenderloin, anyone who was found to be biased against African Americans, had personal experience or a close relationship with someone who had bipolar disease, had personal experience with substance abusers, or currently lived in the Tenderloin were all ruled out.

Despite the motley crew that initially showed up to jury duty, I was happy to see that the final jury selected appeared educated, fair, unbiased, and very reasonable.

Burden of Proof
In a criminal trial, the burden of proof standard requires that the jury find the defendant innocent until proven guilty beyond a reasonable doubt. The judge carefully defined the "beyond a reasonable doubt" standard on multiple occasions to ensure we understood that it was not beyond all doubt, since nothing can ever be beyond all doubt, but instead the evidence left us with an "abiding conviction" that the defendant committed the crimes he was accused of. We had lots of discussions during the case and during jury deliberation specifically about this burden of proof to ensure we all understood and stuck to this standard.

In the end we convicted the defendant not based on direct evidence (for which there was none), but instead based on circumstantial evidence that painted a very clear story of what happened. This evidence included witness testimony from neighbors, DNA evidence, autopsy expert testimony, victim's daughter's testimony, a proven pattern of domestic violence, etc.

I'm glad the burden of proof standard exists to ensure avoiding wrongful convictions and that the process was fully followed throughout the trial to ensure a very fair process.

Trial Timeline
The one aspect of the trial that was very frustrating was the trial timeline. The murder occurred Nov 4, 2005 and only today on May 13, 2009 was the defendant tried and convicted of murder. That is nearly 4 years after the crime was committed! And during the first year, the defendant was at large. While I understand they couldn't keep the defendant under arrest without sufficient evidence, it was unclear the police were expending significant resources to both put this evidence together or try him. At the same time, if he had been innocent, he spent a long time behind bars without being tried. Throughout the trial it appeared this case wasn't top priority for the police and mistakes were made throughout, which is extremely saddening.

Overall I definitely saw this as an interesting opportunity to get first hand experience into our criminal trial process and come out of it both respecting our system and better informed.

And now back to our regularly scheduled startup discussions :)

April 14, 12:15 PM
Andrew Chen asked me to write a guest post on his blog Futuristic Play about some of my experiences monetizing music at imeem. I wanted to link it here, as I imagine many of you will enjoy reading it as well.

Make sure to check out his other posts, as his blog is definitely full of very interesting insights and on my must read list for any internet entrepreneur:

Designing and Testing an Ad Product: 5 Lessons Learned From imeem's Audio Ads
March 30, 09:26 AM

As today marks my first day as an Entrepreneur-in-Residence at Trinity Ventures, I'm spending a lot of time thinking about how to formalize my process for starting a new venture. Every startup goes through phases including brainstorming ideas, selecting evaluation criteria, performing due diligence on top ideas, picking a winner, deciding on a corporate structure, putting together the team, evaluating funding options, and more. While the popular press often glamorizes the startup story as an epiphany moment from an opportunistic individual that grows to a successful corporate behemoth, I prefer a much more systematic approach to entrepreneurship (and life in general, for that matter). As I begin this journey myself, I thought I'd document my new venture process along the way, share it with all of you, and hopefully hear from you on your own thoughts.

Often one of the earliest steps in forming a new venture is coming up with the idea. I won't argue that this should necessarily be the first step though, since in my previous venture Anywhere.FM we picked the team before the idea and that was the right choice for us. I also won't argue that it is necessarily the most important step, because while a startup needs a great idea, it's not without great execution that an idea can become a successful endeavor.

I'm often asked where I come up with all my ideas, as I'm typically chock-full of potential ideas percolating in my head. I have a variety of sources of inspiration that help me put together laundry lists of potential startup opportunities. Before I dive into my muses though, I think what's important to realize is that the best idea brainstorming happens outside of any specific brainstorming phase. Good idea generation is like a muscle that you are constantly flexing. It's a mindset and attitude towards the problems you face everyday and your ability to effect change. While some people are innately curious and problem solvers, I still think like any muscle, this skill is something that can exercised and improved.

I'm personally innately curious. But what has been a huge boon for me was learning to program on my first computer, an Apple IIc, when I was in middle school. I quickly learned BASIC and fell in love with the idea that I could make things. In the early days it was often games to amuse myself (which is what typically attracts many young boys to programming), but as time passed I started making more useful applications. One of the issues I had early on was quizzing myself on vocabulary words. I quickly wrote a program I called Vocabulary Master to provide me random word definitions, give me three attempts to guess the word correctly, and tell me the word if I failed to remember it. It was a very simple application, but was the foundation for my strong belief that I can solve real world problems through software. Ever since then I've constantly had a list of potential ideas. Oftentimes when something bothers me or I think that something can be improved, I add it to a list of potential projects (and I have to say that I love the fact that now I have an iPhone always in my pocket to record my ideas). It's this critical lens of looking for ways to improve what you see every day and having the attitude that you can do something about it that I think makes for a great base of idea generation.


Logo for Vocabulary Master

Beyond that, there are specific muses I've used to help jump start my creative juices:

Improving Your Work Life
I think often the best source of ideas comes from your area of expertise and the problems you face on a day-to-day basis in your career. You probably find yourself saying "Why is this so hard? There has got to be an easier way" every so often. It may be a product extension to your existing business's core products, or may be unrelated to the business, but a pain point you feel trying to get your job done. From my experience at imeem focusing on monetization, I've come up with countless pain points in trying to monetize social media and large publisher sites that could be fruitful startup opportunities.

Analyzing Macro Trends
I think another very important exercise is analyzing macroeconomic trends and thinking about the opportunities it creates. What obviously comes to mind first these days is the recession, and I think a lot of startup opportunities will come out of that. Anywhere from helping people save money, find jobs, or tapping into the funds made available through the stimulus bill. But beyond the recession, I think there are a lot of other exciting market trends that are creating countless opportunities. Anywhere from the proliferation of APIs, to the rise of cloud platforms, to the opening up of mobile devices.

Bringing Existing Innovation to New Applications
I believe there remains significant inefficiency in applying new technologies across multiple vertical applications. It behooves a startup to focus at least initially on a very specific application to prove out the model and to provide the best experience. But this creates significant opportunity for other startups to bring that existing technology innovation to new verticals and thus becomes a fruitful source of startup ideas. I often think about how trends in certain spaces can be applied to new segments. For example, can we bring the viral spreading of applications native to Facebook apps to iPhone applications? Or can we bring the successful virtual goods monetization model from social games to non-gaming sites?

Latest News in Your Area of Interest
If you have a specific area of interest or vertical segment that excites you, I think its hugely valuable to constantly keep up with the latest news in that area. These days its so easy to use Google Alerts to subscribe to daily feeds of the latest news, blogs, and search results of your topic of choice. I have these setup for various areas of interest, including open platforms and personal productivity.

Exposure to Startup Ideas
I think it's also very important to constantly be exposed to new startup ideas. When you hear people's ideas and their take on solving them, it definitely helps to get your own mind thinking about related opportunities in the space or at least helps to think critically about how they may have come up with such a solution. I daily skim TechCrunch as a great source of startup ideas. I think Jessica Livingston's Founders at Work was also a great case study of many different startup ideas.

Talk to Existing Entrepreneurs
As I said, great entrepreneurs have this ability to constantly come up with ideas and potential solutions. I've been spending the last month catching up with a lot of my fellow entrepreneurs to not only chat about their business, but more importantly, interesting things that they have seen outside of their own startup. When an entrepreneur is busy executing against a specific idea, he is knee deep in one specific space. That doesn't mean though that he doesn't think about other ideas or have other ideas percolating in his head. I think its often great to tap into this creative thinking to spur some of your own ideas.

If you enjoyed this post, feel free to subscribe by RSS or email or follow me on twitter.

Related Posts

March 24, 12:13 PM

Winners from the Mochis Award Show @ Flash Gaming Summit

On Sunday I had the opportunity to attend Flash Gaming Summit, the first annual conference dedicated to flash game development organized by my fiancee Ada Chen from Mochi Media.

What's often most exciting for me about events like these is hearing different metrics tidbits from the speakers who are knee deep in the space. This conference was no exception, with a variety of different stats shared throughout the day. I've summarized some of the highlights below.

Flash Game Distribution & Advertising Market Size
Mochi Media is by far the largest flash games distribution and monetization network. They reported that they are now seeing over 100 million unique users who play games across their network each month, as well as over 1 billion monthly game plays. In addition, Mochi offers MochiAds, an advertising product allowing flash game developers to embed ads into their flash games. In 2008, MochiAds paid out over $1 million to flash game developers. While Mochi is definitely not the only distribution and monetization player in the flash gaming space, it definitely commands a healthy share of the market and thus these numbers can give you a rough sense of magnitude in the space. While the game play stats are impressive, the advertising revenue generated for developers is still modest and definitely suggests the need for alternative revenue sources like micro-transactions and virtual goods.

Ad Revenue From Portal Versus In Game
John Cooney from Armor Games provided some rough stats on the ad revenue difference from in-game ads versus ads around the game on a game portal page. John stated that the ad revenue from portal ads was at least 4x greater than the revenue from in-game ads. John attributed this large difference to a variety of drivers, including the ability to have higher quality multimedia ad units on a portal page, having 3-4 ads per page, as well as simply getting the user to play more games on your portal.

The message was heard loud and clear by flash game developers that it is going to be very difficult for them to make serious money from their games without building their own portal or partnering with existing portals (through revenue share or sponsorship agreements).

Conversion Rate of Active to Paid Players
Both Paul Preece from Casual Collective and Daniel James from Three Rings shared some interesting stats from their own games on conversion rates associated with paid players (players who purchase levels, virtual goods, etc through micro-transactions). Paul said that for their single player games, they see that 2% of their active players have converted to paid players. Keep in mind this stat is for "active players" who come back to the site regularly, not overall unique visitors. What was interesting was that for his multi-player games, 3% of active players converted to paid players, suggesting their may be some additional conversion lift from multi-player games. Daniel James echoed Paul Preece's numbers, suggesting 3-4% of Three Rings users pay as well.

The key thing they stressed was that only a very small percentage of your users end up converting, because first they need to become active users that come back and are retained by your game as well as be eager enough to pay through one of a variety of ways.

Per User Transaction Value & Lifetime Value
Daniel James went on to share that his company's Puzzle Pirates game was seeing an average transaction size of about $20, with a per user lifetime value averaging $125. This suggests that while its difficult to get people to pay, those that do pay may pay significantly.

Its thus important to ensure for that small number of users, you provide enough reasons and the ability for each user to plow a significant amount of money into the game if desired.

Leaderboards Drive More Retention
While everyone would agree that leaderboards drive additional retention of users who go on to compete with strangers or friends, Jameson Hsu from Mochi Media shared some details on exactly how much additional retention can be expected. Jameson said that they have seen leaderboards increasing retention by up to 30%.

This suggests that adding your own leaderboards or integrating with existing leaderboard platforms is often a worthwhile exercise to drive additional game play and retained users. Given that monetizing through micro-transactions typically relies on highly active users, this becomes even more important for driving lucrative monetization.

Social Games are Where the Money is at
Bret Terrill of Zynga gave a fantastic presentation enlightening flash developers on the large opportunity in social games, both in terms of traffic and monetization.

Bret mentioned that one of their social games, Mafia Wars, was getting 1.7 million daily players on Facebook. Texas Hold-em, in addition, gets over 1.5 million daily players. Bret also mentioned there were social games out there making $20-30K/day in revenue. These large numbers trump what most classic flash game developers would expect in terms of traffic and monetization.

Adam Caplan from Super Rewards, which provides payment and ad offers to fuel micro-transactions, said that they are now paying out over $10 million/month to social game developers, an equally significant figure. And Super Rewards is just one of many providers in the space.

While Bret encouraged flash developers to get into this space, he cautioned them that they won't win by simply porting their game over. They need to design their game with the right mechanics targeted at this audience, including making the game playable in 5 min chunks, appealing to user's desire for status, and focusing on reciprocity loops of gifting and social grooming.


For those of you who missed the event, you can check out the recorded sessions, event photos, tweets, or Mochis award show video.
March 13, 09:06 PM

As more and more offer providers enter the incentivized CPA and direct payments space, there is a clear need for a way to easily test different offer providers and optimize between them.

At imeem, I was responsible for evaluating, signing up, testing, and optimizing the various offer and direct payment providers that were leveraged as part of the imeem points virtual economy. I learned valuable techniques and lessons that I thought I would share with all of you as every day I see more interesting startups jumping on the virtual currency bandwagon.

Sometrics Virtual Currency Manager



In order to effectively test and optimize, you need tools to reduce the cost of performing the tests. If its painful to implement the test, record stats, and review analytics, then you'll never get around to doing it.

For optimizing offer providers, I decided to leverage Sometrics Virtual Currency Manager. At the time it was really a decision of whether to build my own custom tools in-house or to leverage their new tools. If I built the tools myself, I knew I would be writing custom hadoop jobs to get the analytics that I wanted. I knew that I wouldn't waste the time to create pretty graphs and would ask myself every time I wanted to track a new metric whether the cost of implementation was worth the effort. And I knew if I built my own A/B testing and reporting tools, the shelf life of the tools would be limited since I was going to optimize for a couple of months and then likely shift my valuable time to other projects. So my decision to use Sometrics was easy in that it came built in with the most common metrics I wanted to track, pretty graphs, and easy to use data viewing\manipulation tools that we have all come to expect from every analytics packages. And an equally important plus was the tools were free to use!

In many ways, Sometrics Virtual Currency Manager functions like your typical ad server (Google Ad Manager, OpenX, DART, etc). It allows you to drop a single Sometrics iframe tag on the page you want to render the offers. Then from within the Sometrics dashboard, you can easily add providers. To add a provider, simply make sure you have signed up and signed the terms and conditions of the offer provider, created your app or campaign within the offer providers interface, grab the iframe code that they provide, and drop it into the Sometrics dashboard. Where this gets more sophisticated than an ad server is in the implementation of the callbacks. After an offer provider calls you back to report an offer completion, you simply send a request to Sometrics servers so they can record the completion as well. You thus serve as a proxy for Sometrics collecting the data it need to provide a full picture of offer impressions to completion to revenue. Once you do get the hang of this, adding a new provider shouldn't take more than a couple of hours to have up and running.

Next you can specify the rotation frequencies of your offer providers. It makes sense to initially give them equal percentage rotation ratios or if you have been using one for awhile, give that one a higher rotation ratio as you test the others. By default you specify global rotation ratios.

After that its times to track performance. Sometrics automatically updates the dashboard every couple of hours to show you the latest impressions, offer completion, and revenue stats on a per provider and total basis. This allows you to easily see how each offer provider is performing over time and adjust frequencies as necessary. One thing to keep in mind when you are running these tests is that its best to run the tests in parallel (as opposed to one after another). You also have to run the test long enough because you will typically see a high eCPM rate the first couple of days a provider is added because this brings new fresh offers to your audience that they will quickly take advantage of. However, if you run it for at least a week, you should see that spike fade and get to a more realistic longer term performance. And that's pretty much all there is to it! Sometrics provides a quick and easy way to perform your testing.

The Sometrics Virtual Currency Manager, however, is not without its issues. It's still clearly a beta product on an early rev. For example, the dashboard doesn't automatically show you the eCPM calculation, leaving you to calculate it yourself. However, given than the target optimization metric is eCPM, this is something that should definitely be built in. In addition, Sometrics has a poor solution for allowing you to specify per country rotation ratios. You may, for example, find that one provider is working better than another provider in a certain country and wish to give the better provider a higher rotation frequency in that country. While Sometrics does provide a facility to do that, its needlessly complex to setup and requires too much configuration.

All in all though I would still recommend it as the Sometrics team assures me these issues will be addressed over time, its the best solution on the market, and in many cases will win in a cost\benefit analysis of building it yourself.

Drivers of eCPM Lift
After spending several months testing and optimizing offers, I started to formulate thoughts on the drivers of eCPM lift. I've cataloged these drivers in prioritized order in terms of greatest resulting effect on eCPMs.

Negotiated Rev Share. The most important driver of eCPM lift turned out to be not product related at all. It was simply your ability to negotiate a better revenue split between you and the offer provider. I've seen the split be anywhere from 50 - 90% net to publisher. By running a performance test across multiple providers, it puts you in a much better position to negotiate higher payouts from each of the providers who are looking to win your business.

Direct Payment Options. While the percentage of completed offers coming from direct payments may not be that high, the total revenue coming from direct payments tends to be fairly meaningful. Thus the number and quality of available options has a material effect on eCPMs. It's important to look at both credit card providers (Paypal, direct credit cards, etc) as well as mobile providers (Zong, Mobillcash, Paymo).

Front Page Offer Optimization. While it turns out that a lot of the offer providers in the end have a lot of the same offers, most users will never see the bulk of offers. Most users only see the first page offers or the first page of each categorized section of offers (free, popular, mobile, etc). Because of this, its very important that the offers shown on the front page are appropriately targeted and fresh. Some offer providers are much better and much more sophisticated at this than others.

Offer Wall Latency. We've had issues with some offer providers that had latency issues with loading their iframe. Users on social networks are jumpy and will quickly bounce if the offers don't show up immediately. This resulted in significant loss in eCPMs for certain providers. Just as Amazon and Google have found, latency costs real dollars.

International Offers. The mix of offers available for the countries that your users are in is important. This is an obvious one. The thing that is somewhat surprising is how low this is on the list of drivers. There are definitely noticeable differences in the number of available offers on a per country basis between offer providers. But it turns out that all international monetization is often a fraction of US monetization. Thus even significant percentage increases in international monetization ends up being much less meaningful on a total revenue basis. This obviously depends on your mix of international countries and thus your mileage may vary.

Offer Landing Page. There are ways of enhancing the completion rates of offers (which tend to be very low). One enhancement that some offer providers did is put the resulting landing page for a specific offer in an iframe and place a small toolbar at the top explaining exactly what needs to be done to complete the offer. I saw a meaningful increase in offer completion rates from offer providers that did this.

I hope that provides some valuable techniques for optimizing your own virtual currency offer and direct payment providers. Check out my related posts below for more thoughts on the space.

Related Posts

March 09, 10:18 PM

While I am a big believer that entrepreneurs should spend the majority of their time focusing on getting a quality product to market, one piece of overhead that should never be overlooked is incorporating or forming an LLC prior to product launch. To some this is obvious. Of course you setup your corporate structure before anything else. But to hackers and hobby programmers this may not be their first instinct. Sometimes you have a hobby website that just starts taking off and you never planned on it being a real business. But then it starts to become one and you may not have the protections incorporation affords.

Take a look at this recent case, EMI vs. Seeqpod. This case has received a lot of press lately not only for the fact that EMI has joined Warner in suing Seeqpod, but EMI went so far as to sue Ryan Sit, creator of Favtape, for simply using the Seeqpod API. This case has huge implications for mashups across the web because it then potentially holds all mashup developers liable for potential infringement due to their use of third party APIs.



Many saw this case as particularly nasty of EMI because they sued Ryan Sit, the developer of Favtape, himself. Since Ryan Sit was named directly as a defendant, all his personal assets are now potentially at stake in this law suit. It's an unfortunate turn of events given that Ryan built Favtape simply as a side project outside of his day job. But what isn't evident from the press is whether Ryan ever incorporated or formed an LLC around Favtape in the first place. The site nor the parent company Freestyle Labs show any indication on their sites of being incorporated, which could suggest the company may likely be simply a Sole Proprietorship.

Regardless of what the specifics of the Favtape case end up being, the point is that it is important for every entrepreneur to protect himself by forming either a corporation or an LLC, which affords limited liability protection to the entrepreneur. While sole proprietorships and partnerships are the easiest corporate structures to form, I would highly discourage them since they provide no such protections.

Even among the corporate structures that do provide limited liability protection, one must still decide between forming an LLC, C-Corp, or S-Corp. Out of the three, an LLC is the easiest and cheapest to form. It simply requires an $80 filing fee, a few corporate documents, and paying the annual $800 minimum tax. You can even use services like MyCorporation to come up with and file the documents for you for a nominal fee. So I would suggest that at the very least, you do this.

However, there are many cases where a C-Corp or S-Corp is a much better fit. If you intend to take any outside money at all, you will very likely be required to form a corporation and thus its better to directly incorporate (though you can convert an LLC to a corporation when required). Incorporation is more involved, requires more organizational maintenance, and is more expensive. It can run anywhere from hundreds to upwards of ten thousand dollars to setup everything correctly and maintain it. It is best to work with an experienced corporate lawyer to ensure it is set up appropriately.

I am by no means a lawyer and am not qualified to recommend a specific corporate structure. All I am suggesting though is that you please protect yourself and make sure to incorporate or form an LLC prior to launching your product to ensure that you are not one of the victims in this highly litigious country of ours!

March 06, 12:02 PM

Before moving on to a new phase in my career, I always like to reflect on the previous experience and put together key takeaways that I can leverage in the next opportunity.

It's that time again as this past Wednesday was my last day at imeem. As some of you know, imeem acquired Anywhere.FM at the end of 2007. Since then I've helped to migrate Anywhere.FM, develop the imeem Media Platform, and contribute to a variety of monetization projects. But now I'm eager to move on to the next adventure :)

Since I have a blog this time around, I thought I would share my lessons learned from imeem with all of you.

Content Matters. Having interesting or exclusive content is a great source of traffic. imeem's decision to allow user uploaded content has definitely helped it obtain valuable SEO for hard to find tracks. People who really want access to a specific song will go wherever they need to in order to find it. imeem's ability to get exclusive content like the Britney Spears' Circus pre-release album definitely resulted in a nice bump in traffic as well.

Creating a Community. While many people would say developing a web 2.0 UGC site is easy because users contribute significant content, it's actually a lot of work to harvest the desired community. It requires staff to police user-contributed content, answer questions\moderate forums, contribute\manage editorial content, encourage appropriate behavior, and so on. In order to scale, it's important to automate as much as possible and allow users to help manage the community themselves.

Conversion Funnel Optimization. Don't underestimate drop-off rates resulting from adding an extra click in a flow. There are lots of flows that can be optimized simply by removing extraneous pages or reducing non-essential exit paths. It's worth re-looking at all your important conversion funnels to see if you can further optimize (sign up, contributing UGC, sharing, purchase events, premium account sign up, etc).

A/B Testing. Everyone knows that A/B testing is a good idea and they should do it. Yet still so few people do. And why is that? It's because A/B testing is hard and the tools often used to perform it are limited. However, if you take the time to either build or use an existing great A/B testing framework, the cost of A/B testing goes down significantly and becomes easier to do on a regular basis. Investing in A/B testing tools is hugely useful, especially for optimizing monetization for sites where small gains have huge effects due to volume. (There's likely a startup opportunity to provide better A/B testing tools that let you look at the full effect of variations over time).

Widgets. While allowing widgets to be embedded on third party sites significantly extends your reach and can be a huge opportunity for building your brand, the amount of traffic that converts to destination site users is often minimal and the ability to monetize widget traffic is still dismal. When developing widgets, one needs to think very carefully about the actual benefits for the site and exactly how much functionality to expose in the widgets versus reserving for only the destination site.

Using an API Internally. Building an external API is a great discipline for even improving the quality of internal API methods. It forces you to think through good design, re-usability, and creating common usage metaphors. All things you should be thinking about for internal APIs. Speed to market for imeem's own apps has significantly increased with the creation of our external APIs. The audio and video flash players, the imeem Uploader, the VIP player, MySpace\Hi5 apps, and the mobile app were all built on top of these APIs.

Evangelizing a Platform. While getting large well-known companies to use your developer platform provides great case studies that will help you convince other developers to jump on board, you have to trade this off with the fact that large companies take a long time to decide whether to engage as well as a long time to build. For each large integration, you could probably get 3-5 small integrations up and running.

Focus on Monetization. Very few music startups have focused on monetization. There is still a lot of novel business models that should be tried in the music space. Instead startups have focused on building compelling products without much care to the business model. There is room for innovation in the music space if people are willing to tinker with music business models as well.

Competing with Free. It's very difficult to compete with free. Users have come to expect free music streaming from the days of Napster and BitTorrent. And now there are plenty of free music streaming services (either illegal or legally ad-supported) and continue to propel user's expectation to pay nothing for music consumption. It's very difficult to aggressively advertise or charge users without fear of user's flocking to the competition, which just gives it all away. The one nice thing about the recession is that it has forced imeem's competitors to more aggressively monetize in order to stay afloat\get funding and therefore allows imeem to follow suit without fear of losing traffic.

Media and Entertainment Monetization. It's tough to monetize media and entertainment properties through advertising, lead gen, or affiliate revenue. This is because users are there for socializing and consuming content and have very little purchase intent. While they do share a vertical interest in music, associated music commerce opportunities are limited either because of the small margin the publisher gets working with partners for digital downloads and ringtones or because the providers for concert tickets and merchandise are still not aggregated well or lack established affiliate programs. (There's likely another startup opportunity in an aggregated music merchandise storefront and affiliate program).

Direct Sales. Having a direct sales team is expensive. Not only do you need sales reps, but you need sales planning support, post sales production support, and trafficking support. It may make more sense to outsource direct sales to rep firms in the early days of a startup's life.

International Monetization. It's very difficult to monetize traffic outside of the US and a few key markets (UK, Canada, etc). Ad spend in most other countries is still very low since their online ad markets are still nascent. Oftentimes it is probably a better use of time trying to improve US monetization or trying to attract additional US traffic as opposed to trying to optimize international monetization. (I smell a startup opportunity for anyone who can crack international monetization).

Users Willingness to Pay. I was surprised that users are actually willing to pay for online services. Obviously conversion rates are very very low. But it was surprising to me to learn that people were willing to pay at all - anywhere from $3/mo - $100/year for imeem's VIP subscription service. The features were really around convenience. Not even access to content. People will pay for quality products.

Online Audio Ads. Online audio ads are a promising area for innovation and monetization. There is still $21B being spent on offline audio ads and there is clearly an opportunity to move some of those dollars online. No one is aggressively innovating with the right ad unit. Most are simply re-purposing offline audio ads online.

Incentivized CPA Offers. Incentivized CPA offers can be used to monetize a variety of digital goods even outside of the social gaming space. However, the highest eCPMs seen thus far are still in their use in social gaming.

Music Licensing. It's very difficult to get on-demand streaming deals done with all four major labels. And this doesn't even include indie content. Even if you get the deals, you are looking at a large upfront payment to each label, giving up equity, plus a rev share or per-stream fee. The labels have not been looking to give the deals to everyone either, instead focusing on making some large bets.

Value of Data. Every site of any interesting size has a wealth of data. It's important to know exactly what data is tracked and available and to mine it wherever appropriate. All too often this valuable data goes unleveraged. On the other extreme, many believe that the ultimate business model lies in selling data. For those who believe this though, I think it's tougher than one thinks to monetize data itself. But there are many valuable insights that can be gained by mining it for product improvements and getting a better insight into your audience.

Don't Believe Everything You Read. It's interesting being on the inside of a large web property with many eyes watching it. Since I had the inside scoop, I knew that many times imeem was written about, the reporters simply got it wrong. Either because of misinformation, not really understanding the service, or some rumor that someone else started. Because of this, I've become much more critical of what I read online in the tech press and look much more closely at their stated sources of information.

February 26, 04:57 PM

I'm often asked about my Y Combinator experience so I thought I would take the time to blog about it. I did Y Combinator the Summer of 2007 in Boston with two awesome co-founders. We built Anywhere.FM, a web music player that brought an iTunes-like experience to the web, and eventually sold it to imeem.

So what is Y Combinator? Y Combinator is a new kind of seed stage venture firm. While they provide financing and advice like all venture investors, their model for doing so is very different. They give small amounts of cash (
I would break down the value of the Y Combinator experience into four main benefits: jump starting the startup process, access to a fraternity of entrepreneurs, investor day, and funding.

Jump Start the Startup Process
Starting a company is a lot of work and a lot of very important decisions need to be made early on. Who do you pick as co-founders? How should you set up vesting schedules? What corporate structure is best? How do you assign board seats? How much money should you raise? What do you focus on early on?

Y Combinator not only provides a solid battle-tested structure for setting up your startup, but also gives tons of advice on how to succeed at your startup. The advice comes from a variety of speakers that Y Combinator bring ins. This included people like Langley Steinart, founder of TripAdvisor, who shared incredible advice on getting deals with partners and having a strong hand in investor meetings. Greg McAdoo, venture capitalist at Sequoia, also came in to provide us a complete inside look into the VC funding process. And Paul Buchheit, creator of Gmail, provided a ton of valuable lessons learned from the early days at Google and how to build a product to tens of millions of users. It's these kinds of high quality speakers that YC is able to attract that would be difficult to have access to on your own.

Fraternity of Entrepreneurs
One of the most remarkable phenomenons is the bond that is created between fellow entrepreneurs who have gone through a shared experience of trying to make something people want. What results is a fraternity of startup founders. This fraternity extends beyond your own class of YC startups to the entire alumni network of YC startup graduates.

This strong network is accessible each and every day for founders to get advice ranging from who is the best hosting provider, to evaluating deal terms, to making intros, and more. I've never met a group of people more willing to help you out. For those new to the startup community, there is no easier way to get assimilated.

Investor Day
The culminating Investor Day is by far one of the most valuable aspects of the YC program. In one or two days, you get access to an unbelievable number of top notch investors that are eager to hear your pitch. Due to early YC success stories, including Reddit, Loopt, Xobni, and Zenter, YC has been able to attract an incredible line-up of VCs who come out every batch in search of the next big thing. These investors span the entire range of angels to VCs looking to make small to large investments in a variety of tech startups.

Funding
While the funding is an important benefit, I believe it is actually the least important of the above mentioned benefits. YC only invests a very small amount of money, which is really just enough to help you cover basic expenses during the three month project. It's not difficult to scrap this kind of money together on your own. So if you evaluate Y Combinator purely as a funding source, there are many other options out there. But the real value of YC comes from the funding combined with all the other more important benefits.

My overall assessment is that Y Combinator is an amazing program for a young first time entrepreneur who is serious about jump starting the entrepreneurial experience with the advice and guidance of a strong network of fellow entrepreneurs and successful investors.

A whole class of Y Combinator style seed stage venture firms have cropped up due to Y Combinator's success. They typically offer a similar program in a different city. These range anywhere from TechStars in Boulder\Boston, LaunchBox Digital in Washington DC, DreamIt Ventures in Philadelphia, Shotput Ventures in Atlanta, or Seedcamp in Europe. My advice though is if you are serious about starting a company, I would highly encourage you to get to Silicon Valley, as its a night and day difference between starting your company in the heart of technology innovation as compared to the outskirts.

So what are you waiting for? Go ahead and apply. The deadline is March 18 :)

February 19, 07:01 PM

Despite the over 200 music startups that launched in 2008, I am disappointed with the lack of startup innovation in the space. While many of them definitely nailed building something people want, most failed to make something people will buy. When developing a startup, figuring out a viable business model is as important as producing a compelling product. And unfortunately there was little in the way of innovation in business models in the music space.

This is an even more pronounced issue in music, where content licenses are owned by an oligopoly of four highly litigious record labels. The labels have been eager to shut down or sue a variety of music startups, including Muxtape, Songbeat, Seeqpod, Project Playlist, and others. Yet what the labels are struggling most with is recouping lost revenue from the 45% drop in CD sales since their peak in 2000. What they are most desperate for is not a large settlement, but a new sustainable revenue stream. What they need are startup partners seeking to help them generate new commercial value with their content and through relationships between artists and fans.

There are a few notable exceptions who did focus on business model innovation. LaLa, for one, introduced a new a la carte on-demand streaming pricing model, charging users 10 cents per track for unlimited on-demand streaming. Sure one could argue that there are already too many free alternatives for on-demand streaming and thus there is a significant uphill battle for LaLa to gain traction. But LaLa is focusing on trying to build a compelling enough user experience with a clean playback experience that would be worth paying for. And at the same time, it's still to be seen whether the existing fully ad-supported music streaming services are going to be profitable businesses. To be sure, LaLa is far from a success, but at least it went out on a limb and tried something new.

However, the most interesting potential bright spot in online music monetization is monetizing time spent listening through online audio ads. While the online audio ad market is still nascent, the offline radio advertising market is still a $21B industry. The time is now for these dollars to move online in a meaningful away.

There have been various attempts at developing the online audio advertising space to date. Unfortunately early attempts were limited in success. Some have tried to bring the same offline radio ad spots from broadcast radio to online music streaming services. These are your typical 30-60 second national brand ads, like Geico car insurance ads. The attractiveness of this format is that it is much easier to convince ad agencies to take their existing audio creative and do a test buy online. For broadcast agencies, it is exciting to finally have access to actual impression data. To them it is a novel concept to actually know exactly how many people viewed their ad spots, since in the offline world much of the metrics are based on sampling. Yet this traditional radio ad format is completely inappropriate to the web world, where oftentimes users choose to move to online music services to get away from these long obnoxious ads.

What is needed in the online music space is an entirely new audio ad format that is appropriate for the medium. Just as how the online video space has developed its own unique format - the video ticker overlay ad unit - a similar new ad format needs to be developed to adjust to user behavior and expectations regarding online music.

And that's exactly what we are finally starting to see happen. imeem, for one, is serving a unique 5-8 second audio ad spot at a low frequency with a companion medium rectangle (300x250) banner that takes over the player during ad playback. Pandora just introduced 15 second audio ad spots with an initial frequency of one spot every 2 hours. TrueAnthem has developed an 8 second audio spot with a companion banner played at a frequency of once per session. Jingle Networks, which provides a free 411 voice service, has been serving 10-12 second audio spots from both national advertisers and geo-targeted local advertisers. They have had no trouble filling their inventory and have even launched a complete voice ad network to allow the insertion of in-call audio ads for other services.

There are several existing online audio ad networks already out there, including Ronning Lipset Radio and TargetSpot, which recently merged to create the largest online audio network. Unfortunately a lot of the units they carry tend to be the longer more traditional 30 second ads. This month Google announced that they would be shutting down their broadcast radio advertising business that Google has pursued since its acquisition of dMarc Broadcasting in 2006. While many picked up on that news, I think the most interesting piece is that Google also said that they are going to now actively pursue online streaming audio ads. I'm excited to see Google enter this space and I hope they bring with them advertisers willing to try shorter and more innovative formats, even if it means Google or someone else taking on the challenge of producing this new custom audio creative. This is exactly what VideoEgg had to do in the early days to get advertisers to embrace the video ticker overlay.

Early data suggests that in-stream audio ads have higher CTRs and greater brand recall than traditional online banner ads and can be minimally detrimental to site usage when done tastefully with shorter audio spots at low frequencies. Instead of seeing yet another slick AJAX interface for creating and sharing music playlists, we need more entrepreneurs to optimize the audio ad format to figure out the right set of parameters to make this work. Whoever does that may be able save the music industry and line their pockets all at once.

February 15, 12:49 PM

So are you thinking about adding a virtual economy to your app or website? The great news is there are a variety of startups out there waiting to help you!

Incentivized CPA Offers and Direct Payments
Over the last two years more than a half dozen partners have emerged to supply publishers with offers and direct payment options to fuel cash flows into their virtual economy. Most partners in the space offer both a set of direct payment options as well as a large selection of offers.

When deciding on partners to integrate with, there are a variety of considerations to think about. Each partner offers a different revenue share, so its important to negotiate to ensure you are getting the lion share of the revenue. I have seen the rev split be anywhere from 50% - 90% net to the publisher. Keep in mind that it may make sense to separate the rev split for offers vs. direct payments, as its often very easy for a publisher to sign up direct payment providers like PayPal, Amazon, Zong, etc themselves and as such, the offer providers aren't justified in taking much of an additional cut on the transaction.

Another very important consideration is the breadth of offers that are available from the provider. Providers have a mix of both hard offers (requiring a credit card or purchase) and soft offers. You want to make sure that your partners have a diverse mix both in terms of types of offers but especially in terms of availability of offers per country. You'll find that some partners are stronger in certain international countries than others. In general though you should expect international monetization to be significantly lower than the US, as availability of offers are limited outside of the large ad markets (US, UK, Canada, etc).

When it comes to direct payments, the direct payment options and country coverage are both very important. Most partners integrate with PayPal or other credit card options as well as mobile payment options. The mobile payments space is still nascent and no one yet has coverage of mobile payments in all countries. So you'll want to ensure the partner you go with has mobile payment coverage in the countries that are most important to you.

Let's take a look at the players in this space:



Offerpal Media, founded in June 2007, is the most well known managed offer provider, supporting 2.5 million completed offers per month across hundreds of apps and websites. Offerpal is a full service provider, offering a variety of direct payment options (Paypal, Amazon, Mobillcash, and Ultimate Game Card) as well as a diverse selection of offers.

Offerpal makes it easy for any publisher to integrate, offering a complete self service platform as well as a dedicated business development and technical staff ready to assist you in your implementation. Offerpal has also sought to establish thought leadership in the space, putting together great articles for publishers as well as events to help publishers learn from each other's success.



Super Rewards is definitely Offerpal's fiercest competitor, launching their product publicly in December 2007. They are aggressive about winning your business and have obtained a lot of high profile Facebook and MySpace applications on their platform. They are definitely worth a look.



Gambit is a fairly new entrant in the space. Built by a group of developers who originally used the technology to monetize their own Facebook sports related applications, they have recently made the same technology available to any third party application.

Being small gives them the agility to innovate on a daily basis. I've made suggestions to them to improve their offering and have been amazed to see them implemented immediately and carefully tuned to optimize conversions. I've already seen their eCPMs start to surpass that of the more established players.



Most offer providers obtain their offers from large CPA ad networks. Several of these CPA ad networks realized that they themselves could get into the business of providing a managed offer product. PayBuyPartner is one such product brought to you by CPA Storm.

The attractiveness of working with them is that it cuts out a middleman which should theoretically result in higher returns. However, they are focused on both offer acquisition as well as offer optimization, which may spread their efforts thin.



SocialCash is another offer provider built by Gratis Internet, one of the largest CPA ad networks. Gratis Internet was even the CPA ad network that brought us the most notorious of incentivized cpa offers: free ipods!

However, they have recently launched a new ad product called Headliners, which has resulted in them de-emphasizing their virtual currency PointCash product. While SocialCash may make sense if you are interested in offers in international countries where they are strong, I would suggest avoiding them as a general solution as they will likely no longer be innovating on this product.



TrialPay, founded in 2006, has a long history of providing qualified offers from prominent merchants. With the growth of virtual currencies, TrialPay has adapted their system to work in the virtual currency environment. There solution isn't quite as plug-and-play as some of the others, but definitely worth looking at for their offer selection.



Peanut Labs originally built Xuqa, a social network that has taken off in Turkey. When ads weren't working, Xuqa introduced a successful virtual currency called peanuts. Peanut Labs is now offering this same monetization platform to third party developers.

Peanut Labs specializes in quality market research surveys, which are often the best type of soft offer. Peanut Labs also has built an impressive selection of direct payment options that differentiates them from other players in the space.

Offer Provider Optimization
Given that there are already so many different offer providers and more coming, a solution is needed to easily A/B test them to select which work best for your site in each country. This should be done for both offers and direct payment options. Since every offer provider will tell you that they are confident they are better than their competition, the only way to know for sure is to test and find out!



Sometrics is the first to build a virtual currency manager product that makes it easy to test multiple offer providers and specify rotation ratios for each provider. They have done a good job encouraging developers to get the most out of offer providers. This product is still in its infancy and not without its limitations, but its a great start at a product specifically designed to address this very real need.

I hope to see others enter this emerging space.

Virtual Economy Optimization
In addition to optimizing the offers and direct payment options, its important for publishers to carefully monitor and tune their virtual economy. For example, a publisher needs to look at available sources (ways of acquiring currency) and sinks (ways of spending currency) to ensure they are appropriately balanced. By graphing currency acquired and currency spent over time, a publisher can ensure that the graphs are aligned. If, for example, the currency spent dips compared to currency acquired, a publisher needs to introduce new valuable virtual items available for purchase or generally increase the price of their goods to keep their users hungry for currency.



SocialGold by Jambool is a great virtual currency analytics product to help you easily monitor your virtual economy, study price elasticity, and generally tune your virtual currency. Through simple instrumentation of your application, you get access to easily understandable graphs and tables overviewing the performance of your economy. In addition, SocialGold provides a wide selection of direct payment options across both credit card and mobile alternatives. Definitely worth checking out as well.

Additional Opportunities
Beyond these existing startups, there are still additional opportunities for startups to build tools to help support the virtual currency ecosystem. With the continued growth in both usage and revenue from social games and virtual economies it's a valuable startup opportunity.

One area ripe for innovation is merchandising of virtual items in social games. Every social game has some form of store where users can spend their virtual goods. This has effectively made every social game an etailer. However, social game developers are not well versed in the best ways to merchandise items in their storefront, on deciding how to feature the most valuable items, on suggesting related items, managing shopping costs, order histories, etc. And it's not necessarily something developers want to focus on when there is enough to deal with in developing the core game mechanics of their experience. It provides an opportunity for a partner to provide expertise in retail to the social games arena.

I expect in 2009 we will see continued growth throughout the virtual currency ecosystem. Got a new product in this space? Let me know!

February 04, 11:25 PM

2008 saw an explosion in virtual currencies and their associated virtual goods all across the internet. With Facebook social game Mob Wars suspected of making a million dollars a month and Zynga rumored to have made $50 million in revenue in 2008 off of its social and iPhone games, companies are seeing real revenue from this burgeoning monetization model. Even other indie social game developers like Mobsters and Lil Green Patch who also monetize virtual currencies have seen huge success with 13M users on MySpace and 5.9M monthly active users on Facebook, respectively. To top it off, over $580 million was invested in virtual goods related startups in 2008.

While social games is the newest category of apps monetizing virtual currencies, MMOs like World of Warcraft and Second Life have had vibrant virtual economics for years. In addition, casual MMos like Gaia Online, Habbo, and IMVU have also built thriving currencies.

Yet the most recent trend that is fascinating to me is the incorporation of virtual currencies in non-gaming sites. As growth in the online advertising market continues to deteriorate, sites are seeking alternate forms of monetization to wane their dependence off ads. Many eye the robust gaming virtual currency revenue stream and are eager to expand its success into non-gaming environments. With Facebook itself estimated to have made $30-$40 million from its virtual gifts, many others hope to imitate and expand upon such early success.

Given this, I decided to put together a quick case study of five of the most interesting virtual currencies in non-gaming sites today.



myYearbook, a teen oriented social network founded by two high school students in 2005 with now over 4.4M US uniques, is a popular destination for socializing, meeting new people, and entertaining yourself.

myYearbook has incorporated their "lunch money" virtual currency into every aspect of their experience. Even when a new user first creates an account, they are awarded lunch money for simply uploading a profile picture and inviting their friends to join. Wherever possible, myYearbook attempts to offer you additional lunch money for additional activity across the site. By getting high scores in flash games on the site, you are awarded lunch money. For winning popularity battles, you are granted additional lunch money. myYearbook has even built their own rendition of Friends for Sale called Owned. Users acquire points through the game but also spend points to purchase their friends. You can also acquire points through various offers as well as direct payment options ranging from credit card, to mobile payments, to PayPal.

Once you have acquired lunch money, you have a variety of ways to spend your currency. In addition to buying your friends in the Owned game, you can purchase additional top friends slots to showcase your friends on your profile. You can also purchase a pimped out mp3 player and more songs for your playlist. Or battle super votes to ensure you win battles or support your friends. They have even built a Causes application, allowing you to contribute lunch money toward world causes like hunger, global warning, save the rain forest, and more. myYearbook then converts your contributed lunch money into hard cash that they contribute to the appropriate charities.



Heysan is a mobile web-based IM aggregator allowing users to easily connect to MSN, AIM, ICQ, Yahoo, and Gtalk on the go from their phone.

Similar to myYearbook, Heysan initially offers up "coins" for simply joining the service and inviting your friends. Heysan also provides additional coins for performing actions on the site that they want to encourage, including daily sign-in, validating your phone number for SMS notifications, or filling out your profile. You can also get additional coins through various offers and direct payments.

What's cool about Heysan is how you can spend your coins. They can be used to get exclusive emoticons, new buddy icons, wallpapers, photo backgrounds, background colors, profile font colors, friend gifts, feature profiles, and more.



Scrapblog is the easiest way to create stunning multimedia online and print scrap books. With over 2 million registered users, media partnerships with Disney, Discovery, and Photobucket, and a newly raised round of $4 million, Scrapblog is poised for success.

Scrapblog has traditionally monetized through printing and sponsored promotions. However, they have recently introduced the Scrapblog Marketplace, which allows you to purchase premium content for your scrap book with Scrapbook "credits" that are purchased with a credit card.

These credits are used to purchase anything from new backgrounds to specially made stickers for your scrapblog. A variety of premium designers have put together an expansive selection of exclusive content for your scrap booking needs.



Dogster is the premier social network for a man's best friend. Showcase your own animal, browse your friends dogs, and check out the half a million dogs already captured on the site.

Dogster has monetized through advertising sold through their own direct sales team targeting the $42B pet industry as well as a premium subscription service for $20/year that provides benefits including the ability to upload more pictures, photo captions, ad-free browsing, and more.

In addition, Dogster has monetized through its own virtual currency, known as zealies. Dogster provides a variety of free ways to acquire zealies. You get some when you join. If you give them more info about yourself, they'll award you more. Sometimes you get them from games and other times they give them away for holidays. They try to rotate a variety of free ways of acquiring zealies. You can also acquire zealies by purchasing them at a rate of 20 zealies for $5 through Paypal. Users can additionally get monthly zealies through the paid subscription service.

Zealies are then used to purchase a variety of gifts for dogs across the site. Gifts include rosettes, which are one-month lasting ribbons you can give to your favorite dogs to recognize them. Then there are a variety of holiday related gifts. They even have sponsored gifts, including a recent Febreeze branded collar that was given away for free and paid for by the advertiser.



Mahalo recently launched Mahalo Answers, a Q&A service similar to Yahoo and Google Answers.

The interesting twist for this service is that besides users answering questions for free, the question asker can also offers Mahalo Dollars to the best answerer. This Mahalo Dollars virtual currency can be funded through PayPal. The question asker then awards the tip to the best answer. The users who receive Mahalo Dollars can convert it back to real cash after they reach a minimum amount of tips and after Mahalo takes it 25% cut.

Mahalo has also created a points system, allowing people to acquire points for answering questions well and adding friends. As a user acquires points, they progress through multiple belt levels, with higher belts designating that you are more of an expert in the community.

Resources

January 31, 12:05 AM
Silicon Alley Insider recently announced The Create a Twitter Revenue Model contest. I decided to throw together an entry and today SAI has picked it as one of the finalists. So I thought I would write a blog post summarizing my submission.

Thinking about business models for Twitter is always a fun exercise. I see Twitter as the epitome of web 2.0 - a sticky communication app with few differentiated user segments, minimal expressed interest, and no purchase intent. I always joke that if you can successfully monetize Twitter, then you can monetize anything :)

There are many different ways to think about monetizing Twitter. The ones that have been frequently discussed include a freemium subscription plan for power users or commercial users, inserting sponsored ads as tweets, or other forms of advertising. While these may eventually be successful strategies for Twitter, I decided to take a different approach.

Obviously today Twitter is not monetizing and therefore has no revenue. Yet the interesting thing is the Twitter ecosystem is definitely monetizing. We have desktop clients like Twitterriffic ($14.95) and Blogo ($25). We have a variety of iPhone clients available, including Tweetie ($2.99), Summizer ($2.99), Twittelator Pro ($4.99), and Tweetsville ($3.99). In addition, there are several companies already inserting ads as Tweets, including Twittad and Be-a-Magpie. The ecosystem has already seen StockTwits and TweetDeck raise funding and two acquisitions with Summize and Twhirl.

My approach to revenue then is for Twitter to monetize the channel that is already generating revenue for the ecosystem by monetizing the Twitter API that all these applications are built on top of. By introducing a premium Twitter Developer Program, Twitter can start to share in and encourage the profits that third party developers are making on top of the Twitter platform.

There have already been a variety of successfully monetized APIs, including:

Microsoft Parter Program & Certified for Windows
Microsoft has always had a long tradition of providing a partner program offering to developers who build on their various platforms. These programs provide developer tools, marketing support, and access to premium support. In addition, the Certified for Windows program charges every app for this badge that ensures customer trust.

PayPal Developer Central
PayPal's API for third party publishers to accept transactons and payments monetizes every transaction by taking a variable percentage.

iPhone Developer Program
Apple requires all developers that want to publish to the App Store to join the iPhone Developer Program. At $99-$299 per developer with over 15K applications, that's a several million dollar opportunity.

Facebook Platform's Application Verification Program
Facebook Platform’s Application Verification Program provides developers with a badge to encourage user trust of the app, increased distribution allocations for all viral channels, and an advertising credit. At $375/app/yr and over 48K apps, that’s tens of millions in annual revenue.

What would a Twitter Developer Program look like? Here are the suggested program benefits:


BenefitDetails
Commercial UseOnly applications that have registered for the developer program will be allowed to use the Twitter API for commercial use (ex: charging for your app, advertising in your app). Non-commercial use will always be free.
Twitter App DirectoryAs part of launching this program, Twitter will launch a full app directory that allows any app developer to add their Twitter mashup for easy app discovery by twitter users.

Developer’s who are part of the developer program will be eligible to apply for the certified app program to get a badge to increase trust with users and will also receive premium placement in the app directory.
Increased Rate LimitsDeveloper program participants will have increased client rate limits (currently 100 requests/hr) and developer rate limits (currently 20,000 requests/hr) to improve user and developer experience.
Technical SupportProgram participants will have priority access to developer technical support to support their application development.
Access to Firehose APIA premium developer program will be offered for those key partners that need access to the proverbial “firehose” that gives them access to all non-protected tweets. (This would only be available as part of a higher priced Twitter Developer Program, not in the standard plan).

One thing to be careful of in charging for access to a platform is to ensure that doing so does not stem innovation on the platform. That's why access to the Twitter API should always be available for free for anyone to tinker. This program simply provides value add for those building commercial businesses on top of the platform.

For more details on proposed pricing, size of opportunity, and FAQ, check out the full presentation embedded below:
January 25, 03:59 AM
Y Combinator is famous for its well known motto "Make Something People Want." This very simple statement serves as a guiding principle for a startup, helping to focus it on this core goal early on: to ensure that its product provides compelling value to its target audience. It also de-emphasizes many secondary issues that, while important, are not likely to be an early cause of failure for a startup. I'm a big fan of the motto and use it myself as a quick filter for all the startup ideas I evaluate.

Yet the economic recession that we are in the middle of poses new challenges. While it hit in the financial and real estate sectors first, it is undeniable that it will have a lasting effect on all sectors of our global economy.

For the startup community, the most immediate ramifications have been difficulty in raising funding. Many angel investors have significantly cut back their investing. VC dollars have dropped 33% in Q4 08 alone. And for those who can obtain funding, lower valuations, down rounds, and 3X liquidation preferences are back.

At the same time, consumer confidence is down. Unemployment is at all time highs and only increasing. This has resulted in consumer spending being down across the board. With the drop in spending comes the slashing of advertising budgets.

The days of eyeball companies are also gone. No longer can you hope to build a service, drive significant traffic, and be acquired by one of the tech giants. Google, Microsoft, and Yahoo have all announced layoffs and project closures. Everyone knows that acquisitions in 2009 with be far fewer than those in the previous years.

Despite painting this landscape of doom and gloom, I still believe now is a great time to start a company. It simply requires a tighter lens through which to evaluate startup opportunities. A lens that takes into account the challenges of raising funding and early acquisitions and instead focuses on achieving cash-flow positive, ramen profitability, and self sustainability.

And hence I come to my own corollary to the YC motto: "Make Something People Will Buy".

Let me first address how this relates to the original motto. If you think about what this means, it fully encompasses the original statement. In order to make something people will buy, you first have to make something people want. But now making something people want is a necessary, but insufficient condition. You have to take it to the next level and make something people find compelling enough to buy.

This most definitely makes the issue of business model and monetization a first order problem. Instead of taking the tack that this can be addressed later, it forces you to consider this with the initial problem definition. With this paradigm you'll find yourself, as I do, thinking as much about ARPU and TAM as UX and traction.

Many who first come across this will assume it implies freemium, e-commerce, and subscription business models. And it definitely emphasizes these direct monetization opportunities as well as the now growing virtual currency and virtual goods space. As we won't see much growth in online advertising in 2009, charging your users directly for your service will become a much more popular model. We have already seen Sprout, Jott, and others abandoning their free applications in favor of simply providing their paid products.

Yet I by no means intend for this mantra to rule out indirect methods of monetization. It simply requires that if you do plan on leveraging indirect monetization models, you think through the entire conversion funnel of how your app will eventually result in a purchase event. So instead of simply planning on slapping on text and banner ads on your site from your favorite ad network and monetizing page views, you have to think through exactly how your site aggregates a qualified audience, purchase intent, or vertical interest that can be leveraged for commercial value.

We've seen a lot of innovation in the last 5 years on product, but limited innovation on the monetization front. I hope with the current flight to revenue, quality, and sustainable businesses, we start to see real creativity in the business models and monetization methods that drive web businesses.

I find myself going through the mental exercise to challenge myself to think through how Facebook and Twitter, the stars of 2008, could develop a revolutionary monetization strategy as Google once did with its AdWords and AdSense products. And I'm sure you'll see me writing more on my blog about my thoughts on monetization.

So I challenge you to go forth, try this new lens, and make something people will buy.
January 19, 10:12 AM

The announcement of Facebook Connect in May 2008 brought the next major chapter in the Facebook platform story. After building the first and most successful social networking platform, Facebook decided to expand beyond its own destination to bring the power of the social graph to any third party site.



Facebook Connect promised to deliver on the five following tenants: trusted authentication, real identity, friend linking, dynamic privacy, and social distribution. In the half a year since the announcement, how has Facebook Connect done?

Let's take a closer look at how Facebook Connect has fared on each of these tenants.

Trusted Authentication
Facebook Connect has by far the best authentication and single sign-on solution to date. It wins due to its simple and clear user experience. While Windows Live ID, OpenID, Google Friend Connect, and others have in the past provided single sign-on solutions, none saw significant traction. The most important innovation this time around is a rather simple one: Facebook Connect provides a javascript-based light box sign-in screen on the same page without redirecting the user to a third party site for authentication. In addition, the user simply logs into Facebook from the light box if they aren't already (but who isn't always logged into Facebook these days), and then simply authorizes the app with one click.



It's very satisfying to go to a Connect-enabled site, hit the Connect button, select authorize, and immediately have a presence on a site. No longer is there the friction of deciding whether to go through the hassle of creating an account, setting up a password, and giving away additional personal info just to begin to experience a site's benefits.

Facebook has stated that many sites are already seeing significant success with trusted login:

Some sites that have chosen to include login have already told us that they have seen a two-time or more increase in registrations and 2/3 of users creating accounts via Facebook Connect.

Real Identity
In addition to the sign-on experience, Facebook Connect provides publisher's with rich access to authentic user profile data, including profile picture, real name, birthday, location, relationship status, work history, and much more.

For many small publisher's, users will be much more willing to supply this data to Facebook and not likely to take the time to do so on your own site. Therefore this is a great opportunity for publishers to take advantage of access to this info as well as further simplify their site's registration process.

One important caveat though is you do not get access to a user's email address, which is often one of the most important profile fields during a registration process. Due to privacy and spam concerns, Facebook prevents access to this info. A publisher then has two alternatives. On one hand, a publisher can prompt for an email address outside of the Facebook Connect registration process. While this provides the greatest control, additional profile fields will reduce some of the friction-free benefits of Connect. The alternate approach is to leverage the email methods Facebook provides. For each Facebook Connect authenticated user, you are provided a proxied email address which you can use to email the user. However, this approach does have several constraints. The total number of emails you can send the user is governed by Facebook email limits, thus forcing you to adhere to Facebook messaging constraints. In addition, keep in mind you'll have to prompt the Facebook user with a Facebook permission javascript window to have the user opt-in to email notifications from your application prior to leveraging theproxied email address.



Friend Linking
One of the strongest promises of Facebook Connect is to allow a user to take their social graph with them across the web. As users come to your site and connect through Facebook Connect, they are automatically able to see which of their friends are already on the site and see their activities.

Once you have a decent community of Facebook Connect users, this works quite well. Since you have access to all of a user's friends' Facebook uid's, you can now show activity of friend's already using your service.

The problem though comes initially when you launch a Facebook Connect implementation. If you have a large existing user base that has not yet connected via Facebook Connect, then no friends will show up for a new Facebook Connect user, even if their friends exist on the site using the previous authentication mechanism. To help solve this problem, Facebook provides a publisher the ability to submit hashes of email addresses for all of their existing users to Facebook, so that the publisher can prompt a new Facebook Connect user with an invitation dialog to invite existing users of the site to connect via Facebook Connect so they can share friend connections. While this is a useful feature, it requires double opt-in from both the user and their friends. Many who receive such invites may choose to ignore them, making it difficult to jump start the social graph process with an existing user base. Facebook decided to require the double opt-in to ensure privacy for all Facebook users and avoid some of the issues of the previous Beacon product.



Dynamic Privacy
One tenant Facebook strongly advocates as a real win for Facebook Connect is dynamic privacy. This is an important pillar for Facebook given its previous blunder with Beacon. Users are now in full control, allowing them to choose whether to connect to each site with Facebook Connect, whether to connect existing publisher user accounts with Connect, and the ability to share and un-share profile information with sites and friends.

From a publisher's stand point though, this really just creates implementation limitations. Since all data from Facebook Connect is subject to the Facebook Platform TOS, which limits data caching to 24 hours, a publisher needs to adhere to this restriction and always pull data dynamically from Facebook.

Social Distribution
Facebook Connect also allows users to share their activities back to Facebook in their profile Wall and News Feed. This allows users to share their experiences with your site with their friends and hopefully drive more awareness of your site through Facebook feed channels.

Facebook makes it easy to pop-up a javascript light-box window to allow a user to approve the feed story. It even provides simple options for a full, short, or one-line story, so the user can decide how much they wish to emphasize this activity. While this is an opt-in message (again, correcting their mistakes from Beacon), a user can select to save their preference for this specific activity so future stories can be posted without further approval.



While this is definitely a valuable feature for users who are seeking to make all their activities viewable from Facebook, I wouldn't expect this to generate much traffic to your destination site. In the good days of the Facebook Platform, much of the platform growth was due to viral feed stories, notifications, and invitations. As users began to find these channels considerably spammy , Facebook significantly locked down all of them. These days you rarely see many third party app news stories in the News Feed due such limitations. I expect that right now Facebook is allowing Facebook Connect stories to crop up to encourage publishers and user's to use Facebook Connect, but I suspect over time these will also be constrained. In addition, Facebook has little desire to encourage users to leave Facebook and thus is at odds with ramping up distribution to third party sites.

Conclusion
For small publishers, Facebook Connect is a definitive win for its trusted authentication, real identity, and friend linking capabilities. It makes it easy to "socialize" a website that has classically been a straight content site or niche community by significantly reducing friction.

While Facebook Connect does provide value for large publishers as well, there are key issues that publishers must carefully think through before adopting Connect, including access to an email address, merging their existing social graph with Facebook Connect, dealing with Facebook TOS caching restrictions, and more.

To date we have seen some quick and obvious wins from Facebook Connect, including blog comments and socializing content sites. However I'm still waiting for a truly innovative Facebook Connect implementation that goes beyond basic authentication and friend linking to really take advantage of all that Facebook integration has to offer. Is your site ready to take on my challenge?

Resources
For those getting started with Facebook Connect, check out these resources:

January 16, 12:16 PM

Last year at the SocialMedia Business School I gave a presentation on Media APIs and how they could be leveraged to enhance existing experiences or build entirely new services around freely available media content. Since I have received many follow up questions, I thought I would take the opportunity to expand on the topic.

Media APIs
2008 definitely saw a rise in media APIs across the major media content types with ProgrammableWeb cataloging 38 music, 42 video, and 37 photo APIs.

Photos
In the photo space, Flickr continued its dominance and saw strong growth in the use of its APIs, reaching a record of 704 API calls per second and ranking as ProgrammableWeb's second most popular API (after only Google Maps).

Videos
YouTube finally launched its own video APIs in a big way in March 2008, quickly becoming the default video API of choice. YouTube did a great job with their offering, providing full programmatic access to their video player as well as a chromeless player to allow third party sites to brand the experience and customize the player controls as they saw fit.

Music
2008 also saw a slew of entrants in the music API space, with imeem launching its APIs in March (disclaimer: I manage the imeem APIs), followed by Last.FM API 2.0 in June, Yahoo Music in August, and iLike and MTV in September. Each came with its own strengths, ranging from unlimited on-demand full length streaming, to limitless music-related metadata, to high quality music videos.

In all 3 categories, API providers have offered very complete solutions to recreate the entire site's user experience as well as leverage a lot of the site's underlying infrastructure. Each provide upload APIs to offload the cost of uploading, storing, and serving media content. They each also provide advanced search APIs to programmatically find exactly the content you are looking for as well as full access to associated metadata for every media item.

Media API Mashups
We are already starting to see categories of resulting mashups emerging, including startups seeking to innovate on the browsing, personalization, and social aspects of experiencing media.

Browsing Experience
We saw a variety of startups in 2008 evolving the user experience of browsing and consuming media content. For example, uvLayer created a beautiful and fluid webtop experience for experiencing YouTube and Flickr content.

Personalization Experience
Given the continued media fragmentation and move away from prime time TV towards online content spread across dozens of popular destinations, it has become much more difficult for a consumer to constantly find interesting content to consume. To fill this void, a variety of media aggregation plays have emerged to bring the best of these content sites together and provide recommendations based on your personal tastes. ffwd is one such service that has aggregated videos from many APIs and organized them in personalized channels based on your expressed tastes.

Social Experience
Others have focused exclusively on the social experience of sharing and discovering media with your friends. Slide has spent a lot of its effort on this, with the integration of premium video into FunSpace and premium music into Top Friends.

API Cost
All the major API providers have decided to provide their APIs for free to developers and hope to monetize through advertising within the media playback experience or indirectly monetize through driving traffic to their destination sites. This is good news for entrepreneurs looking to take advantage of these APIs.

However, I suspect with the flight towards revenue for many technology companies in 2009, entrepreneurs leveraging the media content should expect significant advertising in all syndicated media.

Licensing Limitations
It's not all good news though when it comes to media APIs. Some have very serious licensing limitations that can have significant implications on a startup that is built completely on top of them.

The limitations range from caps on number of API calls, to explicit language preventing building products that compete in any way with the API provider, to the ability to force you into a rev share agreement at a later date. So read the terms of use of each of the APIs carefully before embarking on an integration.

Monetization
The most serious limitations that some API providers have are those around commercial use. This limits your ability to monetize the service that leverages the third party content. Some prevent it outright whereas others have severe limitations on how and when you can monetize the content. Keep in mind as well that the content provider typically reserves the right to advertise in the media itself (instream audio or video pre-rolls\overlays typically). This also limits your own ability to command high CPMs from brand advertisers on media pages as you cannot ensure you can command 100% share of voice for the advertisers.


I hope this provides a more detailed overview for anyone thinking about leveraging media APIs in their next application. Embedded below are the slides from the original presentation.

Intro To Media APIs
View SlideShare presentation or Upload your own. (tags: media api)
January 12, 02:35 AM

The most exciting news out of CES 2009 was the Palm announcement of the Palm Pre, webOS, and Palm Mojo Application Framework.

Palm to my surprise has reinvented itself and gotten back into the smartphone game with the release of the sexy Palm Pre device and new webOS operating system. Early indications suggests it should be in the same consideration set as Apple iPhone, Android G1, and Blackberry Storm. Yet the most innovative news of this announcement was the new Palm Mojo Application Framework.

Only several weeks ago I was having a conversation with one of my colleagues about the double-edged sword of open native mobile platforms. While the opening up and associated app stores have created a lot of opportunities for developers, they have also required developers to learn many disparate development platforms for each and every device. Sure Android should make it simpler to port apps across supported devices, but I suspect it will go the ways of OpenSocial in that it won't bring the promise of write once\run everywhere, but instead the philosophy of learn once and then simply minimize cost of porting to anywhere.

In the desktop world we have just gone through a revolution where we have moved many apps away from native Mac, Windows, and Linux applications to a web world where we build cross-browser and cross-OS experiences. And we are continuing to encourage the revolution with even more powerful browsers like Firefox and now Google Chrome.

I am eager to skip the pain of native proprietary platform mobile client apps and jump right to a world of mobile web browser based applications with cross-device javascript libraries to provide hooks into the native operating systems. Of course the typical criticism of browser based mobile apps today is that they can't take advantage of many of the benefits of the native device, including location based services, address book, local cache and offline data access, and native UI components and gestures. Yet these are all solvable problems by simply having each of the popular platforms exposing javascript APIs for each of these components. Joe Hewitt's early work on iUI shows just how powerful the existing iPhone Safari browser already is in allowing you to recreate full fidelity iPhone native app experiences within the browser.

Palm is taking the first step in realizing this vision and releasing the Mojo Application Framework to allow developers to build application on the new webOS using the web technologies they already know: HTML5, CSS, and Javascript. This thus allows organizations to tap into their existing web assets and already vast experience in building scalable web applications. Developers can leverage the local storage capabilities of HTML5 to have offline access to data. They also have full access to gestures, transitions, and more and access to many of Palm's native device components. It even has full support for background running applications and user notifications, a common criticism of the iPhone platform.

While its too early to tell whether the Palm Pre, webOS and Mojo will take off, it is definitely a step in the right direction for mobile developer platforms. I see way too many examples of native applications on the iPhone that could be much more cheaply developed, more stable and robust, more easily maintained, and available across many more devices by simply making enhanced mobile web apps. I hope to see iPhone and Android opening up even more capabilities in their browsers through javascript APIs and making apps developed with web technologies feel like full fidelity applications on the device, just as Palm is promising to do.

January 07, 11:29 AM

2008 was definitely a year of open platforms with the continued growth of the Facebook and OpenSocial communities, the unveiling of the iPhone and Android app stores, and the countless Twitter clients and mashups.

Yet I believe there is still considerable untapped opportunity in several promising platforms that have yet to see significant traction in terms of hype, developers, and ultimately end users.

So here is my list of the top underhyped platforms that I hope to see many entrepreneurs build on in 2009.

Webmail Platforms: Yahoo! Mail, Gmail
There are so many interesting problems to solve with email and we as entrepreneurs are finally going to be able to innovate on them with the opening up of the popular webmail platforms.

Just think of the pain that is email today:

  • Constant overload of email volume and very few ways to sort through the clutter
  • A sophisticated and natural social graph locked in email with no easy way to leverage it
  • Endless files shared through email that are problematic to find, store, and share
While companies like Xobni have developed very innovative solutions to these problems on predominant desktop mail clients like Outlook, we can finally bring these and new innovations to the webmail services we all now live by.

Yahoo! Mail, with over 250M users, has announced its application platform, launched a few white listed applications (Xoopit, Wordpress), and plans on opening up more broadly in 2009. Gmail, with 100M users, already has launched several first party gadgets for Gmail (Google Docs, Google Calendar) and has a developer sandbox available for any developer to place Google gadgets in their Gmail sidebar. I expect in 2009 we will see the complete opening up of these platforms and maybe even Windows Live Hotmail, with its 250M users as well.

Professional Networking Platforms: LinkedIn, Xing
I'm glad much of the craze of social networking platforms has died down as I don't think I could take many more vampire bites, food fights, or fluff friend races. These days it looks like the social networking apps that are still driving acquisition and engagement are those of social gaming and while I occasionally dabble with them, I fail to experience any lasting value from them.

However I'm hopeful on professional networking apps as I think they will likely delve deeper and look to provide more real value than their social networking counterparts.

I'm relieved the LinkedIn Platform did finally launch, but so far I've seen too little too late. I do find the Reading List and Blog Link apps useful to see what my colleagues are reading and writing, but there is so much more I hope to see. LinkedIn was smart in their early thinking of the platform in that they were looking to open up not only first degree contacts but also second and third degree to allow innovation on introductions, new contact-related applications, and more. I want to see applications actually start to leverage what is truly unique about LinkedIn. I think LinkedIn app innovation though will continue to be significantly hampered by their closed platform approach that requires an approval for even getting access to the sandbox. I hope LinkedIn decides to open up the sandbox to allow anyone to build innovative applications but then holds a tight review process to ensure it stays professional and relevant.

Xing, a popular German and European professional networking site, has announced its own OpenSocial platform for 2009, so this should provide interesting opportunities in the international space as well.

Cloud Platforms: Amazon Web Services, Google App Engine, Windows Azure
Many startups have already built consumer and enterprise apps on top of AWS and are starting to dabble with Google's and Microsoft's own cloud platforms. This has already been a disruptive shift in reducing initial CapEx for startups and helping to bring down both the operational cost and effort for basic infrastructure.

But where I think the significant opportunity is in 2009 is building infrastructure applications on top of these cloud platforms to provide higher level services to other startups looking to more easily leverage these cloud solutions. RightScale, for example, is one such infrastructure play that sits on top of AWS but makes it easy for you to manage and auto-scale your EC2 instances. Heroku is another exciting example of a very high level Ruby on Rails development platform that allows developer to simply focus on their app code and Heroku takes care of the rest in terms of spawning EC2 instances, managing load, and more.

Yet there are still lots of much needed services to be built to support cloud platforms that I expect we'll see much more of as more and more startups move to leveraging the cloud.


Got your own thoughts on an underhyped platform? Leave it in the comments!
January 05, 10:57 AM

It's that time of year that everyone is putting together their predictions for 2009 and so I decided to do one of my own.

Over the past year I've had the opportunity to work with a variety of music startups. Not only with the two music startups I've been directly involved with (Anywhere.FM and imeem), but also countless music startups looking to leverage the imeem Media Platform APIs I manage at imeem. Based on what I've seen, there are three music verticals that I am bullish about and 5 exciting startups that have started to pursue them in 2008 and expect to see much more from them in the new year.

Music Gaming
Music gaming has benefited from renewed traction in recent years. The current explosion can be attributed to the tremendous success of both Guitar Hero (2005) and Rock Band (2007), but we can't forget the earlier successes of Dance Dance Revolution (1998) and even further back with Parappa the Rapper (1996). What's most exciting about it this time is the size of the opportunity. The Guitar Hero franchise alone has seen over 14M units sold generating $1B in sales in North America. On top of that they have seen over 5M song purchases. And for the first time ever Beatles music is actually available digitally through Rock Band (even though the Beatles have classically refused to make their music available on iTunes, music streaming services, etc).

In 2008 we started to see what the next generation of music gaming will look like.

JamLegend



JamLegend is best described as a web based version of Guitar Hero. Not only have they done a great job of recreating the fun of Guitar Hero on the web and your computer, but they've opened up the opportunity for very interesting web-based additions. One exciting opportunity for them is continuing to build out their massively multi-player capabilities, tournaments, and leaderboards. At the same time the ability to eventually crowd-source all the tracks and build the largest library of playable content will be key. JamLegend could become the newest form of music promotion for artists and both indie and major label artists will be looking to take advantage of this latest phenomenon.

Ocarina



Ocarina is by far the most clever music game I've seen to date. Ocarina is the first true musical instrument created for the iPhone. Simply blow into the microphone, press down on the four keys, and you're playing beautifully sounding music through your Ocarina. And the social experience is great as well, since you can click on the world map and see who else is currently playing their Ocarina across the globe and tune in to enjoy their music. I'm excited to see these guys expand to actually hosting concerts, recorded videos, and even more instruments.

Rock Legends!



Rock Legends is the latest social game from Serious Business, the startup that created the Friends for Sale social game on Facebook. This time around a user starts a rock band, picks what kind of rocker they want to be, and recruits others to join their band. It's a social experience complete with playing gigs, battle of the bands, and more. I would be excited to see Rock Legends integrate JamLegend style playback into their game to tie the best of music gaming together.

Live Events
Another space in music that continues to be attractive is live events. Unlike the ongoing decline in CD sales and the slim margins of digital downloads, concert tickets sales continue to enjoy high margins and make real money for the artist. Yet there continues to be unsold seats at the majority of events. There clearly continues to be an opportunity in 2009 to more efficiently bring fans to see their favorite artists at live events.

SongKick



While there are a lot of players trying to tackle this space, I'm most excited by the work SongKick has done. In a little over a year they have built a comprehensive concert listings engine and database. It's no easy task as very few clean feeds exist out there from venues and ticket providers. Most recently they've been doing a lot to build out their website experience to make it easy for fans to find when their favorite artists are coming to their area and even recommend artists you may enjoy. With a new round of funding, it will be interesting to watch how they expand in the new year.

Dis-intermediating the Major Labels
What I am most passionate about are those out there seeking to dis-intermediate the major record labels. The major labels have been unable to come up with any significant revenue stream to offset their losses in CDs and unfortunately it hasn't been due to lack of technology innovation. They have for the most part failed to support the most creative entrepreneurs out there by making it very difficult for them to get access to legally licensed content. As many have recognized, its time to move beyond them and seek to establish relationships directly with artists and their fans and either create the next generation record labels or remove the need for labels entirely.

Topspin Media



Topspin Media is the most promising startup in this space. Topspin focuses on providing tools to artists to make it easy for them to communicate directly with their fans through a web presence, email distribution, and more. Topspin has started by smartly focusing on super-fans who are willing to devote time and money to engaging with their favorite bands through premium purchases, subscriptions, etc. I hope to see Topspin unveil additional products in the coming year and expect both its artist and fan footprint to grow substantially.

January 02, 12:08 AM

I recently took the time to build a web application on Google App Engine and wanted to share my thoughts on the experience and the pros and cons of Google App Engine as a web development platform.

TuneChimp



The app I developed is TuneChimp, a music mashup that was recently named ProgrammableWeb's Mashup of the Day and a finalist in Mashable's Y! BOSS Challenge. TuneChimp makes it easy for you to discover the very best music, videos, photos, and more for an artist by mashing up content from imeem, YouTube, Flickr, Yahoo, Last.FM, Google News, and more. TuneChimp takes advantage of the dozens of music-related APIs that are now available on the web to auto-generate an artist profile to quickly discover new artists or play music from your favorites. The most useful feature is that it takes the top tracks from an artist based on robust Last.FM audio-scrobbling data and creates a playable playlist using imeem's on-demand music streaming platform.

The core of the application calls 11 different APIs, appropriately caches the datasets, and cross-links the various dataset to put together a meaningful artist profile. The APIs are all accessible through REST endpoints in either JSON or XML formats.

Pros
The single greatest advantage of Google App Engine is speed to market of an application. TuneChimp was designed as a small weekend project to let me perform competitive analysis on the most popular music-related APIs (I manage the imeem Media Platform and wanted to see how we fared against other offerings). The beauty of GAE was that the same day I started coding I had a basic site up that pulled data from several APIs. Since GAE only supports a narrow web app scenario, it makes it extremely simple to setup, develop, and deploy an app. No need to install an OS, configure apache, nor optimize mysql.

While some complain the datastore APIs are limiting because you can't perform classic relational join operations, anyone who has been involved in a large web app built on an open source stack knows that those operations don't scale anyway. GAE forces you to design for scale from the beginning, but its an easy mental model to learn and super-fast to get up and running. The dbmodel objects are similar to any web framework, like RoR and others, so its also very easy to pick up. And the immediate scalability benefit makes it so you don't have to worry how you are going to handle extra load.

Currently GAE is limited to Python and that has put off a lot of people from trying it. I decided to bite the bullet and learn Python and I have been so happy that I have. I see Python as a great compromise between PHP and Ruby on Rails in that python is more explicit like PHP but cleaner in code and still has many of the productivity benefits of RoR with the GAE framework (or Django framework if you choose).

Cons
Unfortunately I encountered some serious bugs in GAE during my development. One bug prevented any web request in production from returning multiple cookies. Unfortunately many APIs use cookies for authentication and it was impossible to read from certain APIs without implementing hacks. I filed the bug, complained to my contacts at Google, and it still took months for this issue to be addressed. GAE is still clearly a work in progress and the bleeding edge developers who are willing to engage with it now will have to continuously invent hacks to get around these kinds of bugs for some time to come.

In addition the restrictive exceeding high CPU quotas and inflexibly short time-outs make it VERY difficult to reliably build on top of third party APIs with varying response times. I ended up having to build in retry logic and significant caching to try to work around these time-outs. At the same time, without the ability to run long run processes and cron jobs, a developer is forced to continue to host a server outside of the GAE environment to perform batch processing and more.

Probably the greatest detractor from Google App Engine though is the propriety stack that it is built on and the resulting lock-in. This creates significant technology risk for a startup to build on top of GAE since its going to be extremely costly to move to a different infrastructure if necessary. Hopefully some of the projects third parties are working on to port the GAE web framework and datastore will mitigate some of the issues associated with this lock-in.

Overall
While Google App Engine has become my web development platform of choice for all my weekend projects, I would not yet take the risk of running a production web business on top of GAE. The platform though is very promising and I hope to see my concerns addressed over time as well as large web app success stories built on top of this cloud platform.

January 01, 02:34 AM

As a new year's resolution this year I decided to finally start blogging to share some of my thoughts on technology, entrepreneurship, and product management. I'll be writing mainly to help collect my own ideas, but I hope that some of you may find it interesting as well. I'm also often asked similar questions about my experiences from colleagues, so I plan on using this as a public forum to answer some of them.

Along the way I hope to hear from you on any topics you find interesting. So leave a comment, send an email, or connect with me on twitter, LinkedIn, etc.

Profile

Entrepreneur, Product Guy, and Software Engineer
Internet | San Francisco Bay Area, US

Summary

2x entrepreneur passionate about bringing great ideas to market.

Excited about professional networking, productivity, SaaS, and developer platforms.

Experience

  • Oct 2011 - Present
    Principal Product Manager / LinkedIn
    Bringing Connected and our vision of contact management without the work to the world's largest professional network.
  • Sept 2010 - Present
    Mentor / 500 Startups
  • Feb 2010 - Oct 2011
    Founder & CEO / Connected HQ
    Connected is contact management without the work. It pulls in data from your email, calendar, and social networks to bring all your contacts and conversations together in one place.

    Connected raised seed funding from Trinity Ventures, 500 Startups, Ignition Partners, Christopher Michel, Michael Hoydich, and Mark Gray in June 2011.

    Connected was acquired by LinkedIn in October 2011.

    Website: http://connectedhq.com
  • Aug 2009 - Oct 2011
    Founder & CEO / Feedera
    Feedera is a personalized Twitter digest delivered to your inbox every morning. Experience the best of Twitter without the noise.

    Content is ranked by the FeedScore algorithm, which finds the best content for you based both on friend relevance as well as popularity metrics from across the web.

    Feedera was acquired by LinkedIn in October 2011.

    Website: http://feedera.com
  • Mar 2009 - Jul 2009
    Entrepreneur in Residence / Trinity Ventures
    Thinking about the next big opportunity...
  • Jan 2008 - Mar 2009
    Senior Product Manager / imeem
    Led emerging monetization efforts, including international monetization, online audio advertising, and imeem VIP, a premium subscription service.

    Drove the product development of the imeem Media Platform, allowing third party developers to build compelling media centric applications leveraging imeem's music streaming, playlisting, and recommendations infrastructure. Led platform design, product management, developer relations, business development, and platform evangelism, resulting in the platform reaching over 250 million daily API requests.
  • Jun 2007 - Dec 2007
    Co-Founder / Anywhere.FM
    Anywhere.FM is a web music player that allows you to experience music where you want it.

    As co-founder, championed the voice of the customer through customer feedback, led user acquisition, drove the investigation of the business model and associated financial projections, as well as analyzed business development opportunities.

    Anywhere.FM reached over 15 million user uploaded tracks and over 100,000 registered users.

    Anywhere.FM raised seed funding from Y Combinator, Paul Graham, Paul Buchheit, and Mixin Capital.

    Anywhere.FM was acquired by imeem in December 2007.
  • Jan 2007 - May 2007
    Product Manager / Microsoft
    Product Manager for Visual Studio Team System - Team Foundation Server, an enterprise version control solution.

    Led product planning for TFS Enterprise Edition through extensive customer research, segmentation, and financial analysis. Drove the Hosted TFS pilot program to investigate both the technical feasibility and business model around building a software-as-a-service model for Team Foundation Server.

    In addition, led marketing for the devBiz acquisition, in charge of pricing, announcement, and rollout of the acquired TeamPlain Web Access product.

    Also responsible for competitive analysis for all of Visual Studio Team System and developed sales tools to win customers away from competing products.
  • Jul 2005 - Dec 2006
    Program Manager / Microsoft
    Envisioned, designed, and executed the database unit testing, database refactoring, and data generation feature areas for the V1 edition for Visual Studio Team Edition for Database Professionals.

    In addition to product development, led the development of process guidance for the toolset, reviewed and wrote a forward for the premier Refactoring Databases book by Scott Ambler, as well as authored a popular white paper on database unit testing methodologies.

    Presented on database development best practices at conferences, including Tech Ed Boston 06, Tech Ed Malaysia 06,
    Dev Connections Los Angeles 06, and Wash DC DB Pro Launch 06.
  • May 2004 - Aug 2004
    Program Manager / Microsoft
    Served as a Program Manager for the Visual Studio Core Team, which is responsible for Visual Studio infrastructure common to all languages and project types.

    Led several projects, including developing the functional specification of the Export Template Wizard, a new feature shipped in Visual Studio 2005, as well as the long term investigation of large enterprise support (nested projects) inside of Visual Studio.
  • May 2003 - Aug 2003
    Software Engineer / Goldman Sachs
    Developed C# / ASP.NET applications for the banking technology division of Goldman Sachs.

    Applications included Project Central, a central repository for tracking the status of all projects, as well as a best practices app, tracking all learnings and howtos for the division.
  • May 2002 - Aug 2002
    Software Engineer / Paetec Communications
    Developed Oracle-backed MFC C++ applications for the billing department of PaeTec Communications, a long distance telecommunications provider.

    Applications included PaeTec's first online billing system, automated phone record error detection and correction, and a system to optimize billing between carriers by reducing redundant payouts.

Education

  • University of Pennsylvania
    BS in Engineering in Computer Science
    Activities: Tau Beta Pi, Dining Philosophers, Engineering Student Activities Council
  • University of Pennsylvania - The Wharton School
    BS in Economics in Finance
    Activities: Beta Gamma Sigma, International Affairs Association

Additional Information

Websites:

Updates

Cover Photos

Uploads

Favorites

Watching

History

Queue

Recent tracks

Top tracks

abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz