44
Designing Your Product as a Platform Micah Laaker, Yahoo!

Designing your Product as a Platform

Embed Size (px)

DESCRIPTION

Learn how to deconstruct what it means to be "Open," as well as how to engage developers, leverage users, and shape your data to make your platform ready for commercial use.Presented April 14th, 2009, at BayCHI: http://www.baychi.org/calendar/20090414/

Citation preview

Page 1: Designing your Product as a Platform

Designing Your Product as a PlatformMicah Laaker, Yahoo!

Page 2: Designing your Product as a Platform

Caveats• Platform = software framework that powers

2 or more products

• Lots of technology “recommendations” that are mostly used for example purposes; before adopting technology, investigate for latest updates to this space

• Internal platform? External platform? Similar considerations.

Page 3: Designing your Product as a Platform

Why?

Page 4: Designing your Product as a Platform

Open

Page 5: Designing your Product as a Platform

questions when embarking on Platform Design• How “open” to go?• How do I leverage Users?• How do I shape my Data?• How do I engage

Developers?4 1

2

3

4

Page 6: Designing your Product as a Platform

Photo: http://www.flickr.com/photos/wiccked/133164205/

1 How Open?

Page 7: Designing your Product as a Platform

Open Source• Free to use • Community contributions • Decentralized• High reliability

Open 1/13

Page 8: Designing your Product as a Platform

Open Infrastructure• Pay-as-you-go, only-

what-you-need cloud computing

• Outsource hosting, ops, and processing

Open 2/13

Page 9: Designing your Product as a Platform

Open Architecture• Anyone can mod your

product... on your product

• Plug’n’Play

Open 3/13

Page 10: Designing your Product as a Platform

Open Standards• Community-driven • Goal is inter-operability• Software and Hardware

Open 4/13

Page 11: Designing your Product as a Platform

Open Ontology• Describe what

can not be seen • Future-proof your data• Goal is the

Semantic Web

Open 5/13

Page 12: Designing your Product as a Platform

Open Access• APIs• Multi-channel access• 3rd-party

Developers/Partners can build on your platform

Open 6/13

Page 13: Designing your Product as a Platform

Open Canvas• Product becomes a

vehicle for 3rd-party content

• Fast food sites: your content to-go

Open 7/13

Page 14: Designing your Product as a Platform

Open Content• User is the editor by

programming self-relevant content

• Content comes to you when its ready

Open 8/13

Page 15: Designing your Product as a Platform

Open Mic• The product is populated

entirely by users• Users own their content• Products support

making/discovery of content

Open 9/13

Page 16: Designing your Product as a Platform

Open Forum• Users contribute ancillary

data• Ratings, reviews, ranking,

and link submissions• Heavy social interaction

Open 10/13

Page 17: Designing your Product as a Platform

Open Door• User as product

decision-maker• Reveal operational

details• Communication is

open to all

Open 11/13

Page 18: Designing your Product as a Platform

Open Borders• Settings/configs can be

imported/exported• No (product)

commitments• Users can come-and-go

Open 12/13

Page 19: Designing your Product as a Platform

Open Identity• User as owner of identity• 1 ID for many sites• Power to the people

Open 13/13

Page 20: Designing your Product as a Platform

In what way(s) are you “open?”

Page 21: Designing your Product as a Platform

• How does our product support our users?

• How does our product engage our users?

Leverage Users2

Page 22: Designing your Product as a Platform

User Identity• Support of OpenID as a relying party

• Aggregation of cross-web identity

• Leverage existing Relationship graphs

Support function

Page 23: Designing your Product as a Platform

• Access to User data and configurations

• Lifestreaming

• Attention XML

User BroadcastingSupport function

Page 24: Designing your Product as a Platform

User Feedback• Suggestions

• Metrics

Support function

Page 25: Designing your Product as a Platform

User ContributionsUser is the owner and creator of your product’s content

Engagement model

Page 26: Designing your Product as a Platform

User EnhancementsUser adds value to existing content/system:

Engagement model

Page 27: Designing your Product as a Platform

User Extensions• User as part of the product

• Repairs, adds, and extends data

Engagement model

Page 28: Designing your Product as a Platform

LeverageUsers

Page 29: Designing your Product as a Platform

3 ShapeData

Page 30: Designing your Product as a Platform

Define the object

Page 31: Designing your Product as a Platform

Describe the Object• Use Microformats/RDFa

• Assist machines in making sensible decisions about your data

• Improve SEO

• Make future integrations/product ideas feasible with small investment upfront

Page 32: Designing your Product as a Platform

Connect the Object• Support relationships

between data

• Social Graph

• Interests

• Kevin Bacon for Data

• Use FOAF + XFN

Page 33: Designing your Product as a Platform

Distribute Objects• Expose XML/feeds of your items

• Map your feeds thru YQL Open Tables

Page 34: Designing your Product as a Platform

Data Model• Define Objects

• Describe Objects

• Connect Objects

• Distribute Objects

Page 35: Designing your Product as a Platform

Engage Developers

4

Page 36: Designing your Product as a Platform

Privacy/Security• User’s creds. should never be shared

• Industry-standard auth. protocol (OAuth)

• User must control relationships

Page 37: Designing your Product as a Platform

Canvases• 3rd-party content inside your product

• Technology: Apps & Widgets

Page 38: Designing your Product as a Platform

Service ExposureMake product functionality available as a service when applicable

Page 39: Designing your Product as a Platform

UI ComponentsBuild (and make available) UI as components when utilized in 2 or more locations

Page 40: Designing your Product as a Platform

Policy• Define SLAs and Commercial TOU

• Establish rate limits and means of surpassing

• Communicate status of platform

Page 41: Designing your Product as a Platform

Developer Engagement• Privacy/Security

• Canvas support

• Service exposure

• UI Components

• Policy

Page 42: Designing your Product as a Platform

1

2

3

4

Platform Design Task List• Determine “Open-ness”

• Define User Leverage model

• Define Data model

• Define Developer Engagement model

Page 43: Designing your Product as a Platform

Open PlatformOne-Sheet

UX User Exp. Dev. Exp. Data Model

Open Source

Open Infrastructure

Open Architecture

Open Standards

Open Ontology

Open Access

Open Canvas

Open Content

Open Mic

Open Forum

Open Door

Open Borders

Open Identity

Page 44: Designing your Product as a Platform

In Closing• Learn more about the

Yahoo! Open Strategy: developer.yahoo.com/yos/

• Contact:Micah Laaker / [email protected]