31
Native Mobile Application Design & Development Music Player Nazmul Alam – T00152975 Semester 4 CA

Android Music Player Project Proposal

Embed Size (px)

DESCRIPTION

The product is a simple music player called the “Sitar”. The naming of the product came from the Hindustani musical instrument consisting of “three strings”. Three is a magic word and the motto of the music player – Listen, Enjoy, Share.Sitar turns your smartphone into the ultimate music player, with features including dynamic playlist, folder support, music sharing. Its easy-to-use navigation allows you to effortlessly explore your music library. Play by album, artist, genre or composer all from its unique tab interface. Sitar offers an unmatched listening experience to your smartphone.The app is compatible with all the major music file types e.g. MP3, AAC, WAV, OGG, Midi etc.

Citation preview

Music Player

ContentsVision3Software Architecture3Challenge and Risk4Design Guidelines4Screen densities and icon dimensions4Dimension units5Size buckets5Holo themes5Views dimensions and spacing6Action bar height7Text size7Colors7Application Design Outline8Portrait Mode8Landscape Mode9Market Share Statistics12Which platform drives the most revenue?13iOS14Android14Windows14Cross-platform Integration15The AppMobi XDK Software Development Life Cycle15BETA Testing Facilities16Android Beta Testing16Set up an alpha/beta test16iOS Beta Testing16Windows Marketplace17Monetisation18References20

VisionThe product is a simple music player called the Sitar. The naming of the product came from the Hindustani musical instrument consisting of three strings. Three is a magic word and the motto of the music player Listen, Enjoy, Share.

Sitar turns your smartphone into the ultimate music player, with features including dynamic playlist, folder support, music sharing. Its easy-to-use navigation allows you to effortlessly explore your music library. Play by album, artist, genre or composer all from its unique tab interface. Sitar offers an unmatched listening experience to your smartphone.

The app is compatible with all the major music file types e.g. MP3, AAC, WAV, OGG, Midi etc.Software ArchitectureA splash screen will be displayed on the window for approximately 5 seconds when the app opens which will in turn allow the app to initialize its resources and loads necessary files while the splash screen is displayed.

The app will keep track of the recently opened songs, most played tracks, top albums, favourites etc. It will allow the user to create playlists, share the track details across applications e.g. WhatsApp, Facebook.

Android provides a media playback engine at the native level called Stagefright that comes built-in with software-based codecs for several popular media formats.

(Google, 2015)Challenge and RiskThe challenge will be figuring out how to share music between applications. Figuring out how to access and cache the shared music for playback. Keeping a track of the history, saving favourites in the persistence memory. Another challenge would be concurrency issues the music player should only have one instance running at once. Making sure displaying album art on the interface is highly important, this makes the app rather intuitive and aesthetic.

Design Guidelines

Screen densities and icon dimensions

QualifierDPIScaling factorLauncher iconAction bar, tab iconNotification icon (API 11)Notification icon (API 9)Notification icon (older)

ldpi1200.7536 x 3632 x 3224 x 2418 x 1818 x 1816 x 1612 x 1912 x 1219 x 1916 x 16

mdpi1601.048 x 4842 x 4232 x 3224 x 2424 x 2422 x 2216 x 2516 x 1625 x 2521 x 21

hdpi2401.572 x 7264 x 6448 x 4836 x 3636 x 3633 x 3324 x 3824 x 2438 x 3832 x 32

xhdpi3202.096 x 9684 x 8464 x 6448 x 4848 x 4844 x 4432 x 5032 x 3250 x 5042 x 42

xxhdpi4803.0144 x 144126 x 12696 x 9672 x 7272 x 7266 x 6648 x 7548 x 4875 x 7563 x 63

Dimension units

UnitUnits / physical inchDensity independentSame physical size on every screen

pxvariesnono

in1yesyes

mm25.4yesyes

pt72yesyes

dp~160yesno

sp~160yesno

Sources and useful links: Understanding Density Independence in AndroidSize buckets

TypeDimension

Handsetsmaller than 600 dp

Tabletlarger than or equal 600 dp

Holo themes Android provides three system themes: Holo Light Holo Dark Holo Light with dark action bar

Views dimensions and spacing Touchable UI components are generally laid out along 48 dp units. Spacing between each UI element is 8 dp.

Action bar height

QualifierDimension

Portrait48 dp

Landscape40 dp

Tablet56 dp

Text size

TypeDimension

Micro12 sp

Small14 sp

Medium18 sp

Large22 sp

Colors Use color primarily for emphasis. Blue is the standard accent color in Android's color palette. Note that red and green may be indistinguishable to color-blind users. Primary colors are as follows: #33B5E5 #AA66CC #99CC00 #FFBB33 #FF4444 #0099CC #9933CC #669900 #FF8800 #CC0000Sources and useful links: Color(Nohejl, 2013)

Application Design Outline

Portrait Mode

Landscape Mode

Market Share Statistics

The worldwide smartphone market grew 27.2% year over year in the second quarter of 2014 (2014Q3), just over a third of a billion shipments at 335 million units, according to data from the International Data Corporation (IDC) Worldwide Quarterly Mobile Phone Tracker - (IDC, 2014)

(IDC, 2014)

PeriodAndroidiOSWindows PhoneBlackBerry OSOthers

Q3 201484.4%11.7%2.9%0.5%0.6%

Q3 201381.2%12.8%3.6%1.7%0.6%

Q3 201274.9%14.4%2.0%4.1%4.5%

Q3 201157.4%13.8%1.2%9.6%18.0%

(IDC, 2014)

(Resnikoff, 2013)

Which platform drives the most revenue?

Broadly speaking, iOS tends to have users with deeper (or more willing) pockets. This recent report from ZDNet depicts how iOS dominated this years Black Friday sales with over 4x the revenue of Android - (Beauchamp, 2014)

(Beauchamp, 2014)

iOS

Pros Limited number of device types to design and build for Higher paying demographic Large market size Users update their operating system more quickly, so you can build against the latest APIsCons Accessing the device and operating system not as open for developers App store review is slow

Android

Pros Largest market share Easiest to publish/release the app to the app storeCons Device fragmentation makes for tougher development and QA Users are slower to update their OS, so you must remain compatible with older APIs

Windows

Pros Smaller number of apps in the store == less competition Language and development environment are familiar to many developers Portability to desktop appsCons Very small market share, harder to get into users hands(Beauchamp, 2014)

Cross-platform Integration

Cross-platform application development implies writing once and deploying to multiple platforms. Application developers can monetize better by taking advantage of development tools that favour cross-platform design and development. Android* and iOS* are two mobile application development platforms that most app developers want to have their applications run on. The architecture of the software stack and the hardware capabilities of the devices running on the two different platforms pose challenges to cross-platform application development. HTML5 is one technology that makes cross-platform application development easy while providing portability to the different platforms (Intel, 2013).

The AppMobi XDK provides the cross-platform application development tools that developers can leverage to easily build HTML5 and JavaScript* apps that run on different mobile platforms. In this article, we will see how to build hybrid applications that leverage the JavaScript APIs provided by the AppMobi XDK to build an application that will run on Android devices (Intel, 2013).

The AppMobi XDK Software Development Life CycleThe AppMobi XDK provides not just tools for cross-platform application development, but also for testing your applications before deploying them on the platform of choice, as shown in the screenshot below (Intel, 2013).

(Intel, 2013)

BETA Testing Facilities

It's easy to see why: a mobile platform is only as strong as its app store. As Nokia CEO Stephen Elop observed prior to his company's embracing of Windows Phone 7, phone makers are in the business of selling "ecosystems," not phones, and the capabilities of a platfom's app store (or stores) is a clear picture of that. Beyond just the sheer number of apps on offer, a store's payment system, return policy, and whether or not it vets apps prior to putting them in the store can be just as important to customers (Pachal, 2011).

Android Beta TestingUsing the Google Play Developer Console, you can select groups of users to alpha/beta test different versions of your app and gradually roll out an app update over time, known as a staged rollout.Set up an alpha/beta testWith the alpha/beta testing tools available in your Developer account, you can test different versions of your app. You dont need a production APK to publish an alpha/beta app. If you're testing an existing app that you've published before, only users in your test group will receive an update for your Alpha/Beta version. If you're testing a new app that you haven't published before, only users in your test group can find and download your app. After publishing an alpha/beta APK, it may take up to 24 hours for your test link to be available to testers. If you make any changes to your app's Pricing & Distribution page, including setting your app price to Paid or Free, it affects your production, alpha, beta, and any future versions of your app.(Google, 2015)iOS Beta TestingThere are three options to distribute your app for beta testing. Two prerelease options are managed through iTunes Connect. You upload your app to iTunes Connect using Xcode and then sign in to iTunes Connect to invite testers to download your app. Optionally, distribute your app to 25 of your iTunes Connect users (with either Technical, Admin, or Legal roles) or 1000 users specifying just email addresses. Distributing your app to users requires approval from App Review (Apple, 2015).

To distribute your pre-release build using iTunes Connect:1. Create an iTunes Connect app record.2. Update the build string.3. Archive and validate your app.4. Upload your app to iTunes Connect.5. Manage testing in iTunes Connect.6. Solicit crash reports and feedback from testers.The third option is to distribute your app using an ad hoc provisioning profile that allows your app to run on up to 100 registered devices. The steps to use an ad hoc provisioning profile, described in Distributing Your Beta App Using Ad Hoc Provisioning, are slightly different than the steps to upload your app to iTunes Connect. You can register up to 100 devices, but this limit includes devices you use for development and beta testing. If you are a member of the iOS Developer Enterprise Program, you dont have access to iTunes Connect, so use this method for beta testing your apps (Apple, 2015).

Windows Marketplace

Submitting a beta app is very similar to submitting an app for general publication through the Windows Phone Store Dashboard. Follow these steps to get your beta certified and out to your testers:

1. Sign in to Dev Center and go to Submit app. You must complete the App info and Upload and describe your app package(s) sections, just as you would for any app submission. Make sure that your beta app doesnt use the same package identity name as a public WindowsPhone app (or that you plan to use for your final, public app).2. In the App info section, click More Options, and click Beta.3. Add one or more testers by entering email addresses to the beta apps access control list (ACL), using the text box in the More Options>Beta section. The ACL controls who can download and install your beta app. You can update this list later if needed.Note:

When you add email addresses to the ACL, make sure theyre separated by a semicolon.

4. Complete the App info and Upload and describe your package(s) sections, then submit the beta app. After your beta is validated and published, youll receive an email that includes: A link to your app in the Windows Phone Store.Note:

Your beta app wont appear in Store search results. Anyone who has access to the beta app link can see the beta apps Store listing info, but only testers on your betas ACL will be able to download it.

The email addresses of the testers you added to the ACL during app submission. Note:

You can change the list of beta testers at any time by submitting an update.

5. Send the link to your beta app to everyone on the ACL. This link is stored in the apps Detail view in Dev Center.6. When testers get the link, they can open it on their Windows Phone and download your beta app from the Store.(Microsoft, 2015)

Monetisation

There are numerous ways to monetise your app. The 4 main strategies to follow are:

1. In-App Advertising2. Freemium (Gated Features)3. In-App Purchases4. Sponsorships (Incentivized Advertising)

Sitar is going to be a free app, therefore, I would go with the first In App Advertising. Heres a Googles instructions to do this:

1. Obtain a Publisher Account and Ad SDKIn order to integrate advertisements in your application, you first must become a publisher by registering a publishing account with the mobile advertising network.

2. Declare Proper PermissionsBecause the mobile ads are fetched over the network, mobile advertising SDKs usually require the declaration of related permissions in the Android manifest. Other kinds of permissions may also be required.

3. Set Up Ad PlacementBanner ads typically are implemented as a custom WebView (a view for viewing web pages). Ads also come in different dimensions and shapes. Once youve decided to put an ad on a particular screen, you can add it in your activity's XML layout. The XML snippet below illustrates a banner ad displayed on top of a screen.

4. Initialize the Ad

5. Enable Test ModeSome ad networks provide a test mode. This is useful during development and testing in which ad impressions and clicks are not counted.

6. Implement Ad Event Listeners(Google, 2015)

ReferencesApple, 2015. Apple. [Online] Available at: https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html[Accessed 5 March 2015].Beauchamp, C., 2014. Crittercism. [Online] Available at: http://www.crittercism.com/blog/step-2-picking-a-platform-for-your-mobile-app[Accessed 05 03 2015].Google, 2015. Android. [Online] Available at: https://source.android.com/devices/media.html#overview[Accessed 05 March 2015].Google, 2015. Android. [Online] Available at: http://developer.android.com/training/monetization/ads-and-ux.html[Accessed 5 March 2015].Google, 2015. Google. [Online] Available at: https://support.google.com/googleplay/android-developer/answer/3131213?hl=en[Accessed 5 March 2015].IDC, 2014. IDC. [Online] Available at: http://www.idc.com/prodserv/smartphone-os-market-share.jsp[Accessed 03 March 2015].Intel, 2013. Intel Developer Zone. [Online] Available at: https://software.intel.com/en-us/android/articles/introduction-to-cross-platform-application-development-using-appmobi-xdk[Accessed 5 March 205].Microsoft, 2015. Microsoft. [Online] Available at: https://msdn.microsoft.com/en-us/library/windows/apps/jj215598%28v=vs.105%29.aspx[Accessed 5 March 2015].Nohejl, P., 2013. Github. [Online] Available at: http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/[Accessed 05 March 2015].Pachal, P., 2011. PCMAG. [Online] Available at: http://www.pcmag.com/article2/0,2817,2382944,00.asp[Accessed 5 March 2015].Resnikoff, P., 2013. Digital Music News. [Online] Available at: http://www.digitalmusicnews.com/permalink/2013/11/06/deezerfive[Accessed 03 March 2015].