Materi Membangun Aplikasi Mobile Berkualitas yang disampaikan pada acara Bimbingan Teknis Entrepreneurship Kreatif Digital (Mobile Application dan Game) 16-17 September 2016 oleh Dr. Eng. Herman Tolle yang diadakan oleh Badan Ekonomi Kreatif (Bekraf) bekerjasama dengan Universitas Brawijaya Malang
5. 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 ?.
11. Development Team (Role)
• Project Manager
• Application Designer
• Mobile Programmer
• ApplicationTester
• UI/UX Designer
• Marketing
• BackendAdmin / Operator
12. DEVELOPMENT & DEPLOYMENT
• Development: tahapan MEMBUAT APLIKASI mulai dari
perencanaan, perancangan, implementasi dan testing pada
lingkungan terbatas: Design-Develop-Implement-Testing
• Deployment: tahapan pengembangan dan implementasi pada
lingkungan penggunaan sebenarnya hosting-upload-testing-
publish
• After Deployment Acquisition-Retention-Revenue
17. Type of Application
• Native App: dibuat, dikompilasi dan diinstalasi khusus
untuk platform tertentu
• Web based App: dibangun dengan teknologi pembuatan
web: HTML, CSS, Javascript. Dapat bersifat CROSS
PLATFORM
• Hybrid: gabunganWeb + Native, dikembangkan dengan
teknik web tetapi dikompilasi menjadi app native
19. 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
20.
21.
22. Cost Development
Dalam mengembangkan sebuah aplikasi mobile harus
memperhitungkan biaya-biaya yang timbul dari komponen berikut:
• Hardware: Komputer development, mobile device
• Software: OS, development tools, SDK, Emulator/Simulator
• Pemilihan Platform
• Lisensi
• Dokumentasi & API
23.
24. Android Development Tools
• OS:Windows, Linux, MacOS, etc.
• Java Development Kit (JDK)
• DevelopmentTools (Emulator): Eclipse, Android
Studio,Visual Studio, etc.
• Cross Platform DevelopmentTools: Xamarin,
Appcelerator, Unity3D, etc.
• AndroidVirtual Device: AVD, Genymotion
• Library: Google Map, AndroidTV, Wearable, etc.
• Hybrid: Phonegap
• Online Instant DevTools: iBuildApp, AppGeyser, Como
25.
26. 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 onWindows Store
• iOS University License (free) , Microsoft Student License
27. Dokumentasi & API
• Ketersediaan Dokumentasi dan API yang lengkap dan dapat diakses
dengan mudah
28.
29. Development Consideration
• Local atau Server-Based Data
• Internal atau External Access
• Pushing atau Pulling the Data
• Building atau Buying
30. 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
31. 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
32. 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
33. Building vs Buying
• Mengembangkan aplikasi sendiri atau membeli aplikasi
• Outsourcing developer
• Mengembangkan dari template yang sudah ada sebelumnya
36. Design for Development
• Project Name
• Project Description:Tujuan, sasaran pengguna
• Application Architecture
• Functional Requirement
• Non Functional Requirement Reliability, Security, Usability, etc.
• Diagrams Activity, 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
37. Mobile App Design Tips
• Learn from best app
• User Center Design
• User Experience
• UsingTools for make a mockup / prototype / wireframe / screen flow
• JustInMind, FluidUI, inVision, etc.
• Using Android Material Design
39. 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?
42. Best Practices for Android / Mobile applications
ManagingYour App's Memory
Improving Layout Performance
Optimizing Battery Life
MultiThreading
Performance Optimization
Resource Optimization
Android App Optimization
43. 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.
44. 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.
45. Type of Mobile App Testing (2)
6. Performance testing–Testing the performance of the application
by changing the connection from 2G, 3G toWIFI, 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. SecurityTesting–Testing an application to validate if the
information system protects data or not.
49. 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%
50. 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.
51. 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.
52. 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 onWindows Phone Store
58. 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
• PageVisit
• SiteVisit
59. 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
60. SUMMARY
IDEA DESIGN DEVELOP DEPLOY MAINTAIN
1. Simple or Great Idea
2. Complete and Cool Design
3. Develop with Quality
4. Deploy with StandardTesting
5. Maintain with Always Update
6. Acquisition to Revenue
IDEA APP v.1.0 TEAM
BUSINESS
MODEL
INVESTASI
1. Valid Idea
2. Make your first version
3. Build aTeam
4. Create Business Model
5. Go get Invest