Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Zembly: Applications for the Masses by the Masses
1. Applications For The Masses,
By The Masses
Why Engineers Are An Endangered Species
Todd Fast
CTO, zembly.com
todd@zembly.com
SNAP Summit
10-28-2008
2. Propositions
Software engineers are an increasingly endangered
species
Neophytes will take over their jobs
No one will mind
October 2008 | zembly.com | 2
3. Agenda
Genetic Freaks
Trends
Applications & Platforms
Social Applications
Tools
Do We Need Engineers?
October 2008 | zembly.com | 3
4. Software Engineers are Genetic Freaks
Take a look around you; are these people normal?
• Above-average intelligence
• Above-average ability to abstract
• Below-average tolerance for imprecision
• Below-average fashion sense
• Willing to sit in conference sessions instead of out pursuing mates
Engineers are at the edge of the population curve
By definition, most people are not like engineers
The sooner you realize you're not normal, the easier this
will be for you
October 2008 | zembly.com | 4
5. Leading Question
Normal people are not suited to software engineering
But, what if relatively normal people could do a lot of what
engineers do today?
Let's call them casual developers
October 2008 | zembly.com | 5
6. Casual Developers
Not “developers” as we typically define them
• Not self-identifying as engineers
A large majority are under the age of 30
• Students are a big fraction
Casually use advanced technology day-in, day-out
Produce and consume information at dramatic rates
Interact with others asynchronously and non-linearly
Assemble personalized views of their world
Increasingly entering the corporate workforce
Fleshing out the next-generation Web with increasingly
interactive content
October 2008 | zembly.com | 6
7. Agenda
Genetic Freaks
Trends
Applications & Platforms
Social Applications
Tools
Do We Need Engineers?
October 2008 | zembly.com | 7
8. Technology Trends
Platforms are at the fore
Everything is syndicated
Social is everywhere
• People at the center, not software
Simpler is better
Seemingly infinite demand for applications
• Delivery can't keep up
October 2008 | zembly.com | 8
9. Social Trends
Social computing is becoming a pillar of mass culture
• Social features drive technology to the masses
Software increasingly mediates real-world relationships
App development merging with app usage merging with
content creation merging with content consumption
merging with culture
• Apps are a way of life
• “The medium is the message.” - Marshall McLuhan
October 2008 | zembly.com | 9
10. A Confluence of Trends
Widespread broadband connectivity
The ability to augment Web sites and social networks with
user-defined functionality
A ever-growing supply of interesting Web APIs
A mass market of technically-savvy people who are
• Eager to express themselves and contribute
• Extremely familiar with technology
• Steeped in the conventions of social computing
• Feel constrained by delivery of traditional technologies
Social networks that provide massive distribution channels
A presumption that social software is an end in itself
October 2008 | zembly.com | 10
11. Agenda
Genetic Freaks
Trends
Applications & Platforms
Social Applications
Tools
Do We Need Engineers?
October 2008 | zembly.com | 11
12. Question
How many people here build applications?
October 2008 | zembly.com | 12
13. What is an Application?
An application is a piece of
software that helps a user
scratch an itch.
October 2008 | zembly.com | 13
14. What is an Application?
Most engineers make a living writing applications for others
• Using powerful software tools
• Using expertise accumulated over years
Traditional perspective of “application”
• Solve other people's use cases
• Are big and take significant resources to develop
• Live a long time
• Only highly skilled experts can create them
But, applications come in all sizes and shapes
• Large: SAP, Amazon.com
• Small: UNIX shell scripts, widgets
The scope of what is considered an application is shrinking
• If it helps a user with a task, it can be considered an app
Small apps rely heavily on platforms
October 2008 | zembly.com | 14
15. What is a Platform?
A platform is a piece of
software that enables
applications.
October 2008 | zembly.com | 15
16. What is a Platform?
Fertilizer for ecosystems of applications built upon them
Solve common problems so that applications don't have to
Expose facilities (e.g. APIs) that make writing applications
easier
As a rule, applications enrich the platforms they run on
• Platforms need applications, and applications need platforms
Platforms are more than the sum of their parts
• Crowdsourcing enriches platforms in ways that the original
developers didn't imagine, much less have time to do
• Looks a lot like the open source model
October 2008 | zembly.com | 16
17. The Application Spectrum
Platforms & Services
Web-scale sites; Social platforms;
Mobile platforms; 1st-gen Web APIs
Traditional Apps
Destination sites; Enterprise; RIAs; Desktop; Mobile
Non-Traditional Apps
Widgets; Social apps; Situational apps;
Syndicated functionality; 2nd-gen Web APIs (microservices)
October 2008 | zembly.com | 17
18. The Application Spectrum
Platforms & Services
Web-scale sites; Social platforms;
Mobile platforms; 1st-gen Web APIs
Traditional Apps
Destination sites; Enterprise; RIAs; Desktop; Mobile
Non-Traditional Apps
Widgets; Social apps; Situational apps;
Syndicated functionality; 2nd-gen Web APIs (microservices)
Explosive growth!
October 2008 | zembly.com | 18
19. The Developer Spectrum
Software Engineers
Web-scale sites; Social platforms;
Mobile platforms; 1st-gen Web APIs
Traditional App Developers
Destination sites; Enterprise; RIAs; Desktop; Mobile
Non-Traditional Developers
Widgets; Social apps; Situational apps;
Syndicated functionality; 2nd-gen Web APIs (microservices)
October 2008 | zembly.com | 19
20. Agenda
Genetic Freaks
Trends
Applications & Platforms
Social Applications
Tools
Do We Need Engineers?
October 2008 | zembly.com | 20
21. Social Applications
Often smaller than traditional apps
Rely on underlying platforms for significant functionality
Often written quickly, using basic tools
Often developed by non-engineers
Have the potential to scale big and reach huge numbers
Can engage users in novel ways
Examples
• Widgets
• Facebook apps
• Social ads
October 2008 | zembly.com | 21
22. Use Cases for Social Apps
Direct revenue Utility (non-revenue)
• Monetize fun/useful apps with • Build something needed by
ads, subscriptions, paid you or others
services, e-commerce
Community enrichment
Feature syndication • A means for deepening
• Inject key features of another community ties
site into other destinations
For the hell of it
Brand awareness / • Self-expression
engagement • Social experimentation
• Interactive marketing
• Social advertising
• Friend recommendation as an
advertising strategy
October 2008 | zembly.com | 22
23. Feature Syndication
Externalization of another application's functionality into
other locations and platforms
• Widgets
• APIs
• It's an ad!
Increasingly, app providers ask “DYWWWT”
• “Do You Want Widgets With That?”
Feature syndication enables ecosystems
• Not always application ecosystems, though
• Ecosystems are an established technique for maintaining high user
engagement
• If you don't have an ecosystem, you haven't reached the big time
Platforms are all about the ecosystem
October 2008 | zembly.com | 23
24. Two Types of Syndication
1) Content Syndication
• Sources
• Content providers
• Blogs
• Form
• Words
• Images
• Via
• RSS
• Atom
• Goals
• Spread memes
• CPMs
October 2008 | zembly.com | 24
25. Two Types of Syndication
1) Content Syndication 2) Feature Syndication
• Sources • Sources
• Content providers • Web applications
• Blogs • Web services
• Form • Form
• Words • Widgets
• Images • Social applications
• Via • Via
• RSS • Platforms
• Atom • APIs
• Goals • Goals
• Spread memes • Your site/service,
• CPMs anywhere and everywhere
• Value-add
• User acquisition
October 2008 | zembly.com | 25
26. What is an Application?
Increasingly, applications are
advertisements for value-
added services.
October 2008 | zembly.com | 26
27. What is an Application?
Applications are ad units.
October 2008 | zembly.com | 27
28. Attention
Attention is a fixed resource
New forms of media deliver more per unit time
• “<sigh> Kids today...”
New forms of media evolve to bypass our existing filters
• For every new form of media, new means of filtering evolve
Every app we make is an ad, in some form
• Trying to get someone's attention
• Competing for usage
• Competing for awareness
• Competing for attachment
October 2008 | zembly.com | 28
29. Recent Innovations in Media Delivery
Syndication of content & Low-barrier, hub-and-
features spoke publishing
• Facebook, OpenSocial • Blogosphere/RSS
• iGoogle, NetVibes, • Micro-blogging
Pageflakes
• iPhone, Android Peer-to-peer information
• Web APIs exchange
• Developer ecosystems, open
Social recommendations source
• Viral social apps • Collaborative content creation
• Micro-blogging
October 2008 | zembly.com | 29
30. Agenda
Genetic Freaks
Trends
Applications & Platforms
Social Applications
Tools
Do We Need Engineers?
October 2008 | zembly.com | 30
32. Todd's Tool Theorems
Three factors govern a user's ability to solve a problem
using a tool:
(work tool does for user) (applicability to problem)
doability =
(difficulty of solving problem)
Increasing the “doability” lets more people tackle a
problem
The amount that a tool abstracts away details is inversely
proportional to the set of problems it can solve:
(level of abstraction) (set of solvable problems) = constant
October 2008 | zembly.com | 32
33. Example: Abstraction vs. Capability
vs.
More doable, less capable Less doable, more capable
October 2008 | zembly.com | 33
34. Tools Takeaway
Tools don't have to be complicated
• MediaWiki (Wikipedia) is a tool for mass collaboration
New kinds of application development tools (like zembly)
raise the level of abstraction
• Thus, more people are able to create applications
Cognitive surplus can (and will) be used to build
applications when “doability” reaches a critical threshold
As tools for casual developers proliferate, we see
applications built by casual developers proliferate
October 2008 | zembly.com | 34
35. Agenda
Genetic Freaks
Trends
Applications & Platforms
Social Applications
Tools
Do We Need Engineers?
October 2008 | zembly.com | 35
36. Moving Beyond Engineers
The scope of what is considered an app is shrinking
• The number of apps is rising because we have more time for each
one when they are smaller
More people are technically savvy and capable of self-
service app creation
Platforms make the job of creating apps and reaching
users considerably easier
Tools dramatically reduce the financial and technical
complexity of building apps
Social interaction is an engine of content creation
October 2008 | zembly.com | 36
37. Propositions Revisited
Software engineers are an increasingly endangered
species
• They already are, and always will be
October 2008 | zembly.com | 37
38. Propositions Revisited
Software engineers are an increasingly endangered
species
• They already are, and always will be
Neophytes will take over their jobs
• Engineers won't be needed to do what many are doing now:
building everyday applications
October 2008 | zembly.com | 38
39. Propositions Revisited
Software engineers are an increasingly endangered
species
• They already are, and always will be
Neophytes will take over their jobs
• Engineers won't be needed to do what many are doing now:
building everyday applications
No one will mind
• Because rather than building the applications themselves,
engineers will be building platforms (meta-applications) so that
other people can build them
October 2008 | zembly.com | 39
40. Do We Still Need Engineers?
Application development model is changing
• Opening up to a much broader audience
Exponentially more apps will be built
• Extending the long tail
• Using technologies that raise the level of abstraction so that
novices can accomplish useful tasks
• Not because there are exponentially more engineers
• Because engineers are building platforms to exponentially
enable others to build apps
Software engineers will increasingly build platforms, not
applications
• The increasing pull for applications creates new economics that
drive engineers to work lower in the stack
Yes!
October 2008 | zembly.com | 40
41. What is zembly?
Cloud- and browser-based Social programming
social app development • zembly is a social platform
Integrated creation and A service of
hosting of Sun Microsystems, Inc.
• Widgets
• Facebook apps Use zembly to
• OpenSocial apps • Create real-world social
• Meebo apps applications – not toy widgets
• iPhone apps • Create social advertising
campaigns
• More
• Crowdsource your ecosystem
Cloud app development • Syndicate your site features
• Tweak and modify
• One-line call to web APIs community-developed assets
• Bring & share your web APIs October 2008 | zembly.com | 41