The Technical Side of Apple’s September 2014 Event: What Developers Should Know

Share on FacebookTweet about this on TwitterShare on LinkedIn

Share on FacebookTweet about this on TwitterShare on LinkedIn

Another summer has come and gone and many of us are looking forward to cooler weather, colorful leaves, students returning to class, and this year’s batch of shiny new toys from Apple. If you haven’t already heard (which might actually be the case due to unfortunate technical difficulties encountered while trying to watch the live stream of the event), Apple unveiled their new iPhone 6 models during their event on September 9. They also used the event as an opportunity to introduce an upcoming electronic payment service known as Apple Pay and a future wearable device named the Apple Watch.



New Features of iPhone 6 and Technical Impacts

The most obvious feature of the new iPhones are the expanded size, with the iPhone 6 screen measuring 4.7 inches and iPhone 6 plus measuring 5.5 inches. When the iPhone 5 was introduced, screen size grew from 3.5 inches to 4 inches, which presented problems for developers because interface layouts had always been developed for one dimension. Prior to the iPhone 5, developers only had to worry about including high resolution versions of graphical assets for retina displays because the layout spacing would remain the same between retina and non-retina devices. The 4 inch screen changed that, forcing developers to learn a new interface system known as Auto Layout, which moved away from the traditional springs and struts model to one which uses a mathematical description of the relationship between interface elements. This system provides much greater flexibility and allows interface designers to scale their interface gracefully between screen sizes and landscape/portrait orientations. Now with even greater screen size variability between iPhone and iPad models, as well as small-sized screens as seen on the upcoming Apple Watch, Auto Layout needed to evolve further to account for different device usability patterns that arise from using devices of widely varying size. The latest iteration of Auto Layout being released with Xcode 6 will feature the concepts of regular and compact screen sizing, which will allow developers to use one interface storyboard to layout the design for any screen size, whether the device is a iPhone, iPad, or watch. This will save quite a bit of time and reduce redundancy and potential for mistakes that could arise from trying to maintain multiple design storyboards.

The new iPhones contain the M8 motion coprocessor for tracking user activity via accelerometer, gyroscope, and compass like the earlier M7 generation chip, but adds a new barometric pressure sensor for tracking elevation changes at the hardware level. This chip has tremendous potential for developers to tap into motion for fitness, gaming, and physical activity. It remains to be seen just how sensitive the barometric pressure sensor is to environmental changes. Aviators often need to adjust their altimeters to account for changes in atmospheric pressure over time to avoid false readings, so it will be interesting to see how the sensor in the M8 chip accounts for this.

Another new hardware feature being introduced with the new iPhones is a short range wireless technology known as Near Field Communications (NFC). While not a new technology, this is the first time such hardware has been included in an Apple device and it opens up all sorts of possibilities for developers, assuming an API is provided with iOS. NFC has been used within competing devices to engage in all manner of transactions, data communication, and product scanning using radio-frequency identification (RFID) tags.

What Developers Should Know About Apple Pay

By taking advantage of the aforementioned NFC hardware aboard the new iPhones, Apple plans to finally introduce their implementation of an electronic wallet known as Apple Pay. The Passbook app has been included with iOS for some time now and has been used to store boarding passes, tickets, customer loyalty cards, and coupons. However, with Apple Pay, users will now be able to store credit cards and ATM cards as well. Cards can be stored in the Passbook app by either taking a picture of the card or by entering the information manually. It’s also worth mentioning that account information is not stored on the device but, rather, a unique device account number is stored cryptographically on a secure chip on the device. A transaction is made by picking up a wireless transmitter and scanning your fingerprint using the biometric scanner on the device. The device account number and a dynamic security code are used to process the payment. The idea behind this level of abstraction is to ensure that actual account numbers are never stored on external servers, such as those maintained by merchants or transaction processing entities. If the device is compromised, the device account numbers can be wiped using Find My iPhone without having to cancel credit card accounts .

While paying using a combination of Passbook, NFC, and the fingerprint scanner has been built in by Apple, developers will still be able to make use of Apple Pay within their own apps by offering an option to make a purchase using stored accounts through an API. This could greatly streamline the process of developing in-app payment systems and address the very real security concerns and restrictions related to the storing and transmission of user account information.

Some folks might not like the idea of using biometric data to conduct a financial transaction because the technology is still new and adoption for the technology seems slow. However, Apple is putting a lot of weight behind this technology rollout and has many banks already onboard along with many currently in negotiation. If a solid number of high profile apps incorporate Apple Pay and enough merchants offer NFC payment scanners at their locations, then mobile electronic payments may finally enter into the mainstream.

iOS Developers- Put Apple Watch on Your Radar

The final, and probably most anticipated announcement by Apple this year, was the introduction of a forthcoming wearable device called the Apple Watch. There isn’t much to go on at this point because the Apple Watch won’t be released until next year and the final product is subject to change, but one thing made clear is that developers will be able to develop for the device on some level through WatchKit development tools and APIs. It’s too early to tell exactly what type of apps developers can build or how reliant they might be on the auxiliary iPhone requirement to operate, but at a minimum developers will be able to customize app notifications and tap into device inputs like swipe gestures. It’s likely that watch-only apps will have limited utility and would most like be an extension of sorts to more fully featured apps targeted toward other iOS devices.

I see the biggest beneficiary of this device being the end user or consumer. Information can be made readily available in a highly succinct format, processed using various sensors onboard the device, and conveyed through sight, sound, or touch. Additionally, the watch will extend NFC payment functionality to devices such as the iPhone 5 and 5s that don’t have NFC antennas built in. From a development perspective, app designers will need to rethink their approach to take advantage of what the watch offers in terms of utility. By choosing one or two finite tasks that translate well to the platform, they can offer something compelling and quickly consumable in addition to their more fully featured iOS apps.

Although the new phones ship next week, the payment service and watch won’t be released any time soon, so details are few and technical specifications could change considerably before launch. It will be interesting to watch how consumers begin to adopt this new technology and what comes next.

Download our Mobile eBook

Share on FacebookTweet about this on TwitterShare on LinkedIn

About the Author

Geoff Bender began his programming career as a ColdFusion developer back in 2000 by writing and maintaining distance learning web applications for VCampus Corporation. He worked as a contractor to the General Services Administration (GSA) from 2001-2005 and redesigned several websites for the Chief Financial Officers Council, Chief Information Officers Council, and several other executive agencies for which he received recognition from the Executive Office of the President. From 2005-2007 he created energy analysis software for Pace Global Energy Services and Gazprom. Since 2007 he has worked as a senior ColdFusion developer for Segue Technologies on the Unites States Air Force's MPES project and has doubled as Segue's lead mobile developer for Apple's iOS platform. Read more from Geoff Bender