Friday, June 20, 2014

Deep Linking Between Apps

Apple recently released an SDK for iOS 8 with over 4,000 APIs. During the WWDC keynote, Extensibility was briefly mentioned. Extensibility allows apps to share services with other apps, interact with Notification Center, and develop custom keyboards. I recently wrote an article about deep linking between apps, in response to an article published in InformationWeek. Extensibility reminded me of the timely nature of this InformationWeek article, I wanted to share it on my blog. This article does not focus on Extensibility in iOS 8, but some of my thoughts about the business implications and technical concerns of deep linking between mobile apps.

The current state of the web uses links to enable ad networks and affiliate programs to build large networks, which route paid traffic on the web. For instance, links have enabled Google to build PageRank and show pages in results that are reputable, important, and relevant to users. Currently, mobile and tablet apps do not link to one another like content is link on the web. The author of the article believes this will change over the next 5 years, enabling the same large networks that currently exist on the web.

Starting in 2007, the first requirement was to build content. Developers have now produced over 2 million apps to date, with smartphone users spending 80% of their time in apps. Innovative app developers and strategic marketers are taking advantage of the app ecosystem, by using deep links in marketing channels that send users directly to specific pages in within their app, which drives engagement and higher modes of monetization.

In theory, deep linking makes sense based on the structure of the web, as it exists today. Content is connected together in a logical sense, so users can find and use information in a constructive manner. Layout and user interface design are typically a focus when creating a successful web presence. If apps behave the same way, marketers could take advantage of mobile platforms in a similar fashion. Certain platforms, such as iOS, are providing a similar deep linking functionality with built-in features.

With the increase in mobile platforms, marketers are already using it for several functions including advertising, sales, and promotions. Deep linking would enable businesses to embed sales and marketing functions on mobile platforms. A possible example might include a catalog app, which would connect and suggest products within the catalog app itself.  Another scenario could include in-app advertising, where a user clicks the ad and is brought to a specific section within the app. Deep linking could also leverage location-based technologies, such as iBeacon, to improve shopping experiences in brick-and-mortar retail environments.

Deep linking also has market research implications. If app developers are able to track activity within an app, and this information can be reviewed by marketers, they will better understand how their customer use technology/apps in order to make purchasing decisions. Essentially, deep linking could offer analytics very similar to what the web does today, in order to improve apps for end users by gathering demographic and usability information.

Security could be an issue when designing solutions using deep linking. iOS 7 does not allow apps to share information between each other, which is called application sandboxing. This build-in security is attractive to many corporate IT personnel, since it helps enable the separation of corporate and personal data an iOS device. If deep linking is an API option, which Extensibility allows for in iOS 8, developers can manipulate and code data to be shared between apps.  As a result, the approach to security on an iOS device might have to be recreated or reengineered. Apple has responded to this with Extensibility.


While deep linking has several business implications, there needs to be careful consideration in manufacturers’ approach to mobile device security.  

Moving Swiftly to iOS 8 & OS X Yosemite

Apple's Worldwide Developer Conference (WWDC) recently took place with several announcements regarding upcoming functionality in OS X Yosemite and iOS 8. During the conference keynote Craig Federighi, Apple's Senior VP of Software Engineering, announced and demonstrated several consumer and enterprise features. The keynote ended with a bang when Federighi asked the question, "What would it be like if we had the benefits of Objective-C, without the baggage of C?"
Swift, a new programming language for Cocoa and Cocoa Touch, promises to be modern, more interactive, safe, and perform faster than Objective-C and Python. Developers can take advantage of this new language now for their iOS 8 and OS X Yosemite apps, since Apple has already released it in Xcode 6 (beta). With Xcode having 14 million downloads, there are implications developers will make Swift part of their toolset. Developers with Objective-C skills will be able to take advantage of Swift quickly, since it has the same runtime, LLVM complier, and optimizer as Objective-C. Essentially, Swift works alongside Objective-C, C, and Cocoa.
Apple has released a handy guide for developers to get started with Swift. In this guide, Apple explains why Swift is a type safe language, in that it uses optionals and type inference. Optionals handle the absence of a value and allows developers to be clear about the types of code they are working with. If there is an absence of a value, Swift uses type inference to determine the appropriate type. Type inference requires fewer type declarations than C or Objective-C, making it more efficient. As a result, faster performance seems to be a result of Swift's scripting-like abilities with the excessive code of other languages. Tuples adds another level of efficiency, allowing for multiple value groupings into a single compound value. Playground, a new Apple tool to write code, would be appealing to developers if they are interested in taking advantage of the interactive abilities of Swift, leveraging possibilities with new APIs. Chris Lattner demonstrated Playground at WWDC.
Swift and the new Apple tools certainly have implications for app development in iOS 8, especially in the enterprise. Apple announced new functionality for mobile device management (MDM) solutions for iOS 8 and OS X Yosemite management. TouchID API, document provider APIs, advanced content filtering APIs, and extensibility are a few items with implication for the enterprise announced at WWDC. The device passcode can now extend data encryption to Calendar, Contacts, Messages, Notes, and Reminders apps for increased security. As a result, developers can work with IT to create enterprise apps in harmony. With an adoption rate of over 95% in the Fortune 500, iOS devices and app development should be considered in not only enterprise, but healthcare, government, and small business organizations.
Enterprise mobility management (EMM) players, especially those in the latest Gartner Magic Quadrant for Enterprise Mobility Management Suites report, will be exploring, developing, and implementing new APIs in their solutions. New queries, new remote management UI, and ability to name devices remotely are a few of the new MDM functions available with iOS 8. Managed books and PDFs is another new MDM feature for iOS 8, which allows for remote content delivery. Many MDM vendors already have content management functionality in their solutions, it will be interested to see if the managed books and PDFs functionality inherent to iOS 8 will be adopted widely. These are just a few of the enterprise level management features available with iOS 8.
This article was originally posted on LinkedIn. Teri Grossheim will be speaking about Swift, HTML5, and developer resources for iOS with a tie into iOS app development for enterprise at Mobile+Web Devcon Chicago on July 16th.