12
May
2017

App Extensions: Fascinating way to interact with Apps

Apple always succeeded to accomplish the expectations of users and developers with every iOS update. Updates in iOS 8 to iOS 10 surely resulted in fruitful results. Apart from the extended updates in Apple Pay, Maps, iTunes, etc., Apple came up with the outstanding open platform for the developers called APP EXTENSION.

App extension is small programming concept that on integrating, enhances the functionality of an application. By this, the user can have easy access throughout the app with an outstanding experience. There are numerous app extensions in iOS, mainly used to ease and enhance the performance experience.

Have a quick look on few finest app extensions, normally used in daily life:

TODAY – Glance of Updates

today_glance_updates

App, integrated with Today App Extension, show widgets in Today View of the Notification Center, displaying fast updates or enabling transient task. Today extension is capable of showing information such as updates of shipping delivery, breaking stories, live sports score, step counts and much more.

Precisely, one can view important feeds without opening the particular app. In this app extension, only the feeds of those apps are visible which are sorted by the users. By upcoming of app extension in mobile technology, mobile app development and especially iphone app development has a rage of developing new trends

Below is the snippet which displays the basic implementation of the Today App Extension in the app.

import UIKit

import NotificationCenter
 
class TodayViewController: UIViewController, NCWidgetProviding {
 
    @IBOutlet weak var lblTimer: UILabel!
    private var timer: Timer?
    var count = 0
    override func viewDidLoad() {
        super.viewDidLoad()
        lblTimer.text = "\(count)"
        // Do any additional setup after loading the view from its nib.
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
 
    func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) {
        // Perform any setup necessary in order to update the view.
 
        // If an error is encountered, use NCUpdateResult.Failed
        // If there's no update required, use NCUpdateResult.NoData
        // If there's an update, use NCUpdateResult.NewData
        lblTimer.text = "\(count)"
        completionHandler(NCUpdateResult.newData)
    }
    @IBAction func btnStartClicked(_ sender: Any) {
        count = 0
        timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(handleMyFunction), userInfo: nil, repeats: true)
    }
 
    @IBAction func btnStopClicked(_ sender: Any) {
        guard timer != nil else { return }
        timer?.invalidate()
        timer = nil
        count = 0
        lblTimer.text = "\(count)"
    }
 
    @objc func handleMyFunction() {
        count = count + 1
        lblTimer.text = "\(count)"
    }
 
}

iMESSAGE – Interact with app directly within Message

iMESSAGE-Interact-with-app-directly-within-Message

iMessage extension – instant messaging is plugged in for the enhancement of the messaging app features. With iMessage, the user can express themselves in new ways, share theirs snaps and clips and also reach location faster with proactive suggestions in maps. Also, iMessage adds up the value while letting user share images with emoticons, stickers and comments.

Moreover, a user can also share their recent activities or can share with their friends their likely products from online shopping (if the iMessage functionality is plug in the app). With its integration, the interface becomes more lively and user-friendly. Briefly, users need not to leave their conversations to edit a photo, play a game and make payments and much more.

CUSTOM KEYBOARD – Tap Keyboard to swap it

CUSTOM-KEYBOARD-Tap-Keyboard-to-swap-it-2

Replace the ordinary keyboard with the custom keyboard in the app. The user can simply tap on the keyboard to switch the keyboard and can utilize functionality which are associated with the custom keyboard integrated apps. Right from transferring money to sending mood stickers can be done from custom keyboards.

Rather than switching between apps, simply tap and swap the keyboard to perform the task.

SIRIKIT – Voice Assistant

Siri supports Intents and Intents UI which helps to assist communication between app and system. Siri basically handles responds on almost all natural languages. The spoken requests are handled by intent object, while the interactions are handled by Intent extension. To manage the complete process Sirikit App Extensions are implemented to perform the request response process.

Just a command “Hey Siri” to activate Siri and your demands are fulfilled by just your voice.

Siri support can be extended by texting, photo search, ride booking, personal payments, opening apps and many more. So far Sirikit app extension is used for following purposes:

  1. To book a cab from particular app for any location. (“Hey Siri, Book a ride to JFK via MyCabApp”)
  2. To send message to a person using particular App (“Hey Siri, Send a text to Caramel using WhatsApp”)
  3. To search for the specific photo/videos or to play video or slideshow (“Hey Siri, Look for baby photos taken last morning in MyPhotosApp”)
  4. To make a call. (“Hey Siri, call Stephew from MyVOIPApp”)
  5. To do payments (“Hey Siri, send $1000 to Mark using PayApp”)
  6. To set climate, radio and workout schedule. (“Hey Siri, set heater to 50 degrees”)

Time back, to view quick updates on the Today Screen, to send money in few tapes or to express feelings in style you desire was just a nightmare, but the coming of app extensions such features are easily available in the app, makes an app lively and interactive.