Top Banner
MEMBANGUN APLIKASI YANG BERKUALITAS BIMBINGAN TEKNIS ENTREPENEURSHIP DIGITAL (GAME & MOBILE APPS) Dr. Eng. Herman Tolle JURUSAN SISTEM INFORMASI FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA 03 Grand Palace Hotel - Malang, 16-17 September 2016
60

03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Apr 13, 2017

Download

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

MEMBANGUN

APLIKASI YANG

BERKUALITAS

BIMBINGAN TEKNIS ENTREPENEURSHIP DIGITAL

(GAME & MOBILE APPS)

Dr. Eng. Herman Tolle

JURUSAN SISTEM INFORMASIFAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

03

Grand Palace Hotel - Malang, 16-17 September 2016

Page 2: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Outline

• Start from Idea

• Development Phase

• Optimization & Testing

• Deployment Phase

• After Deployment

Page 3: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Simple & Unique

Fun & Addiction

Creativity

Page 4: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Kiichiro MutoMirai Education Japan

Page 5: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Mobile App Challenges

• Short development cycle, rapid changes, multiple form factors.

• Native, Web and Hybrid apps.

• Multiple devices and OS.

• Non functional – Security and performance.

• Backward compatibility.

• Popular mobile web browsers.

• Network.

• Graphics, Video, Audio.

• Memory usage.

• Usability .

• What is coming next ?.

Page 6: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 7: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 8: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Popular Applications

Think Big or Think Tiny…

Page 9: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 10: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

CREATING MOBILE APPS

Page 11: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Development Team (Role)

• Project Manager

• Application Designer

• Mobile Programmer

• Application Tester

• UI/UX Designer

• Marketing

• Backend Admin / Operator

Page 12: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

DEVELOPMENT & DEPLOYMENT

• Development: tahapan MEMBUAT APLIKASI mulai dariperencanaan, perancangan, implementasi dan testing padalingkungan terbatas: Design-Develop-Implement-Testing

• Deployment: tahapan pengembangan dan implementasi padalingkungan penggunaan sebenarnya hosting-upload-testing-publish

• After Deployment Acquisition-Retention-Revenue

Page 13: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Development Lifecycle

Page 14: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Prototyping Method

Idea

Design

Design Testing

Build Prototype

Prototype Testing

Design for Development

Implementation

TestingDeployment

Maintaining

Page 15: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Mobile app dev process

© 2013 MobiGnosis

Page 16: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

DEVELOPMENTTAHAPAN PENGEMBANGAN APLIKASI

Page 17: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Type of Application

• Native App: dibuat, dikompilasi dan diinstalasi khususuntuk platform tertentu

• Web based App: dibangun dengan teknologi pembuatanweb: HTML, CSS, Javascript. Dapat bersifat CROSS PLATFORM

• Hybrid: gabungan Web + Native, dikembangkan denganteknik web tetapi dikompilasi menjadi app native

Page 18: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Platform Native Application

• Java ME (sebelumnya J2ME)

• .NET Compact Framework (C++, C#, VB.NET) for Windows Mobile

• Qualcomm’s BREW (C or C++)

• Symbian (C++)

• BlackBerry (Java)

• Android (Java)

• iPhone / iOS (Objective-C)

Page 19: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Teknologi Web utk Mobile App

• HTML5

• CSS3

• Javascript

• Jquery, Jquery Mobile, AJAX

• Data (Web Service): JSON, XML

• Localstorage: SQLite

• Hybrid Merubah menjadi native: PhoneGap

• 3rd Party Crossplatform: MoSync, Xamarin, Appcelerator (Titanium), Sencha, dll

Page 20: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 21: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 22: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Cost Development

Dalam mengembangkan sebuah aplikasi mobile harusmemperhitungkan biaya-biaya yang timbul dari komponen berikut:

• Hardware: Komputer development, mobile device

• Software: OS, development tools, SDK, Emulator/Simulator

• Pemilihan Platform

• Lisensi

• Dokumentasi & API

Page 23: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 24: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Android Development Tools

• OS: Windows, Linux, MacOS, etc.

• Java Development Kit (JDK)

• Development Tools (Emulator): Eclipse, Android Studio, Visual Studio, etc.

• Cross Platform Development Tools: Xamarin, Appcelerator, Unity3D, etc.

• Android Virtual Device: AVD, Genymotion

• Library: Google Map, Android TV, Wearable, etc.

• Hybrid: Phonegap

• Online Instant Dev Tools: iBuildApp, AppGeyser, Como

Page 25: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 26: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Lisensi

• Untuk menjadi developer aplikasi harus memiliki lisensi

• Ada yang free tetapi ada juga yang berbayar

• Andoid: lisensi android developer: US$ 25 (1x)• Publish app di play store

• iOS: Lisensi developer Apple: US$ 99 / year• Testing on device, publish to Apple Store

• Windows Phone: developer registration: US$ 99• publish 5 apps on Windows Store

• iOS University License (free) , Microsoft Student License

Page 27: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Dokumentasi & API

• Ketersediaan Dokumentasi dan API yang lengkap dan dapat diakses dengan mudah

Page 28: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 29: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Development Consideration

• Local atau Server-Based Data

• Internal atau External Access

• Pushing atau Pulling the Data

• Building atau Buying

Page 30: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Local vs Server Based Data

• Data disimpan di lokal perangkat ataukah disimpan di server?

• Akses data lokal lebih cepat dari akses data ke server

• Perhatikan kapasitas memori atau media penyimpanan pada perangkat

• Contoh aplikasi dg data lokal: Contact, E-Book Reader, Dictionary dg data lokal

• Aplikasi dg data di server: Dictionary dg data di server, social media

Page 31: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Internal vs External Access

• Proses dilakukan pada sisi perangkat pengguna (client) atau sisi server

• Contoh aplikasi dengan proses internal: kalkulator, penghitung kalori, edit foto, navigasi, dll

• Contoh aplikasi dengan proses eksternal: koran online, tv online, transaksi online shop, dll

Page 32: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Pushing vs Pulling

• Data di push (didorong) oleh server atau data di pull (ditarik) dari server

• Push: server secara otomatis mengirimkan data ke setiap client

• Pull: aplikasi client menarik data atas sebuah permintaan (button click, refresh)

• Contoh aplikasi dengan sistem push: aplikasi dengan notifikasi (chat, social media)

• Contoh aplikasi dengan sistem pull: online shop

Page 33: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Building vs Buying

• Mengembangkan aplikasi sendiri atau membeli aplikasi

• Outsourcing developer

• Mengembangkan dari template yang sudah ada sebelumnya

Page 34: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 35: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Build vs Buying Buy the same app only for $15

Page 36: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Design for Development

• Project Name

• Project Description: Tujuan, sasaran pengguna

• Application Architecture

• Functional Requirement

• Non Functional Requirement Reliability, Security, Usability, etc.

• DiagramsActivity, Sequence, Class

• Database Local or Server based (Web Services)

• User Interface: Color, Menu, Size, Position, Image, Icon, Graphics, etc

• User Experience: Interaction, Control, Respond, Notification

Page 37: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Mobile App Design Tips

• Learn from best app

• User Center Design

• User Experience

• Using Tools for make a mockup / prototype / wireframe / screen flow• JustInMind, FluidUI, inVision, etc.

• Using Android Material Design

Page 38: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

QUALITY OF AN APPLICATIONOPTIMIZATION & TESTING

Page 39: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Bad Application

• Have you ever downloaded an app for your smartphone only to delete it a few minutes later? If you’re like millions of other users of mobile software, the answer is probably yes.

• But why is this such a common occurrence? And is there anything that can be done to curb the ever-rising tide of buggy mobile apps?

Page 40: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 41: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

OPTIMIZATION & TESTING

Page 42: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Best Practices for Android / Mobile applications

Managing Your App's Memory

Improving Layout Performance

Optimizing Battery Life

Multi Threading

Performance Optimization

Resource Optimization

Android App Optimization

Page 43: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Significance of Mobile Application Testing

• Testing applications on mobile devices is more challenging than testing web apps on desktop due to

Different range of mobile devices with different screen sizes and hardware configurations like hard keypad, virtual keypad (touch screen) and trackball etc.

Wide varieties of mobile devices like HTC, Samsung, Apple and Nokia.

Different mobile operating systems like Android, Symbian, Windows, Blackberry and IOS.

Different versions of operation system like iOS 7.x, iOS 8.x, etc.

Different mobile network operators like Wifi, GSM, CDMA, 3G.

Frequent updates – (like android- 4.2, 4.3, 4.4, iOS-5.x, 6.x) – with each update a new testing cycle is recommended to make sure no application functionality is impacted.

Page 44: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Type of Mobile App Testing

1. Usability testing– To make sure that the mobile app is easy to use and provides a satisfactory user experience to the customers

2. Compatibility testing– Testing of the application in different mobiles devices, browsers, screen sizes and OS versions according to the requirements.

3. Interface testing– Testing of menu options, buttons, bookmarks, history, settings, and navigation flow of the application.

4. Services testing– Testing the services of the application online and offline.

5. Low level resource testing: Testing of memory usage, auto deletion of temporary files, local database growing issues known as low level resource testing.

Page 45: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Type of Mobile App Testing (2)

6. Performance testing– Testing the performance of the application by changing the connection from 2G, 3G to WIFI, sharing the documents, battery consumption, etc.

7. Operational testing– Testing of backups and recovery plan if battery goes down, or data loss while upgrading the application from store.

8. Installation tests–Validation of the application by installing /uninstalling it on the devices.

9. Security Testing– Testing an application to validate if the information system protects data or not.

Page 46: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Testing Ceklist

Page 47: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Usability Factor

•Effective

•Efficient

•Engaging

•Easy to Learn

•Error Tolerant

Page 48: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Mapping Usability to Design Tactics

Page 49: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Usability Requirement

• Kualitatif

• Kuantitatif

• Misalnya:

• Kualitatif: • Aplikasi harus mudah untuk membantu user menemukan restoran terdekat

yang terbaik sesuai lokasi pengguna

• Kuantitatif: • 80% pengguna merasa puas dengan aplikasi tersebut.• Tingkat usability > 80%

Page 50: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Usability Test

• Usability. Testers should also flag any usability concerns.

These may include:

• Text that is too small or difficult to read due to poor contrast (especially on lower-end devices).

• Buttons and links that are too close together, or too small to manipulate.

• Custom widgets and controls such as sliders or carousels that don’t work as expected.

Page 51: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Packaging Application for Release

• We finally made it. Our coding is done, we have an application icon, and it’s time to package the application for deployment. This involves a number of steps:

1. Building the application in release mode, and then signing our application for deployment.

2. Registering for the Android Market.

3. Publishing our application to the market.

Page 52: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Publish Application

• Android Developer: • Google / Android Developer ID

• Publish on play store: 25US$ once payment

• Sharing provit: 70% - 30%

• iOS Developer:• Apple Developer ID

• Testing on device & publish to app store: 99US$ / year

• Windows Developer:• Annual subscription: 99US$ to publish application on Windows Phone Store

Page 53: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Market Store

Page 54: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Kebutuhan untuk Publish

• Apk dalam mode release (alpha, beta, release)

• Deskripsi Aplikasi

• Image Screenshot Aplikasi (gambar aplikasi dan menu-menu yg ada)

• Maturity Level

• Icon-icon

Page 55: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

AFTER DEPLOY GETTING REVENUE

Page 56: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

TAHAPAN SETELAH DEPLOYMENT

ACQUISITION

ACTIVATION

RETENTION

REFERRAL

REVENUE

Page 57: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Page 58: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

AKUISISI PENGGUNA

• Cari dan Kejar Calon Pengguna Anda

• Promote: Paid Arvertising

• Social Media: Facebook Ads

• Search Engine Optimazion (SEO)

• Search Engine Marketing

• Rating & Reviews

• Feedback

• App Store Optimazion

Parameter:• Download• Install• Page Visit• Site Visit

Page 59: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

Strategi Khusus

• Instagram: Invite influential people to your beta launch

• Snapchat: Get your target customers buzzing

• Evernote: Get press attention

• Clear: Be unique. Be simple

• Camera+: Be aggressive on social

Page 60: 03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)

SUMMARY

IDEA DESIGN DEVELOP DEPLOY MAINTAIN

1. Simple or Great Idea2. Complete and Cool Design3. Develop with Quality 4. Deploy with Standard Testing5. Maintain with Always Update6. Acquisition to Revenue

IDEA APP v.1.0 TEAMBUSINESS

MODELINVESTASI

1. Valid Idea2. Make your first version3. Build a Team4. Create Business Model5. Go get Invest