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



Similar documents
CMS, CRM, shopping carts, Web applications

CROSS PLATFORM DEVELOPMENT The HTML5 Way

Accelerating Business Value by

Whitepaper. Trans. for Mobile

Making Mobile a Reality

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Developing and deploying mobile apps

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

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

WHITEPAPER. Pros & cons of native vs cross-platform mobile development with Xamarin

Building HTML5 and hybrid mobile apps using cloud services. Andrei Glazunov

About Blue Sky Sessions

Design ï Development ï Digital Marketing ï Content

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

A Guide to Mobile App Development Platforms

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

Best Practices for Building Mobile Web

apiomat Enterprise Mobile Enterprise Application Platform the Next Generation

ECM Chapter 4 Building an E-commerce Presence: Web Sites, Mobile Sites, and Apps

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Building Mobile Applications

Print to Interactive Roadmap. with Patrick McNeil

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

StableFlow is a software development company, focused on software outsourcing services to companies ranging from startups to large enterprise.

MOBILE APP DEVELOPMENT FROM IMAGINATION TO REALITY WHITE PAPER

Cross-Platform Phone Apps & Sites with jquery Mobile

Armedia. Drupal and PhoneGap Building Mobile Apps

Building Cross Platform Mobile Apps Dev Tools, MBaaS, Architecture, APIs

How To Develop A Mobile App With Phonegap

Mobile Test Automation Framework

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

Welcome to the Force.com Developer Day

Build apps your users will love with Xamarin. Mobile Edge 11 Nov 2015

Building native mobile apps for Digital Factory

Native vs. HTML5 Mobile App Development

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

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

Professional software development services

Client Overview. Engagement Situation

A Way Out of the Mobile App Development Conundrum

Development of mobile applications for multiple platforms

Choosing the Best Mobile Backend

Choosing a Mobile Application Development Approach

27th Embarcadero Developer Camp General Session

Alexander Nikov. 4. Building an ecommerce Presence: Web Sites, Mobile Sites, and Apps. Outline. Teaching Objectives

Bridging the Gap: from a Web App to a Mobile Device App

dustin caruso JavaScript / WordPress / UI developer 1230 Parkside Drive South, Reading, PA, USA dustin@dustincaruso.com

SYST35300 Hybrid Mobile Application Development

Armedia. Drupal and PhoneGap Building Mobile Apps

The Suitability of Native Application for University E-Learning Compared to Web-Based Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

SQL Server 2016 BI Any Data, Anytime, Anywhere. Phua Chiu Kiang PCK CONSULTING MVP (Data Platform)

QML and JavaScript for Native App Development

Cross-Platform Development

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

Petroleum Web Applications to Support your Business. David Jacob & Vanessa Ramirez Esri Natural Resources Team

Career Paths... Digital Job Areas Digital

ENTERPRISE MOBILE BACKEND AS A SERVICE EVALUATION CHECKLIST

ClaySys AppForms for SharePoint

CASE STUDY. Enhancing the Patient Experience Harris Mobile Patient Engagement Platform

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

Cross-Platform Mobile Apps Solution

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Using Story Points to Estimate Software Development Projects in the Commercial Phase

Accelerating DevOps With Copy Data Virtualization. June, 2015

RFP# ADDENDUM No. 1 Questions and Answers

SENIOR WEB DEVELOPER

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

Web Design & Development

nileco websites that sell

Keshima Technologies Pvt. Ltd.

Hybrid Mobile Development: A Cost-Effective Strategy for Building Cross-Platform Mobile Apps

EMPLOYEE LOCATION TRACKING SERVICE

Continuous Integration & Automated Testing in a multisite.net/cloud Project

Web UI & Functional Test Automation for Continuous Agile Deliveries

BubbleList Quick Start Guide

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

MOBILE APP DEVELOPMENT CUSTOM CROSS PLATFORM APPLICATIONS

Preparing Your Business for Magento 2.0

REGISTRATION CENTRE FOR VOCATIONAL SKILLS CERTIFICATION

DEPARTMENT of DIGITAL MEDIA / INTERNET SERVICES:

Transcription:

SOFTWARE DEVELOPMENT Notes for Startup Founders March 25 th, 2015

Brian Pham Professor, School of Applied Computing, Sheridan College Adjunct Professor, School of Computer Science, University of Guelph brian.huy.pham@gmail.com YuFan Dong Computer Science Student, University of Waterloo QA Analyst, Oracle Eloqua yufandong@hotmail.com Rahil Shah Computer Programmer Student, Sheridan College Android Developer, Freelancer rahil2952@gmail.com Yash Tilva Computer Programmer Student, Sheridan College Web Developer, Freelancer tilva.yash@gmail.com

AGENDA Managing a software endeavor Useful tools Choosing the right dev platform

MANAGING A SOFTWARE ENDEAVOR

SOFTWARE: BRIDGE OR GARDEN?

PROBABLY GARDEN! Never complete Launch is just the first release Change is inevitable: New features Competitors Business Strategy etc. Incremental design vs Big design upfront Continuous release The Agile Samurai

AGILE DEVELOPMENT The Agile Samurai http://it-ebooks.info/book/75/

The Agile Samurai AGILE DEVELOPMENT PROCESS

YOUR DEVELOPMENT TEAM Gardeners vs Builders Generalists vs Specialists Masters vs Journeymen vs Apprentices Front enders vs back enders How to recruit and hire great software engineers http://it-ebooks.info/book/2356/

USEFUL TOOLS

WEBSITE & BLOG Design Template Monsters {Wrap}Bootstrap CMS Magento SEO Google Analytics http://www.templatemonster.com/demo/53155.html http://riotdesign.eu/en/

WIREFRAMING / MOCKUP

VERSION CONTROL Collaboration without conflicts Branching and Merging History/Journal

TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance Issue Tracking Regression Testing

CHOOSING A MOBILE DEV PLATFORM

CLOUD-INTEGRATED MOBILE APPS Few mobile apps are stand-alone Sharing data between users Making use of complex computations/services Client-Server model is often used Aka front-end and back-end

CLOUD-INTEGRATED MOBILE APPS Server (aka back end) Runs on the cloud, processes data, might call other web/cloud services Completely under your control Client (aka front end) Runs on customer s device, displays UI, sends data to server Many types of device Cross-platform is often desirable The dreaded Web vs Native debate

WEB VS NATIVE Two opposite ends of the spectrum Native Rich user experience Snappy Can utilize latest hardware capabilities Can take advantage of new OS features Expensive for cross-platform apps

WEB VS NATIVE Web/HTML5 Write once, run anywhere (WORA) Not as sleek Good for Information-based applications Form-based applications Online content viewing Wikipedia, Facebook, Twitter, Yelp, etc. Apps that don t want to go through the app stores Apps that don t need advanced access to hardware

COMPROMISE #1: Main Ideas: Mask the differences between platforms using a specialized browser: The PhoneGap browser More advanced hardware access can be enabled via the PhoneGap browser: The PhoneGap API Your web app is bundled with the PhoneGap browser, and the entire package is then distributed as a native app via app stores

PHONEGAP (CONT) Pros Is a web app WORA With more hardware access (than reg browsers) Web developers feels at home Cons Is (still) a web app Not as sleek and snappy Hardware access is limited to those allowed by the PhoneGap API

COMPROMISE #2: Main Idea: Mask the differences between platforms with an interpreter Programmer writes app code in JavaScript Code gets interpreted on mobile device by a modified JavaScript engine JS Engine call native API

TITANIUM (CONT) Pros Is faster than web apps Is sleeker than web apps Native looking UIs More hardware access than web apps and PhoneGap WORA Cons Not as fast as native Interpreter engine Hardware and graphics API is limited to that allowed by Titanium

COMPROMISE #3: Main Idea: Mask the differences between platforms using a cross-platform execution engine (VM/Runtime)

XAMARIN (CONT) Pros Compiled code Higher performance Closest to native (Almost) full hardware access C#/.NET: Large dev comm WORA??? Semi-wora Cons Require more knowledge of native Oses Some UI code need to be platform specific App Logic is still common! Tools licences

OTHER THINGS WORTH CONSIDERING Time to market Stage of product Your own expertise Talent pool Development cost

FURTHER REFERENCES Pro Git http://git-scm.com/book/en/v2 Selenium Testing Tools Starter http://it-ebooks.info/book/3123/ Building cross-platform apps using Titanium http://it-ebooks.info/book/4475/ PhoneGap for Enterprise http://it-ebooks.info/book/4763/ Xamarian Mobile Application Development for Android http://www.it-ebooks.info/book/3892/

THANK YOU!