Friday, October 21, 2011

Android Ice Cream Sandwich: Top 10 Awesome Features

This week Google has released Android 4.0 Ice Cream Sandwich (ICS), which provides unified UI for phones and tablets. It provides lot of improved features along with new innovative features for users and developers. In my opinion below are the top 10 features which make Ice Cream Sandwich really delicious and competitive in phone and tablet market.
  1. Face Unlock- This is new concept introduced by ICS to secure your device and effectively making your device really personal device. It allows you to unlock your device with your face using newly introduced facial recognition technology.
  1. Wi-Fi Direct –This allows you to connect to nearby devices on Wi-Fi. It allows instant sharing of files, connecting compatible devices such as printer. This technology doesn’t require internet connection or Wi-Fi tethering.
  1. Android Beam – Google already has first mover advantage in NFC technology. With Google Wallet it is pushing NFC and now with Android Beam app in ICS it is repositioning itself as leader in NFC smart phone market.
Android Beam allows you to share your contacts or any other content between two ICS Android Devices just by tapping them together. You can share web pages, maps, and even apps. It's handy if you want to give your friends directions or want to share an article you found interesting while browsing the web.
  1. Native Photo Editor – You may have tired with using different third party photo editing apps in Android. ICS solved this issue by introducing native photo editing features. Now you can crop, rotate, set levels, remove red eyes, and add effects. ICS also provides redesigned Gallery app and widget.
  1. Take Screenshot – You would have seen this feature in other smart phones regularly and some Android devices also (thanks to customization of Android by OEM). Now this feature is available natively in all Android smart phones. Combination of hardware buttons allows you to take a screenshot and save it locally. This stored image can be viewed, edited or shared from native gallery app.
  1. Live effects – With this feature you can morph the faces of peoples in videos in real time. Basically its collection of graphical transformations that add interest and fun to your videos while capturing video in the camera app. While you are shooting video or using Google Talk Video chat you can change background to custom image. You can use great morphing effects like bog nose, big mouth, small eyes, face squeeze, and more during video capture.
  1. Lock screen actions – ICS lock screen allows you to do more actions without unlocking the device. From new lock screen you can directly launch camera app to take a snap or you can check received messages by pulling down notification window. From lock screen you can manage music tracks and see album art while listening to music.
  1. Improved text input and Spell checker – You can input text faster and accurate in Android ICS soft keyboard. You will find improved word suggestion and error correction in android ICS with new set of default dictionaries and more accurate heuristics for handling cases such as skipped letters, double typed characters or omitted spaces.
Android ICS added new powerful spell checker that helps you to fix the misspelled words very easily. It underlines spelling errors and suggests replacement words which you can use with a single tap. It also provides other options like add to dictionary, delete misspelled word, find replacements for correctly spelled words etc. For additional languages and specialized features you can install third party dictionaries, spell checkers and other text services.
  1. Control over network data – As a mobile device user you use network data extensively for downloading apps, synchronizing data, streaming and more. While doing this you generally worry about how much data is used by any particular app, whether any app is downloading data in background, whether app makes use of Wi-Fi or mobile. With ICS no more you need to worry about these things. ICS provides new controls for managing network data usage.
In the Settings app, colorful charts show the total data usage on each network type (mobile or Wi-Fi), as well as amount of data used by each running application. Based on their data plans, users can optionally set warning levels or hard limits on data usage or disable mobile data altogether. Users can also manage the background data used by individual applications as needed.
  1. Redefined UI and improved apps – With ICS you can see lot of improvements in terms of UI and core applications.
ICS says goodbye to droid sans typeface and introduces new typeface (Roboto) which is optimized for high resolution screen. System bar has virtual buttons to navigate back, home and recent app list. Recent apps virtual button will be useful to jump instantly from one task to another task in the list which shows thumbnail images of apps. With ICS you can write resizable widgets which will expand or shrink depending on available content.
With ICS you can have unified calendar app which brings together your personal, work and social agendas. Phone app provides visual voicemail feature which integrates incoming messages, voice transcriptions, and audio files from one or more providers. With ICS you can have improved browsing experience through native browser.
These are just top ten delicious features. If you explore Ice Cream Sandwich or Galaxy Nexus device more you will find tons of features for which you will definitely appreciate Google and me (for writing this blog).

Tuesday, September 27, 2011

Deploying Android Apps: Part 2

This is part two of "Deploying Android Apps" blog series and in this we will explore more details about how to deploy non-market apps on device.
Before you install any non-market app on your device, you have to make sure that your device is ready to install apps from ‘unknown sources’.  To do this, navigate to Menu -> Settings -> Applications and check the box marked ‘Unknown Sources’ (as shown in Fig 1). 
Note: On some devices you will not get this 'unknown source' option or it may be non-editable.
 
Figure 1: Enabling installation from 'Unknown Sources'
Figure 2: Installation error for Non-market apps

1       Using File Explorer

  • Install file manager – As Android does not have native file explorer feature/app to browse the data on your SD card, you need to install file manager app from Android market. There are lots of file explorer apps available, but my personal favorite is ES File Explorer. You can use any of the below mentioned file manager apps
  1. ES File Explorer
  2. ASTRO File Manager
  3. File Expert
  4. File Manager
  5. eFile
  • Copy APK file to SD card – Once you have installed file explorer app, connect your device to PC using USB cable. Mount the SD card and copy the required .apk file on SD card.
  • Install APK – Using file explorer app on device you navigate to the APK file and click on it. Follow on screen instructions to install the app. Different file explorer apps will show different options before actual APK installation starts.

2       From Website

  • Host the APK file on your website. Create webpage which will have hyper link to APK file. Use this webpage or direct link of APK file in your Android device browser.
  • Web server should have the APK mime type set up (application/vnd.android.package-archive)
  • Browser will download the APK file
  • Clicking on downloaded APK file in browser’s ‘Downloads’ section will start installation procedure

3       Using Dropbox

Dropbox is really a versatile app and is a waste if we don’t fully utilize it. The method is simple. In your computer, download the apk file to your Dropbox folder. Let it finish syncing. In your phone, open the Dropbox app, navigate to the folder where you keep the apk file, click on it. Dropbox will then download the apk file. The usual installation follows


4       Using Online APK Installer

The online apk installer is a web app created by a helpful XDA-Developers forum member htc-hd2, with the aim to make manual installation of an .apk file much easier. It is useful if you want to share an apk file with a friend. Following figure shows steps involved in this method.

Figure 3: Online APK Installer

  • Upload file - First navigate to http://www.apkinstall.com site. Click ‘Browser Files…’ button and select the APK file to upload on server. Uploaded file will remain active for 15 minutes only.
  • Scan QR code – Once APK file uploaded on site, QR code will appear on site. You can scan this QR code with barcode scanner on device. Once the QR code has scanned, you can click on the link to download the APK file straight to your device
  • Install APK - After the APK file has downloaded to your Android device you can install it by simply clicking on it and navigating through the installation instructions.

5       Using ADB

  • Install Android SDK on your desktop. You also need to install USB drivers to connect the device to your PC.
  • Go to settings->SD Card and Phone Storage->Disable Use for USB storage. You can enable it again later.
  • Now just open command prompt on your PC and type ‘adb install path/file.apk
    • Where path is the full path to the APKfile and file is the name of APK file.
  • Your application will get installed on device.

Deploying Android Apps: Part 1

This two part blog series describes different deployment methods for Android applications. First part details out deployment methods for market apps. Second part is about non-market app deployment which is nothing but manual app installation on device.

 

In this part one we will discuss how we can deploy the apps which are published on Android Market. Basically there are two methods for deploying market apps. First and most frequently used method is via Market App. Remote install is another method which is less used but will be very useful. These two methods are explained below in detail.

 

1       Android Market App

Installing apps using Android Market app on device is very straightforward. You need to login to Google service and open the Android Market app. It lists all the apps available/compatible to your device. Select any of the application and click install. Selected app will get downloaded and installed on your device.

Figure 1: Android Market App

2       Remote Install through Android Market Website

  • Go to https://market.android.com on your desktop browser
  • Login with Gmail account
  • Browse the apps and select the app you want to install
  • It will show app details along with below options (Fig 2)
  1. If selected app is free then you can see ‘INSTALL’ button just below the application icon
  2. If app is already downloaded you can ‘INSTALLED’ button instead of ‘INSTALL’
  3. For paid apps you will get option to buy it

Figure 2: Android Market Remote Install
  • Google will find all the devices on which you are using any of the Google service using same Gmail ID. It will list out all the devices along with compatibility details for the selected app.
  • After clicking on ‘INSTALL’ or ‘INSTALLED’ button, popup window will be shown which will have device list and permission details for the selected app. Here user will have option to select one of the devices from list and remote install that app on that device.  (Fig 3)

Figure 3: Android Market Remote Install Options
 
  • After clicking on ‘Install’ button on above popup window, you can notification bar on your Android device which tells that it is downloading and installing the app. This will be the same app you selected on Android Market website.

Tuesday, July 5, 2011

Android command line tools for memory analysis

We can use two command line tools to analyze memory usage by any android app.

1. Procrank

a. This command will show quick summary of memory utilization for all running processes on emulator/device. It shows six columns in output.
  • PID- Process ID
  • Vss - Virtual set size
  • Rss - Resident set size
  • Pss - Proportional set size
  • Uss - Unique set size
  • Cmdline - Process name

b. Only two columns (Pss and Uss) need to be watched closely. Vss and Rss and worthless because they don't accurately reflect a process's usage of pages shared with other processes.

c. Uss is the set of pages that are unique to a process. This is the amount of memory that would be freed if the application was terminated right now.

d. Pss is the amount of memory shared with other processes, accounted in a way that the amount is divided evenly between the processes that share it. This is memory that would not be released if the process was terminated, but is indicative of the amount that this process is "contributing" to the overall memory load.

e. Use below mentioned command to execute this procrank tool and get memory usage details

C:/../ADB_PATH>adb shell procrank



2. Dumpsys/meminfo
a. This gives more detailed memory analysis than procrank.

b. It gives details like how many views, activities are in memory at any point

c. It also gives info about database used by that app

d. Use below mentioned command to execute this tool and get memory usage details for specific app (in this case com.est.myapp)

C:/../ADB_PATH>adb shell dumpsys meminfo com.est.myapp



Note: These commands may not work on all devices.