the-top over-
apps we
hulu
apple
flickr
gmail
four squ ar
e
apps 4 sale
face bo o
k
yelp
ry
e sh ma
netflix
ube
yout
heroku
py
javas crip t ac tio ns cr ip t g
p l is
vis
cable
html5
o
appcelerator
ua lb as ic
c#
n tho
objective-c
internet
perl
mobile
java
y rub
c++
ph p
c
Editorial Sometimes you need to step back to experience the immensity of the changes happening everywhere. The reach of developers, programmers, coders, and engineers permeate, often in swift and radical ways, almost all aspects of our everyday lives. These changes are altering not just technology itself but the very way companies operate and organize themselves. Increasingly, we are living in an all apps world. And as the world goes, so goes the nation. In this case it’s a Developer Nation. As technologists and as users living and working in Silicon Valley, our experience of the past 18 months has been the basis for the work presented between these covers. Our fundamental intuition is that what the communications and computing industry is experiencing right now is at least as profound as the birth of personal computing. Perhaps more so. And like that world-changing phenomenon, not all of us are able to stand back and look beyond the latest market share numbers, to grasp how fundamental this shift is. We hope this document will give you the opportunity to get that bigger perspective Our focus in this work starts, and ends, on the creative and technical wizards that have mastered a growing list of programming languages, frameworks, APIs, and device stacks to generate compelling applications for us all — hence our title, Developer Nation. But along the way, we were fortunate to see a bigger picture: one where the Internet has come to the trillion-dollar Communications industry; where Web methods and procedures are being applied to mobile infrastructure and functions; where dedicated operating systems and programming languages for each class of hardware give way to cross-platform and cross-device app portability. A world where Developer Nation, either inside or outside the company, can write to a processor and operating system that powers a mobile phone, a tablet computer, and a set-top box is fast upon us — it is a New World. Inside these pages, you will find a timeline that shows how the previously separate lines of evolution for Computing, Telephony, and Television are intersecting and converging. Our hope is that Developer Nation — which implicates a vibrant ecosystem of programmers, tools providers, service platform owners who expose their rich data via APIs, hardware OEMs, software platform providers both open source and proprietary, and service providers (fixed, mobile, Internet) — whether it is web-based, enterprise-facing, start-up or publisher, will take this document as the basis for an ongoing conversation. To start that conversation we have built this contribution on top of conversations with the Silicon Valley developer ecosystem as described above. An accompanying video captures highlights of these interviews, and some of the questions we put to our interviewees were also embedded in a recent wave of the Appcelerator Mobile Developer Survey, which extended the reach to 2,700 developers in Q2 of this year. Some of the findings from that extensive survey appear in our Stats + Numbers roundup. Finally, the document before you contains contributions from the technical staff of Orange San Francisco, a chapter of Developer Nation that understandably contains some passionate practitioners of the new world of apps. As the world shifts, it’s hard to see the disruptions afoot. Our intent here is to enable a conversation that transcends conventional zero-sum game perspectives of winners and losers. We argue for no specific business model, channel, or ecosystem arrangement. Instead, we call for the recognition of the imaginative power of Developer Nation and begin to consider the disruptive future already at their fingertips.
Georges Nahon, CEO, Orange San Francisco October 2010
2
table of contents 04 Stats + Numbers
16 Enterprise Dev-Ops Trends
06 The March to a Programmable World
17 The Value of Concealment
08 What Makes Dev Nation Tick?
18 Developer Pain Point: Mobile App Discovery
10 Love + Loyalty 20 Nurturing Your Inner API 13 Social Coding 14 A Developer’s Journey
By Developers, For Developers 22 Four Questions for Dev Nation
3
Stats + Numbers 90%
100 LBS
2.8
of developers are “very interested” in developing for the iPhone
weight of first automated car telephone system (Mobile System A) in Sweden in 1960
average number of platforms mobile developers work with
TRADITIONAL CHANNELS
APP STORE
68 22
1152 K
memory size of Digital Equipment’s PDP-10 minicomputer in 1968, it sold for $99,000
DAYS
DAYS
app stores have reduced the average time-to-shelf for apps by two-thirds
86%
APP STORE
of developers find Android the most "open" platform on the market
85% increase in 2009 (over 2008) in the number of lines of code written for mobile open source software
4
11% of developers are "very interested" in developing for Intel and Nokia's MeeGo
5
billion Apple App Store downloads
62%
of developers are "very interested" in developing for the iPad
$
1.7B
predicted revenue of TV-based apps by 2013
37% of developers choose Fun, Fame, and Glory as motivation for working with APIs
80
%
2
by 2013, Android will be the 2nd largest OS worldwide
50% of developers would pay for network APIs such as billing APIs, messaging and location
of developers rely on each other for support during mobile development
75% of developers cite market penetration as the most important selection criteria for platform choices
34%
22%
of developers think that Google provides the best API
thinks it is Twitter
31% of developers find "porting to multiple platforms" the most challenging part of the development process
6% of developers are "very interested" in developing for the Kindle
Sources: Appcelerator Q2 2010 Mobile Developer Survey. Black Duck Software, March 2010. IDC Worldwide Mobile OS 2009-2013 Forecast and Analysis. Mashery API Developer Pulse Results, May 2010. Vision Mobile/Telefonica Mobile Developer Economics 2010 and Beyond, July 2010.
5
2001
Apple launches iTunes
1993
The AT&T EO Personal Communicator
2005
Adobe’s FlashLite targets mobile developers
1998
WAP wireless data standard
1996
1st smartphone
2005 Hulu
2005
Google buys Android
1996
WebTV
PER
ELO
DEV ION
NAT
1970
Fiber Optic
MOBILE TV PC/INTERNET
1953
Color TVs
MOBILE+PC/INTERNET INTERSECTION TV+PC/INTERNET INTERSECTION
6
1950
TVs become mainstream, 8M TV sets, 107 TV stations
The March to a Programmable World The evolution of digital culture from its origins in separate, dedicated devices and disciplines to today’s cross-platform programmable world is measurable in just a few decades. The high points in this journey — the tectonic shifts — come when the media/technology paths cross. Crossing the personal assistant with a phone (Eo), crossing the Internet with a TV set (WebTV) — these are defining if sometimes spectacularly failed moments that are shown on this map. Today, the idea of a capability that exists only within one of the native domains of TV, PC/Internet, or Mobile, seems quaint, old-fashioned. As the acceleration of these crossings (like Hulu, Streaming Netflix, Android tablets) in the past few years shows, Developer Nation is programming a cross-platform world where content flows everywhere. by Pascale Diaine and Maria Iu
2006
Twitter is launched
2009
2007
2008
iPhone Kindle 1G Skype Phone
Google bids $4.7B for wireless spectrum
2007
Apple App Store
iPhone 3GS Kindle 2
2010
5B apps downloaded on the Apple App Store
Joost signs one millionth beta user for TV over Web
Android Market Android, Qualcomm’s Snapdragon, Google TV
2008
iPad
2008
2010
2007
2010
Netflix streaming
2010
Windows Phone 7
2009
Digital Television
7
What Makes Dev Nation Tick? moving towards a more fine-grained motivation model by Mark Plakias
Developer Nation is powerful. Consider what the Nation did when given the opportunity to create apps with minimal supervision under an automated submission process by Apple. On July 11, 2008, the App Store went live on the iPhone in conjunction with the release of its iPhone 2.0 software. Users found a library of 500 apps available in the store. In the 24 months following, an astounding 225,000 apps were unleashed by the Nation onto the platform, triggering over 5 billion downloads. 4 billion of those downloads took place within a one year period between April 2009 and April 2010. An overwhelming percentage of the Nation’s apps are free. This brings us to the topic of Motivation. Why pour your talent into something that has no immediate financial return?
According to Yukihiro Matsumoto, one of the world’s most revered geeks and the creator of the Ruby programming language, there are two things that motivates open source developers: Joy, and Money. In regards to Joy, Matsumoto speaks as a true coder, observing that programming is “fun — you create something from nothing.” Additional properties of Joy include a sense of community built by members of the project all working towards a common goal. This community, located primarily on the web, gets the sense of belonging to a global effort that speaks to basic human needs for social acceptance and in-group solidarity. The Money motivation, according to Matsumoto’s thesis, is that the economy behind open source is massive — “everything runs on software.” He points to a commoditized economy where software is needed on everyday devices from TVs to appliances. For example, presence of open source Ubuntu and Linux on a new class of low-cost netbook computers forced Microsoft to radically alter its operating system pricing for Windows just so it could stay relevant in the new rapidly-growing market. It is clear Matsumoto takes satisfaction in seeing how the power of the open model can bend the will of the world’s largest monopoly. This speaks to a basic human motivation that we all experience: hope that we can prevail against much larger forces. As authentic and modest as Matsumoto’s motivational model is, if large organizations want to utilize the generative power of Nation, they will need a more fine-grained motivational model. In our research, we are fortunate to have
...a deeper understanding of motivational factors...can lead to segmented appeals, providing relevant messages to the right tribes within the Nation, cutting down on noise and creating a more responsive ecosystem infrastructure.
8
Do you seek joy, fame, or money?
FOR JOY/FAME
FOR JOY/FAME & MONEY
FOR MONEY
Be on other devices Freedom (vs. control) Learn something cool Long-term opportunities Capabilities/features Be on most devices
Global reach Extra money outside of job Distribution for my work Be on most wanted device
Enterprise apps make $$ It’s my day job
Results from the Appcelerator Q2 Mobile Developer Survey
partnered with Appcelerator, a company that engages with over 50,000 developers, and conducts quarterly surveys of their developer community. These surveys provide a comprehensive view on the state of the Developer Nation — how it’s feeling about various platforms, what it’s reasons for developing on specific platforms, and what outcomes the Nation sees for its work. Appcelerator is able to directly engage with the Nation because it sells cross-platform development tools, thus easing a significant burden imposed by a fragmented device and operator ecosystem. In its quarterly survey, which we draw from for some of the statistical analysis in this article and elsewhere in our report, Appcelerator skillfully probes across a range of motivations. Questions (and the results) are powerful because they are highly contextual — a Nokia developer is likely to have specific outcomes and goals that may not be shared by one predisposed to iPhones for example. By examining the statements that the Nation responds to in the Appcelerator Mobile Survey, we have a granular view of the motivational spectrum. Above, we show an inventory of the motivations that are presented in the
Appcelerator survey. These are crossreferenced to the two primary motivations as expressed by Matsumoto. In order to appreciate what the inventory is telling us, one can reflect on how the two primary drivers of Joy or Money often overlap. For example, “global reach” is a motivator that appeals to both — to see an app running on millions of devices in multiple markets is both an accomplishment that speaks to pride of achievement (Joy), and presumably is lucrative as well (Money). Others, such as “learn something cool” is clearly a Joy motivator rather than an immediate financial consideration. What we see is a fascinating blend of long-term thinking — choosing a platform because of its ability to extend to “other devices” is one example — versus short-term, more immediate considerations, such as “it’s my day job.” This is a preliminary analysis from a corpus of highly-targeted messages to a developer community that is structurally biased — the Appcelerator community is under one roof because they all share a common desire to work across multiple platforms. Other parts of the Nation may not have this eclectic, multi-platform inclination. Even with this caveat, it is still
a rich and current resource within a fastchanging landscape. A nuanced examination of motivations is highly relevant to the ecosystem for two reasons. The first is that a review of traditional outbound messaging to Developer Nation by platform providers has often restricted itself to financial motivators: “make money with us” is the high-level formulation of this overly-simplistic call to action. Historically, in the operator world, this “show me the money” value proposition has been accompanied by walled garden models that are increasingly lagging behind more open (not necessarily open source) ecosystem models. The second related rationale for a deeper understanding of motivational factors is that it can lead to segmented appeals, providing relevant messages to the right tribes within the Nation, cutting down on noise and creating a more responsive ecosystem infrastructure. One size does not fit all, and even as they defrag the software stacks, OEM’s and operators need to get more granular in their value propositions. Underlying all the motivational models is a common thread: the realization that a new day is dawning over a more programmable and empowered world.
9
Love + Loyalty three controversies that changed the game for developers and the companies that hire them
THE PLAYERS Google Apache Hadoop
THE CONTROVERSY Hadoop is a popular open-source project inspired by Google’s MapReduce. In January 2010, Google was granted a patent for MapReduce. Will Google enforce their patent to sue third-party proprietors of MapReduce for infringement? by Shishir Garg and Christophe Bertagni
10
In January 2010, Google secured a patent for MapReduce, a framework for large-scale data processing that serves as a foundation for Google’s own search engine. However, open-source projects that utilize the parallel programming model — such as Apache’s well known MapReduce-inspired Hadoop — began to wonder if Google’s claim to MapReduce would threaten their operations. Google’s role in the birth of Hadoop started in the 1990s. Internet-scale search engines thrive on the influx of data that is added to the web every day. But as the amount of data increases, scalability issues started to arise. For Google, they combated the problem by implementing scalability requirements in their data centers by the end of the 90s, but a complete re-design was necessary by the early 2000s. In October 2003 and December 2004, Google published two papers, one on the Google File System (GFS), and the other on MapReduce, documenting the set-up of models that would create an efficient data crunching system to run their online services. These two papers became the basis for the Hadoop software framework, which was developed in 2005 by Doug Cutting to support distribution for his
Nutch search engine. As an open-source project, Hadoop benefits from a global community of contributors, including Yahoo, Amazon, IBM, Facebook, Hulu, the New York Times, and a slew of other Silicon Valley startups. Strong actors like Cloudera, Karamasphere, and Datameer are selling Hadoop management tools built on top of Hadoop to solve the scalability issues that more companies are beginning to face. Google also has a substantial investment in Hadoop. In partnership with IBM, they created a university outreach program in 2007 called Code University, which uses Hadoop to teach students about webscale programming. However, Google’s new patent on MapReduce gave Google the power to influence the evolution of Hadoop. Moreover, if they chose to enforce the patent, many third-party MapReducebased projects would be threatened. Did Google want to capitalize on companies selling Hadoop solutions? Or was Google merely protecting its own technology? Google isn’t likely to risk a lawsuit for monetary gain when they are already a highly profitable company. And as part of the Open Invention Network patent pool, Google doesn’t have a track re-
cord for filing litigation claims. Nevertheless, concerns were significantly reduced when Google granted a license to Hadoop in April of 2010. What can we learn from the Hadoop saga? It’s well recognized that open source projects are attractive proposals to developers — it invites them to channel their innovation into new areas. But even if open source becomes a key strategic component of a business model, it’s necessary to emphasize the community aspect of the project to developers and the developer ecosystem. A strong community of contributors provides significant benefits to entrepreneurial developers, giving them the opportunity to collaborate with a wide pool of talent to build something that is for the community, by the community. While Google could have made some short term gains by imposing their newly acquired patent, they recognize the potential for open innovation, and Hadoop’s ability to bolster developer interest in their technologies. For developer-centric companies like Google, it is important to nurture such developer relationships and it is something that Google does well. Via major events like Google I/O and through meetups, the Summer of Code, various code camps, and technology apprentice programs, Google spends a great deal of time, money, and energy to get developers to think about Google-related technologies when making choices.
$$$
THE PLAYERS Twitter Tweetie
THE CONTROVERSY In April of 2010, Twitter bought Atebits, the creators of Tweetie, a popular iPhone Twitter client, and rebranded it Twitter for the iPhone. Was this an attempt to knock out third party competitors? How can developers who build similar apps compete with Twitter’s official app? by Julian Gay
Today’s tech companies take Bill Joy’s “most of the smartest people work for someone else” adage to heart. App stores harness the energy and creativity of the global developer communities and open web APIs to enable developers to stand on the shoulders of giants and to push the boundaries of innovation. Platforms such as Facebook, Twitter, and Apple are creating symbiotic relationships with their ecosystem of developers, but they still need to evolve — resulting in winners and losers. Twitter, whose very success was built upon its vibrant ecosystem of independent app developers, temporarily stunned their business community when they indicated they may turn upon the community they had actively nurtured. On April 7, 2010, Twitter investor and respected VC, Fred Wilson, posted a blog entry which articulated what had been in the back of many developer’s minds, that for the good of the broader user community, Twitter would need to consolidate some of its fragmented app diaspora directly into the Twitter platform, effectively picking winners from the jungle of competition. Shortly afterwards, on April 9, 2010, Twitter announced the acquisition of Atebits, creators of Tweetie (a popular iPhone Twitter Client), makng it free and announcing it’s rebranding as ‘Twitter for iPhone’. While this may have
11
been a calamity for developers trying build businesses from similar apps, it’s surely a victory for developers who win the beauty contest and end up getting acquired into the ‘mother ship’. The bitter taste is the ‘winner-takes-all’ outcome of this kind of exit. Rather than the customers deciding, the platform owner gets to decide the destiny of the category — a precarious place to build a business. These delicate relationships between customers and platforms are also evident in Apple's App Store. The capriciousness of the App Store is well known in the developer community, with its opaque approval process and sometimes arbitrary denial of applications, but the recent changes (and revisions) to their iPhone SDK Terms of Service was particularly troubling to developers as the damage was done without a single technical change. The offending line, apparently aimed at heading-off Adobe’s entry into the iPhone development space, inadvertently almost squashed a burgeoning sector of cross-device compilers such as Appcelerator and Ansca Mobile. While the storm seems to have subsided as Apple later relaxed their guidelines, the panic felt in those startups and by their investors won’t be easily forgotten. Ultimately, app developers need to evaluate the terms of the Faustian pact they are implicitly entering when they leverage the power of the platforms they’re using, whether it’s the social graph from Facebook, app distribution and monetization through Apple’s App Store or realtime communications from Twitter, the fate of a business can turn on the change of a single line in the Terms of Service.
THE PLAYERS Apple Adobe
THE CONTROVERSY After unilaterally expelling Adobe Flash from its Garden of Eden, Apple stared into the eyes of the Federal Trade Commission and angry developers — and blinked. Flash is back as a path to creating iPhone apps. by Steven Rose
Apple's announcement that it would not support Adobe Flash technology on iPhone, iPod Touch, and iPad devices got divided reactions from the developer community. Some favor Flash support, which enables developers to create applications that deliver a consistent user experience, and others are looking towards a future based on open web standards. Varying support for open web standards such as HTML5 makes it very difficult to create a web application that works the same way across different web browsers. With Flash, apps can run in the desktop browser that behaves the same way for all users. However, with the growing popularity of touch-based devices, many existing Flash applications that depend upon interaction with a hovering mouse cursor would not work properly, even if Apple fully supported Flash. Now faced with the need to rewrite existing Flash applications for touch devices, developers are confronted with the question of how to provide a consistent user experience across touch devices with different levels of support for open web standards. With technologies such as Google Web Toolkit, they now have the ability to create a single version of an application that natively works the same way across all versions of all browsers without the need for Flash. Since then, the rhetoric has subsided and a significant part of the developer community has advocated bringing Flash to Apple devices. Additionally, FTC scrutiny and the success of Google’s Android platform have also led Apple to make some key changes to its walled garden model: 1. Though Apple devices are still not supporting Flash directly, they will allow Flash apps to be created in Flash and translated using Adobe’s Flash Packager for iPhone 2. Developers are allowed to develop using any third-party tools (instead of previous restrictions limiting development to Objective-C, C, C++, and Javascript) 3. Apple will publish their internal review guidelines for admitting applications to the App Store Though Apple would clearly like to be able to enforce a hard-line approach to controlling content and use of third-party tools, the presence of Android as a strong and open alternative creates a hostile business environment for such policies.
12
Social Coding open source developers create new communities by turning coding into a social activity by Mark Plakias Github is a public hosted facility for open source developers to store their projects. It is home to almost 100,000 unique repositories, and as such, offers a rich cross-section of what is going on with the open source ecosystem. From venerable open source projects such as GNU Smalltalk, or Ruby, to newer projects such as Sinatra, GitHub bills itself as a destination for “Social Coding.” The social nature of GitHub involves showing a member’s output (Public Repositories), attention data (following/ watching), and an activity stream on a user's dashboard. GitHub is a lens on the contemporary open source scene, spanning almost 100 different programming languages and apps for everything from drinking games to medical imaging. From a mobile Internet perspective, GitHub is an observatory on the great migration of Internet/Web/Open Source developers onto the historically fragmented, proprietary worlds of mobile development. We thought it would be a good tool to measure the extent to which Open Source developers were sharing their involvement in the mobile world with their kindred spirits in the open source community. What we found corroborated this hypothesis. The figure on the right shows a simple comparison of keyword incidence for key mobile platform terms. As we have seen from other more rigorous quantitative surveys such as Appcelerator's Q2 Mobile Developer Survey, the new wave of developers coming from the Internet and Web are primarily focused the two platforms with deep roots in the Internet. The overwhelming share of mentions by Android and iPhone validates both the specific thesis — that Google and Apple are bringing web/PC developers to mo-
bile and the general thesis — that the Open Source community ethos is coming to mobile. Historically, mobile development was a solitary, specialized, and painful process. Knowing the peculiarities of several hundred devices across dozens of platforms is not a widespread passion. As a result, mobile development has occurred within specialist firms, which can be quite large (mobile games boutique GameLoft employs over 4,000), but are not plugged into the community model of open source. As a result, we can reasonably expect the influx of open source developers of all types to have an immediate impact beyond their absolute numbers simply because they are more social in nature and methods.
A middleware firm specializing in open source software, Black Duck, has conducted its own survey among its open source community, with a specific emphasis on mobile. The results are striking. Among the highlights of Black Duck’s analysis: New open source projects for mobile totaled 3,207, a 39% increase compared to new projects created in 2008. 2009 saw an 85% increase over 2008 in the number of lines of code written for mobile open source projects. The open source model is coming to mobile, and it’s bringing all its friends.
NUMBER OF MENTIONS LISTED ON GITHUB
iPHONE ANDROID
2,113
1,992
BLACKBERRY SYMBIAN
J2ME
44
57
58
WEB OS 124
Numbers as of July 20, 2010
13
A Developer’s Journey How does an application get from a single idea to your screen? Here is a map of what it takes to get an app to the market today, the actors involved, and the pain points developers face along the way. by Pascale Diaine and Maria Iu
DESIGN
Demographic and usage data from operators can be very useful in the design process but is usually difficult to access.
APIs
There is still room for improvement in the "write-once-run-anywhere" vision. Developers find the porting step the most painful in the development process and most of the time, it requires a complete rewrite of the application.
14
DEVELOP
QA TESTING
PORTING
ANALYTICS
An ecosystem sampler…
DISTRIBUTION & LAUNCH
In the mobile space, the cost of certification remains high and not worth it for low cost applications. However app stores have reduced the time-to-shelf by two-thirds.
DESIGN
APIs
Rational Visio
Amazon Web Service Cloud Vox Facebook Flickr Foursquare Google Checkout Google Maps Netflix Orange Tropo Paypal Twilio Twitter Yelp YouTube
DEVELOPMENT Process: Behavior driven dev Test driven dev Languages: C++ C# Erlang Haskell Java .net Objective C PERL PHP Python Ruby Scala
USER ACQUISITION & MARKETING
Tools: Appcelerator* Aptana Eclipse IntelliJ Heroku* Hudson Maven NetBeans Rubymine
Discovery remains a real challenge. Developers are ready to pay consequent fees to ensure their app visibility, which is triggering the fast bloom of a thirdparty discovery platforms ecosystem.
App stores have reduced the average time-to-payment in the mobile space. But the ad model remains the second source of revenue after paid applications, according to a 2010 VisionMobile study. How iAd will impact the ad business model has yet to be determined.
Framework: Appcelerator* Hadoop Rhomobile Phone Gap Qt OS: Android BlackBerry OS iOS4 MeeGo Symbian webOS Windows Phone 7
MONETIZATION
TESTING
AD SERVICE
Cucumber JUnit Perfecto Selenium * = Appears in multiple categories
DISTRIBUTION & LAUNCH Android Market Apple App Store AppUP Center Blackberry App World handango Orange App Shop Ovi Windows Marketplace Hosting in the cloud: Amazon EC2/S3 EngineYard Google App Engine Heroku* Rackspace
USER ACQUISITON & MARKETING Androlib Applicious Appsfire Apptizr Chorus Mobspot mPlayIT OMAD
AD SERVING AdMob Greystripe iAd Mobclix*
ANALYTICS Appcelerator* Bango Flurry Distimo Google Analytics Mobclix* Motally
15
Enterprise Dev-Ops Trends information technology and developer-operation alignment by Shishir Garg All companies face the challenge of IT-Business alignment, with the need to ensure that IT is working towards the company’s business goals. Both developers and operations have a similar challenge — they must make sure operations provide the necessary tools that developers can use and that developers deliver software that operations can deploy and maintain. Unfortunately, these two teams rarely collaborate and must hold frequent meetings to ensure that they are working in accordance. IT organizations have attempted to resolve this discrepancy in a variety of creative ways.
16
A trend among larger groups has been to create Skill Centers and Competency Centers that can align skills across the organization and manage the availability of skilled resources. But with the rapid growth of Internet giants like Google, Facebook, Amazon and eBay, another interesting trend is gradually emerging — a Dev-Ops style model of combining targeted developer and operations teams that are focusing on a specific business problem. This approach has been made famous by Amazon’s ‘two-pizza’ teams. (If you can’t feed a team with two pizzas, it’s too large). These teams include members who are developers, creative talent, and operations. The driving component of this strategy is the recognition that developers also possess system administrative skills and operations understand development. Since smaller teams can stay more agile and execute more effectively, dev-ops style teams stay focused, multi-task across development and delivery, and ultimately ensure the success of their project with minimal external dependencies outside their unit. In terms of office culture, it also helps maintain the small company or start-up feeling that many Internet companies strive to retain as they grow. Cloud computing is another trend that is helping developer agility by eliminating the low level operations-related activities that a developer needed to perform. As enterprises start to adopt cloud computing, the gap between developers and operations will continue to shrink, freeing up developers by leveraging automated and semi-automated infrastructure and platforms to do rapid prototyping, enabling the dev-test-deploy cycle to run more smoothly. The combination of Cloud computing and devops trends leads to a key area where enterprises will need to focus: IT Governance. With smaller teams being given significant levels of freedom to innovate, enterprises can lose out on other benefits such as volume licensing. Moreover, considering the multitenant and shared resources that are critical to Cloud computing, IT Governance is essential to ensure the smooth operation of an Enterprise Cloud.
The Value of Concealment the new ecosystem of startups that create simplicity by hiding complexity It’s a paradox, wrapped inside a contradiction, and presented as a non-event. Some of the most exciting work in open software today involves taking standards-based capabilities and hiding them from developers, who are encouraged to ignore them. In the process, tremendous value and whole new ecosystems are being created by allowing developers to go on programming as usual — but plugging those applications into complex underlying platforms that in turn, extend reach for the developers’ work. For most of us, complexity is ugly. But surprisingly pervasive. Take something as simple as voice telephony and all those recorded announcements and now even speech recognition — how complex are we talking? Think ugly. Very ugly. In fact, 10 years ago, a whole new set of languages, based on HTML but for telephony instead of Web, were created to help ‘web’ developers work with telephony. But the cure turned out to be worse than the disease, and today, VoiceXML has evolved into a horribly complex scripting nightmare that a new generation of developers are trying to conceal. Here in Silicon Valley, we are seeing (and engaging with) a new ecosystem of startups that are seeking to mask the spaghetti code of VoiceXML with simple, one could say laconic, languages and frameworks that reduce what was once hundreds or thousands of lines of VoiceXCML into less than 10 commands, and scripts of a few dozen lines of code at the most. Initiatives such as Twilio, Teleku, and Tropo are among the new wave of a continuing tradition of developers trying to help other developers come into a domain without the complexity of what has come before. Here’s the contradiction: this concealment is increasingly using open source approaches. Sounds crazy — how can you conceal complexity by using code that is open for anybody to use and contribute to? Hopefully the reader understands enough about open source ethos to understand the amplifying power of open source communities. If we want to generate more innovation in spaces historically constrained by complexity, then it is exactly the right way to go.
DEVELOPERS WHO CREATE NEW OPPORTUNITIES FOR OTHER DEVELOPERS BY CONCEALING COMPLEXITY ARE A BOOMING SEGMENT OF DEVELOPER NATION.
Success is measured by how painless it is to accomplish once complex and painful processes — that’s the ‘non-eventful’ part. In the particular case study of replacing VoiceXML with telephony-savvy frameworks for native Ruby or Python programming, success consists of how little is different from the business of writing in Ruby or Python. In these demos, the ‘wow’ is function of how few clicks or little code needs to be added to connect the simple to the complex underneath. The motivation behind the ‘urge to submerge’ is to create developer joy by allowing access to previously restricted and controlled domains (think the public switched telephone network). The thrill comes from unleashing new experiences to masses of users — everybody has a telephone — without having to ask permission of gatekeepers (think phone companies). The business model that follows this is clear — new experiences means new capabilities for companies and other kinds of customers (government, public utilities, healthcare) that previously were underserved by constrained, complex ecosystems. Those new capabilities often cost far less than the complex solutions developed by specialists, who charged too much money just because they understood the complexity.
<?xml version="1.0" encoding="UTF-8"?> <vxml xmlns="http://www.w3.org/2001/vxml" version="2.1" xmlns:xsi="http://www.w3.org/2001/XMLSche xsi:schemaLocation="http://www.w3.org/200 http://www.w3.org/TR/2007/REC-voicexml21<form id="get_address"> <field name="country">
17
developer pain point:
Mobile App Discovery by Srinivas Chervirala
In the years prior to today’s thriving application marketplace, mobile app developers had to go through a lengthy submission and approval process, often prolonged by revenue negotiations, to convince mobile operators to place their app into their catalog. However, with the arrival of virtual storefronts like Apple App Store, Google’s Android Market, and Blackberry App World, mobile developers are publishing their applications faster than ever, extending their reach to millions of mobile customers worldwide. Smartphones are projected to overtake feature phones in the U.S. by 2011 and statistics show that a smartphone user downloads an average of 22 apps1. Though the success of application marketplaces has created new opportunities for developers to distribute their products in the form of an extended catalog, it has created a new issue — discovery. The discovery of applications has been
80 APP STORES
300,000+ MOBILE APPS
a difficult problem to address: the exponential increase of applications available for download has created a noisy marketplace where every app is clamoring for the customer’s attention (a few dozen more have probably been published since you started reading this article). With tens of thousands of applications available across many app stores, discovery is a challenge for the entire ecosystem: mobile customers, mobile developers/publishers, and app stores. Mobile customers can’t find the applications that are most relevant to them, developers don’t reach the right customers for their offerings, and app stores can’t effectively merchandise their extensive collection of content. The current methods of app discovery utilize search, category, lists, word of mouth, blogs, news outlets, and advertisements to sort out the 300,000 mobile applications that exist across 80 app stores worldwide. In an attempt to combat this issue, developers are investing huge amounts of money in ad campaigns to promote their apps. Some have even gone as far as hiring people to write inorganic reviews and ratings for their applications in an underhanded effort to solicit enough downloads to be featured on top app lists. This creates inaccurate application metadata that makes any kind of app discovery a frustrating process for both developers and consumers. However, these tactics are not effective solutions because end us-
ers cannot accurately gauge the legitimate value of the apps on display. In the next few years, the app store is expected to grow exponentially. According Ovum, an independent data monitoring company, by 2014, the total number of application downloads (for both free and paid-for applications) is expected to reach 18.7 billion worldwide. In particular, there will be strong growth in the number of paid downloads — reaching 3.3 billion, up from just under 147 million in 2008. End-user revenues generated through non-operator-controlled app stores, including those operated by device vendors and independent stores, will grow from $367 million in 2008 to almost $5.7 billion in 2014. This indicates that the app store market will be huge and that app discovery will play a pivotal role in their success. But in order to address the growing problem of discovery, all the players in the value chain — mobile users, app developers and app stores — need to work together to create sustainable solutions. For example, one potential solution could be to create a crowd sourced mobile app directory with the community of mobile users, mobile app developers, and the app curators who work collectively to create a Wikipedia for mobile apps. This would serve to enrich app metadata to help achieve better app discovery and recommendations. State of Mobile Apps, Nielson Wire. http://blog.nielsen. com/nielsenwire/online_mobile/the-state-of-mobile-apps/
1
But in order to address the growing problem of discovery, all the players in the value chain — mobile users, app developers and app stores — need to work together to create sustainable solutions. 18
EXISTING OEM SOLUTIONS FOR MOBILE APP DISCOVERY STORE
METHOD/SOLUTION
THE DETAILS
THE RESULT
Apple App Store
“Top” & “Featured” Lists: Apps with the most downloads within a 24 hour period are listed on the front page of the App Store.
Developers can game the system through coordinated efforts of ad campaigning and spamming the social networks to be featured on the top application list.
Apps featured might not be based on the merits of the application, resulting in limited app discovery.
Genius: collects users’ app usage information in an effort to come up with better app discovery and recommendations.
Only relies on existing information; mobile application developers often include inaccurate application information and tags to their applications.
Excess noise in the application description increases the difficulties of getting meaningful app recommendations.
Android Market
Proprietary Algorithms: take into account user acceptance of apps through number of active app installs on a device to come up with a top applications list.
Makes it difficult for developers to influence the system.
A “Top Apps” list helps users find apps, but app discovery and recommendation is still limited.
Blackberry AppWorld
Top 25 Apps: AppWorld provides a list of 25 apps from the Free, Paid and New application categories.
The lists of top apps are based on the number of downloads in AppWorld.
Applications with the poor user ratings will end up in the top application categories.
Ovi Store
30 Recommended apps: list provided by Ovi Store
Ovi store recommends apps based on the user’s location and preferences.
Even the applications with the poor user ratings can be seen on the recommended app list.
Windows Phone Marketplace
Windows Phone Marketplace provides the list of the most popular and newest applications.
Also features a "try-beforeyou-buy" option where users can download a trial or a demo of an app.
More data will be available once Windows Phone 7 launches at the end of 2010.
Built around user social networks, content preferences and community reviews.
The solutions may not be sustainable as they are not tightly integrated with application stores. Also does not provide effective application discovery and recommendations because they may rely on false application data.
THIRD PARTY SOLUTIONS Appsfire, Chorus, Apptizr, Chomp
Leverages a user’s social network to provide the better app discovery through social discovery and recommendations.
19
Nurturing your Inner API
by Bosco So
So you built an API that exposes your services to the world. Now you can sit back and watch all those 3rd party developers build amazing apps that drive traffic to your site. They will build these apps because they know what great services you offer and what a great API you have. "If you build it, they will come." Unfortunately, that only works in the movies. Having an API for your product doesn't mean automatic adoption by the developer community. You are fighting for their time, eyeballs, and resources and you must be proactive in marketing, engaging, nurturing, and evolving your API. Sounds like yet another online product, doesn't it? Well, it is! Except that your audience is much more discerning, critical, and jaded. Here are some issues to consider:
COMMUNITY ENGAGEMENT In the same way that consumer web sites have Community Managers to keep their customers engaged and active, hire an API Community Manager. He or she will be responsible for the following activities: Maintain an API Blog and update your latest news. Developers need to know that your API is being actively worked on and maintained. They don’t want to work on dead projects. A continually updated blog will reassure developers with the sense that progress is being made, that they’re being heard, and that the project has not been abandoned. Email announcements. Support and “keep the flame alive.” For developers who don’t bother to read your blog or have an RSS feed to your news page, a periodic email updating them to what’s been happening is essential. Create a forum where developers can gripe. When a developer has questions, suggestions, and comments about your API, how do they get them across? You’ll need a forum, bulletin board, email support, etc. to get their input. In addition to letting developers know they’re being heard, this is also a great avenue to: * Enhance your API with developer suggestions * Clarify your documentation from analyzing where developers are being stumped * Strengthen your FAQ to make developer adoption easier
20
San Francisco Mobile MeetUp in the Orange Innovation Gardens.
Tap into social networking. Use Twitter to inform your audience of the latest release—hint at your features, updates, and bug fixes. Set up a Facebook Page to get the word; perhaps use the Facebook Page as your forum. Support meetups. Host a monthly Meetup so that developers see your company in action. Better yet, create a Meetup around your API. Host tutorials, hack sessions, and presentations from thirdparty developers who are using your API. Run an API app contest. Allow developers to form teams to build apps with your API. Judge the apps with local tech celebrities (e.g., VC personalities). Reward the winners with iPhone, iPad, Tesla, etc. Run a conference. Think Twitter’s Chirp.
DOCUMENTATION If you don’t document your API, no one will use it. If you don’t document your API clearly and well, no one will use it. Keep in mind that you’re fighting for developers’ time and eyeballs. If your API is hard for them to grok, they will simply use your competitor’s API. Give examples. Give more examples. Show common use cases. Some developers are simply not good at reading specs or BNFs; for these folks, use code samples with input & output data. Hire a consultant to learn your API and give you feedback as to where the roadblocks are. Use your Community Engagement effort to improve your documentation.
By Developers, For Developers giving corporations advice on how to strengthen relationships with developers
OPEN SOURCE Perhaps your product is not available as Open Source, but the client libraries definitely should be. This allows developers to see how to really access your API (because your documentation just can’t keep up to date). For the lazy developers (i.e., busy), they can start using your API without reading a lot of documentation.
We try to have a great community where it’s rewarding to share that you’ve built something new.
Danielle Morrill, Director of Marketing, TWILIO
* Make the client libraries available in many languages. * Host the client libraries on GitHub (or a similar social source control) for all to see and share.
3 tips for corporations that want to work with developers:
SUMMARY
1
Engage, promote, and keep the fire alive. Getting developers to use your API is similar to getting users to use your site over and over again. With developers, there’s a multiplier effect—one good 3rd party app using your API will bring you a significant amount of traffic. However, you cannot simply build the API. You will have to nurture the ecosystem, keep it vibrant, and fight for your developers’ time and attention.
2 3
Have your API be defined by the people who will be using it. “By developers for developers” is very important because you got to think about the questions they’ll be asking. Think about what you will do in your documentation to give them gratification in the first five minutes. How can they tell the world the “ah-ha!” moment? Be really accessible, especially when you’re building an API that’s never been done before. People don’t always know what’s possible. You can help them imagine what’s possible.
21
Four Questions for Dev Nation The worlds of computing and communications are changing each other in fundamental ways as we begin the second decade of the 21st century. Our intent here is not to culminate in a conclusion but to initiate dialogue, to broaden the discussion, generate alternative futures, and open up the imagination to consider the following questions:
THE END OF END-TO-END
FROM RAW DISTRO TO DISCOVERY
For over a century, the communications experience was guided by the principle of a complete end-to-end view of the user experience. In the mid-60’s this view started to erode as the Carterfone decision in the US allowed ‘non-telco’ equipment to be attached to the network. Today’s wireless broadband world delivers thousands of use cases where no one party sees the entire user experience from the start of the ‘call’ to the end of the ‘session.’ The concept of ‘over the top’ has replaced the need for end-to-end. But does this mean that users are on their own? Who can hold their hand?
For a moment, forget all the hype about this app store versus that app store — you are free to enter any store you like and buy whatever you want, the world is one ginormous app bazaar. In other words, Distribution is instant and ubiquitous. What then? How do we find anything? After all, isn’t that what we asked at the beginning of the Web? Discovery is a primal human emotion. It’s also a fiendish algorithmic challenge in a digitized world. Is Discovery the next big issue after Distro?
IS THE FUTURE REALLY ANOTHER COUNTRY?
MOTIVATIONAL FUTURES
Yes it is and Dev Nation is responsible for it. In Imagined Communities, Benedict Anderson forcefully argues that the concept of the modern nation was built on new technology, like the printing press and newspapers, that fundamentally enabled people to bond and connect with fellow citizens they had yet to meet. New forms of publication and communication allowed people to read content in a simultaneous collective manner, and thus imagine the nation, its boundaries, and its citizens. A recent article from The Economist entitled “The Future Is Another Country” makes the observation that online social networks are beginning to act like nation states. Critical to this discussion is the developers’ role in this fundamental shift, enabling millions of people to check in, share, push, grow virtual foods, and swap virtual goods. So where do developers and the entrepreneurial spirits of Silicon Valley get their nation-building skills?
In the past, especially in the mobile market but also in computing, developers would look at the ‘installed base,' the existing universe of target devices, customers, or users, and prioritize based on what was out there at the time. Now, with a multi-platform roadmap that becomes more visible as chip manufacturers, display makers, and other OEMs can describe what’s coming with more confidence, developers are factoring in future options into their engagement decisions. Here, factors such as extensibility, openness, and ecosystem triumph over the installed base. Like any commodities futures market, this is partly perception-based, and can be volatile. Does secrecy help or hurt this new model? Is better and more data the developer’s best friend?
Population/Users of Nations A side-by-side comparison of the number* of people that reside within real and virtual societies. *Numbers as of September 2010
65M
BA
11M CU
AFT AR
CR
LE DO FW
MV IL RL
FAR
NC E FR A
TAN KIS PA
LIV E PP
IA SS RU
ER ITT TW
CE MY SP A
A US
NT CE
12M
127M 125M
141M
WO
22
TEN
OK FAC
EB O
IA IND
CH IN
A
1.35B 1.21B 500M 400M 310M 300M 145M
63M
Thank you The research team includes Pascale Diaine, Maria Iu, Mark Plakias, and Natalie Quizon. We would like to thank the following people for their contributions to this study: To the people who took the time to share their experiences and opinions through our video interviews: Andrew Mager, Jeff Haynie, Robert Scoble, Josh Marinacci, Anand Iyer, Danielle Morrill, Chris Thorpe, Kent Brewster, and Trevor Smith. We also gratefully acknowledge our colleagues within Orange who provided early feedback and encouragement: Yves Tyrode, Alexia Froudkine, Christophe Franรงois, and Satya Mallya. To our Orange San Francisco colleagues who made time in their busy schedule to write for this magazine: Julian Gay, Bosco So, Shishir Garg, Steven Rose, Srinivas Chervirala, and Christophe Bertagni. To our friends at Appcelerator who kindly agreed to partner with us for their Q2 Mobile Developer Survey. Finally we would like to thank Georges Nahon, the CEO of Orange San Francisco, who inspired this project and enabled us to investigate the fascinating community of developers that are shaping the way we interact with the world. We hope this magazine will help facilitate the discussion around Dev Nation and its enormous generative power.
Design by Maria Iu
23
Copyright 2010 â&#x20AC;&#x201C; Orange San Francisco