Category Archives: Mobile App Development

VoIP Call Image

CallKit integration for VoIP Apps

Most of us by now are accustomed to using the services of a third-party provider to make VoIP calls over desktops, laptops, and smartphones. But making VoIP over Native iOS apps was never a convenient task. In-fact Apple has completely restricted the use of VoIP push for any kind of background processing from iOS-13. Earlier developers were using VoIP push for making call (audio/video) notifications or some other processing in the background. Apple took this decision to avoid the overbearing process that was happening in the background. It was not only leading to disproportionately high consumption of resources but also a significant drain of battery capacity.

A typical VoIP call usually comes as a notification on one’s screen, and in order to receive it, the user needs to slide the notification and also type a passcode to receive, if locked. Burdensome! Isn’t it? Especially if compared to how a native app eases the same experience.

The solution to this comes with CallKit, which is a framework that is capable of elevating your third party VoIP app experience to a very intuitive one. You get the same rich, full- screen native call UI to accept and attend the calls. Once a call is accepted you also get a “Callback “option to initiate the same function (WebRTC) which you have used earlier. You can also set custom ringtones for your app that would be different from native calls ringtone.

VoIP Image1

VoIP Image2

Besides, if you are on a call in your app and you start getting native calls, you will be able to hold and swap the calls. It could be an audio call, facetime call or even another VoIP call. Even your call history will be stored in the call directory (missed, received, dialed calls and add in favorites). You can also make the call from Siri, Bluetooth and access the “Do not disturb” functionality.

VoIP Artitecture

……………………………………………………………………………………………………

The views and opinions expressed in this article are those of the author. To know more about our company, please click on Mindfire Solutions.  For over 20+ years now, we have been the preferred Software Development Partner of over 1000+ Small and Medium-sized enterprises across the globe.

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Swift 5 Vs ObjC

Is Swift the Objective Choice now?

‘Swift Vs Objective-C’– It is one of the first Google searches every iOS developer does before beginning their journey into the world of app development. At a broader level, choosing between Objective-C and Swift is also one of the fundamental and crucial decisions every business makes before beginning any iOS app development work.

So if the question is Swift or Objective-C? The answer cannot be in binary. If you have an existing application already written in Objective-C, then you can weigh the benefits of switching over to Swift vs sticking to Objective-C. However, if you are planning a new app, then Swift should be your default choice.

Why so? Well, read on to know…

……………………………………………………………………………………………………

The Story so far

Apple launched a new programming language called Swift in WWDC in October 2014. It came as a surprise to every developer as it was intended to replace Objective-C as the main programming language on Apple’s platforms, which by all means was stable, proven and had been around for more than two decades, powering millions of apps.

The goal was far-sighted. Swift was designed to be safer, faster, and easier to maintain. Though initially built for Apple platforms, it was aimed to be able to support all platforms. Before becoming Open Source, Swift was designed ground up by Apple using decades of Objective-C experience adding a modern touch derived from the latest programming trends and good practices. It was designed to have all the goodness of a modern-day programming language. Though a descendant of Objective-C, it is fundamentally different in terms of design, syntax, programming style and memory management.

But replacing a decades’ long programming language with a new one cannot be an overnight affair. There were thousands of libraries and hundreds of frameworks already written and working with Objective-C, as they were supposed to. Rewriting them using an infant language did not seem logical. Thus, Objective-C runtime continues to access Apple platform frameworks like UIKit, WatchKit, and AppKit. And Swift has the capability to interface seamlessly and work on top of it.

From the very beginning, Swift is fully compatible with Objective-C, as it should be. Both languages can still co-exist on all Apple platforms. And Apple isn’t likely to change this in the foreseeable future unless it has any strong reason to do that.

Support for interactive programming using Playground enables developers to test their idea live without building and running applications.

In terms of programming capabilities and flexibility, Swift has a lot to offer. Its functional programming style, and strongly typed language makes it impossible to have run time crashes resulting from out-of-bound or type-related issues. It has features like closures, tuples, generics, Structs and enums supporting methods, extensions and protocols, computed properties, powerful extensions, and the list just goes on…

Design-wise factors such as safety, readability, code size, less error-prone, efficient and fast iteration over collections, and other platform support make Swift fundamentally better than Objective-C.

……………………………………………………………………………………………………

Why Objective-C then?

Despite being so much powerful, Swift lacked just one thing that triggered Swift vs Objective-C debate, and that is ‘Maturity’. In the earlier years, deciding between Swift and Objective-C was like choosing between a fledgling with a lot of promise and a veteran with proven credentials.

Those who had rushed to develop production apps using Swift version 1 & 2, had to refactor the whole codebase, or just rewrite it again. It wasn’t matured, evolving rapidly, and syntaxes were completely changing in the early iterations. Hence, it was difficult to maintain Swift Apps compared to Objective-C, which was matured, trusted and possessed a huge developer base.

However, after Swift3, syntaxes became relatively stable and some minor refactoring that was needed was taken care of by the Xcode itself. And then Swift4 seemed to be more stable in terms of design and syntaxes, but, it still lacked ABI stability. Then came Swift 5.

 ……………………………………………………………………………………………………

What makes Swift 5 different?

So far, every version of Swift has been better than earlier. But what makes Swift5 so special is ABI stability.

Starting with version 4.2, Swift codes from one version have been compatible with another. However, the application binary, which can be considered as the machine level code for the sake of this argument, wasn’t compatible with that from a different version of Swift. That is, Swift wasn’t ABI stable until recently before version 5 was launched.

With Swift now being ABI stable for all Apple platforms like iOS, WatchOS, macOS and tvOS, all future versions of Swift including Swift5 will be compatible with each other at the binary level. True that Swift will continue to evolve in future releases, but the application written in the current version of Swift will no longer need to be refactored or rewritten to be able to support future versions of OS. In fact, libraries written now will seamlessly coexist and communicate at the binary level with code written in future versions of Swift and vice versa. And the reduction in app size is the immediate benefit it provides to the users now.

……………………………………………………………………………………………………

Conclusion

True Objective-C is here to stay. There are millions of applications already running using this. But, it isn’t getting any major updates, most of the updates are just to make it compatible with Swift. As a language, Swift is way superior. And above all, developers with expertise in Objective-C and practicing it will dwindle in years to come.

……………………………………………………………………………………………………

If you have any queries in this field, talk to Mindfire Solutions. For over 20+ years now, we have been the preferred Software Development Partner of over 1000+ Small and Medium-sized enterprises across the globe.

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Face ID vs Touch ID

Face ID vs Touch ID

In 2013, Apple introduced iPhone 5S with a new finger print recognition system –Touch ID. Apple subsequently made Touch ID available on iPad Air 2 in 2015. Hence, all iPhone launched model since 2013 and all iPad models launched since 2015 feature Touch ID. Touch ID is designed to scan, read, and recognize fingerprint through a fingerprint sensor embedded into the Home button. While using his iPhone or iPad, a user can take advantage of Touch ID to unlock his device, authenticate Apple Pay payments, and purchase digital content simply by touching the home button. Continue reading Face ID vs Touch ID

Spread the love
  • 4
  • 2
  •  
  •  
  •  
  • 1
  •  
  •  
  •  
    7
    Shares

New Features and Enhancements in iOS 11.1

New Features and Enhancements in iOS 11.1
New Features and Enhancements in iOS 11.1

Apple unveiled iOS 11 at its Worldwide Developer Conference 2017. It subsequently rolled out iOS 11 officially in September for iOS, iPad, and iPod Touch. In addition to providing a number of new features and enhancements, the 11th edition of iOS also facilitates multitasking. It even comes with an upgraded Siri with the capability to translate the same sentences into multiple languages without any error. At the same time, the version 11 of Apple’s mobile operating system also brings augmented reality (AR) to iPhone and iPad through a new framework called ARKit. Apple subsequently rolled out several beta versions of iOS 11.1 for testing and evaluation. The company recently rolled iOS 11.1 as a major iOS 11 update. The version 11.1 of iOS comes with several new features, enhancements and bug fixes, along with 70 new emojis.

Overview of New Features and Enhancements in iOS 11.1

Improved Photos

The version 11.1 of iOS resolves some of the problems related to photo apps caused by iOS 11. It resolves the issues that made certain photos appear blurred and slowed down playback effect of Live Photo. Likewise, iOS 11.1 also resolves the issues that impact performance when a user swipes screen shots. It even comes with fixes for an issue that prevented the photos display as part of People album while being restored from the iCloud Backup.

Refined Accessibility Features

IOS 11 comes with several enhancements to improve accessibility of Apple devices. It even provides a number of new Accessibility functions including improved Braille support, improved VoiceOver rotor actions for announcing incoming notifications, and improved VoiceOver access to multi-page PDFs. Many users are expected to install iOS 11.1 to improve accessibility of their iPhones and iPads.

Enhanced Battery Life

Many Apple device users experienced battery problem after upgrading to iOS 11. The version 11.1 of the mobile operating system addresses and resolves the battery problem. It comes with enhancements to fix the battery problem caused by iOS 11. Hence, a user can easily extend the battery life of his device by upgrading to the major iOS 11 update.

Fixes for Key Reinstallation Attack (KRACK)

IOS 11.1 comes with fixes for a Wi-Fi vulnerability called Key Reinstallation Attack (CRACK). KRACK affects the security of iOS devices by cracking the widely used Wi-Fi standard –WPA2. WPA2 is used by most device manufacturers to protect Wi-Fi passwords. The updated version of iOS 11 comes with fixes for KRACK. Hence, users can easily enhance the security of their iPhones and iPads by installing iOS 11.1.

Restored 3D Touch App Switcher

After installing iOS 11 on their 3D touch equipped devices, users noticed the absence of 3D Touch App Switcher gesture. Apple intentionally removed the gesture during beta testing of iOS 11. It even released iOS 11 without implementing the 3D Touch App Switcher gesture. But Apple has restored 3D Touch App Switcher gesture with iOS 11.1. A user can avail the gesture on his 3D touch equipped device after installing iOS 11.1.

Changed Reachability Behavior

While using iOS 11, users lack the option to access Cover Sheet or Notification Center after enabling Reachability. IOS 11.1 allows users to access Cover Sheet even when Reachability is enabled. A user can access the Cover Sheet simply by swiping down from the top half of the screen. The Plus model users are expected to upgrade to iOS 11.1 to take advantage of the restored Cover Sheet access option.

Over 70 New Emoji Characters

Most mobile device users nowadays look for new and appealing emoji characters. IOS 11.1 enables users to avail over 70 new emoji characters. The new Apple emoji characters provided by the updated version of 11 includes expressive smiley faces, gender-neutral characters, mythical creatures, animals, food items and clothing options. The largest batch of emoji icons provided by iOS 11.1 will definitely appeal young users.

Multiple Emoji Suggestions

In addition to providing over 70 new emojis, iOS 11.1 further allows users to avail multiple emoji suggestions while using the QuickType keyboard in the Messages app. The updated QuickType keyboard displays and suggests multiple emoji characters at its end. Hence, it becomes easier for the user to pick and send the most relevant emoji characters almost instantaneously.

Several Bug Fixes

In addition to the new features and enhancements, iOS 11.1 also comes with a number of bug fixes. It comes with fixes for issues that caused cleared Mail notifications to reappear on Lock screen, affected movement of data between managed apps in an enterprise environment, and prevented the VoiceOver rotor to perform precisely. At the same time, iOS 11.1 also comes with a number of bug fixes related to Apple Watch app notifications.

Apple enables users to install and update iOS 11.1 by sending automatic notifications. A user even has option to upgrade to iOS 11.1 manually. But the size of the iOS 11 update differs from one device to another. Also, Apple has already started testing iOS 11.2. It has made first beta of iOS 11.2 available to select iOS app developers for testing and evaluation. Hence, there are chances that many users may update to iOS 11.2 directly instead of installing iOS 11.1.

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Gearing up for an “App”y Shopping

On Monday when I tried to open Myntra website on my laptop, I was in for a big surprise. In bold letters it said,

DOWNLOAD THE MYNTRA APP NOW
Your choice. Your taste. Your style.
All on your most personal device.

Obviously, I hadn’t followed up on the news and was oblivious to the fact that Myntra had shut down its website on 15th May 2015 and became an App only platform. It is rumored that Flipkart the parent company of Myntra would also follow suit in almost a year. Buoyed by the fact that almost 95% of the traffic at Myntra takes the mobile route and mobile commerce contributes to 70% of their sales, Myntra is all set for the metamorphosis. Recent proliferation of smartphones and tablets (especially in tier II and III cities) and greater access to the internet via broadband, 3G, 4G etc helped build the foundation of an ever growing online consumer base in India.
According to a recent Morgan Stanley report, eCommerce penetration in India is set to grow from 9% in 2013 to 36% by 2020 and most of it being contributed by mobile users. Indeed, I remember, one of my friends was busy adding items to the shopping on a popular eCommerce site on his iPhone coz he would get X% discount more for shopping via the mobile app. Agreed, most of us are deal hunters and we swim with the current but who wouldn’t like a bit of a personalization. With eCommerce companies with a serious eCommerce mobile strategy, encouraging customers to download and use the mobile app, it certainly means that app only culture is in the offing. Only Myntra is the first eCommerce company in the world to implement this bold step.
Needless to say, shopping is a personal experience and Myntra is trying to cash in on this. However, personalizing this experience to a level that it is only available on your personal device could actually make or mar the profits of the company. Not all users are of the same composition. While some would feel irritated of the constant notifications indicated by a beeping handheld device, there would be others who would feel neglected with very few notifications. It all depends upon Myntra now to hold and keep its customers on its mobile because we all know that an app can be deleted with greater ease than what was required to download it. Also, there is a fine line that separates engagement from intrusion.
I have shopped on Myntra a good number of times in the past and I was happy with the experience. I may even download the app for now. But whether I will shop only from Myntra is a matter of “choice”. This is because I cannot change my shopping habit. I love to browse through various eCommerce sites when I look forward to buy something, compare prices, add items to the cart and depending upon the urgency, proceed to check out which could be from a handheld device in case I did not complete the action on my desktop.
What would be the repercussions of app only platform for eCommerce application developers. Well more work possibly; demand for flawless work undoubtedly, greater attention to incorporate better UI/UX into the app definitely and increasingly better career opportunities for mobile app developers. In fact if this step leads to success, Myntra will have a first mover advantage for sure but there will be many other eCommerce sites and boutique online shops that will follow suit with varying degrees of success.
I keep my fingers crossed. At this point of time I am left to wonder how relevant that small icon on my mobile phone would be in the times to come. Only time will tell…

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •