WayneChang.com http://waynechang.com This is my life Tue, 29 Jan 2013 17:23:31 +0000 en-US hourly 1 Knowing When Your Baby is Ugly http://waynechang.com/knowing-when-your-baby-is-ugly/ http://waynechang.com/knowing-when-your-baby-is-ugly/#comments Mon, 21 Mar 2011 23:35:52 +0000 Wayne Chang http://waynechang.com/?p=965

 

One of the most crucial skills any successful entrepreneur can possess is the ability to know when their baby project is ugly. Not just visually, but the project as a whole. My goal with projects is to search out the high-impact ones. And that requires me to be very prolific. Ugly baby projects are projects that are interesting to the person but ultimately serves a very narrow niche with low revenue potential and requires a high, on-going maintenance cost. If you don’t know that your baby project is ugly, you will waste a lot of resources pursuing it, rather than moving onto a new project. It’s like quicksand for an entrepreneur. Avoid at all costs.

I’ve worked on numerous projects with many successes and a few failures. Here’s a quick story of the process I went through with one ugly baby over a 4-week period. I’ll also break it down into detail for the tech oriented.

The Opportunity

In April ’10, I had just received the newly announced iPad. Being a home theater buff, I immediately saw the potential of the iPad as a control device. There were so many remotes in my living room – for the HDTV, the audio system,  the cable system, several remotes for the HTPC (a PC built to be connected to the TV), DVD/BluRay, etc. Why not consolidate on the iPad?

A couple weeks later, I began a project called Intellimote. Its aim was to be the single, central control point for the living room. It would leverage all the capabilities of the iPad – graphics engine, internet access, local storage, etc. It would allow you to control your home theater through a gorgeous interface, show you information about the shows you’re watching, and let you take and play the content on the iPad itself when you’re on the go – the smartest remote control. With US Home Entertainment spending hitting $20 billion in 2009, this is a lucrative market.

As luck would have it, the Google TV initiative was announced about the same time I started this project. Google wanted to leapfrog Apple from smart phones directly to TV before Apple could get there. I could ride the smart TV wave!

The Strategy

To begin, I had to figure out what the market strategy would be. This would dictate the approach to product development, marketing, etc. I decided to initially focus on the HTPC market —  TV’s that had a PC hooked up to it. I would capture the entire HTPC market for remote controls and get the market trained and used to my software. I would then leverage that initial core base until consumer adoption of the Smart TVs were the norm, and then I could hook Intellimote into all the platforms — Google TV’s, Samsung’s, LG’s, etc.

I convinced myself this was good because I could set a standard now and then push harder when the Smart TV wave became a tsunami.

Intellimote.com website to capture interest (Click to Enlarge)

To test out the theory, I spent a day creating and launching the intellimote.com website to gauge demand. Then, I discussed the idea in HTPC forums. The people there seemed stoked about the concept and wanted to be involved. Through the website, I started getting email addresses interested in the private beta.

The Execution

I knew that I had to move quickly because the iPad was the latest hot gadget and soon there would be many remote control software. So I began development immediately. I wrote a listener service for the HTPC, and then wrote a client for the iPad that connected to it.

Here’s a very short 20-second video of the media browsing interface of the client:

Of course, the control interface itself had to be gorgeous to fit with Apple’s design ideology. The client I ended up with, as you can see above, used beautiful 3D effects, reflections, and animations to display the media options (watch the video). I didn’t get a chance to optimize for speed so the touch response is a little slow. One challenge was that the original iPad only had 256MB of memory. (To get around the memory issue, the client had to rapidly unload images from memory that were off the screen and pre-load new ones in both directions, depending on what it thought the user wanted.)

Media Control UI (Click to Enlarge)

Another Theme for Media Control (Click to Enlarge)

The iPad client understood what was on the screen and if a video was playing, it would turn into media control mode. It also supported themes, so I played around with a few that would ship with the product. During testing, the designs above worked out well since you could control without needing to really look down at the iPad.

For the listener service, it needed to be intelligent and handle vastly different functions. Without getting into the nitty gritty, the server was broken down to essentially five components: API (JSON) for client-server communication, SQLite Database for relational data storage, HTPC control layer for media control, Media Scanner for metadata gathering, and an embedded WebServer as a foundation for client-server. I wrote most of it in Delphi.

One obstacle was the capability to take the media on the go with you, which was one of the coolest features of Intellimote. For instance, if you were watching something on your TV and then had to run to a meeting, you could literally continue watching it from the TV to the iPad without interruption! To accomplish this, I had to solve some issues.

The iPad only plays H.264 video through its HTTP Live Streaming protocol. So, I had to make the listener service transcode the media being played into H.264 and split up the video into 8 second chunks. Then it would continuously update the .m3u8 index file, which alerted the iPad of the new chunks as the transcoder created them. This was done very quickly (about 500-1000 milliseconds – up to 720p resolution), which allowed for a seamless experience and instant-on streaming from the device.

The Realization

In May ’10, I had created and launched the Intellimote.com website, built the server with all the different components, and wrote the client that communicated with the server and had nifty 3D effects as the user interface. It had taken about 4 weeks, but finally, it was ready for beta. People were sending me emails asking me if they could test it. All I had to do was upload the software and go beta.

Before I did that, I assessed the project and came to a few conclusions:

  • Lack of Demand: I was getting only about 10 sign-ups a day from the web site, not nearly what I had originally expected.
  • Development intensive: This project required constant maintenance on multiple fronts – iPad, server, different HTPC configurations, multimedia players, metadata providers like imdb, etc
  • Wave became a ripple: Google TV had some launch partners – Sony, Logitech, etc. But, early reviews were not great. The experience was fragmented and traction was not great. Google’s approach did not solve the living room problem (yet).
  • Market Fragmentation: If the only serious industry consolidator, Google, was having a rough time, it meant Smart TVs in general was going to be fragmented for awhile. More TVs need the ability to load software directly into the panel instead of using external boxes.

That’s when I had the realization — my baby was ugly! If I released this project, it would serve a super niche market at this time, and I would have to incur the maintenance costs of the project — my time, energy, focus, capital, etc. I had to recognize that this was a toy and write it off as a failed project.

You might hear from people that “It’s not ugly; it’s just not good enough. You should keep going.” So, how do you know whether to stop or keep going? For me, it came down to the impact that I expect from the projects I’m involved with. The equation just didn’t work out for me personally:

Low demand + high development costs + time horizon measured in years for market maturation (like waiting for Smart TVs to become ubiquitous) = Ugly Baby Project

This was not a case of build it and they will come — this was a case of build it and you’ll have a small private party.

Yes, I dedicated resources to develop this. But to continue forward with this project because I was already invested is digging myself deeper into the hole. Had I not killed the project, I would have been shackled to it through support, maintenance, and adding new features asked by the users. I would not have had the time to explore new projects, like this successful side project that I wrote about a little while back. Your time, focus, and energy is way too valuable when you are doing projects and knowing which ones to pursue gives you a huge advantage.

This problem has probably happened to many of you. Entire projects or even just “this amazing new feature” of a project fall prey. It’s very easy to want to do more. The important thing is to know when to say “No, let’s not continue with this.” It’s hard and you’ll need to swallow your pride. Then cut your losses. It can be the best for you, your product, and your customers. Google killed Google Wave because it was an ugly baby. Assess your project like I did above. Then ask yourself, do you have an ugly baby project?

On that note, I am now working on another project that has high impact and the market seems just right. When it’s ready, I’ll write another post on how to know when your baby is gorgeous ;-)

Thanks to Antonio Rodriguez (Matrix Partners), Joe Medved (Softbank Capital), Ty Danco (Angel Investor), Roy Rodenstein (Going.com/AOL), Sean Lindsay (Viximo), Chris Keller (FollowUp.cc), Bilal Zuberi (General Catalyst), Aaron White (Proxlet), Charles Huang (Spark Capital), and Fan Bi (Blank Label), for reviewing drafts and giving feedback.

Enjoyed this post? Leave a comment below and Follow me on Twitter
]]>
http://waynechang.com/knowing-when-your-baby-is-ugly/feed/ 23
How I Discovered a Security Vulnerability in Twitter http://waynechang.com/how-i-discovered-a-security-vulnerability-in-twitter/ http://waynechang.com/how-i-discovered-a-security-vulnerability-in-twitter/#comments Wed, 02 Feb 2011 23:41:26 +0000 Wayne Chang http://waynechang.com/?p=821

In addition to being involved in startups, I enjoy finding system vulnerabilities as a side hobby. And I’ve found my fair share (see my about page, scroll down towards the bottom). The startup people I hung out with online in the mid-to-late 90′s were on IRC, before the startup incubators existed. This is where the cyber culture revolved around the discovery and sharing of new information. A little known factoid: before Shawn Fanning created Napster, the music software, he was known as “napster” on IRC. We ran in the same circles, finding and demonstrating security vulnerabilities through software we’d write and share. (I later joined Napster-the-company in 1999).

A couple weeks ago, I found another security vulnerability that impacted 1-1.5 million Twitter accounts.

Discovery

On January 19, 2011, I received a reply to a support ticket that I had filed on one of my business accounts. The support agent needed more information, so I jumped in to my ticket dashboard (everyone on Twitter has a ticket dashboard — just go to http://support.twitter.com). When I went there, I didn’t see my ticket listed. Thinking it’s just a glitch, I looked at an old ticket that was listed and back to the new email. I manipulated a few data fields, hoping it would work. As soon as I pressed enter, the ticket I was looking for showed up. Great, must be a temporary display glitch on my account. In any case, I was happy to be able to work with the ticket. I tried to reply to the ticket on the system. Strange, it didn’t attach my message. That’s when I noticed the account name didn’t match mine – it said @null instead of my business account name. Maybe I wasn’t supposed to see this. I finagled around with the data fields and suddenly I was staring at someone else’s support ticket — one that showed his password (he had wrote it as part of his ticket). This is Not Good.

Impact

If you ever submitted a support ticket for Twitter (and a lot of you did), you were impacted by this. All support tickets – at the time, 1.5+ million! were exposed.

To protect user privacy, I will not post the screenshots of tickets that contain private information. As with any ticket support system, the tickets included various sensitive information. The content was different in each, but contained a mixture of the following:

  • Account passwords
  • Contact information (addresses, phone numbers, etc)
  • API keys and Consumer Secret keys (for application development)
  • VIP requests (related to movie stars)
  • Brand impersonations (large multinational companies wanting certain accounts deactivated/removed)
  • 419 scams (yes, even Twitter tickets are not immune to offers to help save a dying prince)

Since it doesn’t contain sensitive information, here’s Twitter’s Support Ticket #1 (they are at over #1,500,000 right now) – click to enlarge :

Twitter Security: Support Ticket #1

Response

Twitter uses Zendesk to manage their support tickets. Was this system-wide or user specific — did this work on my main acccount, @Wayne? I tried it — didn’t work. Did this work for Groupon or Rackspace Cloud, who also uses Zendesk to manage tickets? I submitted tickets on those systems, finagled the data in a similar way, trying to replicate the issue. It didn’t work. It must only be affecting a subset of accounts inside Twitter’s account (I learned later that I was right).

I immediately tried to reach out to see who would be best to contact. I spoke with Dave McClure and he gave me two twitter names to try. I tweeted out to them and waited for a response.

Screenshot of @Wayne Twitter: One of Dave McClure's referrals

There must have been more formal ways; it can’t be just hoping and praying someone responds to you via Twitter (even if it’s Twitter itself). After digging, I found RFPolicy, a protocol to follow when discovering a vulnerability. I followed their instructions on sending out emails (to security-alert@, secure@, security@, support@, and info@ for twitter.com). All bounced back, except security@twitter.com. Bob Lord, who works at Twitter Security, responded quickly. We discussed the issue over email, and then a couple days later we had further discussions on the phone. Bob Lord was very professional to work with and seemed genuine when it came to the safety and security of Twitterverse.

Result

After I gave Twitter the instructions, they were able to reproduce the issue. The security hole is now closed and all data that I grabbed from the discovery of this vulnerability has been destroyed.

Bob has also set up new pages on Twitter’s web site and is working on new protocols internally to make it easier for others to submit security issues and for his team at Twitter Security to work with them. Twitter was also kind enough to recognize me in their about page for security.

Twitter's About Page: Recognition for assistance

It was a pleasure to work with Bob and Twitter on this issue.

Interesting notes

  • Twitter Support gets about 100-200 tickets per hour
  • Twitter Support seems to be addressing every ticket(!)
  • Twitter Support receives support tickets in multiple languages
  • Twitter Support has support staff responding in those languages

Thanks to Dave McClure (500 Startups), Bob Lord (Twitter), Charles Huang (Spark Capital), Xixi Chen (Dana Farber) and Mark Bao for reviewing drafts and assistance.

Enjoyed this post? Leave a comment below and Follow me on Twitter
]]>
http://waynechang.com/how-i-discovered-a-security-vulnerability-in-twitter/feed/ 16
Building a Sustainable Side Project http://waynechang.com/building-a-sustainable-side-project/ http://waynechang.com/building-a-sustainable-side-project/#comments Tue, 18 Jan 2011 20:00:38 +0000 Wayne Chang http://waynechang.com/?p=642

Updated: 1/21/2011 – latest data used in marketing/financials section.

Note: Since I’m still developing the idea I’m writing about, I don’t specifically mention the project I’m working on. My goal is to share insights and the process I went through with this project in an agnostic way, so you can understand some of the things you need to think through if you want to go from a small amount of traction to a revenue machine.

I’m extremely passionate about creating and building new things, so I started a few side projects in early December. A side project, to me, is something that requires less than full time effort on my part but serves a purpose and has high impact in some way. It is an exercise to hone my skills, learn new things, and possibly create a new stream of revenue. I’ve done many side projects before, and it’s great to keep myself sharp. It usually leads to new ideas, crystallizes new theories, and creates new serendipitous connections.

Today, I wanted to share with you one of my side projects. I’ll systematically review key parts of the business and the logic and reason behind prioritizing upgrades to both save time and money. I’ll most likely write about the other projects as they mature, but I’m excited about the performance of this one. This particular side project generates about $500.00-$1,200.00+ per day in revenue now, and I expect that to triple within the next 2 weeks. Extrapolating this out, it means the system generates between $182,500.00 to $438,000.00 per year, with expectations of that tripling — $547,500.00 to $1,314,000.00 per year. This was achieved through a combination of automation, marketing, and financials.

A rough draft launch

Screenshot: PayPal notice

I’m a believer in market-driven startups rather than idea-driven startups — that is, find the demand first, then build a product to meet it. For this project, I felt I had potentially identified one related to ecommerce, and then I spent 3 hours building it before opening it up for business. Nothing was automated. Before launching, I asked myself what the project goals were. The two that percolated to the top were: 1)  create very happy customers and 2) generate large revenue and profit margin. To do this, I thought out quick-and-dirty processes for marketing, ordering process, fulfillment, customer service, etc. I then built the system that connected all the requirements.

The “system” that was created was very hacky, almost duct-taped. It was simply a series of business processes that linked together from end-to-end. I knew starting out this way, I would be paying a premium on data. My customer acquisition costs would be very high. This is OK, and normal. As time goes on, the waste will be cut and reinvested into the areas that do produce results.

How do I track progress and metrics quickly and easily, without incurring heavy costs in resources? I built a relational Google spreadsheet.  When data was inputted on the Transactions sheet (pictured below), the fields in Summary and Daily Summary sheets would automatically update themselves. Rules were set on key cells such as whether an order was over $150, or if it was from an existing customer. Great for a first iteration of a database-dashboard-customer service-financial-tracker. When the first order came in, I copied down all the information from the PayPal notification into the Transactions sheet, wrote a reply to the buyer thanking him for the order, and noted that I had sent him the email and filled the order.

Screenshot: Running on Google Spreadsheets. Some columns hidden for privacy reasons.

Very quickly, more orders started coming in. I continued to use the Google spreadsheet since it was serving its purpose; my time was best spent on other areas of the project that had higher impact.

I had launched this project right before my week-long trip to Hawaii. Due to jet lag,  I would wake up at 3am Hawaiian time to a slew of orders and emails. It was fun to see people finding value and to fill their orders. But, tracking everything through Google spreadsheets was taking 1.5 hours daily — and I was on my vacation! With my other projects, I wasn’t able to keep up with new orders in a timely manner, and this violated the #1 rule — create very happy customers. I was quickly becoming the bottleneck in the system.

Automation

Screenshot: From my Twitter @Wayne

When I got back to Boston, I knew that I had to solve this manual tracking issue, so I decided to invest a night to automate as much as I could. There’s nothing like the satisfaction and concentration you get from coding. I spun up a new Rackspace cloud server, installed everything necessary for the LAMP stack (Linux, Apache, MySQL, PHP), and began. At this time, I really just wanted to solve as many problems as I could with the least amount of effort. I first modeled out a relational database schematic, and then created a simple 16-line logic spec on what the software will need to do to address 80% of my pain. I read up PayPal’s developer documentation. I then implemented the database and created the first version of the script. It essentially grabbed the PayPal IPN information (Instant Payment Notification), stored it in the database, filled the order, and shot out an email confirmation to the buyer. The script ended up to be about 400 lines.

Here is the actual note I wrote before a single line of code was written:

On IPN:
- verify paypal order is valid
- grab buyer and order data
- check to see if the buyer is already in the database (query customers table)
-- if no:
--- add buyer data to customers table
-- then:
--- query customers table and store id into $customerid
--- add username with $customerid to user table to quickly look up
--- query user table on customerid and user name pair for userpairid
--- add order info with $customerid to orders table
--- parse and add paypal fee info to costs table
--- query orders for orderid
- place order with supplier
-- add supplier costs to costs table, include orderid, userid
- send confirmation email to user

Once I built this, within minutes an order came in. I manually checked the database and confirmed everything was working. It was — great!  Shortly after, orders kept coming in and my system continued to do the work that I used to spend 1.5 hours a day managing. This was great! I also noticed an immediate up tick in orders (and revenue) – I had successfully removed myself as the bottleneck.

Marketing and Financials

Both marketing and financials are in the same section because they are so closely tied together. I’ve seen many businesses/projects fail because they look at both separately, or worst, looks at only one. This results in unfocused initiatives. Either 1) you are not spending enough on marketing because you are just looking at the financials and see it as a cost that needs to be trimmed, or 2) you are spending on marketing but not in the right places at the right prices. If you fall in either category, you will enter a death spiral since each is not sustainable. Looking at both is essential — it influences from how you price your product to deciding what to focus on next to increase profitability.

Initially, in the Google spreadsheets, one of the sheets tracked the expenses on a daily basis with the revenue – this showed me whether the project made or lost money that day. I also tracked the number of orders, quantity ordered, and how many new users I got.

Screenshot: Daily Summary

After I started building and automating as much as I could, I wanted better financial reporting. It was important to me to separate new users and their orders from existing users and their orders, but doing it manually in Google spreadsheets was taking way too much time. I had to build it into the system to do it automatically.

This was done with a simple query that matched the user’s creation date with the order date. If it matched, that was a new user – the user was created the same date as the order.

Using PHP, looping through each day and storing the data in arrays for later usage did the trick. For the curious, here’s the simple snippet:

                /******************************/
                /********* NEW USERS **********/
                /******************************/

                // tally orders from new users
                $startdate = '2010-12-24';
                while (strtotime($startdate) <= strtotime("today")) {
                    $query = sprintf("
                        SELECT
                            count(*) AS 'newusers',
                            SUM(paid) AS 'paid',
                            SUM(fee) AS 'fee',
                            SUM(net) AS 'net'
                        FROM
                            orders, users
                        WHERE
                            DATE(orders.date) = DATE(users.created)
                        AND
                            orders.userid=users.id
                        AND
                            DATE(orders.date)='%s'
                        ",
                            mysql_real_escape_string($startdate));
                    $result = mysql_query($query);
                    while ($row = mysql_fetch_assoc($result)) {
                        $daily_newrevenue[$startdate] = $row['paid']; // revenue from new users
                        $daily_newfee[$startdate] = $row['fee']; // new user paypal fees
                        // overall total
                        $total['newfee'] = $total['newfee'] + $row['fee'];
                        $total['newrevenue'] = $total['newrevenue'] + $row['paid'];
                    }
                    $startdate = date("Y-m-d", strtotime("+1 day", strtotime($startdate)));
                    mysql_free_result($result);
                }

Then I took the costs for each day and deducted it. This left me with the information I was looking for:

  • Marketing spend
  • New users
  • Revenue produced immediately

Let’s take a look at just two days from the new automated non-Google spreadsheets system:

Screenshot: Revenue from just new users

Screenshot: Return Users

Screenshot: Total

  • With about $250 in marketing, the system generated 8-13 users on each day, ranging from $403 to $909 in revenue.
  • Combined with the revenue from orders from existing users, the range increases from $738.00 to $1,211.00 in revenue.

Now, the system breaks it down on a per-user basis using simple math:

Screenshot: Customer Acquisition Data

Screenshot: Return User Value

Screenshot: Average User Value

  • Customer acquisition: $36 to get each new user. Expensive, but within sustainable expectations.
  • Each user creates a loss of $3 dollars initially. Again, this is expected and is OK.
  • Profit for each return user is $40.18. So, we take a loss on each new user initially but make up for it on return orders.
  • The ARPU (Average Revenue Per User) is about $61, with $14 in profit, at 23% profit margin. This gives me a good starting point to work from as now the goal is to decrease customer acquisition costs from $36 per new user downwards while also increasing the profit margin.

So, what’s next?

The system has since evolved to be completely automated (and the code base has expanded by thousands of lines). I don’t need to spend time manually to update a Google spreadsheet anymore. I gained the 1.5 hours per day back, and can use that towards making customers happy. And customers are happy. I can also use the time to look more deeply into the reports. In the next week or so, I expect the costs to be driven way down as they get further optimized. This should increase the profit margins to 50-60%. I’ve already seen improvements on the efforts I’ve made.

Why is knowing all this data helpful? I could write a whole separate blog post on that. To give one example: If a customer makes an unreasonable complaint, I become stuck between violating objective #1 (creating happy customers) and objective #2 (generating revenue and profit). I have a heavy bias towards #1, but with the data, it becomes clearer.  It will be easier to give him another free product at a cost to me of $15, than it is to lose him, since new users cost $36. Without this data, and objectivity, it would be difficult to make these types of decisions.

Since the system has been decently optimized to produce positive results financially, I’ve increased the marketing budget from $250/day to $1,000/day. The system is still running off the interface that I created initially in 3 hours. Even with that rough draft launch, the revenue remains steady and solid. I’ve since worked with a designer to give it a professional look and better user experience. Based on initial testing, it has a significant improvement on the conversion rate. This redesign, combined with the increase in marketing, should result in a significant increase in users, orders, and profits. Along with the effort to reduce marketing waste, dramatic results are expected in the next few weeks.

At the point in which marketing is sufficiently optimized, it’s then time to look at vendor costs. There are many options there, including switching vendors, or actually replicating the vendor’s systems and recouping the 35% they gobble up of every dollar. This is a daunting task, but logically comes down to this: if the cost of replicating (and therefore replacing) the vendor is significantly lower than what this project is paying out to the vendor, then it makes sense to pursue it. At the current, unoptimized, state, this project pays out roughly $400 daily to the vendor. On a yearly basis, that comes out to $146,000. Assuming that I am right and revenue will triple in the next couple weeks, that’s $1,200 per day or $438,000 per year.

While these numbers pale in comparison to my last full-blown startup, I’m very happy with the results when looking at it from the lens of a side project.

Thanks to Roy Rodenstein (Going.com/AOL), Jason Baptiste (OnSwipe), Scott Kirsner (Boston Globe), Mark Bao (Threewords.me), Xi Chen (Dana Farber), and Jason Evanish (Greenhorn Connect) for reviewing drafts and giving feedback.

Enjoyed this post? Leave a comment below and Follow me on Twitter
]]>
http://waynechang.com/building-a-sustainable-side-project/feed/ 12
Proud To Be a Part of OnSwipe http://waynechang.com/proud-to-be-a-part-of-onswipe/ http://waynechang.com/proud-to-be-a-part-of-onswipe/#comments Thu, 13 Jan 2011 04:06:06 +0000 Wayne Chang http://waynechang.com/?p=601

Announcing my involvement with OnSwipe! When Jason Baptiste first told me about the concept, and then passed me his iPad with a demo, I knew I had to be a part of it. I’m honored to have been the first person to commit and invest. This company will be making waves — stay tuned!


OnSwipe Raises $1M for Insanely Simple Tablet Publishing Platform

Spark Capital Leads Financing Round, Joined by Betaworks and Prominent Angel Investors

OnSwipe Platform to Transform Media Content Publishing on Tablets

Wayne Chang, Andres Barreto, Jason Baptiste

NEW YORK CITY, N.Y. (January 13, 2011) – OnSwipe, a new platform for tablet publishing and advertising, today announced it has raised $1M in funding. Investment firms Spark Capital, Betaworks and ENIAC Ventures (a seed investor in mobile ad network AdMob) participated in the round, as did angel investors Dharmesh Shah (co-founder and CEO of Hubspot), Jennifer Lum (former vice president at Quattro and co-founder of Apricot Capital), Roy Rodenstein (founder and EVP of Going.com), and Wayne Chang (creator of file sharing network i2hub).

The funding will be used to support the launch of the OnSwipe platform, which enables any website to instantly be transformed to an HTML5 native tablet app.

OnSwipe transforms and simplify how media companies publish across all touch-enabled devices. With OnSwipe, media content and advertising will appear and function as they do on native websites and applications, providing a magazine-like experience on touch devices.

OnSwipe addresses a growing industry need with tablet use on the rise. There will be 50 million tablet users worldwide by the end of 2012, according to a recent Forrester estimate, five times more than the current user base. This presents a great opportunity for publishers, hundreds of which already have signed on with OnSwipe.

“Pick up any magazine and notice the careful focus on typography, design, and photography. We believe we can take that same design philosophy to the Web with OnSwipe and tablets,” said Jason L. Baptiste, OnSwipe co-founder and chief executive officer, and author of OnStartups.com and Book By Penguin. “That’s where we think the future of publishing is going. In our view, media spending online has been held back due to poor publishing and advertising quality on the Web. With OnSwipe, we enable publishers to deliver quality advertising reminiscent of full page magazine ads.”

“Publishing is no longer about reaching just the desktop or laptop website user; publishers now need to think about connecting with users of all touch-enabled devices,” said Alex Finkelstein, general partner at Spark Capital. “It’s about making content beautiful and engaging across all devices, and the OnSwipe platform is providing that ability to publishers of all sizes.”

“If you can build a PowerPoint presentation, you can use OnSwipe,” said Andy Weissman, chief operating officer at Betaworks. “In addition to its ease of use, OnSwipe’s ability to incorporate social data into its platform is significant. Social networks will help tailor better recommendations on a publisher’s website that can be of interest to their readers.”

Finkelstein will join the OnSwipe board of directors.

Enjoyed this post? Leave a comment below and Follow me on Twitter
]]>
http://waynechang.com/proud-to-be-a-part-of-onswipe/feed/ 2
From The Richest Man In the World http://waynechang.com/from-the-richest-man-in-the-world/ http://waynechang.com/from-the-richest-man-in-the-world/#comments Fri, 08 Oct 2010 10:57:12 +0000 Wayne Chang http://waynechang.com/?p=580

I write to you this letter in order to share some of my life experiences, hoping it will contribute to your education, your way of thinking and living, your emotional well-being, your sense of responsibility to yourselves and to others, your maturity, and above all, to your happiness, which should be the result of your daily existence.

You are privileged within society due to your talents and efforts, and for the best reason, your own worth.

Success is not about doing things well or even very well, or being acknowledged by others.  It is not an external opinion, but rather an internal status.  It is the harmony between the soul and your emotions, which requires love, family, friendship, authenticity and integrity.

To be as exceptional as you are is a privilege, but it also entails many risks that can have an impact on values that are much more important than professional, economic, social or political “success”.  Emotional strength and stability are in the interior life, and in avoiding emotions that erode the soul such as envy, jealousy, arrogance, lust, selfishness, vengeance, greed and laziness, which are a poison that is ingested little by little.

When you give, do not expect to receive.  “Fragrance clings to the hand that gives the rose,” says a Chinese proverb.  Do not allow negative feelings and emotions to control your mind.  Emotional harm does not come from others; it is conceived and developed within ourselves.

Do not mix up your values or betray your principles.  Life’s road is very long, but it is traveled fast.  Live the present intensely and fully, do not let the past be a burden, and let the future be an incentive.  Each person forges his or her own destiny and it may influence reality.  Do not ignore it.

Live with positive feelings and emotions such as love, friendship, loyalty, courage, joy, good humor, enthusiasm, peace, serenity, patience, trust, tolerance, prudence and responsibility.  Do not allow their opposites to invade your soul, may they pass quickly from your mind, do not allow them to stay there, banish them.  You will make mistakes many times, it is normal and human; but try to make them small, then accept, correct and forget them. Do not be obsessed by them; heaven and hell are within us.  What is most valuable in life does not cost anything but is very precious:  love, friendship, nature and what man has been able to achieve with it; the forms, colors, sounds, smells that we perceive with our senses can only be appreciated when we are emotionally awake.

Live without fear and guilt; fear is the worst feeling men can have, it weakens them, inhibits action and depresses them.  Guilt is a tremendous burden in our lives, the way we think and act.  Guilt and fear make the present difficult and obstruct the future.  To fight them, let us have good sense and accept ourselves as we are, with our realities, our merits and our sorrows.

Staying occupied displaces preoccupation and problems, and when we face our problems, they disappear.  Thus, they make us stronger every day. We should learn from failure, and successes should be silent incentives.  Act always as your conscience dictates, because it never lies.  Fear and guilt will then be minimal.  Do not block yourself in, do not ruin your life, live it with intelligence, with soul and senses aware and on the alert; get to know their manifestations and train yourselves to appreciate and enjoy life.

Work well done is not only a responsibility to yourselves and society; it is also an emotional need.

At the end we depart with nothing, we leave behind only our work, family and friends, and, perhaps, a positive influence which we have planted.

My very best wishes,
Carlos Slim Helú

Enjoyed this post? Leave a comment below and Follow me on Twitter
]]>
http://waynechang.com/from-the-richest-man-in-the-world/feed/ 23
Patrón’s Formula for Building a Successful Online Community http://waynechang.com/patrons-formula-for-building-a-successful-online-community/ http://waynechang.com/patrons-formula-for-building-a-successful-online-community/#comments Wed, 15 Sep 2010 16:08:30 +0000 Wayne Chang http://dev.waynechang.com/?p=301

Patrón’s objective

I love Patrón tequilas.  I especially love drinking it. I also love tech. So, when Patrón launched a site called the Patrón Social Club last year, I signed up and have been following their progress. This year, they launched an interesting concept called  Patrón Secret Dining Society. It’s a part of the larger Patrón Social Club site, but from the looks of the site, it’s one of their primary drivers of interest. Now, Patrón Secret Dining Society isn’t some snobby club with obnoxious membership dues — in fact, it’s free — but it is definitely exclusive.  For this event, they only accepted 10 people (and their plus ones).  I was lucky to take part and see first first-hand on how Patrón is trying to build an online community.

The emails

At 3:51pm on a Monday afternoon, I received an email.

It said that in 9 minutes, there will be a chance to secure a spot at their next location, Newport, RI. However, there would only be a 30-minute window. I decided to give it a shot. I went to the link at 4pm and was greeted with a question. It asked me: “What ingredient did Brett say brought the whole menu together?”  Well, I have no idea who Brett was, so it effectively forced me to go through the website and find all the information I could.  I found that “Brett” was Brett Mckee, the chef from Patrón Secret Dining Society: Charlotte, but the information on the site didn’t mention the ingredient.  Finally, I stumbled upon the Charlotte video, which was somewhat hidden. About a minute and a half into it, Brett quickly says “Pepper was the ingredient that brought the whole menu together.” By this time it was already 4:23pm.  I’m sure I’ve tried “pepper” before watching that video, but I type it in again. The site shoots back an error message in red, “Incorrect answer.”  I re-watch the segment to make sure I didn’t hear it wrong.  Now I’m trying “black pepper” just in case.  No luck.  Maybe the developers had a typo on their end, so now I’m punching in as fast as I can “peppper” or “ppepper“, or even “ppepperr“.  Incorrect, incorrect, incorrect.

Time was running short. I went on Facebook and asked on Brett’s wall. He had just  posted 5 minutes ago to someone else that wanted a reservation at his restaurant.  I’m hoping he would respond in time.  Didn’t happen. I’m trying all the combinations of “pepper” that I can. It’s 4:45pm now.  I just can’t get that form to accept my answer.  I shoot off an email to Patrón Concierge letting them know that they must have a programming bug, and I then closed the browser, frustrated.

About an hour later, my phone beeps. I check the email — it’s from Patrón. The subject line is “Psst… You’re In“.  Wow. I have no idea how that happened.  The email congratulated me, and also said to “protect the secrecy of the event” they won’t reveal the venue to me until they call me 4 days later, at 2pm, to give me another clue.  The email does tell me to dress in cocktail attire, the 4-hour time frame of the event, and that it’s “Somewhere in Newport, RI“. Very mysterious and interesting. I replied to email to RSVP my spot and got an auto-response back.

The event

On Friday, Patrón Concierge gave me a call with directions to go to Newport Public Library at 12pm the next day, and once I’m there, to text “anejo” to a special number. I’m assuming I’ll probably get a text back. The next day, after arriving at the library, I sent the text.  I was right. Within a minute, I received my next clue.  I must look for “the man in the seafaring watermelon pants with a green bag over his shoulder across the street“, and say “Patrón Anejo“, to get my next clue.  This was starting to feel like The Amazing Race.

We started to notice photographers and videographers hovering as we walked.  They continued to be there throughout the event, taking photos and filming footage. Once we found the man in the bright red pants, we received a book from him with a map to the docks. Where are we going? Anyways, we make our way to the docks and then went on a little boat ride which took us a little ways out to sea.  No one knew where we were going.  Some guessed it to be one of the Newport Mansions, others a submarine. As we approached an area filled with yachts of all sizes, we spotted the Patrón flag flying above a ship called The Arabella.  It was going to be a cruise experience.

Once we arrived, we were handed an amazing tropical Patrón cocktail. Ladies would also come by with different h’oreuvres for us to sample.  The drinks and the appetizers were absolutely delicious.  It was relaxing to also look at the scenery of the Newport Mansions as the yacht slowly moved along the shore.

Inside the main cabin, the tables had our names on little tags. Once seated, I took a look at the menu.  Five-courses with five cocktails.  Before each course was served, the chef and the mixologist would come back out and describe it in great detail. I’m not a food critic so the best I can do is ask you to take a look at the pictures and imagine them made with the freshest, locally bought ingredients.  It was absolutely delicious. I didn’t know french toast could taste so good.

Once all the courses had been served, we were able to enjoy the scenery from the deck. There was a hot tub but sadly no one dared to use it.  The cameramen were taking the time now to do interviews, pulling some of us aside. Before leaving, we were told that  the Patrón Secret Dining Society arranged transportation in case we drank a little too much.  Wish they told us before making us drive there!

Patrón’s strategy

While the event was fun from a participant’s perspective, let’s dive into the strategy behind the concept. Patrón’s approach to building an online community is through novelty and exclusivity.  By spending roughly the same amount they would have spent on a large event, they instead focus on an extremely small group of people while increasing their impact.  Most liquor-company sponsored events are like a flash in the pan — it’s a party held in a local club that you’ve probably been to before a dozen times, except this time there’s the liquor company’s banner, and the alcohol options are limited to that company’s.

Contrasting that with Patrón’s approach of unique events (the dinner before Newport was held at the Embassy of Finland with the Ambassador and his wife), and an online social site, Patrón is primed to capture and extend the effect of events that they organize.

Patrón’s formula:

  1. Announce exclusive event to your fans via email marketing.
  2. Fans browse the site for an answer to a question required to apply.
  3. Choose 10 from all applicants.
  4. Bring in photographers and videographers to the event.
  5. After the event, gather up all media assets created.
  6. Create a video and photo gallery using the media assets.
  7. Put it online to generate more interest of these events.
  8. Repeat.


In effect, the few that were chosen to participate simply become raw material for photos and camera footage.  The interviews conducted with the participants perpetuate the allure of the event.  They usually discuss the mystery and the fun of the event.  This is a prominent part of the video so that when it is put online a couple weeks later, it will help convince others that this is an event worth going to.  So they eagerly await the inevitable email inviting them to spend some time to apply, and the loop continues.

The video is one of the key parts of this loop.  Patrón disabled video embedding so you have to go to their site to see the video (age verification through dropdown required).  Generally watching it should, at the very least, pique your interest, if not fully make you feel like it is an event you want to take part in.

What can Patrón do to improve?

There are definitely missed opportunities that Patrón should be seizing.

For instance, I only visit the Patrón Social Club site when I get an email, but never other times.  Patrón has a neat but almost completely overlooked feature on their site where you can put in your Patrón bottle’s ID number and find the history of the bottle, revealing information like where your particular bottle was manufactured, where the ingredients came from, etc. But there’s no incentive to continually register your bottles — the novelty wears off after you register one or two bottles. 

Patrón should find ways to reward a much larger percentage of their fans that they are actively marketing to through email.  They should also leverage their bottle ID feature and innovate in that area through recognition of their loyal fans such as discounts, points, or even badges.

It’s clear Patrón wants people to use their site, but they need to align the marketing with the user behavior they want.  They need to implement an engagement driver.  A winning combination would be leader boards that reset to encourage constant activity, rewarding your fans that earn different badges of recognition for registering bottles, and the continuation of the exclusive events that are free, but randomly picked from the leader boards.

My proposed plan for Patrón:

  1. Generate Patrón recognition for bottles registered among other activities on the site.
  2. Create a leader board with different categories for that recognition. It should reset monthly.
  3. The leader board will show the top in Most Bottles, Most Patrón Variety, etc.
  4. Create incentives to interact with your friends on the site.
  5. Reward fans with gifts for placing in the top of the leader boards.
  6. Still hold the exclusive events to your fans, except this time encourage them to use the site more, with the chosen few to be picked from the leader boards.

Imagine how many more fans will be pleased if they knew that by using the site they will get rewards through activities such as registering bottles, or uploading pictures or otherwise just being social on Patrón Social Club.  And how that usage also gets them the chance to be invited to take part in the exclusive Patrón events.  This provides a very strong incentive to Patrón fans to continually use the site, and as a result, the website would see their engagement significantly increase.

It’s a direction that I hope they take.  In the mean time, if one of these Patrón Secret Dining Society events do pop up near you, give it a shot.  You might just get lucky.  If you do, don’t forget to look for the man in the seafaring watermelon pants.

Thanks to Jason L. Baptiste and David Yee for reviewing drafts of this post.

Enjoyed this post? Leave a comment below and Follow me on Twitter
]]>
http://waynechang.com/patrons-formula-for-building-a-successful-online-community/feed/ 2
Napster 10-year Reunion http://waynechang.com/napster-10-year-reunion/ http://waynechang.com/napster-10-year-reunion/#comments Thu, 09 Sep 2010 16:56:53 +0000 Wayne Chang http://dev.waynechang.com/?p=244

Arthur Singer and Shawn Fanning planned the event.  It was held at Shawn’s penthouse in the Marina Bay, overlooking the Bay Bridge.

Enjoyed this post? Leave a comment below and Follow me on Twitter
]]>
http://waynechang.com/napster-10-year-reunion/feed/ 1