Apps/DevEngage/Plan: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "<h1>Developer Engagement Plan for the Mozilla Apps Initiative </h1> <h2>[ Goals] - Through the Beta Period to v1 Release</h2> <ul> <li>Support Apps Business Development in secur...")
 
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
<h1>Developer Engagement Plan for the Mozilla Apps Initiative </h1>
<h1>Developer Engagement Plan for the Mozilla Apps Initiative </h1>
<h2>[ Goals] - Through the Beta Period to v1 Release</h2>
<h2>Developer Engagement Plan for Apps</h2>
<strong>Summary : </strong>Mozilla Apps is a Web Runtime Platform and Apps Marketplace that
empowers developers to build applications using Open Standards based web
technologies and make them available to the widest possible collection of users.<br />
<br /><strong>Product : </strong>Mozilla Apps (Web Runtime &amp; The Mozilla marketplace)<br />
<br /><strong>Product Wiki : </strong>https://wiki.mozilla.org/Apps<br /><br />
<strong>Target Audience : </strong>Developers in all market Segments, Content Publishers<br />
<br /><strong>Deliverables : </strong><br />
<ul>
<ul>
<li>Support Apps Business Development in securing 100 premier apps for the App Store Beta </li>
  <li>Ongoing coverage of developers tools on DevEngage channels.
<li>Broad Reach Activities that result in 1000 apps in process during the beta timeline.</li>
    <ul>
<li>Increase broad industry awareness of Mozilla as a leader in Standards Based Development Technology.</li>
        <li>Hacks.mozilla.org</li>
        <li>Retweet of apps team tweets via mozhacks and personal twitter streams</li>
    </ul>
  </li>
  <li>Preparation of screencasts and demos</li>
  <li>Integration of apps in other screencasts, demos and presentations</li>
  <li>
  Promotion of the team posts on social media:
    <ul>
      <li>http://hacks.mozilla.org/</li>
      <li>http://blog.mozilla.com/apps/</li>
      <li>http://misfitgeek.com</li>
      <li>http://christianheilmann.com/</li>
      <li>http://robertnyman.com/</li>
      <li>http://rawkes.com/</li>
      <li>http://blog.mozilla.com/addons/author/jgriffithsmozilla-com/</li>
    </ul>
  </li>
  <li>Documentation
      <ul>
        <li>[https://developer.mozilla.org/en-US/apps Community on MDN]</li>
        <li>[https://developer.mozilla.org/en/Apps Official Apps Developer Documentation]</li>
        <li>[https://developer.mozilla.org/en/HTML/HTML5 Official HTML5 Developer Documentation]</li>
      </ul>
    </li>
    <li>
      Sample Apps
      <ul>
        <li>Sample Task App with Off Line Storage and Advertising</li>
        <li>Sample Game</li>
      </ul>
    </li> 
    <li>
      Code samples
      <ul>
          <li>How to detect Device Type</li>
          <li>How to detect supported features</li>
          <li>How to check network state</li>
      </ul>
    </li>
    <li>
    Snippets
    <ul>
      <li>Include Amazon Affiliate Advertising</li>
      <li>On line storage authorization snippet</li>
    </ul>
    </li>
    <li>
      Content Topics for Tutorials and Screen Casts
      <ul>
        <li>How do i get started ? - A Simple Hello World App.</li>
        <li>How do I design my app using local storage features?</li>
        <li>How do I set up in-app sales in my app?</li>
        <li>How do I serve apps from ASP.NET?</li>
        <li>How do I serve apps from PHP?</li>
        <li>How do I use device specific hardware?</li>
        <li>How do I use cloud services in my App?</li>
        <li>How do I use external javascript such as jquery in my app?</li>
        <li>How do I work with a TabBar in my App ?</li>
        <li>How do I do Transitions/Animations In My App?</li>
        <li>How do i do Progressive loading of images in my App ?</li>
        <li>How do I use Mirror effect / coverflow in my App?</li>
        <li>How do I Read / Write file to disk in my app?</li>
        <li>How do I Detect orientation, screensize, phone model in my app?</li>
        <li>How do I Consume RSS in my app?</li>
        <li>How do I Use location in my app?</li>
        <li>How do I Access the contact book in my app?</li>
        <li>How do I Do 3D animations in my app?</li>
        <li>How do I process arrow keypad input in my app?</li>
        <li>How do I play audio in my app?</li>
        <li>How do I Capture images in my app?</li>
        <li>How do I Resize images in my app?</li>
        <li>How do I Play video via YouTube in my app?</li>
        <li>How do I Embed and use video in my app?</li>
        <li>How do I Record and play video in my app?</li>
        <li>How do I use Paypal for In-App Purchases in my app?</li>
        </ul>
    </li>
    <li>Customer Case Studies</li>
 
</ul>
</ul>
<hr /><br />
<strong>Developer messages : </strong><br />
<h2>Mozilla Apps Developer Engagement Mission </h2>
 
<p>One of the great potential values of standards based applications is the potential ubiquity of deployment options from a single code base.</p>
<p>Using Mozilla app infrastructure, apps can deploy across platforms from a single code base.</p>
<h3>Each of today’s developer community segments has a different set of learning needs and pain points.</h3>
<ul>
<ul>
<li>Current Phone and Tablet Developers</li>
  <li>Build Apps using a single technology for deploymant on any modern device.</li>
<li>Android Developers</li>
  <li>Distribute or sell your apps to the largest possible audience.</li>
<li>iOS Developers</li>
  <li>Free yourself from silo technologies and marketplaces.</li>
<li>Desktop Application Developers</li>
<li>"Web" Developers</li>
<li>Google Apps &amp; Others</li>
</ul>
</ul>
<h3>Existing “Apps” developers all have a common set of pain points.</h3>
<strong>Audience Segmantation : </strong>
<ul>
<ul>
<li>Each potential consumer audience is isolated to a different App Store and each App Store represents a specific device platform. Therefore reaching the widest possible set of customers means using multiple development technologies
  <li>Current Phone and Tablet Developers</li>
and languages and deploying to multiple stores. Or using some even less standard proprietary tool, cross platform compiler, etc. and trying to build you app once but get great results on multiple platforms.)
  <li>Android Developers</li>
</li>
  <li>iOS Developers</li>
<li>Apps Developers are at the mercy of the App stores than the sell in.
  <li>
</li>
    Desktop Application Developers
<li>App listing placement, search optimization, etc. - in fact the whole findability
    <ul>
process is different in the different stores.
      <li>Windows</li>
</li>
      <li>Mac</li>
<li>Each App Store customer base has different buying and usage patterns so
      <li>Linux</li>
effective monetization strategies differ based on app specific market segment. &#160;<br />
    </ul>
</li>
  </li>
  <li>Client Side "Web" Developers</li>
  <li>Server Side "Web" Developers (ASP.NET, JSP)</li>
  <li>Google Apps, WebOS & Others</li>
  <li>
    Verticle Genre
    <ul>
        <li>Productivity</li>
        <li>Gaming</li>
        <li>Media</li>
        <li>News</li>
        <li>PR / Personality</li>
    </ul>  
  </li>
</ul>
</ul>
<p>HTML5 Application developer appeals to nearly all developer segments which we
 
can start to catagorize as follows. <br />
<strong>Speaking materials : </strong><br />
</p>
<h3>Web Developers</h3>
<ul>
<ul>
<li>
  <li>Screencasts</li>
Server Side Web Developers - Web developers who work in PHP, Python, Ruby etc are used to writing HTML etc, but there are many new technologies to be learned (Workers, Sockets, Etc.) Also, many of them have not previously worked with client / server interactions (AJAX)<br /><br />In addition, they have not previously had to think about their web apps including an off-line experience. Therefore HTML5 and “Web Run Time” specific guidance should be usefully to them.
  <li>
<br /><br />
    [https://wiki.mozilla.org/Engagement/Developer_Engagement/Grab_bag Reusable slides available at the Grab Bag]
</li>
  </li>  
<li>
HTML/JS Developers - Some developers have been writing HTML/JavaScript code and server-side interactions. These developers are a bit ahead of the curve but all of the HTML5 and off-line technologies will be new to them as well.
</li>
</ul>
</ul>
<h3>Microsoft Web Developers</h3>
<strong>Speaking opportunities :  
<ul>
</strong><ul>
<li>
  <li>Developer conferences</li>
Conventional ASP.NET developers have not had to learn much about Web Application Technologies and, relative to Apps building efforts will need a great deal of foundational learning to come up to speed.
  <li>JavaScript conferences</li>
</li>
  <li>Unconferences</li>
</ul>
<h3>Desktop Developers</h3>
<ul>
<li>Windows</li>
<li>Mac</li>
<li>Linux</li>
</ul>
<p>Though much of the apparent interest in “Apps” development is focused on mobile devices Standards Based Application development has interesting prospects for the desktop as well.
<br /><br />
Developing an application that runs on the desktop is traditionally been a compromise.<br /><br />
You could:<br />
</p>
<ul>
<li>Choose to support only one desktop platform and ignore the other potential markets.</li>
<li>Develop the same application 2 or 3 times, once on each platform that you want to support.
<li>Develop your application in Java and test across multiple OSes. (Though most developers find this to be an arduous process that often yields sub-optimal results.)</li>
<li>Choose anyther cross platform technology like Adobe Flex and accept the posibility of discontinuation.</li>
</li>
</ul>
<h3>Some of the broad developer guidance that Mozilla needs to provide.</h3>
<ul>
<li>Application Architectures for HTML5 Applications</li>
<li>Sometimes Connected Patterns and Practices</li>
<li>Device Specific Scenarios</li>
<li>App Instalation and Versioning</li>
<li>Application Monitization Options</li>
<li>Advanced Engineering Practices</li>
<li>Using BrowswerID for Apps</li>
<li>Using IndexedDB for Apps</li>
<li>HTML5 Gaming Specific Concerns</li>
<li>Multi Platform and Form Factor User Experiences</li>
<li>Hardware Access</li>
<li>App Performance and Optimization</li>
</ul>
<h3>Planned Developer Engagement Activities:</h3>
<ul>
<li>Web Apps Weekly Podcast </li>
<li>Series of Event’s in a Box for Developers</li>
<li>Apps Patterns &amp; Practices Tutorial Series</li>
<li>Post Beta Apps Developer Conference Tour</li>
<li>Games Specific Tutorial Series</li>
<li>BrowserID Tutorial Series</li>
<li> 1-3 reference applications representing unique application scenarios</li>
</ul>
</ul>
<h3>Engagement Goals:</h3>
 
<strong>Next steps:</strong>
<ul>
<ul>
<li> To inform the developer community at large in regards to Mozilla’s industry leadership as an HTML5 innovator</li>
  <li>Integration of Apps in the best practice documentation for Evangelism reps</li>
<li>To fill a gap in broad developer understanding as to what can actually be done with HTML5 and how HTML5 drastically changes web development</li>
<li> Catalyze a vibrant development ecosystem for building and monetizing HTML5 Apps</li>
</ul>
</ul>
<hr />
 
<p>All Developer Engagement folks are starting to seed interest in the Apps ecosystem in anticipation of the developer preview. </p>
<strong>Individuals responsible : </strong>
<hr />
<h2>[ Deliverables ]</h2>
<ul>
<ul>
<li>Docs</li>
  <li>Within DevEngage | [https://intranet.mozilla.org/Engagement/Developer_Engagement/ProjectsAndContacts see here] </li>
<li>Sample Apps</li>
  <li>All Mozilla |      [https://intranet.mozilla.org/Engagement/Developer_Engagement/ProjectsAndContacts see here] </li>
<li>Tutorials</li>
<li>Code samples</li>
<li>Snippets</li>
<li>Case studies</li>
<li>Libraries, Toolkits, Frameworks</li>
<li>Presentations</li>
<li>Events</li>
</ul>
</ul>

Latest revision as of 18:07, 29 March 2012

Developer Engagement Plan for the Mozilla Apps Initiative

Developer Engagement Plan for Apps

Summary : Mozilla Apps is a Web Runtime Platform and Apps Marketplace that empowers developers to build applications using Open Standards based web technologies and make them available to the widest possible collection of users.

Product : Mozilla Apps (Web Runtime & The Mozilla marketplace)

Product Wiki : https://wiki.mozilla.org/Apps

Target Audience : Developers in all market Segments, Content Publishers

Deliverables :

  • Ongoing coverage of developers tools on DevEngage channels.
    • Hacks.mozilla.org
    • Retweet of apps team tweets via mozhacks and personal twitter streams
  • Preparation of screencasts and demos
  • Integration of apps in other screencasts, demos and presentations
  • Promotion of the team posts on social media:
  • Documentation
  • Sample Apps
    • Sample Task App with Off Line Storage and Advertising
    • Sample Game
  • Code samples
    • How to detect Device Type
    • How to detect supported features
    • How to check network state
  • Snippets
    • Include Amazon Affiliate Advertising
    • On line storage authorization snippet
  • Content Topics for Tutorials and Screen Casts
    • How do i get started ? - A Simple Hello World App.
    • How do I design my app using local storage features?
    • How do I set up in-app sales in my app?
    • How do I serve apps from ASP.NET?
    • How do I serve apps from PHP?
    • How do I use device specific hardware?
    • How do I use cloud services in my App?
    • How do I use external javascript such as jquery in my app?
    • How do I work with a TabBar in my App ?
    • How do I do Transitions/Animations In My App?
    • How do i do Progressive loading of images in my App ?
    • How do I use Mirror effect / coverflow in my App?
    • How do I Read / Write file to disk in my app?
    • How do I Detect orientation, screensize, phone model in my app?
    • How do I Consume RSS in my app?
    • How do I Use location in my app?
    • How do I Access the contact book in my app?
    • How do I Do 3D animations in my app?
    • How do I process arrow keypad input in my app?
    • How do I play audio in my app?
    • How do I Capture images in my app?
    • How do I Resize images in my app?
    • How do I Play video via YouTube in my app?
    • How do I Embed and use video in my app?
    • How do I Record and play video in my app?
    • How do I use Paypal for In-App Purchases in my app?
  • Customer Case Studies

Developer messages :

  • Build Apps using a single technology for deploymant on any modern device.
  • Distribute or sell your apps to the largest possible audience.
  • Free yourself from silo technologies and marketplaces.

Audience Segmantation :

  • Current Phone and Tablet Developers
  • Android Developers
  • iOS Developers
  • Desktop Application Developers
    • Windows
    • Mac
    • Linux
  • Client Side "Web" Developers
  • Server Side "Web" Developers (ASP.NET, JSP)
  • Google Apps, WebOS & Others
  • Verticle Genre
    • Productivity
    • Gaming
    • Media
    • News
    • PR / Personality

Speaking materials :

Speaking opportunities :

  • Developer conferences
  • JavaScript conferences
  • Unconferences

Next steps:

  • Integration of Apps in the best practice documentation for Evangelism reps

Individuals responsible :