SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
What you can do in Android that you can’t in iOS:
How to build unique and compelling apps that users want!


July 2011




                          * For Internal Use Only *        The Business of IT®
                                                             www.parivedasolutions.com
Table of Contents

► Why should you care?


► What you can do in Android


► The Dark Side to Android development


► Conclusion


► Appendix




PARIVEDA SOLUTIONS
                                         2
PARIVEDA SOLUTIONS
                     3
Smartphones shipments are growing fast…




          http://www.morganstanley.com/institutional/techresearch/tenquestions_web2.html



PARIVEDA SOLUTIONS
                                                                                           4
…Even faster than most analysts expected




                 http://tech.fortune.cnn.com/2011/02/07/idc-smartphone-shipment-
                 numbers-passed-pc-in-q4-2010/

PARIVEDA SOLUTIONS
                                                                                   5
Consumers already prefer mobile devices
                         for their most frequent activities




   http://tag.microsoft.com/community/tag-blog-item/11-03-
   21/The_Growth_of_Mobile_Marketing_and_Tagging.aspx?category=industry

PARIVEDA SOLUTIONS
                                                                          6
Web markets are ―winner-take-all‖

  A number of studies have shown that most web companies are “winner-take-
  all” or “winner-take-most” – the top companies in a market grow to dominate
  share in that market1,2




1. A. O˘gus, M. de la Maza and D. Yuret, ”The economics of Internet companies”, Proceedings of Computing in Economics and Finance
   1999.
2. S.M. Maurer and B.A. Huberman, “Competitive Dynamics of Web Sites,” Journal of Economic Dynamics and Control, Volume 27,
   Issues 11-12, 2003
 PARIVEDA SOLUTIONS
                                                                                                                             7
These market dynamics create an opportunity…




 A growing number of         Ability to take       Opportunity to
  users transitioning     commanding market         leverage low
      away from           share in new mobile   economies of scale
 established desktop            markets          into greater profit
     environment


 … and a threat: mobile competition could destroy your
 market position!
PARIVEDA SOLUTIONS
                                                                       8
How do you take advantage of this opportunity?



End users have shown a definite
preference for native apps over web
browsing1


Key advantages of native
applications are:

   • Performance
   • User Interface
   • System integration               1. http://blog.flurry.com/bid/63907/Mobile-Apps-Put-the-
                                         Web-in-Their-Rear-view-Mirror




PARIVEDA SOLUTIONS
                                                                                                 9
What approach to take?

  Product owners need to determine what the compelling factors for success
  are
  ► Is reach or user experience the most important factors?
  ► Reach can be overestimated – the vast majority of mobile internet traffic is
     driven by the top two mobile platforms (this effect is even more
     pronounced in the US)1




1. http://metrics.admob.com/wp-
   content/uploads/2010/06/May-2010-
   AdMob-Mobile-Metrics-Highlights.pdf
  PARIVEDA SOLUTIONS
                                                                                   10
Why choose Android?

                                                                                           Other
                                                          Microsoft,          Q1 2011      OS, 3%
 Android commands the top                                    4%
 market share in the smartphone                                        RIM,
 industry                                                              13%           Android,
                                                                                       36%
                                                              iOS, 17%

                              Tablets                                          Symbian,
                                                                                 27%


           Robotics                                  TV

                              Android
                                                          Android is at the center of
                                                          a growing ecosystem of
                      Smart               Home            connected devices
                     Phones             Automation



PARIVEDA SOLUTIONS
                                                                                                    11
Why choose Android?




           Android allows you to build applications with
           unique capabilities that can differentiate you from
           your competition!




PARIVEDA SOLUTIONS
                                                                 12
Table of Contents

► Why should you care?


► What you can do in Android


► The Dark Side to Android development


► Conclusion


► Appendix




PARIVEDA SOLUTIONS
                                         13
What You Can Do in Android

  ► Notifications
  ► Widgets
  ► Navigation
  ► Voice Input

  ► Multi-tasking
  ► Intents
  ► Event Receivers
  ► Open API’s




PARIVEDA SOLUTIONS
                                                  14
iPhone


► Pop-up notifications are intrusive
  and bland
  • The user is blocked from doing
    anything until closing the notification
  • If there are multiple notifications, the
    user must close each one
  • All notifications have the same color
    and structure
► Badges are limited
  • Badges can show one updated count
    per application
  • Badges are not visible unless the
    application icon is on the screen



PARIVEDA SOLUTIONS
                                               15
Android



                     ► The notification bar is unobtrusive
                       • Users can see notification icons from any
                         screen without acting on them
                       • Users can pull down from the notification
                         bar to see details
                     ► Notifications are branded icons
                     ► Developers can create multiple
                       notifications per application




PARIVEDA SOLUTIONS
                                                                 16
Android Notifications
Advantages
► Android applications can take more
  advantage of notifications than their iOS
  applications
  • Many iPhone users are careful about
    allowing notifications because they can be
    irritating
  • Android developers can more freely create
    notifications
► Notifications can take the place of other
  notification mechanisms:
  • Text Messages: text messages from
    vendors are annoying and can incur a cost
    to the end-user
  • Email: users are overwhelmed with emails;
    users may not distinguish between your
    email and any others they receive
PARIVEDA SOLUTIONS
                                                 17
Notifications

Examples
► Email, Facebook, Music Player


What you could create
► Social marketing
  • Notify user when their Twitter contacts
     use a keyword
  • Notify user when market sentiment
     metrics drop or rise
► IT Operations
  • Notify user with system alerts
  • Brand alerts by level: warning, error, or
     critical downtime




PARIVEDA SOLUTIONS
                                                18
Widgets




Description
► Widgets are small applications that can be
  placed directly on the home page
► Widgets can be separate applications, or
  packaged with another application
► Information conveyed in the widget can be
  updated in the background




PARIVEDA SOLUTIONS
                                               19
Widgets


Advantages
► Developers can conveniently present
  information to users
  • Users are not required to open the
     application to access information
  • Widget creators can poll for updates in the
     background
► Widgets are interactive, too!
  • Users can cycle through data
  • Users can update as well as consume data




PARIVEDA SOLUTIONS
                                                  20
Widgets

Examples
► Facebook, Pandora, Beautiful Widgets


What you could create
► Operational dashboard (on a phone or
  tablet)
  • Customer service: current waiting time
  • Web site: sales per day
► Marketing: Real-time Twitter stream related to
  a specific topic
► Process Actions: Allow a manager to
  approve or reject items in their work queue
► Auction Site: real-time bids on your items




PARIVEDA SOLUTIONS
                                                   21
Navigation

Description
► Apple users can interact with the built-
  in map application, but require a
  separate application for turn-by-turn
  navigation
► Android offers a more convenient
  alternative
  • Users can get turn-by-turn directions from
    any location on the map
  • Application developers can trigger
    directions to any geo-location
► The navigation application offers
  speech output — ―Turn left in one mile‖




PARIVEDA SOLUTIONS
                                                 22
Navigation



Advantages
► Users can skip directly to directions
  without having to go to a map
► Ideal for drivers, where user interaction
  and clicks need to be limited




PARIVEDA SOLUTIONS
                                              23
Navigation

Examples
► Google Places


What you could create
► Add the next level of convenience to any
  map-related or store locator application
► Navigation tied to inventory
  • Directions to the nearest Best Buy with
    Portal 2
  • Directions to the nearest Redbox with Toy
    Story 3




PARIVEDA SOLUTIONS
                                                24
Voice Input


Description
► Apple offers pluggable Text-to-Speech
  (TTS)
► Android offers pluggable TTS, but
  offers Speech-to-Text natively
► Voice input can be implemented in two
  ways:
  • With the default keyboard, users can
    use speech input with any text box
  • Developers can implement voice input
    via code




PARIVEDA SOLUTIONS
                                           25
Voice Input


Advantages
► Voice input is ideal for situations where
  users cannot concentrate on the screen
  (i.e. driving or walking)
► Increased safety – users can keep their
  eyes up while walking or driving
► Shortcut applications with multiple input
  fields




PARIVEDA SOLUTIONS
                                              26
Voice Input


Examples
► Google Voice Actions, Vlingo


What you could create
► Add voice to directions-based
  applications: “Take me to the nearest
  Redbox with Toy Story 3”
► Travel Reservations: “Find me a hotel in
  Chicago from June first to June fifth”




PARIVEDA SOLUTIONS
                                             27
Multi-tasking

Description
► Apple offers background processes, but
  those are limited to location services,
  audio, or VoIP
► iOS also offers push notification, which
  are also limited:
  • The notification has to be registered with
    Apple, with all the headaches that entails
► Android offers true multi-tasking
  services without requiring registration
  with a central authority




PARIVEDA SOLUTIONS
                                                 28
Multi-tasking

Advantages
► Android’s multitasking allows the application
  to run true background processes
► Android allows services to get third party
  updates without registering with a central
  server
► This capability also allows the application to
  run long-lived activities after you leave the
  app (such as uploading a picture)




PARIVEDA SOLUTIONS
                                                   29
Multi-tasking


Examples
► Tasker, Locale, Chrome to Phone


What you could create
► Operational widget: update operational
  widget in the background
► Context-sensitive applications: perform
  actions in the background based on time of
  day, location, etc
► Send an SMS or email from your
  application (and return back)




PARIVEDA SOLUTIONS
                                               30
Intents

Description
► iOS has document interactions, which are
  meant for viewing or editing documents
► Android offers intents, which allow
  developers to define an event to which
  another application will respond
► Intents can respond to a specified action,
  and filter based on URL scheme and
  mime type




PARIVEDA SOLUTIONS
                                               31
Intents


Advantages
► Developers can easily leverage device
  functionality like SMS, email, camera and
  telephony
► A developer can create applications to be
  callable
► Developers can call other applications on the
  phone with less effort and without using
  server-side code
► Application designers can leverage that code
  without packing API libraries, reducing
  application size and download time




PARIVEDA SOLUTIONS
                                                  32
Intents


Examples
► Google Maps, LastFM, OpenTable


What you could create
► Create an callable API as part of the overall
  application strategy
► Create an Orbitz application with intents to
  allow other applications to book a flight




PARIVEDA SOLUTIONS
                                                  33
Event Receivers


Description
► The Android OS broadcasts events on
  system conditions such as receiving an
  SMS or initiating a call
► Developers can create event receivers –
  classes which are instantiated for specific
  intents
► Event receivers can perform filtering
  beyond intent type and only intercept the
  events they want




PARIVEDA SOLUTIONS
                                                34
Event Receivers


Advantages
► Developers can integrate with phone system
  events
► There is no need to create polling
  operations – the OS will forward events to
  any appropriate receivers
► Events are broadcast; multiple receivers can
  act on the same event based on priority




PARIVEDA SOLUTIONS
                                                 35
Event Receivers


Examples
► Handcent SMS, ConferenceCaller


What you could create
► Calling applications: intercept
  international calls and route to a calling
  card number
► SMS applications: intercept and auto-
  reply to messages from select users




PARIVEDA SOLUTIONS
                                               36
Rich API

Description
► Android offer the ability to change
  almost all aspects of the phone, like:
  • Bluetooth: turn Bluetooth on/off, scan for
    devices, establish connection
  • Wifi: turn wifi on/off, scan for networks,
    establish connection
  • USB: establish connections to a device as
    a host or accessory (available as an
    additional library in Gingerbread)
  • NFC: act as an NFC initiator or reader;
    trigger an activity on read receipt




PARIVEDA SOLUTIONS
                                                 37
Rich API


Advantages
► Developers have the capability to integrate
  with almost anything they can imagine!
► Core applications and API’s are public -
  developers can easily extend existing
  functionality




PARIVEDA SOLUTIONS
                                                38
Rich API

Examples
► Wifi Analyzer, Bluetooth Widget


What you could create
► Dictionary updates: update dictionary with
  medical, legal, or government terminology
► Build proximity communication apps in
  Bluetooth or NFC
► Build a better home screen, notifications
  toolbar, or phone dialer




PARIVEDA SOLUTIONS
                                               39
Table of Contents

► Why should you care?


► What you can do in Android


► The Dark Side to Android development


► Conclusion


► Appendix




PARIVEDA SOLUTIONS
                                         40
The Dark Side – UI Design



                                            ► Android has a relatively poor
                                              framework and toolset - Android
                                              lacks a good WYSIWYG designer
                                            ► Android’s default look-and-feel is
                                              sparse and lacks pizzazz
                                            ► UI designers have to consider a
                                              wide variety of screen sizes
                                            ► Android’s tablet introduced new UI
                                              elements to the mix


          http://fuglyandroid.tumblr.com/



PARIVEDA SOLUTIONS
                                                                               41
The Dark Side – Fragmentation

     ► Version fragmentation: designers need to consider a multitude of
       OS versions
     ► Hardware fragmentation: Android phones come in a wide variety
       of screen resolutions, CPU, and other capabilities




                     http://moconews.net/image/google-android-fragmentation-may-2011/
PARIVEDA SOLUTIONS
                                                                                        42
The Dark Side – Performance


      ► Bad Battery Life: Android’s
        background service support
        means that users can create
        programs that continually drain
        the battery
      ► Occasional Poor
        Performance: Android’s Dalvik
        machines only closes apps
        when memory is needed; this
        can occasionally cause excess
        processes to slow the phone




PARIVEDA SOLUTIONS
                                                   43
The Dark Side – Monetization

► Apple has a base more willing to buy
► Apple’s market has superior marketing, searching, trending and
  application highlighting
► Multiple stores (GetJar, Amazon, etc) confuse the issue for publishers
  and buyers




PARIVEDA SOLUTIONS
                                                                           44
The Dark Side – Security



                              ► Applications on the App Store are not
                                monitored – any application could be
                                considered malicious
                              ► Android’s open API’s allow malicious
                                developers to do more danger than
                                they could on an iOS device
                              ► Android warns but allows users to
                                download dangerous applications
                              ► Most users typically ignore those
                                warnings as well




PARIVEDA SOLUTIONS
                                                                        45
Table of Contents

► Why should you care?


► What you can do in Android


► The Dark Side to Android development


► Conclusion


► Appendix




PARIVEDA SOLUTIONS
                                         46
Android expands possibilities in app development



                          Multi-
                                                    iOS applications have great
                         tasking                    user interfaces….

Rich system                             Cross-app   However, Android applications
 integration                              calls
                                                    are more feature-rich in many
                        Android                     other areas-
                                                       • Background processing
                                                       • Cross-app communications
        Notifications              Widgets             • Rich interaction from the home
                                                         screen with widgets
                                                       • Phone integration



PARIVEDA SOLUTIONS
                                                                                     47
Just because you can doesn’t mean you should



                           Don’t create needless background
                           processes that kill battery life or eat
                           bandwidth!

                           Don’t hijack events and break normal
                           system usage!

                           Don’t modify standardized tools or
                           inherit system API’s without a good
                           reason!


PARIVEDA SOLUTIONS
                                                                     48
You can build richer, more useful apps than ever before!

Coined by a leading VC firm KPCB,
SoLoMo drives current investments in
application development

Android’s open API’s and rich
background service support allows
users to develop apps around a much
more powerful paradigm –
context

Build apps around location, time of day,
                                           So Co Mo
                                           Social   Context   Mobile
docking state, appointment schedule,
nearby friends, and more!


Integrate this context with other apps to build unique,
compelling applications that aren’t available anywhere else!
PARIVEDA SOLUTIONS
                                                                       49
Just remember…




        ―We don’t need any
        more fart apps‖
        Steve Jobs, 9/9/2010




  Build something better!




PARIVEDA SOLUTIONS
                                                50
Questions?



                     joe.nedumgottil@parivedasolutions.com



                            http://www.linkedin.com/profile/view?id=6643416


                            https://plus.google.com/u/0/111620262743668206893




PARIVEDA SOLUTIONS
                                                                                51
Table of Contents

► Why should you care?


► What you can do in Android


► The Dark Side to Android development


► Conclusion


► Appendix




PARIVEDA SOLUTIONS
                                         52
Appendix: Code Samples




PARIVEDA SOLUTIONS
                                              53
Notifications

   Creating the expanded notification:
   int icon = R.drawable.my_notification_icon;       // icon from resources
   CharSequence tickerText = “My ticker text";       // ticker-text
   long when = System.currentTimeMillis();           // notification time
   Context context = getApplicationContext();
   CharSequence contentTitle = "My notification";    // expanded message title
   CharSequence contentText = “My text!";            // expanded message text

   Intent notificationIntent = new Intent(this, MyClass.class);
   PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
   notificationIntent, 0);

   // the next two lines initialize the Notification, using the configurations
   above
   Notification notification = new Notification(icon, tickerText, when);
   notification.setLatestEventInfo(context, contentTitle, contentText,
   contentIntent);

   Reference:

   http://developer.android.com/guide/topics/ui/notifiers/notifications.html


PARIVEDA SOLUTIONS
                                                                                 54
Widgets

   Define the widget in Manifest.xml:
   <receiver android:name="ExampleAppWidgetProvider" >
       <intent-filter>
           <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
       </intent-filter>
       <meta-data android:name="android.appwidget.provider"
                  android:resource="@xml/example_appwidget_info" />
   </receiver>


   Define App Widget Provider Info:
   <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
       android:minWidth="294dp"
       android:minHeight="72dp"
       android:updatePeriodMillis="86400000"
       android:previewImage="@drawable/preview"
       android:initialLayout="@layout/example_appwidget"
       android:configure="com.example.android.ExampleAppWidgetConfigure"
       android:resizeMode="horizontal|vertical">
   </appwidget-provider>
   Reference:

   http://developer.android.com/guide/topics/appwidgets/index.html
PARIVEDA SOLUTIONS
                                                                                    55
Widgets
  Widget Class:
   public class MyAppWidgetProvider extends AppWidgetProvider {

       public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[]
             appWidgetIds) {
           final int N = appWidgetIds.length;

            // Perform this loop procedure for each App Widget that belongs to this provider
            for (int i=0; i<N; i++) {
                int appWidgetId = appWidgetIds[i];

                 // Create an Intent to launch ExampleActivity
                 Intent intent = new Intent(context, ExampleActivity.class);
                 PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

                 // Get the layout for the App Widget and attach an on-click listener
                 // to the button
                 RemoteViews views = new RemoteViews(context.getPackageName(),
                         R.layout.appwidget_provider_layout);
                 views.setOnClickPendingIntent(R.id.button, pendingIntent);

                 // Tell the AppWidgetManager to perform an update on the current app widget
                 appWidgetManager.updateAppWidget(appWidgetId, views);
            }
       }
   }

  Reference:
  http://developer.android.com/guide/topics/appwidgets/index.html
PARIVEDA SOLUTIONS
                                                                                                   56
Navigation


  Call Navigation:
   public void callNav() {
       String latLong = "41.88,-87.64";
       Intent i = new Intent();
       i.setAction(Intent.ACTION_VIEW);
       i.setData(Uri.parse("google.navigation:q=" + latLong));
       startActivity(i);
   }




  Reference:

  http://stackoverflow.com/questions/5801684/intent-to-start-a-navigation-activity


PARIVEDA SOLUTIONS
                                                                                     57
Voice Input

  Call Voice Recognition:
   private void startVoiceRecognitionActivity() {
        Intent intent = new Intent(
           RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
           RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech
           recognition demo");
        startActivityForResult(intent,VOICE_RECOGNITION_REQUEST_CODE);
   }




  Reference:

  http://developer.android.com/resources/samples/ApiDemos/src/com/example/
  android/apis/app/VoiceRecognition.html
PARIVEDA SOLUTIONS
                                                                             58
Voice Input

  Retrieve Voice Recognition results:
   protected void onActivityResult(int requestCode, int resultCode,
          Intent data) {
      if (requestCode == VOICE_RECOGNITION_REQUEST_CODE &&
          resultCode == RESULT_OK) {
      // Fill the list view with the strings the recognizer thought it
      // could have heard
      ArrayList<String> matches = data.getStringArrayListExtra(
          RecognizerIntent.EXTRA_RESULTS);
          mList.setAdapter(
                  new ArrayAdapter<String>(this,
                          android.R.layout.simple_list_item_1,
                          matches));
      }
      super.onActivityResult(requestCode, resultCode, data);
   }

  Reference:

  http://developer.android.com/resources/samples/ApiDemos/src/com/example/
  android/apis/app/VoiceRecognition.html
PARIVEDA SOLUTIONS
                                                                             59
Multi-tasking

  Initiate a service to handle Intents in the background:
   public class MyIntentService extends IntentService {

       public MyIntentService() {
            super("MyIntentService");
       }
       /**
         * The IntentService calls this method from the default worker
         * thread with the intent that started the service. When this
         * method returns, IntentService stops the service, as
         * appropriate.
         */
       protected void onHandleIntent(Intent intent) {
            if(intent.getAction().equalsIgnoreCase(My_Intent)){
              // do something
            }
       }
   }

  Reference:
  http://developer.android.com/guide/topics/fundamentals/services.html
PARIVEDA SOLUTIONS
                                                                         60
Intent
   Call the Twidroyd ―Twitter‖ intent:
  public void fireTweet() {
      Intent sendIntent = new Intent(Intent.ACTION_SEND);
      sendIntent.putExtra(Intent.EXTRA_TEXT, “My tweet”);
      sendIntent.setType("application/twitter");
      startActivity(Intent.createChooser(sendIntent, null));
  }

   Use Last.FM to retrieve artist info:
  public void getArtistInfo() {
      intent = new Intent(Intent.ACTION_VIEW);
      intent.setComponent(new ComponentName(
         "fm.last.android","fm.last.android.activity.Metadata"));
      intent.putExtra("artist", “U2");
      startActivity( intent );
  }


  Reference:
  http://twidroyd.com/plugins/
  https://github.com/c99koder/lastfm-android/wiki/Activities
PARIVEDA SOLUTIONS
                                                                    61
Event Receivers

  Intercept a call:
   public class CallReceiver extends BroadcastReceiver {
       public void onReceive(Context context, Intent intent){

              if(intent.getAction().equalsIgnoreCase(
                     Intent.ACTION_NEW_OUTGOING_CALL)){
                  // do something
              }
         }
   }




  Reference:

  http://developer.android.com/reference/android/content/Intent.html

PARIVEDA SOLUTIONS
                                                                       62
Open API’s

  Turn on Bluetooth:
   public void turnOnBluetooth() {
       BluetoothAdapter bt = BluetoothAdapter.getDefaultAdapter();

         if (!bt.isEnabled()) {
            bt.enable();
         }
   }



   References:

   http://ishouldhaveknownthisbefore.wordpress.com/2011/01/
   http://developer.android.com/guide/topics/wireless/bluetooth.html
   http://android.git.kernel.org/
   http://developer.android.com/




PARIVEDA SOLUTIONS
                                                                       63

Contenu connexe

Tendances

TheFuture of Mobile Application and Media Tablets
TheFuture of Mobile Application and Media TabletsTheFuture of Mobile Application and Media Tablets
TheFuture of Mobile Application and Media TabletsSoftware Park Thailand
 
Windows Phone Code Camp Montreal - The Windows Phone 7.5 opportunity
Windows Phone Code Camp Montreal - The Windows Phone 7.5 opportunityWindows Phone Code Camp Montreal - The Windows Phone 7.5 opportunity
Windows Phone Code Camp Montreal - The Windows Phone 7.5 opportunityFrédéric Harper
 
Impact 2012 presentation 04 29-12_Steve Drake
Impact 2012 presentation 04 29-12_Steve DrakeImpact 2012 presentation 04 29-12_Steve Drake
Impact 2012 presentation 04 29-12_Steve DrakeDirk Nicol
 
Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?
Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?
Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?Istiak Ahmed
 
mobile devices and operating systems
mobile devices and operating systemsmobile devices and operating systems
mobile devices and operating systemsribin786
 
Vision Mobile Developer Economics 2011
Vision Mobile Developer Economics 2011Vision Mobile Developer Economics 2011
Vision Mobile Developer Economics 2011Victoria Alexis
 
Smarter Phones Smarter Moves
Smarter Phones Smarter MovesSmarter Phones Smarter Moves
Smarter Phones Smarter MovesLaurent Viviez
 
Mobile Rules 2008
Mobile Rules 2008Mobile Rules 2008
Mobile Rules 2008guestd062c4
 
Exploring the right business strategy for open source mobile platforms
Exploring the right business strategy for open source mobile platformsExploring the right business strategy for open source mobile platforms
Exploring the right business strategy for open source mobile platformsAmanda Lam
 
Case Study: “Rivalry on Video Games”
Case Study: “Rivalry on Video Games”Case Study: “Rivalry on Video Games”
Case Study: “Rivalry on Video Games”Knut Scherpe
 
Sectorial presentation
Sectorial presentationSectorial presentation
Sectorial presentationSagar Kaknale
 
Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development USAID CEED II Project Moldova
 
E2 lennertdewaal
E2 lennertdewaalE2 lennertdewaal
E2 lennertdewaalStrategy
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating SystemsAndreas Jakl
 
Harmony os officially landed on huawei mobile phones and will be upgraded in ...
Harmony os officially landed on huawei mobile phones and will be upgraded in ...Harmony os officially landed on huawei mobile phones and will be upgraded in ...
Harmony os officially landed on huawei mobile phones and will be upgraded in ...huaquanfu
 
Mobile megatrends 2012
Mobile megatrends 2012Mobile megatrends 2012
Mobile megatrends 2012SlashData
 
AdReaction 2012: Marketing in the Mobile World
AdReaction 2012: Marketing in the Mobile WorldAdReaction 2012: Marketing in the Mobile World
AdReaction 2012: Marketing in the Mobile WorldKantar
 
Hot house istrategy_presentation_february_2012_original-1
Hot house istrategy_presentation_february_2012_original-1Hot house istrategy_presentation_february_2012_original-1
Hot house istrategy_presentation_february_2012_original-1iStrategy
 

Tendances (20)

TheFuture of Mobile Application and Media Tablets
TheFuture of Mobile Application and Media TabletsTheFuture of Mobile Application and Media Tablets
TheFuture of Mobile Application and Media Tablets
 
Windows Phone Code Camp Montreal - The Windows Phone 7.5 opportunity
Windows Phone Code Camp Montreal - The Windows Phone 7.5 opportunityWindows Phone Code Camp Montreal - The Windows Phone 7.5 opportunity
Windows Phone Code Camp Montreal - The Windows Phone 7.5 opportunity
 
Impact 2012 presentation 04 29-12_Steve Drake
Impact 2012 presentation 04 29-12_Steve DrakeImpact 2012 presentation 04 29-12_Steve Drake
Impact 2012 presentation 04 29-12_Steve Drake
 
Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?
Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?
Microsoft's acquisition of Nokia: Will it help to beat Android and iOS?
 
mobile devices and operating systems
mobile devices and operating systemsmobile devices and operating systems
mobile devices and operating systems
 
Mobile application design & development
Mobile application design & developmentMobile application design & development
Mobile application design & development
 
Vision Mobile Developer Economics 2011
Vision Mobile Developer Economics 2011Vision Mobile Developer Economics 2011
Vision Mobile Developer Economics 2011
 
Smarter Phones Smarter Moves
Smarter Phones Smarter MovesSmarter Phones Smarter Moves
Smarter Phones Smarter Moves
 
Mobile Rules 2008
Mobile Rules 2008Mobile Rules 2008
Mobile Rules 2008
 
Exploring the right business strategy for open source mobile platforms
Exploring the right business strategy for open source mobile platformsExploring the right business strategy for open source mobile platforms
Exploring the right business strategy for open source mobile platforms
 
Case Study: “Rivalry on Video Games”
Case Study: “Rivalry on Video Games”Case Study: “Rivalry on Video Games”
Case Study: “Rivalry on Video Games”
 
Sectorial presentation
Sectorial presentationSectorial presentation
Sectorial presentation
 
Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development
 
E2 lennertdewaal
E2 lennertdewaalE2 lennertdewaal
E2 lennertdewaal
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating Systems
 
Harmony os officially landed on huawei mobile phones and will be upgraded in ...
Harmony os officially landed on huawei mobile phones and will be upgraded in ...Harmony os officially landed on huawei mobile phones and will be upgraded in ...
Harmony os officially landed on huawei mobile phones and will be upgraded in ...
 
MeeGo Presentation
MeeGo PresentationMeeGo Presentation
MeeGo Presentation
 
Mobile megatrends 2012
Mobile megatrends 2012Mobile megatrends 2012
Mobile megatrends 2012
 
AdReaction 2012: Marketing in the Mobile World
AdReaction 2012: Marketing in the Mobile WorldAdReaction 2012: Marketing in the Mobile World
AdReaction 2012: Marketing in the Mobile World
 
Hot house istrategy_presentation_february_2012_original-1
Hot house istrategy_presentation_february_2012_original-1Hot house istrategy_presentation_february_2012_original-1
Hot house istrategy_presentation_february_2012_original-1
 

Similaire à What you can do in Android that you can't in iOS

Mobile opportunity and options for it
Mobile opportunity and options   for itMobile opportunity and options   for it
Mobile opportunity and options for itTim McGovern
 
Developer economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4All
Developer economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4AllDeveloper economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4All
Developer economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4AllApps4All
 
MDM/MAM/MIM Workshop - CIS 2013
MDM/MAM/MIM Workshop - CIS 2013MDM/MAM/MIM Workshop - CIS 2013
MDM/MAM/MIM Workshop - CIS 2013Ashish Jain
 
The Investor Snapshot
The Investor SnapshotThe Investor Snapshot
The Investor SnapshotAdam Mitchell
 
Key insights from developer economics 2012
Key insights from developer economics 2012Key insights from developer economics 2012
Key insights from developer economics 2012SlashData
 
BYOD for your business with WSO2 Enterprise Mobility Manager
BYOD for your business with WSO2 Enterprise Mobility ManagerBYOD for your business with WSO2 Enterprise Mobility Manager
BYOD for your business with WSO2 Enterprise Mobility ManagerWSO2
 
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N T
I P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N TI P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N T
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N TBikash Modi
 
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N T
I P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N TI P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N T
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N TBikash Modi
 
Mobile opportunity and options for it
Mobile opportunity and options   for itMobile opportunity and options   for it
Mobile opportunity and options for itTim McGovern
 
The world has gone mobile why you need to join them
The world has gone mobile why you need to join themThe world has gone mobile why you need to join them
The world has gone mobile why you need to join themJ.R. Atkins, MBA, MDiv
 
The mobile ecosystem
The mobile ecosystemThe mobile ecosystem
The mobile ecosystemMelis Rimer
 
CIS13: Impact of Mobile Computing on IT
CIS13: Impact of Mobile Computing on ITCIS13: Impact of Mobile Computing on IT
CIS13: Impact of Mobile Computing on ITCloudIDSummit
 
State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)
State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)
State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)SlashData
 
Overview of Enterprise Mobility
Overview of Enterprise MobilityOverview of Enterprise Mobility
Overview of Enterprise MobilityYuvaraj Ilangovan
 
droidcon 2012: The Android passenger, Joerg Decker, Capgemini
droidcon 2012: The Android passenger, Joerg Decker, Capgeminidroidcon 2012: The Android passenger, Joerg Decker, Capgemini
droidcon 2012: The Android passenger, Joerg Decker, CapgeminiDroidcon Berlin
 

Similaire à What you can do in Android that you can't in iOS (20)

Mobile opportunity and options for it
Mobile opportunity and options   for itMobile opportunity and options   for it
Mobile opportunity and options for it
 
Developer economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4All
Developer economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4AllDeveloper economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4All
Developer economics 2013 (VisionMobile, Михаил Вакуленко) III Форум Apps4All
 
MDM/MAM/MIM Workshop - CIS 2013
MDM/MAM/MIM Workshop - CIS 2013MDM/MAM/MIM Workshop - CIS 2013
MDM/MAM/MIM Workshop - CIS 2013
 
Let's Talk Android
Let's Talk AndroidLet's Talk Android
Let's Talk Android
 
The Investor Snapshot
The Investor SnapshotThe Investor Snapshot
The Investor Snapshot
 
Key insights from developer economics 2012
Key insights from developer economics 2012Key insights from developer economics 2012
Key insights from developer economics 2012
 
BYOD for your business with WSO2 Enterprise Mobility Manager
BYOD for your business with WSO2 Enterprise Mobility ManagerBYOD for your business with WSO2 Enterprise Mobility Manager
BYOD for your business with WSO2 Enterprise Mobility Manager
 
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N T
I P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N TI P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N T
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N T
 
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N T
I P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N TI P S  C O L L E G E  O F  T E C H N O L O G Y  A N D  M A N A G E M E N T
I P S C O L L E G E O F T E C H N O L O G Y A N D M A N A G E M E N T
 
Mobile opportunity and options for it
Mobile opportunity and options   for itMobile opportunity and options   for it
Mobile opportunity and options for it
 
Ro Ck St Ar
Ro Ck St ArRo Ck St Ar
Ro Ck St Ar
 
Ro ckstar
Ro ckstarRo ckstar
Ro ckstar
 
Ro Ck St Ar
Ro Ck St ArRo Ck St Ar
Ro Ck St Ar
 
The world has gone mobile why you need to join them
The world has gone mobile why you need to join themThe world has gone mobile why you need to join them
The world has gone mobile why you need to join them
 
Mobile Ecosystem
Mobile EcosystemMobile Ecosystem
Mobile Ecosystem
 
The mobile ecosystem
The mobile ecosystemThe mobile ecosystem
The mobile ecosystem
 
CIS13: Impact of Mobile Computing on IT
CIS13: Impact of Mobile Computing on ITCIS13: Impact of Mobile Computing on IT
CIS13: Impact of Mobile Computing on IT
 
State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)
State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)
State of the Developer Nation: Developer Economics Q3 2013 (MobiCamp Keynote)
 
Overview of Enterprise Mobility
Overview of Enterprise MobilityOverview of Enterprise Mobility
Overview of Enterprise Mobility
 
droidcon 2012: The Android passenger, Joerg Decker, Capgemini
droidcon 2012: The Android passenger, Joerg Decker, Capgeminidroidcon 2012: The Android passenger, Joerg Decker, Capgemini
droidcon 2012: The Android passenger, Joerg Decker, Capgemini
 

Dernier

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

What you can do in Android that you can't in iOS

  • 1. What you can do in Android that you can’t in iOS: How to build unique and compelling apps that users want! July 2011 * For Internal Use Only * The Business of IT® www.parivedasolutions.com
  • 2. Table of Contents ► Why should you care? ► What you can do in Android ► The Dark Side to Android development ► Conclusion ► Appendix PARIVEDA SOLUTIONS 2
  • 4. Smartphones shipments are growing fast… http://www.morganstanley.com/institutional/techresearch/tenquestions_web2.html PARIVEDA SOLUTIONS 4
  • 5. …Even faster than most analysts expected http://tech.fortune.cnn.com/2011/02/07/idc-smartphone-shipment- numbers-passed-pc-in-q4-2010/ PARIVEDA SOLUTIONS 5
  • 6. Consumers already prefer mobile devices for their most frequent activities http://tag.microsoft.com/community/tag-blog-item/11-03- 21/The_Growth_of_Mobile_Marketing_and_Tagging.aspx?category=industry PARIVEDA SOLUTIONS 6
  • 7. Web markets are ―winner-take-all‖ A number of studies have shown that most web companies are “winner-take- all” or “winner-take-most” – the top companies in a market grow to dominate share in that market1,2 1. A. O˘gus, M. de la Maza and D. Yuret, ”The economics of Internet companies”, Proceedings of Computing in Economics and Finance 1999. 2. S.M. Maurer and B.A. Huberman, “Competitive Dynamics of Web Sites,” Journal of Economic Dynamics and Control, Volume 27, Issues 11-12, 2003 PARIVEDA SOLUTIONS 7
  • 8. These market dynamics create an opportunity… A growing number of Ability to take Opportunity to users transitioning commanding market leverage low away from share in new mobile economies of scale established desktop markets into greater profit environment … and a threat: mobile competition could destroy your market position! PARIVEDA SOLUTIONS 8
  • 9. How do you take advantage of this opportunity? End users have shown a definite preference for native apps over web browsing1 Key advantages of native applications are: • Performance • User Interface • System integration 1. http://blog.flurry.com/bid/63907/Mobile-Apps-Put-the- Web-in-Their-Rear-view-Mirror PARIVEDA SOLUTIONS 9
  • 10. What approach to take? Product owners need to determine what the compelling factors for success are ► Is reach or user experience the most important factors? ► Reach can be overestimated – the vast majority of mobile internet traffic is driven by the top two mobile platforms (this effect is even more pronounced in the US)1 1. http://metrics.admob.com/wp- content/uploads/2010/06/May-2010- AdMob-Mobile-Metrics-Highlights.pdf PARIVEDA SOLUTIONS 10
  • 11. Why choose Android? Other Microsoft, Q1 2011 OS, 3% Android commands the top 4% market share in the smartphone RIM, industry 13% Android, 36% iOS, 17% Tablets Symbian, 27% Robotics TV Android Android is at the center of a growing ecosystem of Smart Home connected devices Phones Automation PARIVEDA SOLUTIONS 11
  • 12. Why choose Android? Android allows you to build applications with unique capabilities that can differentiate you from your competition! PARIVEDA SOLUTIONS 12
  • 13. Table of Contents ► Why should you care? ► What you can do in Android ► The Dark Side to Android development ► Conclusion ► Appendix PARIVEDA SOLUTIONS 13
  • 14. What You Can Do in Android ► Notifications ► Widgets ► Navigation ► Voice Input ► Multi-tasking ► Intents ► Event Receivers ► Open API’s PARIVEDA SOLUTIONS 14
  • 15. iPhone ► Pop-up notifications are intrusive and bland • The user is blocked from doing anything until closing the notification • If there are multiple notifications, the user must close each one • All notifications have the same color and structure ► Badges are limited • Badges can show one updated count per application • Badges are not visible unless the application icon is on the screen PARIVEDA SOLUTIONS 15
  • 16. Android ► The notification bar is unobtrusive • Users can see notification icons from any screen without acting on them • Users can pull down from the notification bar to see details ► Notifications are branded icons ► Developers can create multiple notifications per application PARIVEDA SOLUTIONS 16
  • 17. Android Notifications Advantages ► Android applications can take more advantage of notifications than their iOS applications • Many iPhone users are careful about allowing notifications because they can be irritating • Android developers can more freely create notifications ► Notifications can take the place of other notification mechanisms: • Text Messages: text messages from vendors are annoying and can incur a cost to the end-user • Email: users are overwhelmed with emails; users may not distinguish between your email and any others they receive PARIVEDA SOLUTIONS 17
  • 18. Notifications Examples ► Email, Facebook, Music Player What you could create ► Social marketing • Notify user when their Twitter contacts use a keyword • Notify user when market sentiment metrics drop or rise ► IT Operations • Notify user with system alerts • Brand alerts by level: warning, error, or critical downtime PARIVEDA SOLUTIONS 18
  • 19. Widgets Description ► Widgets are small applications that can be placed directly on the home page ► Widgets can be separate applications, or packaged with another application ► Information conveyed in the widget can be updated in the background PARIVEDA SOLUTIONS 19
  • 20. Widgets Advantages ► Developers can conveniently present information to users • Users are not required to open the application to access information • Widget creators can poll for updates in the background ► Widgets are interactive, too! • Users can cycle through data • Users can update as well as consume data PARIVEDA SOLUTIONS 20
  • 21. Widgets Examples ► Facebook, Pandora, Beautiful Widgets What you could create ► Operational dashboard (on a phone or tablet) • Customer service: current waiting time • Web site: sales per day ► Marketing: Real-time Twitter stream related to a specific topic ► Process Actions: Allow a manager to approve or reject items in their work queue ► Auction Site: real-time bids on your items PARIVEDA SOLUTIONS 21
  • 22. Navigation Description ► Apple users can interact with the built- in map application, but require a separate application for turn-by-turn navigation ► Android offers a more convenient alternative • Users can get turn-by-turn directions from any location on the map • Application developers can trigger directions to any geo-location ► The navigation application offers speech output — ―Turn left in one mile‖ PARIVEDA SOLUTIONS 22
  • 23. Navigation Advantages ► Users can skip directly to directions without having to go to a map ► Ideal for drivers, where user interaction and clicks need to be limited PARIVEDA SOLUTIONS 23
  • 24. Navigation Examples ► Google Places What you could create ► Add the next level of convenience to any map-related or store locator application ► Navigation tied to inventory • Directions to the nearest Best Buy with Portal 2 • Directions to the nearest Redbox with Toy Story 3 PARIVEDA SOLUTIONS 24
  • 25. Voice Input Description ► Apple offers pluggable Text-to-Speech (TTS) ► Android offers pluggable TTS, but offers Speech-to-Text natively ► Voice input can be implemented in two ways: • With the default keyboard, users can use speech input with any text box • Developers can implement voice input via code PARIVEDA SOLUTIONS 25
  • 26. Voice Input Advantages ► Voice input is ideal for situations where users cannot concentrate on the screen (i.e. driving or walking) ► Increased safety – users can keep their eyes up while walking or driving ► Shortcut applications with multiple input fields PARIVEDA SOLUTIONS 26
  • 27. Voice Input Examples ► Google Voice Actions, Vlingo What you could create ► Add voice to directions-based applications: “Take me to the nearest Redbox with Toy Story 3” ► Travel Reservations: “Find me a hotel in Chicago from June first to June fifth” PARIVEDA SOLUTIONS 27
  • 28. Multi-tasking Description ► Apple offers background processes, but those are limited to location services, audio, or VoIP ► iOS also offers push notification, which are also limited: • The notification has to be registered with Apple, with all the headaches that entails ► Android offers true multi-tasking services without requiring registration with a central authority PARIVEDA SOLUTIONS 28
  • 29. Multi-tasking Advantages ► Android’s multitasking allows the application to run true background processes ► Android allows services to get third party updates without registering with a central server ► This capability also allows the application to run long-lived activities after you leave the app (such as uploading a picture) PARIVEDA SOLUTIONS 29
  • 30. Multi-tasking Examples ► Tasker, Locale, Chrome to Phone What you could create ► Operational widget: update operational widget in the background ► Context-sensitive applications: perform actions in the background based on time of day, location, etc ► Send an SMS or email from your application (and return back) PARIVEDA SOLUTIONS 30
  • 31. Intents Description ► iOS has document interactions, which are meant for viewing or editing documents ► Android offers intents, which allow developers to define an event to which another application will respond ► Intents can respond to a specified action, and filter based on URL scheme and mime type PARIVEDA SOLUTIONS 31
  • 32. Intents Advantages ► Developers can easily leverage device functionality like SMS, email, camera and telephony ► A developer can create applications to be callable ► Developers can call other applications on the phone with less effort and without using server-side code ► Application designers can leverage that code without packing API libraries, reducing application size and download time PARIVEDA SOLUTIONS 32
  • 33. Intents Examples ► Google Maps, LastFM, OpenTable What you could create ► Create an callable API as part of the overall application strategy ► Create an Orbitz application with intents to allow other applications to book a flight PARIVEDA SOLUTIONS 33
  • 34. Event Receivers Description ► The Android OS broadcasts events on system conditions such as receiving an SMS or initiating a call ► Developers can create event receivers – classes which are instantiated for specific intents ► Event receivers can perform filtering beyond intent type and only intercept the events they want PARIVEDA SOLUTIONS 34
  • 35. Event Receivers Advantages ► Developers can integrate with phone system events ► There is no need to create polling operations – the OS will forward events to any appropriate receivers ► Events are broadcast; multiple receivers can act on the same event based on priority PARIVEDA SOLUTIONS 35
  • 36. Event Receivers Examples ► Handcent SMS, ConferenceCaller What you could create ► Calling applications: intercept international calls and route to a calling card number ► SMS applications: intercept and auto- reply to messages from select users PARIVEDA SOLUTIONS 36
  • 37. Rich API Description ► Android offer the ability to change almost all aspects of the phone, like: • Bluetooth: turn Bluetooth on/off, scan for devices, establish connection • Wifi: turn wifi on/off, scan for networks, establish connection • USB: establish connections to a device as a host or accessory (available as an additional library in Gingerbread) • NFC: act as an NFC initiator or reader; trigger an activity on read receipt PARIVEDA SOLUTIONS 37
  • 38. Rich API Advantages ► Developers have the capability to integrate with almost anything they can imagine! ► Core applications and API’s are public - developers can easily extend existing functionality PARIVEDA SOLUTIONS 38
  • 39. Rich API Examples ► Wifi Analyzer, Bluetooth Widget What you could create ► Dictionary updates: update dictionary with medical, legal, or government terminology ► Build proximity communication apps in Bluetooth or NFC ► Build a better home screen, notifications toolbar, or phone dialer PARIVEDA SOLUTIONS 39
  • 40. Table of Contents ► Why should you care? ► What you can do in Android ► The Dark Side to Android development ► Conclusion ► Appendix PARIVEDA SOLUTIONS 40
  • 41. The Dark Side – UI Design ► Android has a relatively poor framework and toolset - Android lacks a good WYSIWYG designer ► Android’s default look-and-feel is sparse and lacks pizzazz ► UI designers have to consider a wide variety of screen sizes ► Android’s tablet introduced new UI elements to the mix http://fuglyandroid.tumblr.com/ PARIVEDA SOLUTIONS 41
  • 42. The Dark Side – Fragmentation ► Version fragmentation: designers need to consider a multitude of OS versions ► Hardware fragmentation: Android phones come in a wide variety of screen resolutions, CPU, and other capabilities http://moconews.net/image/google-android-fragmentation-may-2011/ PARIVEDA SOLUTIONS 42
  • 43. The Dark Side – Performance ► Bad Battery Life: Android’s background service support means that users can create programs that continually drain the battery ► Occasional Poor Performance: Android’s Dalvik machines only closes apps when memory is needed; this can occasionally cause excess processes to slow the phone PARIVEDA SOLUTIONS 43
  • 44. The Dark Side – Monetization ► Apple has a base more willing to buy ► Apple’s market has superior marketing, searching, trending and application highlighting ► Multiple stores (GetJar, Amazon, etc) confuse the issue for publishers and buyers PARIVEDA SOLUTIONS 44
  • 45. The Dark Side – Security ► Applications on the App Store are not monitored – any application could be considered malicious ► Android’s open API’s allow malicious developers to do more danger than they could on an iOS device ► Android warns but allows users to download dangerous applications ► Most users typically ignore those warnings as well PARIVEDA SOLUTIONS 45
  • 46. Table of Contents ► Why should you care? ► What you can do in Android ► The Dark Side to Android development ► Conclusion ► Appendix PARIVEDA SOLUTIONS 46
  • 47. Android expands possibilities in app development Multi- iOS applications have great tasking user interfaces…. Rich system Cross-app However, Android applications integration calls are more feature-rich in many Android other areas- • Background processing • Cross-app communications Notifications Widgets • Rich interaction from the home screen with widgets • Phone integration PARIVEDA SOLUTIONS 47
  • 48. Just because you can doesn’t mean you should Don’t create needless background processes that kill battery life or eat bandwidth! Don’t hijack events and break normal system usage! Don’t modify standardized tools or inherit system API’s without a good reason! PARIVEDA SOLUTIONS 48
  • 49. You can build richer, more useful apps than ever before! Coined by a leading VC firm KPCB, SoLoMo drives current investments in application development Android’s open API’s and rich background service support allows users to develop apps around a much more powerful paradigm – context Build apps around location, time of day, So Co Mo Social Context Mobile docking state, appointment schedule, nearby friends, and more! Integrate this context with other apps to build unique, compelling applications that aren’t available anywhere else! PARIVEDA SOLUTIONS 49
  • 50. Just remember… ―We don’t need any more fart apps‖ Steve Jobs, 9/9/2010 Build something better! PARIVEDA SOLUTIONS 50
  • 51. Questions? joe.nedumgottil@parivedasolutions.com http://www.linkedin.com/profile/view?id=6643416 https://plus.google.com/u/0/111620262743668206893 PARIVEDA SOLUTIONS 51
  • 52. Table of Contents ► Why should you care? ► What you can do in Android ► The Dark Side to Android development ► Conclusion ► Appendix PARIVEDA SOLUTIONS 52
  • 54. Notifications Creating the expanded notification: int icon = R.drawable.my_notification_icon; // icon from resources CharSequence tickerText = “My ticker text"; // ticker-text long when = System.currentTimeMillis(); // notification time Context context = getApplicationContext(); CharSequence contentTitle = "My notification"; // expanded message title CharSequence contentText = “My text!"; // expanded message text Intent notificationIntent = new Intent(this, MyClass.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); // the next two lines initialize the Notification, using the configurations above Notification notification = new Notification(icon, tickerText, when); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); Reference: http://developer.android.com/guide/topics/ui/notifiers/notifications.html PARIVEDA SOLUTIONS 54
  • 55. Widgets Define the widget in Manifest.xml: <receiver android:name="ExampleAppWidgetProvider" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/example_appwidget_info" /> </receiver> Define App Widget Provider Info: <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" android:minHeight="72dp" android:updatePeriodMillis="86400000" android:previewImage="@drawable/preview" android:initialLayout="@layout/example_appwidget" android:configure="com.example.android.ExampleAppWidgetConfigure" android:resizeMode="horizontal|vertical"> </appwidget-provider> Reference: http://developer.android.com/guide/topics/appwidgets/index.html PARIVEDA SOLUTIONS 55
  • 56. Widgets Widget Class: public class MyAppWidgetProvider extends AppWidgetProvider { public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { final int N = appWidgetIds.length; // Perform this loop procedure for each App Widget that belongs to this provider for (int i=0; i<N; i++) { int appWidgetId = appWidgetIds[i]; // Create an Intent to launch ExampleActivity Intent intent = new Intent(context, ExampleActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); // Get the layout for the App Widget and attach an on-click listener // to the button RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget_provider_layout); views.setOnClickPendingIntent(R.id.button, pendingIntent); // Tell the AppWidgetManager to perform an update on the current app widget appWidgetManager.updateAppWidget(appWidgetId, views); } } } Reference: http://developer.android.com/guide/topics/appwidgets/index.html PARIVEDA SOLUTIONS 56
  • 57. Navigation Call Navigation: public void callNav() { String latLong = "41.88,-87.64"; Intent i = new Intent(); i.setAction(Intent.ACTION_VIEW); i.setData(Uri.parse("google.navigation:q=" + latLong)); startActivity(i); } Reference: http://stackoverflow.com/questions/5801684/intent-to-start-a-navigation-activity PARIVEDA SOLUTIONS 57
  • 58. Voice Input Call Voice Recognition: private void startVoiceRecognitionActivity() { Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); startActivityForResult(intent,VOICE_RECOGNITION_REQUEST_CODE); } Reference: http://developer.android.com/resources/samples/ApiDemos/src/com/example/ android/apis/app/VoiceRecognition.html PARIVEDA SOLUTIONS 58
  • 59. Voice Input Retrieve Voice Recognition results: protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { // Fill the list view with the strings the recognizer thought it // could have heard ArrayList<String> matches = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS); mList.setAdapter( new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, matches)); } super.onActivityResult(requestCode, resultCode, data); } Reference: http://developer.android.com/resources/samples/ApiDemos/src/com/example/ android/apis/app/VoiceRecognition.html PARIVEDA SOLUTIONS 59
  • 60. Multi-tasking Initiate a service to handle Intents in the background: public class MyIntentService extends IntentService { public MyIntentService() { super("MyIntentService"); } /** * The IntentService calls this method from the default worker * thread with the intent that started the service. When this * method returns, IntentService stops the service, as * appropriate. */ protected void onHandleIntent(Intent intent) { if(intent.getAction().equalsIgnoreCase(My_Intent)){ // do something } } } Reference: http://developer.android.com/guide/topics/fundamentals/services.html PARIVEDA SOLUTIONS 60
  • 61. Intent Call the Twidroyd ―Twitter‖ intent: public void fireTweet() { Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, “My tweet”); sendIntent.setType("application/twitter"); startActivity(Intent.createChooser(sendIntent, null)); } Use Last.FM to retrieve artist info: public void getArtistInfo() { intent = new Intent(Intent.ACTION_VIEW); intent.setComponent(new ComponentName( "fm.last.android","fm.last.android.activity.Metadata")); intent.putExtra("artist", “U2"); startActivity( intent ); } Reference: http://twidroyd.com/plugins/ https://github.com/c99koder/lastfm-android/wiki/Activities PARIVEDA SOLUTIONS 61
  • 62. Event Receivers Intercept a call: public class CallReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent){ if(intent.getAction().equalsIgnoreCase( Intent.ACTION_NEW_OUTGOING_CALL)){ // do something } } } Reference: http://developer.android.com/reference/android/content/Intent.html PARIVEDA SOLUTIONS 62
  • 63. Open API’s Turn on Bluetooth: public void turnOnBluetooth() { BluetoothAdapter bt = BluetoothAdapter.getDefaultAdapter(); if (!bt.isEnabled()) { bt.enable(); } } References: http://ishouldhaveknownthisbefore.wordpress.com/2011/01/ http://developer.android.com/guide/topics/wireless/bluetooth.html http://android.git.kernel.org/ http://developer.android.com/ PARIVEDA SOLUTIONS 63