Archive

Posts Tagged ‘Product/Feature-Design’

#3, Hulu, Why?

July 29th, 2009 Bali No comments

Fast Company recently published its version of the world’s top 50 most innovative companies. Although I would question why Intel is among top10, what surprised me most is the fact that Hulu is listed #3. I know there might be political things about the particular order, as it goes with most ranking, but it would be also interesting to find out “why Hulu, not others”.

Origin

Hulu, an online video streaming company, managed to do something which YouTube failed to do. Copyright is one of YouTube’s headaches, but it is incredible positive thing for Hulu, because it is built intentionally aimed to server property content by two major stream media dogs, NBC Universal and Fox.

{YouTube, watch someone’s DIY video} VS { Hulu, watch TV & Movies online legally} -> Similar but different market niche.

People might be asking, why NBC and Fox executives don’t rely on YouTube to serve their plays? You can imagine following conversation which probably happened behind the scene:

NBC/Fox:

Hey, YouTube, are you interested in serving my video to the world?

YouTube:

Why not. Let’s sit down and take a look at this. Now we are owned by Google, and we are overwhelming dominator in online video market. We have great brand. We have great infrastructure. We have most talented engineers. Blabla… (down to the point) so you have to pay x dollar for every minute show.

NBC/Fox(think):

uh-um… let me do some math here. Plan A is to work with YouTube, plan B is to build up something myself. In next 3-5 years, if everything goes as predicted, plan B will bring much more money to our shareholders than plan A, and less risky.

YouTube(ping NBC/Fox):

What do you think of the plan?

NBC/Fox:

Nice plan, but no, thanks.

This is the first site who delivers property video to your computer for free. Traditional Media Company gradually realized that they have to embrace the changes if they are not able to prevent them. It is online streaming, in this case. Hulu has more than 120 sources now.

Key is property content sources are nonrenewable rare resources.

Independence

Hulu’s CEO said to capital angels, “I don’t think you’ll be seeing the name Fox or NBC on the site hardly at all, Hulu is about the shows, not the networks. The shows are the brands that users care about.” Another quote, “the key to Hulu’s success is its freedom to operate essentially as a stand-alone company…”

From startup’s perspective, captical can be good thing, or bad thing. It can help you grow much faster, but it can also easily enable you miss your initial goals. Capital often appoints some seemingly smart guy, who is with XYZ MBA degree or n years of experience in ABC company, to take over the company as one of its investment agreements.

That is indeed one of the worst investment risk controls, although it happens again and again. Give money to most passionate guys, and letting them be passionate always is the only way to maximize the probability of getting most out of your investment.

Feature?Solution? Experience!

Question: If you are given a task to build a video streaming site within less than 3 months, what would you do?

We were taught this way:

1) Identify who will be using your site

2) Draw use case diagram

3) List scenarios for each user role

4) To support each scenarios, figure out needed features

5) Design/Code/test your features

6) Go live

7) Yeah! Party! :- )

If you follow this in your next interview, I can almost guarantee a pass. Do we miss anything? Actually we missed most critical one – Experience! Experience is a combination of brand/feeling/easy-to-use/enjoyable process. For example, given below requirement:

“Design something which is used to sit on, commonly for use by one person. It often has the seat raised above floor level, supported by legs.”

People will respond immediately, “Chair!”. You may notice that there are at least hundreds of types of chairs in the world, if not thousands of, if not millions of. Only most imaginative ones who deeply understand that particular set of users’ needs, care about their feelings and eventually apply those into product designs can do the best work. Let us take a look at “art of chair”.

Art of Chairs

Be COOL, in show time, although you might have the similar hard time figuring out what some of them really are. :-) Just like someone said about iTune – “iTune is not selling features. iTune is selling experience.”

Hulu’s key experiences:

1) Simple

2) Larger screen

3) High-resolution video

4) Clutter-free

5) Quality control

6) Free to users

7) No download

8) Obsessed with users

P2P Backup System w/o SPOF for Work Group

July 29th, 2009 Bali No comments

This is also one of my half-completed ideas years ago. It was recalled recently by two stories:

Stories

#1: One of my team mates lost his Outlook email archive due to a mistaken operation. He is very upset because all of his emails in past two years are gone, unrecoverablly. Suggested Outlook mail file is 2GB, but people can easily drive it up to 10GB and often notice this too late. As what he said in MSN signature, “my archive, 555…”

#2: While I was browsing one of my favorite bloggers – Brad Abrams’s blog, ran into a shocking post, Help! My hard disk crashed. He can afford a new disk, but he need the data – especially “the pictures of the kids recent birthday party”. In the comments, people suggested various ways to recover it, unfortunately looks like no luck.

This leads to the most basic questions: why people don’t backup data even if they know they are in the risk of losing them? Probably because of:

1) The chance is very tiny

2) Current backup solutions are not “good enough”

For 1), although it might be true, but remember the result might be cataclysmic. Let us take a look at what is going on about 2).

Existing Backup Solutions

Traditional C/S – Most of current backup solutions are based on traditional C/S architecture. Assume one use 40% of 500GB disk drive on average; it is still a big capacity for enterprise with thousands of staff. Backup time is also another concern. Let me illustrate this with some math. For a backup server with two 1-Gbit NICs, its max throughput is about 200MB. If backup window(people are sleeping) is 10 hours, it means it can back up about 7.2TB(2*100*3600*10MB) data. Obviously it is hardly scalable along with business expansion.

Online backup – People can turn to AWS S3, or Azure SQL Data Services to simplify things on their own side. But this doesn’t make things even better if you look at current network speed. Calculating data is much easier than moving data around.

My P2P Backup System

p2p backup comes with several inherent advantages in handy:

1) No additional hardware expense. People often have at least 30% capacity left; we can leverage that for backup space.

2) No obvious network bottleneck.

Some people might also list “no single point of failure”, but that is not true. Let us take a look at how BT works, a general P2P network.

Basically here are what happens in P2P network – peers need talk to a central coordination server(i.e., Tracker in BT system) to get info about other peers, and then talk to individual peers about real data exchange. These two steps are essential. Single Point of Failure(SPOF) can happen in the coordination server. You may argue that you can enhance its reliability by techniques like mirroring, but does it look like over-heavyweight? We have many reliable services running by full time IT guys, why do we bother to re-invent the wheel? Several services can be utilized, such as AD, Sharepoint, exchange, which allow customized data writing. Data needed written into a central place would be:

1) Peer list by <IP, port>

2) Other meta data such as backup network name, Software RAID level

Of course, we need do compression, encryption, incremental backup, scheduled backup in the solution. I may do investigation later and update the post.

Also see other backup solutions

http://www.storegrid.com/index.html – select a folder, then backup, traditional

www.streamload.com – Large net disk, Upload your files to streamload, then view it, or email it to someone else.

http://www.beinsync.com/ – Access you computer: install a mini PHP web server onto it.

http://base.google.com/base/about.html – In about 15 minutes, your item will have a unique web address and be visible to the world.

http://www.openomy.com/openomy is an online file storage system designed to be a platform for Web 2.0 applications, built by Ian Sefferman

An AD System to Pay Content Generators

July 29th, 2009 Bali No comments

Back to not too long ago, I had a half-completed advertising idea related to social shopping. Now I post it here to collect more feedbacks. I call it HappyDog. (Just a name, not related to that DogFood widely used within Microsoft J)

Problems

As everybody knows, ‘YOU’ is named Time’s person of 2006 for the growth and influence of user-generated content on the internet.  Why? In Wikipedia’s words:

“… chose the millions of anonymous contributors of user-generated content to Wikipedia, YouTube, MySpace, Facebook, Digg, Second Life, the Linux Operating System, and other providers, as Person of the Year, personified simply as You.”

But on the other hand, if we carefully think of people’s motives of generating contents we can easily find that people do this mostly out of curiosity, self-achievement or volunteerism. Problem #1: Per basic economy principles, these efforts can hardly stand long. Content quality is another downside in such circumstances.

Another awkward problem around current most successful business model, online ad, is the fact that people get tired of spammed AD when they use certain online service for free. Problem #2: But interesting enough, people often have trouble in making the right purchasing decision given even exposed to so much AD, probably because: (1) AD timing is not good, (2) they don’t trust the publisher, (3) AD is not carefully targeted. This looks pretty twisted, doesn’t?

At a glance

Taking above problems into consideration, HappyDog is an innovative advertising system which provides following unique values:

  • For general content generator – get cash paid by sharing your experience with the world, even if you does not own a website.
  • For shopper – make your shopping decision more smartly
  • For business, either online or offline – market your product more directly to the most potential customers

Let us take a look at below diagram first:

By content generators, it could be anyone(professors, housewives, kids,…) who contribute anything(answers, e-books, songs, tutorials, …) in any format(wiki, blog post, video,…), including but not limited to wiki & QA.

When people produce contents, HappyDog helps insert contextual AD into the content. The big difference from existing advertizing system is that content generators gain real revenue in HappyDog system. The revenue coming from advertisers would be divided into several parts: 60% to content generator, 30% to site owner, 10% to HD. HD takes the smallest piece of pie, but apparently we will gain most amount of them, because there is only single HD, 1*M site owners, 1*M*N content generators. In addtion to real $s, the incentives here can also be points/happiness, etc. The point here is to encourage ones by certain ways. But the reason why we highlight monetary incentives is the belief that this makes something long-awaited possible. Let us think about this: Sites like Wikipedia, IMDB, or Amazon, have tons of high quality content that have been contributed freely, but why only them? Because They are cheap, handy offerings to the community. How about an book written online, sold online? Few will do this free mainly because of its costly nature. HD makes it possible though. Another interesting thing is how wikipedia-clones are going in China. They never take off. It might be cultural reasons related to general finance status.

Monetary incentives can help imporve quality of content because one gets financial penalty due to “thumb down” when we put a rating system in place.

HD helps people do better purchasing decision in that HD AD is more personal, and people are encouraged to advertise the products they sincerely love and have first hand experience on. We will address this in detail next. One will be concerned to play dirty because one also has to care about its repuation/credit disclosed by rating system.

Demo

Take Yahoo answers as example, an working page from publisher side would be:

P0 features in 1st Milestone

In order to pay content generator effectively, following features are essential in M0:

(1)    Users have the rights to select their preferred AD – When you answer questions in forums; you actually care your reputation in same way you deliver a public speech. So you also care the AD itself along with your content. Another reason supporting users selectable AD is that people might like to show certain products more persuasively via real personal experience. In short, we prefer “recommend your favorites to friends” scenario.

(2)    PPA(Pay Per Action) as major pricing model along with PPC – Advantages of PPA: no click fraud, advertisers’ preferences.

(3)    AD type – signature text, picture, inner-text popup, mini-cast

(4)    Support offline mode – Although internet users reach 0.8 billion statistically, but not every business has a website. This is especially true when people surf the net mainly for entertainment instead of business. HappyDog aims to benefit this kind of business via so called offline mode. We will take about this later.

(5)    An open platform – Open API to foster a strong ecosystem around HappyDog.

How It Works

The conceptual architect for HappyDog might be looking like follows:

In real implementation, HappyDog doesn’t depend on any specific technology platform. Take general open source platform as example, related technology could be:

•       Client

–      HTML

–      Use Javascript/Flash extensively

•       Servlet container

–      Tomcat/Jboss

–      Spring, OR structs

•       JAS(Java Application Server)

–      Jboss

–      Hibernate

•       File Server

–      Store static data, say photos, html, pic, js

•       DB

–      MySQL

Its key use cases would be:

Buyers can be publishers or unregistered users. By online, it means the transactions whose completion can be confirmed online, say online order, user registration, complete one survey, software download, etc. By contrast, offline means the remaining trade types, such as haircare, restaurant, face-to-face trading.

PPA Implementation

PPA, as one of the core features of HappyDog System, comes with two flavors: online and offline, as illustrated in following sequence diagrams.

Online-PPA

The steps here are:

(1)    User browses and click the publisher site link somehow

(2)    Browser sends request to publisher

(3)    Publisher response the corresponding content along with Javascript inside

(4)    Browser starts rendering the page, and then the Javascript in Browser call the HD to get AD

(5)    HD returns content with targeted AD

(6)    Brower completes rendering

(7)    User continues browsing and click one of our AD

(8)    Brower follow the link and send the request to HD along with the needed parameters

(9)    HD do several things here:

a)        Write “who is publisher, when, advertiser, campaign, etc” into the DB and return with a TRANSACTION_ID

b)        Write TRANSACTION_ID into user’s browser cookie

c)         Redirect user to advertiser website

(10)Advertiser returns the commercial pages to user browser

(11)Just show it

(12)User is interested in something in advertiser’s web site and fills in form(sales order, lead, signup, etc) and submit

(13)Submit user inputs to advertiser

(14)Advertiser will do below things:

a)        Do anything necessary to close the deal

b)        Read user’s browser to get TRANSACTION_ID

c)         Call beacon code the confirm the transaction with HD with TRANSACTION_ID as parameter

(15)Charge advertiser and share revenue with publisher

To take part in AD promotion of this advertiser, user must give his comments about this shopping experience.

Offline-PPA

Offline mode is bit more complex.

(1)    User browses and clicks the publisher site link somehow

(2)    Browser sends request to publisher

(3)    Publisher response the corresponding content along with Javascript inside

(4)    Browser starts rendering the page, and then the Javascript in Browser call the HD to get AD

(5)    HD returns content with targeted AD

(6)    Brower completes rendering

(7)    User continues browsing and click one of our AD

(8)    Brower follow the link and send the request to HD along with the needed parameters

(9)    HD do several things here:

a)        Write “who is publisher, when, advertiser, campaign, etc” into the DB and return with a TRANSACTION_ID

b)        Give user the advertiser’s profile and coupon which contains TRANSACTION_ID, advertiser name, promotion campaign.

(10)Just show it

(11)User is interested in advertiser’s  promotion program and decide to print the coupon out

(12)Go to HD

(13)Record this as a successful transaction in DB and wait for confirmation(TTL is 2weeks)

(14)User go to the advertiser with coupon to enjoy the service or product(say haircare, dinner, etc), and go back with CONFIRMATION_CODE

(15)Provide service and a CONFIRMATION_CODE

(16)User logon to HD, submit TRANSACTION_ID and CONFIRMATION_CODE

(17)After validation, give user further kickback

A series of CONFIRMATION_CODE are issued to advertiser by HD while he/she enrolls the program. Additionally, in step(15), alternatively advertiser could logon to HD and confirm the transaction.

Open Questions

There are also several problems deserving consideration at current stage:

1.       How to get advertisers? Alimama? Google AdSense is such a close system, hard to extend.

2.       Looks like current publishing place are not ready for HappyDog. They often filter AD content out. How to solve this?

3.       How to share revenue in Wiki scenario? Say 50 people contribute to a wiki page, how to distribute revenue among them?

4.       Is the money too little to stimulate enthusiasm among high quality content contributors who are usually payed very well in regular job?

5.       How to protect content, for example 1st tutorial about jailbreaking iPhone? Share revenue?

This post is mainly for feedback collection purpose. Feel free to Pai Zhuan. :-)

Design Flaws in Google Docs’ Collaborative Editing ?

July 29th, 2009 Bali No comments

I observed this on August 30, 2008.

One of highlighted features in Google Docs is its collaborative editing, which means different users can edit the same document simultaneously. But users should be careful in production scenarios.

Here is what is happening. Suppose user A creates a document named “our plan”. In the document, he writes:

B can provide $100,

C can provide $200,

Considering that we only need 250$, so we can buy that product.

Next, he invites user B and user C as collaborators. B and C open “our plan” respectively in their computer. According to latest changes, B changes line 1 to “B can provide $50,”. Coincidentally, C changes line 2 to “C can provide $150”. Finally they both click “Save & Close”.

Google Docs will NOT report conflicts when different users are editing different lines.

As a result, final version of “our plan” is like follows:

B can provide $50,

C can provide $150,

Considering that we only need 250$, so we can buy that product.

The document makes NO sense now.

Conclusion

In any case, it’s not a design flaw. After certain discussion with my friends, this is the concrete conclusion I get. It’s making a trade-off around ease of collaboration vs. potential of unflagged semantic conflict. Lots of products need to make similar types of decisions with respect to how to merge changes from multiple users, for example Microsoft OneNote 2007 shared notebooks.

There is no “money for nothing” here. You have to make a design choice.