Indie_App_Development() { // Arjun Gopalakrishna // Bhavya Udayashankar

Similar documents
MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

CROSS PLATFORM DEVELOPMENT The HTML5 Way

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Adobe Experience Manager Apps

Making Mobile a Reality

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Automated testing for Mobility New age applications require New age Mobility solutions

5 Steps to Creating an Enterprise Mobile App Strategy

Developing and deploying mobile apps

Development of mobile applications for multiple platforms

Using Agile to Develop Mobile Apps

Statement of Morgan Reed. Executive Director. The Association for Competitive Technology

Technology Services...Ahead of Times. Enterprise Application on ipad

Building Mobile Applications

The Bootstrapper's Guide to the Mobile Web by Deltina Hay. Mobile App Strategy Worksheet. I. Target Market, App Category, Platforms

Designing for Mobile. Jonathan Wallace

HTML5 the new. standard for Interactive Web

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Choosing the Best Mobile Backend

Mobile Game and App Development the Easy Way

Additional details >>> HERE <<<

SharePoint as a Business Application, Not Just a Collaboration Tool

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Mobile App Testing Guide. Basics of Mobile App Testing

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

CiviMobile & CiviSync Mobile. Peter McAndrew Rohit Thakral

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

MOBILE APP DEVELOPMENT FROM IMAGINATION TO REALITY WHITE PAPER

MOBILE APP DEVELOPMENT CUSTOM CROSS PLATFORM APPLICATIONS

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

Take full advantage of IBM s IDEs for end- to- end mobile development

Cell Phone Buying Guide As choice and variety in wireless devices are constantly increasing, deciding what cell phone is right for you can be a

The story so far: Teaching Mobile App Development at PG level at Londonmet

Choosing a Mobile Application Development Approach

Successful Mobility. Matej Lavric Sales Leader for Mobile CEE

SOFTWARE DEVELOPMENT. Notes for Startup Founders. March 25 th, 2015

Comparing Native Apps with HTML5:

RapidValue Enabling Mobility. How to Choose the Right Architecture For Your Mobile Application

Table of Contents. Living In A Mobile World. There s Always An App For That. The UX Challenge. The Facebook + Mobile Opportunity

Exploring Mobile Space Stanfy Publications. Mobile Application UI/UX Prototyping Process

Your Information Technology Partner. Company Overview. Copyright Mantra IS LLC. All rights reserved.

100% NO CODING NO DEVELOPING IMMEDIATE BUSINESS -25% -70% UNLIMITED SCALABILITY DEVELOPMENT TIME SOFTWARE STABILITY

Whitepaper. Trans. for Mobile

The 4 Mindsets of Mobile Product Design. Scott Plewes

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT

Trends in Developing and Publishing Content: How HTML5 and Mobile Change the Game

The Top 5 Mobile App. Marketing Mistakes And How to Avoid Them

Middleware- Driven Mobile Applications

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

KICK-START CLOUD VENTURES

Appery.io Overview. However mobile also presents many challenges for enterprises:

HP Cloud technologies

Cross-Platform Development

White Paper. THE GREAT MOBILE APP DEBATE: NATIVE, HTML5 OR HYBRID? Determining the Right Approach for Your Business

Issues in Information Systems

An Analysis of Mobile Application Development Approaches

Rich Internet Applications

Make Learning Fun with Programming

Hands-On Mobile App Testing

HTML5 & Digital Signage

More details >>> HERE <<<

CMS, CRM, shopping carts, Web applications

5 Secrets to a Successful Mobile Application Testing Strategy

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Cross-Platform Phone Apps & Sites with jquery Mobile

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Lecture 4 Cross-Platform Development. <lecturer, date>

8 Things to Know. App Developer. 8 Things to Know Before You Hire Your App Developer v1.1 Copyright 2014, Feltpad, Inc.

4 Keys to Building a Successful, Scalable Mobile App Strategy

Real Madrid brings the stadium closer to 450 million fans around the globe, with the Microsoft Cloud

A Monitored Student Testing Application Using Cloud Computing

Mobile Solutions in ArcGIS. Justin Fan

A Guide to Mobile App Development Platforms

Here s how to choose the right mobile app for you.

Agenda. Success Stories with OpenShift. 11:15-11:45 am. OpenShift Tech Overview 9:40-10:30 am. Red Hat Mobile on OpenShift 10:45-11:15 am

Creating Next Generation Enterprise Apps Using Cloud Services

Transcription:

Indie_App_Development() { // Arjun Gopalakrishna // Bhavya Udayashankar

Indie app development is different from traditional app development for a corporation. It involves a small number of individuals handling all stages of product development independently including funding, marketing etc. which developers employed in a corporation don t have to worry about. This presentation will look at the various stages involved, showcase some success stories, and try to explain the motivations for people to become independent app developers. We gathered data from interviewing indie app devs and from strong online communities of indie devs. Executive Summary

What is an app? What is app development? What is Indie app development? How is it different from traditional application development? Detailed look at the processes involved Case studies Why does one become an independent app developer? Challenges faced Overview

An app (application) is a packaged executable that allows the user to do some tasks in an easy manner through the use of the app Many definitions for an app. Most popular usage refers to an application that runs on mobile devices ios, Android, Windows Phone Apps can be the distinguishing factor between platforms Apps can be native to a platform or use cross-platform technologies e.g. Adobe AIR Recent trend to view desktop applications also as apps, as seen in the Mac AppStore and Windows Marketplace Apps

Apps can either be games (67% of all mobile applications) or applications that offer services (productivity, communication etc.) to either consumers or to enterprise users itself e.g. SAP Business Objects, citrix Receiver etc. Fierce competition to deliver functionality and reliability quickly. Nobody likes apps that force close Many apps connect to the internet to leverage the power of the cloud Apps

Platform owners encourage app development and indulge in app development themselves However, majority of apps are from other developers ios = almost 500,000 apps, Android = 410,000+ apps Often, platform success depends on app count Failure of webos as a platform App sales depend more on volume than on margin. Many apps are 99 cents each. Many companies develop apps for smartphones to supplement their full-featured applications Dropbox, Amazon etc. App Development

Very low barrier to entry into app development Most software tools required are free and provided by the platform owners itself SDKs, APIs To lower cost further, virtual images provided so developer doesn t have to buy device to test app Other (free/non-free) frameworks also speed up the process of app development Adobe Flash Builder, Adobe Flex App Development

Software development is inherently complex and difficult At the start, most app developers start small and independently till successful Then, incorporate and form small startup companies Traditionally, indie app development refers to small operations involving few developers Independence refers to lack of backing from larger organization Many success stories Indie App Development

Choice of waterfall and Agile lifecycles Developers sometimes choose a hybrid of both First release is based on waterfall lifecycle (can be externally funded) Subsequent updates (additional functionality, bug fixes) follow Agile lifecycles (usually self funded) There is rarely versioning associated, unless changes are dramatic and visible Difficult to measure progress Some developers said they looked at how much more work remains before production is complete to publish the app Lifecycles

Indie devs don multiple roles Programming Responsible for app and website development. Also must handle creation of installer Design Art Must decide on the various modules, interactions etc. for the software In charge of visual look and feel, and also marketing material and web design Work closely with programmers to make sure technical requirements are met Roles in Indie App Dev

Sound Sound gives atmosphere to the app. Often overlooked. Must create cohesive experience. Shouldn t be done in the last minute Start early to allow for experimentation Project Management QA Responsible for the velocity of the team Ensure proper working of the teams Role shared across the whole team Constant experimentation with app to fix bugs as they go Roles in Indie App Dev

Business Includes marketing, sales, business plan writing, seeking funding A lone developer needs to be a jack of all trades - building, launching, promoting A typical indie dev learns as he/she goes. Self taught Must be able to work across platforms to port apps Small teams must be co-located Roles in Indie App Dev

Similar to any software lifecycle, the entire process involves several steps/stages, along with additional steps Requirements gathering and definition Development Testing Publishing Supporting Marketing is an additional responsibility, that traditional app developers from a corporation don t deal with Process Overview

As independent developers don t have the financial backing of a corporation, funding becomes an issue Developers may have to pay a registration fee at the beginning Some app devs seek funding online from services such as Kickstarter, appbackr etc. At times, a group of devs pitch in and invest together. This forms a foundation for a startup if and when they go there For successful apps, the profits from app sales provide financial support for future releases Funding

Qualitative market research to determine which platform to initially launch on Determine whether to develop a game or an app I chose to make a game because it s the most downloaded category of applications Identify gap with existing apps/services to fill Good place to start is reviews of competitor apps You are your own customer identify and define your customer s needs (can be age-group specific) Requirements Definition

Choice of platform influences choice of tools used for development including programming language Developer must identify all modules involved in the functioning e.g. databases, app framework, user experience including visual and sound etc. To use functionality that is fundamental to the device, APIs will have to be used to access it e.g. sensor APIs etc. SDKs allow speedy coding with features such as code completion etc. Development

The GUI of an app is extremely important, as all user actions will be performed through its use Some indie devs outsource this UX Development to graphic designers who work in parallel with the devs Plan for developing GUI must be made when planning the project To make it easier for a developer to develop on their own, platforms may have visual frameworks JavaScript based Enyo for webos To keep UI consistent, platforms may have recommended style guides as well e.g. Android 4.0 ICS GUI Development

Similar to Agile You are the QA department Testing is done at every step of development Every new build is a new test Code, usability, security and other features must be tested There are usually no separate stages of testing such as Unit testing, Integration testing (not feasible in small indie dev teams); developers test to ensure correct working Testing can also be done by volunteers such as friends, family or people on online forums Use of non-programmers in testing helps, as it is easy for programmers to overlook issues in their own code Testing

Testing frameworks may be used e.g. Testflight for ios A well tested stable app will draw and retain loyal users. This can be a point of failure for indie devs Devs must ensure time balance for testing and other stages of development Beta testing period is a great way to share the load Testing

Most SDKs allow app developers an easy way to publish their apps to the official app repository for that platform Microsoft even allows you to reserve an app name for an app in development for Windows 8 Publishing is preceded by approval. This can be frustrating at times due to rejections As a result, some developers publish to alternate app repos Cydia for ios SlideME and Amazon AppStore for Android homebrew for webos A published app can also be removed at a later time Publish

It is important for an app developer to have his app discovered This can be difficult 1 new app among over 500,000 Some developers use game publishers e.g. Chillingo to help with initial launch into market. This costs money. Your first chance to make an impression is with your icon In order to market their apps, devs rely on press releases and reviews from tech blogs to give them some visibility Apps are also advertised within other apps In app advertising Marketing

User reviews in the app store itself can also influence other buyers. Sometimes, competitors write negative reviews Developers said building and maintaining a website to go with the app is as important as the app itself as it allows us to connect with our customers Many devs launch lite version of app along with paid version This enhances reach of app and can lead to more purchases ishoot launched lite app and within 10 days had almost additional 16,000 paid downloads Marketing

Work is not done once the app is out in the app store Bug fixes are necessary to keep customers happy Some developers also offer additional functionality through free updates Additional game levels, improved integration with new services Can secure user base and build community Iterative Process

Indie app developers are self motivated and this directly influences their velocity Many devs also have full time jobs, families and work on app development in spare time Velocity can be hard to measure in this case For full time developers, the entire process may not seem as formal as industry software development. Project managers help keep the team on track Velocity

Devs can make money in many ways with apps Most obvious is through sale of apps itself Platform owner takes a % of the sale Some apps come with restrictions which users will have to pay elsewhere to get additional functionality Remember the milk etc. In app advertising is also used a lot in free apps Balance risks Build apps that are sure successes (corporate apps, work as hires) and then some speculative ventures App Economics

Named Relude (2003) originally Renamed Rovio (means bonfire) (2004) Started off as a game development company by 2 cousins who found their inspiration after a game development competition Initially self, family funded and worked as devs on hire for major gaming studios (EA, Real Networks) but failed to launch their own games due to marketing and distribution issues Angry Birds was conceived as comeback for the company It was developed as a part-time in-house app to make it into the market after the team was tired of work-as-hires and wanted their own intellectual property Case Study

Initially targeted iphone The iphone was a hyper-competitive environment. If we succeed there, we can go to other smartphones we planned this out well ahead for Angry Birds They profiled iphone users. Turns out everybody could use an iphone Hence, they made the game for everybody They needed an icon that would stand out in the App Store It resulted from the work of 10 people working for 8 months, with thousands of changes. Made 4 other games for companies in this time Case Study

Initial game was very different from current version Test players helped create backstory for birds v/s pigs They also created a free version because they wanted to form an active continuous relationship with their customers with frequent updates It took them 8 years for success Initially, the game was unsuccessful in breaking into the English speaking markets (nearly 3 months) So, they targeted small nations with massive advertising For larger markets, they used Chillingo (game publisher) Case Study

Cyanogenmod (CM) is the most popular Android custom ROM While not being an indie-app developer per-se, this is an interesting case study of an independent developer CM is not supported by any corporation. They are funded by public donations. In fact, CM developers have regular full time jobs in addition to CM development Their development lifecycle is not publicly known First rule of CM forums don t ask for ETAs Case Study

CM started out as a one man operation (cyanogen = Steve Kondik) with the very first Android device (htc Dream) It has since grown (due to public demand) to support over 60 models currently, and has a larger team as well CM has given birth to many other indie devs, some of whom repackage CM ROMs (called kangs) The purpose of CM is to give users freedom with their phones and provide them with a fast and customizable OS Case Study

Have to learn a lot by themselves quickly Unaware of pre-existing frameworks e.g. PhoneGap, appmobi that help quicken development process Marketing has proved a challenge due to limited budget Failure to launch App never sees the light of day App gets poor reviews and fails App never gets noticed marketing failure Multiple competencies development, testing, marketing etc. Fierce competition from corporations Challenges faced

build something that s my own. My IP Desire to connect with others through my creation I can spend my time on writing software the way that I want It s not about getting rich but about being able to make the games we want to make, independently Why become an indie app dev?

Many personal motivations to become an indie app dev Process is not for everyone. Involves a lot of effort on many fronts and needs passion apart from dedication Potential for success cannot be predicted and doesn t depend on quality of app alone Start small and work your way up Initial failures should not stop further attempts After all, Angry Birds was Rovio s 16 th attempt at making a successful original game Every platform needs independent developers to bring fresh perspective on apps that larger corporations may not build Conclusion

slicendiceninja.com/indieblog altdevblogaday.com (Kyle Kulyk) momswithapps.com thegamebakers.com notch.tumblr.com & a few more exabytes from the internet Further reading