Thinking Small to Get Big: Thinking Small to Get Big The long tail of software
Slide2: 10 1000 Sex Mp3 Britney Spears 1,000X 3% 97% Excite Query
Distribution 10,000,000
Excite didn’t figure out how to make a business out of 97% of our traffic volume: Excite didn’t figure out how to make a business out of 97% of our traffic volume
Google Did. $50bn anyone?: Google Did. $50bn anyone? An efficient marketplace for advertisers to reach SMALL audiences.
Every single iTunes song has been bought at least once: Every single iTunes song has been bought at least once
The transformative businesses are going to operate in and monetize the long tail: The transformative businesses are going to operate in and monetize the long tail
There’s a long tail for software: There’s a long tail for software
In the past, the software tail has been inaccessible.: In the past, the software tail has been inaccessible. Too hard to write.
Too expensive to write.
Too brittle once deployed.
Too expensive to market and distribute.
The focus has been on dozens of markets of millions: The focus has been on dozens of markets of millions Instead of millions of markets of dozens.
Business software in the long tail. : Business software in the long tail.
Software’s Long Tail: Software’s Long Tail Head Tail
Slide14: Fixed, stable feature set Evolvable, changes with requirements Software’s Long Tail Head Tail
Slide15: Fixed, stable feature set
Architected Evolvable, changes with requirements
Evolved Software’s Long Tail Head Tail
Slide16: Fixed, stable feature set
Architected
Permanent Evolvable, changes with requirements
Evolved
Disposable Software’s Long Tail Head Tail
Slide17: Fixed, stable feature set
Architected
Permanent
100k-1M users Evolvable, changes with requirements
Evolved
Disposable
1-1000 users Software’s Long Tail Head Tail
Slide18: Fixed, stable feature set
Architected
Permanent
100k-1M users
Big pieces Evolvable, changes with requirements
Evolved
Disposable
1-1000 users
Small pieces Software’s Long Tail Head Tail
Slide19: Fixed, stable feature set
Architected
Permanent
100k-1M users
Big pieces
Monolithic Evolvable, changes with requirements
Evolved
Disposable
1-1000 users
Small pieces
Loosely joined Software’s Long Tail Head Tail
Slide20: Fixed, stable feature set
Architected
Permanent
100k-1M users
Big pieces
Monolithic
Generic Evolvable, changes with requirements
Evolved
Disposable
1-1000 users
Small pieces
Loosely joined
Situated Software’s Long Tail Head Tail
Slide21: Fixed, stable feature set
Architected
Permanent
100k-1M users
Big pieces
Monolithic
Generic
Lock-in Evolvable, changes with requirements
Evolved
Disposable
1-1000 users
Small pieces
Loosely joined
Situated
Open Software’s Long Tail Head Tail
Slide22: Fixed, stable feature set, Architected, Permanent, 100k+ users, Big pieces
Monolithic
Generic
Lock-in
Most users not builders Changes with requirements, Evolved, Disposable, 1-1000 users, Small pieces
Loosely joined
Situated
Open
Most users are builders Software’s Long Tail Head Tail
Slide23: Fixed, stable feature set, Architected, Permanent, 100k+ users, Big pieces
Monolithic
Generic
Lock-in
Most users not builders
Low-level tools Changes with requirements, Evolved, Disposable, 1-1000 users, Small pieces
Loosely joined
Situated
Open
Most users are builders
High-level tools Software’s Long Tail Head Tail
Slide24: Fixed, stable feature set, Architected, Permanent, 100k+ users, Big pieces
Monolithic
Generic
Lock-in
Most users not builders
Low-level tools
Complex, feature bloat Changes with requirements, Evolved, Disposable, 1-1000 users, Small pieces
Loosely joined
Situated
Open
Most users are builders
High-level tools
Simple, few features (but right ones) Software’s Long Tail Head Tail
These characteristics imply a set of features…: These characteristics imply a set of features…
Flexibility: Flexibility Handles structured and unstructured data
Easy to modify and migrate schemas
Evolvability: Evolvability Tolerant development process
Amenable to easy changes as project progresses
Users are builders: Users are builders Short distance between using the app and modifying the app
Integrated view and edit
Loosely joined, Open: Loosely joined, Open Easy to get data in and out
Simplicity, Small pieces: Simplicity, Small pieces Minimal object model, small number of component types (RESTful)
High-level tools: High-level tools Rich environment (environment is useful without even programming)
Ala Excel
Antecedents: Antecedents
HyperCard: HyperCard Rich environment (stacks were useful without scripting).
Tolerant (data model was flexible).
Integrated view & edit.
Not so easy to get data in and out, and app was not networked for group use.
Excel: Excel Rich environment (spreadsheet is useful without even calculating, much less macros).
Tolerant (easy to refactor).
Integrated view & edit
Simple data model (everything is a cell).
Easy to get data in and out (CSV, HTTP).
Not networked, and cell model makes it primarily useful for numerical modeling.
Microsoft Access: Microsoft Access Not a rich environment (you have to build tables before the app is useful).
Not tolerant (hard to migrate schemas).
Integrated view & edit for only some users.
Complex data model.
Lotus Notes: Lotus Notes Rich environment.
Moderately tolerant.
Some users can be builders but building is generally complex.
Not easy to get data in and out.
More complex object model.
Not loosely joined.
Traditional Wikis: Traditional Wikis Tolerant.
Integrated view & edit.
All users can be editors and creators.
Not loosely joined.
Inflexible data model: no structured data.
No programming allowed.
How do we meet the set of required features?: How do we meet the set of required features?
Tolerant Development: Tolerant Development Revision control, flexible data model
Short Distance b/w Using/Editing: Short Distance b/w Using/Editing Just one click!
Easy to get data in and out: Easy to get data in and out Rich standards-based methods to access and publish data
Minimal Object Model: Minimal Object Model Everything is a wiki page
Rich Environment: Rich Environment “Degenerate" application is a wiki, which is highly useful on its own
Backup, Notes, etc.: Backup, Notes, etc.
What enables access to the long tail?: What enables access to the long tail? With iTunes, Netflix, Google, eBay, it’s lowering cost to address very small markets.
In Software: In Software That trend has been happening over time. But, it’s still not feasible to address a market of ten.
Software is:BrittleExpensiveLowest Common Denominator: Software is: Brittle Expensive Lowest Common Denominator
Doesn’t have to be this way: Doesn’t have to be this way Transformations have happened in the past
Microsoft Excel: Microsoft Excel
Excel: Excel Before
Highly specified
Highly technical
6 months or more
Out of step with business pace After
Rapidly created
Disposable
Single use
Evolvable
Far less technical