App Development with Swift

App Development with Swift

Since its debut in WWDC in 2014, Swift programming language has become one of the most sought-after skill for developers on the Apple platforms. As part of Everyone Can Code effort, Apple has released a new app development full-year curriculum called “App Development with Swift”. The course, comes as a free download ebook on the iBooks Store, is designed for those who want to pursue careers in iOS app development.

5 things Apple did not mention in WWDC 2017 keynote

5 things Apple did not mention in WWDC 2017 keynote

It was a jam packed WWDC 2017 keynote by Tim Cook and his team. Besides new version of iOS 11, macOS 10.13 High Sierra, watchOS 4 and tvOS 11, Apple also launches new update to iMac, MacBook and MacBook Pro, new iMac Pro, new 10.5” iPad Pro and new Siri-powered $349 smart speaker HomePod.

This WWDC also signals Apple’s inroad to being an AR (Augmented Reality) platform, there is an emphasis to GPU processing in its Metal 2 API. And high end iMac are now boosting GPU good enough for AR/VR play and production. In addition, Apple is making it easier for developers to add Machine Learning (ML) into their apps wth its Core ML SDK and Visions API.

Here are 5 things that Apple did not mention in its keynote:

1. iOS 11 does not run 32-bit apps

Apple has been displaying warning message in iOS 10 when you run a 32-bit app. Apple actually advised its developers to upgrade to 64-bit since mid 2015. In iOS 11, 32-bit games and apps will not run. Check out this post on how you can identify if your favourites apps are 32-bit.

2. New Magic Keyboard with Numeric Keypad

Magic Keyboard with Numeric Keypad

Kind of surprising to get a full-size wireless keyboard from Apple. Its $129.

3. New iCloud storage pricing

Apple has updated its iCloud storage pricing by increasing what you pay $9.99 per month for from 1 TB to 2 TB. The rest of pricing tiers remains unchanged.

– 5GB free
– 50GB $0.99
– 200GB $2.99
– 2TB $9.99 

4. MacBook Air is updated with faster processor

MacBook Air is not dead. The processor gets a speed bump from 1.6GHz to 1.8GHz.

5. MacBook Pro is still limited to maximum 16GB memory

One of the major complaints with the redesigned 2016 year end MacBook Pro is its 16GB configuration limit. This limit supposedly pissed a number of “pro” users to switch to use Windows notebook. The latest update to MacBook Pro is sticking to the 16GB limits.

WWDC 2017 will be in San Jose Jun 5-9, registration opens March 27

Apple WWDC Jun 5-9 2017

Apple has announced the 2017 edition of its annual World Wide Developer Conference. WWDC 2017 will see a change in venue from the usual San Francisco’s Moscone Center to San Jose and is on the week of June 5-9. WWDC is the event where Apple releases technical info on the next major version of iOS, macOS, tvOS and watchOS. 

Technology alone is not enough.Technology must intersect with the liberal arts and the humanities, to create new ideas and experiences that push society forward. This summer we bring together thousands of brilliant minds representing many diverse perspectives, passions, and talents to help us change the world.

Tickets will be offered by random selection to those who register their interest. Registration opens Monday, March 27 at 10 am PDT. You must be a member of Apple Developer Program to register. Mark your calendar and check out the WWDC site.

Apple policy changes for developer

At WWDC 2016, Apple has made three changes to its policy in a bid to attract more developers to its platforms.

The first change came last week where Phil Schiller, the person in charged of the App Store, announced that Apple will open its in-app purchase renewable subscription to all categories of apps. Currently developers can adopt renewable subscriptions only for a few kind of app category, such as magazine app.

The second policy change is with Apple TV apps. Current policy states that all Apple TV apps must support the Apple remote. This is the reason why you do not see many console games being ported to Apple TV, as it takes effort to build for the Apple remote. This restriction will be gone. It is expected we will soon see more games being ported and made available on the Apple TV.

The third policy change is with regards to Mac apps and iCloud. Currently only apps on the Mac App Store is able to build iCloud features into their apps. Apple will relax this policy to allow apps outside of Mac App Store to use iCloud as long as the app is signed by a registered Apple developer. It is doubtful if this change will revert the decisions by many major apps that abandoned the Mac App Store. 

A smarter Apple? A softer Apple? 

Siri: WWDC 2016 will be held June 13 through June 17

WWDC 2016 will be held June 13 through June 17

There is no announcement yet on Apple’s WWDC website but Siri is telling us that WWDC 2016 will be held June 13 through June 17. Based on past years, Apple will be announcing ticket sales for WWDC anytime now. Are you as excited as Siri?

Updated: Hours after Siri broke the news, Apple officially announced WWDC 2016. Similar to past years’ practice, tickets are sold to developers through a lottery system. Visit Apple developer website now till April 22 10am PDT to register your interest. Apple will then select attendee randomly. Ticket at $1,599 can not be transferred or resold.  

WWDC 2016

Apple likely to keep the same design for iPhone 7

Apple has been in a tick-tock pattern with regards to iPhone chassis design since iPhone 3G with a design overhaul every other generation. Base on report by KGI’s Ming-Chi Kuo, it appears that Apple is likely to reuse the same iPhone 6/6s design for iPhone 7. 

Ming-Chi Kuo, a reliable Apple analyst, claims that we will see a major iPhone design change in 2017, with Apple dropping aluminium for an all-glass enclosure with AMOLED screen. Separately, Apple is reported to enter a $2.6 billion agreement with Samsung to supply OLED panels.

So far the rumour mill points to an iPhone 7 to have the same look as iPhone 6/6s, sans the headphone jack. The bigger Plus model will likely sports a dual-lens camera. The iPhone this year might not be called iPhone 7 at all since it has the same design as iPhone 6/6s. Some have suggested names such as iPhone 6se.

There are few reasons why Apple could be reusing the same design. A design overhaul is timely in 2017 as it is iPhone’s 10th anniversary. It makes sense to make next year’s model a memorable one.

2016 is also a year of world wide economic slowdown. Demand growth for smartphone is negative and there is no end to the slow-down in sight. Apple is preparing for its worst quarter, and is cutting some cost by reusing the same manufacturing equipments and process for new iPhone. 

Time will tell if Apple is changing the iPhone design overhaul to a 3-year cycle. Those waiting to upgrade their iPhone will be disappointed if there is no new design this year. 

Uninstall QuickTime on your Windows system now

The anti-virus software maker Trend Micro has issued a call to action last night urging everyone to uninstall QuickTime for Windows as soon as possible. Trend Micro has found two critical vulnerabilities affecting QuickTime for Windows, and Apple is no longer providing security updates for the software.

First, Apple is deprecating QuickTime for Microsoft Windows. They will no longer be issuing security updates for the product on the Windows Platform and recommend users uninstall it. Note that this does not apply to QuickTime on Mac OSX.

So far there is no known active attacks against the vulnerabilities. Apple is strangely quite but does provide instructions on how to uninstall QuickTime for Windows. Many Windows user has QuickTime when it was a required component of iTunes for Windows. iTunes now works without QuickTime. Uninstall it on your Windows system now.

Differences between the new 9.7 inch iPad Pro and 12.9 inch iPad Pro

Apple introduced a new 9.7 inch model into its iPad Pro line up during its media event on Monday. The new device is essentially the same as the larger 12.9 inch which was released November 2015, there are however differences that make the larger iPad Pro seems like the ‘last-generation’ model. Here’s the breakdown of the differences between the two devices.

  iPad Pro 9.7 inch iPad Pro 12.9 inch
Weight 0.96 pounds (Wi-Fi) 0.98 pounds (Wi-Fi+Cellular) 1.57 pounds (Wi-Fi) 1.59 pounds (Wi-Fi+Cellular)
Thickness 6.1mm 6.9mm
Screen 9.7 inch. Wide color display. True Tone display. 12.9 inch
Screen Resolution 2048×1536 at 264 ppi 2732×2048 at 264 ppi
CPU A9X @ 2.16 GHz A9X @ 2.24 GHz
RAM Memory 2GB 4GB
Battery 27.5 watt-hour 38.5 watt-hour
Rear Camera 12MP iSight. f/2.2. 63MP panorama. True Tone flash. Live Photos. Auto HDR. 8MP iSight. f/2.4. 43MP panorama.
4K Video Recording Yes No
Camera Bump on the Back Yes No
Front Camera FaceTime HD 5MP with Retina Flash FaceTime HD 1.2MP No Retina Flash
Always on Siri Yes No
Cellular LTE Advanced Yes No
Wi-Fi + Cellular Models 32GB, 128GB, 256GB 128GB, 256GB
Finish Silver, Gold, Space Gray, Rose Gold Silver, Gold, Space Gray

Wish list for WWDC 2016

Apple’s developer conference WWDC 2016 is expected in early June. Here’s a developer’s wish list of things hopefully Apple will announce this year. This list is in no particular order.

Unified UIKit and AppKit

Developers are presented with two different UI kit when developing for both iOS and OS X. It is high time Apple support targeting both iOS and OS X using one unified kit. At the minimum, Apple should make it easy for developers to use the same iOS UI code to develop for OS X. 

It is speculated that Apple’s own Photos app is using the same ‘UXKit’ framework in both iOS and OS X version of the app. There is hope that Apple will release this framework to the public. It is an opportunity for Apple to revive the Mac platform. Nobody wants OS X to remain a dead native platform forever. 

Xcode for iPad

If we do not see Xcode for iPad soon, maybe Apple should strip the ‘Pro’ labelling for its iPad Pro. How about partnering with IBM for a “Visual Swift” tool for building enterprise iPad apps?

Scripting for iOS

With the success of Workflow, expect to see this popular automation app sherlocked by Apple soon. Where is Automator and AppleScript for iOS when you need them?

iOS as bots platform

Bots are taking over the programming world. Most bots are found in messaging and chat apps. Apple should make its platform the bots platform of choice. Ideally there should be an SDK for developers to add app specific bots and make them available as system utilities. Not sure technically how it should be accomplished. A bot app for a unified bots interface? Or a bot SDK for app to integrate with Siri?

Apple might just build a bot platform on top of iMessages. But the app does require some innovative features to be in competition with the likes of Facebook Messenger, WhatsApp and WeChat. Just an iMessages for Android might not save the day.

Split screen version 2

Split screen is a great addition in iOS 9. But two features are missing. The first is the ability to drag and drop between split apps. Touchscreen interface without drag-and-drop is like the first version of iOS without copy-and-paste. The second missing feature is the ability to run the same app side by side on split screen. 

App Store and Mac App Store

Developers like to blame Apple when they’re not able to generate enough earning for their livelihood on the iOS and Mac App Store. It’s a debate if the race to $0 dollar app is largely Apple’s fault. But there is so much more Apple can do to help out developers. Some might say it is not in Apple’s interest to care for all developers, since the majority of earnings are from but a few. Developers that are struggling to survive can either choose another way out or hope that at least some help is on its way. Whatever App Store changes Apple put in place, it is doubtful if it will have any impact on the dire situation smaller developers are facing today.  

Many developers have asked for a way to charge for upgrade for years. This is especially true for high price premium apps on the Mac App Store. Apple does not get it. Developer can release a new SKU for the new version of its app, but it is different from a paid upgrade. Without paid upgrade, no discount can be given to existing users. Many premium apps rely on upgrade from existing users, without such the business is just not sustainable. It is painful to see Apple just choose to ignore this feature request.

Apple supports auto-renewable subscription as an In-app purchase option but it has its quirks. First of all, it is not open to all apps and is under Apple’s discretion whether your app can use it or not. Imagine spending the time implementing auto-renewable subscription and then end up not being approved by Apple.

Then there is no option to allow developer to offer an “Unsubscribe” button from within the app. The subscription management is buried within App Store settings page.Then there is the issue of the app not knowing if the user has turn off renew automatically before the subscription actually ends. Developer can’t have the last attempt to prompt user to continue their subscription.

App Store team should seriously review how other subscription services are implemented. The current implementation is just not friendly to the app business.

Apple TV

There are a number of ways Apple can spruce up the current Apple TV. Apple TV is not the best general purpose media player due to its lack of 4K video. It is not the ideal game platform due to the limitation of its default controller. Third party gamepad is supported, but unless Apple release its own gamepad, not many will view Apple TV as a serious game platform. We don’t even get the most powerful A-series processor on Apple TV.

As an app platform, Apple TV is lacking in few departments. Where’s the camera and microphone when you want to develop a chat or video conference app? What is the best practice payment flow like for a shopping app? Where’s the SDK for Siri to develop an Amazon Echo like app? And there is no options for developers to use Apple TV as a HomeKit hub.

Developer News

Apple developers will likely shake their heads after visiting developers.googleblog.com. It is disheartening when you visit developer.apple.com/news/ and read those one sentence news such as “OS X El Capitan 10.11.4 beta 7 (15E64a) Now Available”, “iOS 9.3 beta 7 (13E5233a | 13E5234a) Now Available”. It appears that the news site is run by the App Store team. Need news on the latest development of Swift? Then it is on another site. Need to know the latest developer sample apps released by Apple, then you have to dig elsewhere. Looking for some tutorials on how to use Swift 2.2, head over to IBM blog. 

The news site is build more for managers of developers, with a total lack of articles and insight on how to build better apps for Apple platform. It is in Apple’s best interests to teach and train its developers all year round, not just during WWDC. Is it too much to ask Apple to dedicate some such resource? 

Multi-user support for iPad

One common use case for iPad is as an entertainment and reading device for family members. Multi-user support is ideal to enable such sharing. Apple might think multi-user support will impact iPad’s sale. The lack of this feature will not propel a family to buy more iPad. It will only give them inconveniences.

Apple might want to consider a brand new padOS for its iPad, with multi-user support, terminal command prompt, file management access and full USB support. This will make choosing an iPad Pro over MS Surface a no brainer exercise.

iPad sales is not growing. Maybe its not because of the hardware.

User login for tvOS

It is strange that when you switch on an AppleTV and see the photos, music, apps of one family member. tvOS requires a user account login for its App Store, Photos, Music, Podcasts etc. There is clearly a mismatch. A TV is a communal device shared by many. Hopefully Apple is working on a solution for the next version of tvOS.

Native Docker support for OS X

Docker container technology is storming into cloud computing, and is becoming the tool of choice for many developers, especially for backend app development. OS X is currently not compatible with the container tech used by Docker. Using Docker on OS X is clunky, as it relies on a virtual machine running a compatible Linux instance. It is no surprise to see that OS X is running out of flavour with some developers who choose to run Ubuntu or Debian on their Mac.