21
Sep
2018
Handle Background Service Limitations of Oreo

With the introduction of Android 8 (Oreo), we get to know some new and interesting features and behavior changes of the Android new OS. One of them is “Background execution limits” and in this post, we look specifically at this new restriction that has been introduced for background services. Due to this behavior change now apps that are running in the background now having limitations on how to access background services and the broadcasts that are defined in Manifest. So if you’re using background services in your app then this change could affect your app. So now let’s have a look on what the actual change is, how it will affect the development and how we can handle it.

background service limitation in OREO

Reason behind the Limitation

This behavior change is introduced to improve the battery life and the usage of RAM when apps are in the background, which can result in better user experiences. Moreover, this change is introduced because background services are also unfavorable for application performance. When more than one apps are performing any task in the background then it will affect the performance of the application which is running in the foreground. Also if some additional apps or services are running in background puts extra load on the device system which again affects UI.

How it Effects on Android App development?

There could be so many reasons we are using background services or broadcast like to keep your data updated as per the server changes or UI changes on the particular event or may be for performing some long-running task. For whatever reason we are using background task it will be affected by development. Overcoming this limitation will be majorly helpful for client application development for any Android app development company.

What are the Changes?

  • The ‘startService()’ method now throws an ‘IllegelStateException’. If we try to use this method in the case of background services it will not allow.
  • For starting foreground service we have now ‘Context.startForegroundService()’ method. This method can be called even when the app is in the background but the app must call that service’s method ‘startForeground()’ within five seconds after the service is created.

How to Handle Limitation?

There are three ways to overcome from this limitation, namely –

  1. Job Scheduler
  2. FCM
  3. Foreground Service

Now let’s discuss each in detail below:

  1. Job Scheduler

    Job Scheduler is introduced in API 21 for performing background tasks. This allows us to move away from background service implementation and just to focus on execution. Using this we can run scheduled services and Android system will set all the services from different apps in one group or set and execute them together in particular time. The reason behind this is to reduce the amount of time phone’s CPU and radio wakes up by batching the tasks together. This will consume less battery. The only drawback of Job Scheduler is it can only be run API 21 or above.

    Advantages:

    • Once the device is connected to a power supply, task should be done.
    • Tasks that require network availability or a Wi-Fi reachability.
    • The task that is not user-facing or critical.
    • Where the timing is not critical the Tasks should be running on a regular basis as the batch

    Implementation:

    To implement a Job, extend the JobService class and implement the onStartJob and onStopJob. If the job scheduler fails for some reason, return true from on the onStopJob to restart the job. The method onStartJob is performed in the main thread, if you start asynchronous processing in this method, return True otherwise False.

    The new JobService must be registered in the Android manifest with the BIND_JOB_SERVICE permission.

    <service
    android:name=".TestJobService"
    android:permission="android.permission.BIND_JOB_SERVICE">
    </service>

    And now, below is the snippet to schedule the job.

    ComponentName serviceComponent = new ComponentName(context,TestJobService.class);
    JobInfo.Builder builder = new JobInfo.Builder(0,serviceComponent);
    builder.setMinimumLatency(1 * 1000);
    builder.setOverrideDeadline(3 * 1000);
     
    JobScheduler jobScheduler = context.getSystemService(JobScheduler.class);
    jobScheduler.schedule(builder.build());
  2. FCM

    Here to overcome the drawback of JobSchedular we can use FCM, FCM is supported from API Level 19.

    When services are running in the background there are some scenarios which allow applications to temporarily run in the background as if they were running in the foreground. Applications will be included on these scenarios in situations when they are:

    • To trigger high priority FCM/GCM notification
    • To perform SMS/MMS delivery
    • Capture Notification Action

    We can send FCM notification to trigger a service of our application. For this, using High Priority messages allows our application to be added to a service in those scenarios which allows our services to run as if they were in the foreground because High Priority message will be received even when the system is in Doze Mode so by doing this we can start our service to update our application’s data if our application was not running in the background or killed. In FCM we must remember set message to High Priority otherwise messages will be received when the device screen is turned back on or during the Doze maintenance window.

  3. Foreground Services:

    Another simple way is to make service foreground. Sometimes running service carrying out the task which may require user interaction or monitoring the task which is being executed. Like user downloading some data, using a timer to perform some time-based operation or receiving navigational directions from your application, these are the cases where we can use foreground service. When running foreground services use a persistent notification to acknowledge the user aware that they are currently running.

    Implementation

    Before Android Oreo, if you wish to create a foreground service, you mostly start a background service by calling startService(). Then we can start our foreground service by assigning an ongoing notification using startForeground() method. But from Android Orio startService() will not be working nowadays, so for starting foreground service we must use startForegroundService() method, this method is static and belongs to the class NotificationManager. This method is the same as to creating background service and promoting it to the foreground service combine. The method itself is the as calling startService(), but with the contract that startForeground () will be called. The main difference with using this method as compared to startService () is that we can call it at any time, even if our application is not currently in the foreground.

    Using the startForegroundService() method, passing an intent for our service task to be carried out. This tricks will create our background service that we must immediately promote to the foreground. Within use of this service, we need to create a notification to be displayed for our foreground service. This must be of at least higher priority or Low so that is shown to the user on screen — if the priority is set to PRIORITY_MIN then the notification will not be displayed to the user. And then, android app developers can call startForeground(id, notification) from within the service —  this will promote our service to the foreground.

Conclusion:

These limitations applied to the background service might lead to some difficulties in development but these will definitely provide extended battery life and also lower RAM usage. So ultimately it will make your applications smooth and your user happy.

14
Sep
2018
Know About Google’s Machine Learning Kit

ML Kit is a mobile SDK that is provided by Google’s machine learning expertise for Android and iOS apps. By utilizing Google ML in mobile application development software the app developed is more attractive, personalized and robust.

Google Macihne Learning Kit

APIs: Build machine learning features into your apps

  1. Image Labeling – Identify objects, location places, activities, products etc.
  2. Text Recognition (OCR) – Recognize and read text from images
  3. Face Detection – Detect faces and facial landmarks
  4. Barcode Scanning – Scan barcodes
  5. Landmark Detection – Identify well known and popular landmarks in an image

1. Image Labelling

It gives an insight into the content data of images. When by using the API, you get a list of the entities that were identified: people, things, places, activities, and so on. API provides score count for each label that shows the confidence. One can perform tasks such as metadata generation and content moderation.

There are 2 sub-types of this API – First is the On Device API which runs this labelling on the device itself. It is freely available and it covers 400+ different labels in the image. Second is the Cloud API which runs on Google Cloud and covers 10,000+ different labels. It’s paid but the first 1,000 requests per month are free.

Image Labelling

2. Text Recognition

It can automate entry for credit cards, receipts, and business cards, or help organize photos. With the Cloud-based API, you can extract and read text from documents, which you can use to increase accessibility or translate documents in mobile application.

Cloud Vision API recognize multiple languages within a single image. Some Application recognizes text from real-world objects like reading train number from the train.

Text Recognition

3. Face Detection

It draws boxes on around faces its basic feature now deep features comes with ML which detects the person is smiling or not, their eyes open or not, etc. Face Detection finds all landmarks and classifications in the face. A landmark is a part of the face like the right cheek, left cheek, and base of the nose, eyebrow, and more, each of the detection can be implemented in custom mobile application development.

A classification is a kind of like an event to detect. Currently, ML Kit Vision can detect only if the eyes are open or not and if the person is smiling. ML Kit performs detection on real-time also like video chat or another app which shows the user’s expression.

face detection

Below some of the main points that we use in discussing the face detection feature of the ML Kit:

The following features are developed for face tracking-

  • Extends from face detection to video sequences.
  • User can be tracked any face appearing in a video for any length of time.
  • That is, faces that are detected in consecutive video frames can be identified as being the same person. The mechanism works based on the position and motion of the face in the video sequence.

As described in ML Kit find the landmarks like left eye, right eye, and base of the nose. A landmark is a point of interest within a face.

4. Barcodes

Barcodes are a new traditional way to pass your private or personal information passing. Nowadays user contact details, Wi-Fi network credentials encode the data and pass using the barcode and application real-time read that barcode and respond intelligently using ML Kit can automatically recognize.

Barcode Scanning

5. Landmark Recognition

You can recognize well-known landmarks in an image. API fetching images data and recognize the landmark from the image. Landmark’s geographic coordinates and the region also found in API. Using Vision API references a database of over 70,000 landmarks.

It’s most popular public photos and each row in this database includes the name, location and Knowledge Graph mid of each landmark. Database of landmark continuously updated to include new landmarks.

Landmark Recognition

ML Kit’s predefined models don’t satisfy with your needs, you can use a custom TensorFlow Lite model with ML Kit. TensorFlow Lite uses many techniques for achieving low latency such as optimizing the OS for mobile app development and quantized OS that allow smaller and faster (fixed-point math) models.

As published by Google they are also working with a feature which enables developers to upload a full TensorFlow model, along with training data, and receive in return a compressed TensorFlow Lite model. Currently, Google is still working to test the custom TensorFlow model feature.

12
Sep
2018
Navigation Controller – An Android StoryBoard

The Navigation Architecture Components define a set of principles which helps you to build an in-app-navigation with a consistent and predictable user experience.

The Navigation Architecture Component is designed to have a single activity with multiple Fragments. The Activity hosts a Navigation Graph. If the app has multiple Activities each Activity hosts its own Navigation Graph.

Navigation Controller

Principles of Navigation –

  1. The app should have a fixed starting destination.
  2. A stack is used to represent the navigation state of an app.
  3. The Up button never exits the app.
  4. Up and Back are equivalent within the app’s task.
  5. Deep linking to a destination or navigating to the same destination should yield the same stack.

Implement Navigation

  • Add the Google repository to the projects build.gradle(Project level).
allprojects {
   repositories {
       google()
       jcenter()
   }
}
  • Add the following dependencies to the app or module build.gradle(App level).

Implementation ‘android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha01

Components of Navigation

  1. Navigation Graph: Blueprint of the Navigation destinations and actions that link them.
  2. Destinations: List of all the fragments. One can define arguments, actions and deep link URLs to these addresses.
  3. Deep Link URL Destination

  4. Host: The parent activity and entry point for the application logic.
  5. Actions: Specifies the destination fragment, transitions to that fragment, arguments and pop behavior.
  6. Destination Fragement

Navigation Graph XML

  • With Android Studio 3.2 android app programmers can now add a Navigation Resource File. Right click on the res directory and select New -> Android resource file. Select a title for the file and select Navigation from the Resource type dropdown.
  • Now one will have a new file with a new root element type
<navigation xmlns:android="http://schemas.android.com/apk/res/android"/>

Navigation Host Fragment

In the MainActivity layout one have to add a fragment as NavHost and define where the NavHostFragment finds the navigation graph.

<android.support.constraint.ConstraintLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity">
 
   <fragment
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/my_nav_host_fragment"
       android:name="androidx.navigation.fragment.NavHostFragment"
       app:navGraph="@navigation/nav_graph"
       app:defaultNavHost="true" />
 
</android.support.constraint.ConstraintLayout>

Defining Destinations

  • Back in the Navigation Graph android app developers can add new destinations. One can switch between Design and Text. If one choose Design then can see a three columns layout.
  • One can now add existing Fragments/Activities to the Navigation Graph (Icon on the top left) or add a new blank destination.

Perform Navigation

  • To perform a navigation one have to define an action (right side of the Design View). One will use a simple navigation without transitions and params (In the next Part one will create more complex transactions).
  • Therefore, one will have to select the source fragment, afterwards click on the + next to the Actions and choose Add Action. Now one will see an Add Action Wizard. One have to choose a destination (the id will be generated for us) and click Add.
  • One can now navigate with the NavigationController.navigate(id: Int) method. To retrieve the NavigationController one have to call findNavController() in the Source Fragment.

The findNavController method is an extension function in Kotlin.

detailButton.setOnClickListener { view ->
       view.findNavController().navigate(R.id.action_list_to_detail)
}

Deep links

  • One can provide Explicit Deep Links for the destinations from application widget or notification with the help of a Pending Intent as follows,
PendingIntent deeplink = Navigation.findNavController(v).createDeepLink()
       .setDestination(R.id.android)
       .setArguments(args)
       .createPendingIntent();
  • One can also provide Implicit Deep Links to redirect a URL to a particular destination of the app with the help of <deepLink> tag as,
<fragment
   android:id="@+id/listingFragment"
   android:name="com.app.architecturalcomponents.fragments.ListingFragment"
   android:label="Listing Fragment">
   <deepLink app:uri="www.example.com/{myarg}" />
</fragment>

Purpose or Use Cases of Navigation

  1. Fragment Transaction takes place asynchronously. Though it is generally a good thing, it might lead to a data race when another piece of code tries to read the state of the fragment, those painful IllegalStateException.
  2. Guidelines state that Deep Linked screen on back pressed will have to lead back to their previous logical screen. And one have to handle that manually.
  3. For android development company to test the android app gets much easier and simpler.
  4. arguments is much safer (save from refractor).
27
Dec
2017
Few points about Progressive Web Apps

To expand with web application or mobile application is the most common trend these days, as it is the fastest platform to correlate the users rapidly and even for users it is high time-saving as it is the one-stop solution, where varied kinds of stuff are obtained right at one location or website or click or mobile app.

progressive web apps

Build as Web, Act as App

Progressive Web Apps (PWAs) have swiftly embraced the web application market with its ability of quick execution on mobile devices and even streamlining in both online and offline mode. PWAs are implemented utilizing HTML, CSS, and JavaScript to make a level of ease of use and execution that is way faster than local versatile applications. They are highly responsive, take lesser information and storage space.

Google introduced PWAs for those enterprises who have a responsive web app and want that their end users get feel alike Native apps (that too without developing the mobile application).

Huge players namely – Flipkart Lite, Olacabs, Snapdeal, Makemytrip, Aliexpress, Alibaba, Trivago, Jumia, Redmart, Goibibo and much more already adapted PWAs and found major changes in their conversion rate, bounce rate, new customer acquisition, user-generated ad revenue, page load speed, impressions per visit, average user session length, completion rate, pages per session.

Outcomes of PWAs acceptance are very profitable with mind blowing boost to the existing web application.

Technologies for Progressive Web App Development

To build your PWA, two main building blocks which you should add in your application are:

  1. A web app manifest file
  2. Service-worker file

Technologies for PWA Development

1. Web App manifest File

Mainly, the web app manifest file is JSON file that contains the data like name, short name, icon, background-colour, start_url of PWA. The web app manifest file is to provide information about web applications. That means the browsers detect the data information for how to display your application when it’s saved as Shortcut to Homescreen.

This “manifest.json” file is linked to theof your site.

2. The Service Worker

The service worker is JavaScript file which react in background process and perform few tasks like,

  • Check the network availability and display some response according to the network state which is no network or/ network connection available
  • Rendering Push notification
  • Add application data into the browser cache when online and get that data when offline

The service worker is automatically installed in the browser and it is independent of the application and run in some event like push notifications, connection changes, network availability or more. Firstly, need to register the service worker to keep active and get some response.

When the user first time loads the page, the service worker “install” event triggers. At that time all the static assets are stored in browser cache. In the service worker “activate” event, the service worker update when is there any changes in app shell and in the last “fetch” event, if is there any cache assets are available in the browser that catches to serve the app shell.

Straining for restraint

There are more users to use PWA in different types of the mobile browsers, so at times it is more complex to maintain the records of all browsing and visiting users. This can be overcome with new updates and brainstorming well before Progress Web App Development.

To Build a simple Progressive Web App

For building the demo structure of first PWA, I developed first one as WeatherInfo from the refrence url is https://developers.google.com/web/progressive-web-apps/

After the successful implementation, I am now developing PWA about news information for which steps are as mentioned below with a brief:

First, create an index.html file and add the manifest.json into the head tag of your site. Now add the given code in web app manifest file,

manifest.json

{
  "name": "news",
  "short_name": "news",
  "icons": [{
    "src": "images/icons/icon-128x128.png", \\ something is your directory path
      "sizes": "128x128",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-144x144.png", \\ something is your directory path
      "sizes": "144x144",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-152x152.png", \\ something is your directory path
      "sizes": "152x152",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-192x192.png", \\ something is your directory path
      "sizes": "192x192",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-256x256.png", \\ something is your directory path
      "sizes": "256x256",
      "type": "image/png"
    }],
  "start_url": "index.html",
  "display": "standalone",
  "background_color": "#3E4EB8",
  "theme_color": "#2F3BA2"
}

As shown above, the JSON data like name, icon, display, start_url are defined in the manifest file and are retrieved when the web application is saved as a shortcut to Home Screen.

After adding the web app manifest file, now need to add service worker file in the application which is more important to build the PWA. First of all, need to register the service-worker in the browser. For that, add the below-mentioned steps in the app.js file:

if ('serviceWorker' in navigator) {
        navigator.serviceWorker
                .register('./sw.js')
                .then(function () {
                    console.log('Your SW Registered');
                });
    }

After that need to install and activate the service worker in the browser, so add the given code to the service worker file:

sw.js

/* For install the service worker */
self.addEventListener('install', function (e) {
    console.log('Install SW');
    e.waitUntil(
            caches.open(newsCache).then(function (cache) {
        console.log('Caching app shell');
        return cache.addAll(newsfiles);
    })
            );
});
 
/* For activate the service worker */
self.addEventListener('activate', function (e) {
    console.log('[ServiceWorker] Activate');
    e.waitUntil(
            caches.keys().then(function (keyList) {
        return Promise.all(keyList.map(function (key) {
            if (key !== newsCache) {
                console.log('[ServiceWorker] Removing old cache', key);
                return caches.delete(key);
            }
        }));
    })
            );
    return self.clients.claim();
});

Here, newsfiles variable comprises of files like HTML, JavaScript, CSS which developer wants to cache. Here, NewsCache represents the name of the cache store in the browser.

Now, the App Shell is the simplest design pattern in which initially an app UI is loaded and then after the app content is loaded. when the app UI is loaded, immediately the design is store locally. Later on, after some time to run the app, the Shell files are loaded from the local storage and at that time app is loaded quicker compared to the initially loaded ones.

After that, developer requires to fetch the all data content from the cache, when the network status is offline. So, for it includes some fetch function content into the service worker file itself.

self.addEventListener('fetch', function (event) {
    event.respondWith(
            caches.match(event.request)
            .then(function (response) {
                return response || fetch(event.request);
            })
            );
});

offline.js

Firstly, we required checking whether the network connection is available or not. For that progressive web developer need to add the simple offline.js file to verify the internet connection. To be precise, this file is defined at the end of the body of the index.html file.

(function () {
    'use strict';
    window.addEventListener('online', function (e) {
      //  document.querySelector('.add').removeAttribute('hidden');
        console.log("You are online");
    }, false);
    window.addEventListener('offline', function (e) {
       // document.querySelector('.add').setAttribute('hidden', true);
        console.log("You are offline");
    }, false);
 
    // Check if the user is connected.
    if (navigator.onLine) {
        console.log("You are online before app loaded");
    } else {
        // Show offline message
        console.log("You are offline before page load");
    }
})();

Now in the demo newsinfo application, the News data is retrieved from the Rest API which is in JSON string formation. In the first step, when the app is loaded, News data is stored in browser’s local storage. Then, News data is separated in card template and when one clicks on any particular newsinfo card, it displays complete information about that News like Title, Description, Created Date, various types of News along with visual information like images, videos, etc.

If offline mode is enabled then it triggers fetch event and returns the data from the cache, if network request fails. In this PWA including some features like adding fresh News data into the given Rest API in online mode.

Benefits of Embracing PWA

Core advantage of PWA is no need to install a mobile application from the App Store but still have the feel and experience like a mobile apps – so less space consumption and lighting loading speed similar to AMP (if integrated). Apart by, it runs and loads in both – online and offline mode, so internet is never an obstruction to load the information and for the enterprises to stay constantly in connection. Progressive Web App is usually installable apps not from app-store apps but as background operating functionality with service worker, faster load time with App Shell and put in Home Screen icon with the manifest also engaging Push Notifications and also easily Searchable in any search engines.

07
Sep
2017
iOS 11 Features exceed all Expectations

In the most anticipated event, Worldwide Developers Conference (WWDC), Tim Cook – Apple CEO announced the next generation version of iOS – iOS 11. Just like with every new version, Apple amazes crowd with outstanding new updates, similarly, with iOS 11 Apple came up with inventive design changes in major elements throughout operating system.

Undoubtedly, iPhone 8 will be preloaded with iOS11, also free update will be available for existing iPhone 5s and newer, iPad mini 2 and later, iPad Air and later and all iPad Pro models and iPod touch 6th generation. Public Beta version of iOS 11 is already launched for iOS Development Company and their iPhone and iPad developers in July this year. Have a brief look on updates and features you will receive in your iPhones and iPads on updating to iOS 11.

ios11 banner

Personal Assistant – Siri
World’s famous intelligent assistant Siri can now help in translating English phrases into Chinese, French, German and Italian. Like Hotel room in Rome? Tell your host. “È fantastico”. As per recently read information on Safari, Siri suggests relative searches. Also, Siri asks you to add to calendar (for remainder) your booked flight or confirmed appointment. Setting app now has unified Siri and Search settings with option of toggling on/off Siri suggestion on each iPhone or iPad application.

Augmented Reality
Get significantly alluring and fluid experience with Augmented Reality in games and other apps which bring app beyond reality. Augment Reality blends digital objects with scene around users.

Apple Music
What if music volume in different rooms and speakers can be controlled by iPhone? Yes, it is possible with AirPlay 2. One can also opt the song to be played in which room. Apple Music let one discover new songs with help of friends and Apple Music is wise enough to know user’s music taste and suggest accordingly. Siri even answers relevant questions to music. Left and Right Airpods settings can be modified individually with separate double tapped gestures.

Drag n Drop
Tap and hold with a finger to DRAG text, links, photos, files, and others and DROP it in an adjacent app in Split View mode in iPad display. Even other finger can be used to access Dock or Home screen to open another app.

Dock and App Store
Dock in iPads now can be open by just swiping up from any screen. Easy to switch amongst apps, also Dock can be customized by adding needful apps in it by just dragging and dropping. Discover daily stories, a list of all types of apps with separate Games tab with new redesigned App Store.

QuickType Keyboard
Keyboards have become smarter with quicktype stickers and smileys. Also, Siri helps in typing by suggesting words. iPads use downward swipe – Flick, to type characters which were earlier typed with Shift key. Click on one-handed keyboard to shift all keys to the left or right to type easily with just thumb.

Apple Pencil
For iPad Pro models, Apple Pencil support has been expanded with features – Instant Markup to markup quickly in any PDF or screenshot. Tap apple pencil on the lock screen to open Notes app and start scripting notes. Send Mail messages or Save Notes with informative graphics by inking it with Inline Drawing.

Control Centre and App Switcher
iOS 11 let user customize the Control Centre based on their requirements. Refurbished App Switcher now has a quick access to Split view and Slide over apps and also it displays Dock and a tiled view op apps open or most recently used.

control centre

Camera
Snap amazing photos with professional quality filters of camera and with depth of field effect alike DSLR camera. Live photos are more expressive with Loop, Bounce and Long Exposure options. GIFs are only played when opened not in the display of the file. Photos and videos will occupy less space on iCloud due to iOS 11 HEVC and HEIF formats. Camera also detects QR Code and will smartly open the corresponding app.

Multitasking
Editing a photo and chatting along too was just hallucination until the coming of multitasking feature. With Multitask, open a second from Dock while simultaneously working on first and both apps remain active in Slide Over and Split View. To remove any app slide it to left, need not worry it is still sorted in App Spaces of App Switcher.

Scan & Edit
Scan the document and edit it or save it or share it. Smart Notes recognize handwriting and look similar to typed content. It also helps in quick search of notes.

P2P Payment
Electronic money transfer became rapid with Apple Pay, but in iOS 11 Apple Pay also supports peer-to-peer(P2P) payments through iMessage app. For transaction authentication, Touch ID is used. Receive/ send money to your contact friends in just click. Quick Secured Transactions. Also messages can be send with different screen effects to highlight it accordingly.

Safe Driving
Do Not Disturb mode is activated while driving, as iPhone senses the movement and the people trying to reach you will be sent a notification that you are driving. No distraction while driving. Safe Drive.

Other

  • If an app is not in use for a long time, then it gets uninstall automatically but its relative data is kept as backup.
  • Images, videos and other documents can be organized collectively in File format.
  • iOS 11 has built-in Screen Capture and Recording Click on toggle switch in Control Centre and capturing will start.
  • Maps not only for outdoor location but also for indoor for malls, commercial buildings etc to know location of stores on each floor and to guide the path to it.

It is hard to wait but it will be worthwhile. Expected launch is in September 2017, when Apple is completing 10 years of its first smart device launch. To implement such features in iPhone or iPad applications, developers and iOS app Development Company requires Xcode 9.

01
Sep
2017
What’s new in Android Wear 2.0

Tradition that watches just tick tock time updates are far way older, now with booming penetration of Wearable technology and that too specially Fitbits and Smart Watches, wearable application development got new wings to evolve the market with a bright enterprise engaging future.

Android wear

To know the steps you walk or calories you burn or to send a message to a friend or to receive a call or weather forecasting update all are possible through wrist band or watch. Alike smartphones, users can stay more interactive with smart watches to perform their daily tasks through touch or just voice assistants. Android Wear and Mobile phones are interconnected via Bluetooth.

Apple watches are always into buzz since years, but Android watches are also not back these days. Google with each update continuously endeavors to come up with new functionalities that bring up a new trend in Wearable Technology and boosts the acceptance rates.

New in Android Wear 2.0

Google’s recently released a new Android Wear update which brings more watch faces, an on-watch version of the Google Play Store, interactive messages and the new Google Assistant to wrist. More updates for Android Wearable app Development companies and users comprise of:

Adapting Material Design Concept

The material design concept is mainly optimised in Wear watches for redesigning the app launcher and making it reconcilable with round screens. Say no to left and right swipe to search apps, simply push side button and the slight arc will be displayed.

material-design

Hold and drag favourite apps to make it visible first. New context specific action drawer is also added in new Wear update. Menus are much accessible with rotational input. It is highly recommended to follow the norms of Material Design for outstanding Look ‘n’ Feel.

Voice Actions

Smartwatches got smarter with Google Assistant feature added in it. Your Voice Assistant (Google Assistant) finds the answers to your questions and reverts back accordingly.

Android Wear 2.0 - Voice Assistant

Hold down standby button and say “OK Google” and let google assistant perform your desired task on watch. Get answers or search a way to the library or else in English and German language on Android wear by mere voice assistance. Expectedly, soon other languages will also be available.

Standalone Apps and Play Store

To access the watch app it was necessary to connect it to the mobile phone, but it is all older now. Android Wear 2.0 brought phenomenal change to Wearable ecosystem with Standalone apps. Standalone apps are where a user can download the wearable apps right from the play store in watch and no need to download it in the phone and then sync it.

playstore

Security is always a worrying factor in such purposes, but Standalone apps are highly secured as they connect to Wi-Fi. For it, watches use secure transfer authentication data via the Wearable Data Layer API – username and password.

Read and Respond

To send messages from small screens is tough, isn’t it? So, Google announced an update where a message can be typed by swiping through the small keyboard. Google offers it native keyboards and also allow third-party keyboard apps for alternatives.

And that’s not all. Quickly read messages from notification and discreetly respond it by dictating, typing or handwriting your answer, or drawing an emoji. Intelligent and instant suggestion for response is also available with Smart Reply. Social apps like Facebook Messenger, Glide, Google Messenger, Hangouts, Telegram or WhatsApp already updated it for smartwatches.

Google Fit

Fitness lovers can now get precise results of workout, calories burned, and distance walked or cycled or run, or exact heart beats rate with new update. Also, it can measure counts or sets of weight-lifting reps, in addition to push-ups, sit-ups and squats. Tune into apps, Google Play Music, calls and messages right from watches while workout.

fitness

For working out with Music, make a playlist in music service like Spotify and play it straight from Wearable Homescreen – no need of the smart phone. If the watch is connected to a cellular network, then calling and messaging functionality are also available.

Android Pay

Google eventually started matching steps with Apple. Google powered Android Wear version 2.0 with Android Pay feature. Pay directly from wrist. Store the card details and tap the watch to pay the amount.

material-design

To enjoy contactless payments, it is mandatory that Android smartwatch comprises of NFC technology and is updated to latest Android Wear 2.0. It is essential to have Android Pay app in the mobile phone.

API integrations and upgradations

For developers, Google came up with new APIs and SDKs to integrate into application development to make apps more effective, swift and secure and to add on more advanced features in it.

Maps Navigation

Alike, Google Map Navigation in Mobile, your watch also redirects the map location and help to reach the desired destination along with its related information.

map-navigation

Click google maps or command through voice to open, and enter the destination and mode of transportation and press navigate button. Google Maps card will appear and will navigate the path to the destination. No need to open the open to check the direction, Android watch will guide you.

Notifications

Google notification cards disguised watch faces earlier, but not notification work bit differently. Now, it will show smaller icons instead of huge messages with a progress bar on bottom display to show left over cards in the stack.

notification

Swipe up to view the notification clearly. Also, the text colour combination of notification cards is changed. It is featured accordingly that it changes with light and dark background to save battery life and dwindle the invasion of bright notifications.

Many of the smart watches are already updated with Android Wear 2.0 while few of them are still waiting to receive the relevant updates and functionalities. But all the existing watches will not receive Android Wear 2.0 update. Watch manufacturing companies are also striving for Android Watch app development compatible to latest version updates.

Upcoming Android Watches in 2017

Though watches of manufacturers like Asus, Casio, Fossil, Huawei, LG, Michael Kors,   Motorola (Lenovo), New Balance, Nixon, Polar, Sony, Tag Heuer are already in market, with each of them with unique functionalities and elegant look, new watches are also adding up to the competition and to class up your wrist with features enhancements.

Below mentioned manufacturers announced upcoming of their Android Wear 2.0 watches at biggest watches Event – Baselworld 2017:

Android watches new

Future of Android Wear

Akin smartphones, smart watches market is persistently growing, leaving back stable monetary and engaging benefits to enterprises. Days are not away when big brands like Nike, Reebok, Adidas will create products compatible with android wearable app development. Hype amongst the users can be created through it regarding new launching product.

Bluetooth, Wi-Fi, NFC compatible watches are already in market, sooner or later new watches will come with more advanced functionalities and technologies with enough storage to aggregate data which will ease the routine lifestyle and may lessen the usage of smartphones.

20
Feb
2017
How to be Profitable with iOS Apps Development

Because iOS is the most popular platform today, more and more software and mobile app developers are developing apps for the platform. The key to succeed in this endeavor is to find a niche or an ongoing trend and of course plenty of research on the web.

Over the years, the mobile market has grown considerably and experts predicted continued growth of the market. The usage of mobile internet surpassed desktops in the year 2014 and eight percent of web users have smart phones. With these impressive numbers, it is no wonder why popular and reliable companies all over the world are trying to get a piece of the modern day gold rush.

Profitable with iOS apps development

Among the platforms today, the iPhone or iOS platform is the most popular. That is why many mobile app developers are engaging into developing applications for the iOS platform to be more profitable. The following are some tips on how to be profitable with developing apps for iOS.

  • Find a niche or an ongoing trend. Make use of all the freely-accessible information on the web. Make sure to check what is selling at present and open iTunes and check out what applications are in every category of the app store in the top 100. Look at what’s selling and if you think there are still some dollars for another app of the kind, then it is safe to go ahead with it.
  • More work does not always mean more profit. There are really niches that are big in the market, but it does not always mean that the more work a developer puts into the project, the more profitable it will be. It is important to get to know the competition and make sure they do not have a great advantage in terms of sales.
  • Make sure the app is not existing already. This is probably the very first and most common mistakes that developers do. If an idea comes to mind, considering opening iTunes and spend fifteen minutes to do research.
  • Name it correctly. Most likely, the most difficult task is to come up with a reasonable or catchy name. It should be unique and should say what the application is all about within one or three words. Furthermore, it should be international. Search everything with Google first.
  • Two seconds is what it takes to turn a visitor into a customer. Most iTunes visitor or the app website will have made up their minds whether to buy or not after the first couple of seconds. Visitors could stay longer on the site, browse around even to check out testimonials, but would rarely change their minds after the first decision. The most valuable marketing assets are the app name and icon since there are what the visitors will see first. Consider highlighting all the great features in the app description. If the icon is catchy, the screenshots should be too since these are the next things that people will look at.
  • Avoid an over complicated app. Never make users feel or even worse pay as if they were using a rocket. This is because there are a lot of apps out there and if the users are challenged or become uncomfortable, they will just look for another at a minimal price.
  • Use a framework and do not invent the wheel. The thing is the effort that is put into an application and whether a developer could spend less time and get better quality at the same time. There are many frameworks around, some are supported commercially yet still free to use and some are community developed which still provides plenty of opportunities for troubles in forums.
  • Decide on a business model before proceeding to work. Before putting any time on designing an icon, hiring freelance copywriters, coding and more, make sure to know what the business model would be. Furthermore, make sure to feel comfortable with it and the app should have a realistic possibility to provide some income.
  • Avoid using valuable time on a dead cat. Almost all applications have the same sales graph. Release, then quite for a few days and skyrocket and sink slowly towards a plateau near the bottom. There are numerous tricks to make the sales’ peak unload more applications. Once it hits the bottom, it would never be a hit application anymore.
  • Make fuss about the app. Do not rush into selling. Make friends, family and colleagues know you are releasing an application for the iPhone. Make sure to follow them up when the app is released.
17
Aug
2016
Boost customer service through mCommerce

To improve customer service, retain new customers and engage existing ones, a business must embrace the mobile trend. These days, shoppers no longer use a single device or platform for purchasing decisions. As a matter of fact, mCommerce is one of the biggest drivers behind eCommerce sales.