“We still have a lot to cover.” – Keynote Thoughts and Predictions

It has been a little over a month since Apple’s last Keynote, which was heavily focused on the iPhone. This Keynote promises to be a bit more of a mix, with updates to both the iPad and Mac lineups, but will there be any surprises?

Mavericks

Mavericks reached Gold Master (GM) a couple of weeks ago, so we should find out its release date at the Keynote. Logic suggests that it will be released on the Mac AppStore on either Wednesday the 23rd or 30th of October. I expect it will stay at the current price of $20 and will have no additional features other than what was already mentioned at WWDC.

iOS

iOS 7 (including 7.0.1 and 7.0.2) is a little bit buggy, both in terms of user experience and the APIs (UITextView I am looking at you!). I expect that iOS 7.1 (or maybe 7.0.3) will be released alongside Mavericks with iCloud Keychain reinstated, but other than that I wouldn’t expect any major changes just bug fixes.

iLife and iWork

The iLife and the iWork apps are looking increasingly out of place on iOS 7, so I am expecting the iLife and iWork suites will get updated with the new look and feel on both the iPhone and the iPad. It will be interesting to see what Garageband will look like on iOS 7, as it is an app where skeuomorphism still makes sense.

Game Controllers

Game Controller support was announced at WWDC, but even though iOS 7 was released a month ago none of them have yet to materialise. I expect to see a demo of a Game Controller (probably from Logitech) alongside a supported game (probably from Gameloft or EA … anything so long as it isn’t another Infinity Blade).

Apple TV

The Apple TV is due an update but as it isn’t going to support 4K displays anytime soon, the only significant feature that could be added is support for apps (games) and the aforementioned Game Controllers. If the Apple TV doesn’t get updated to support apps, I wouldn’t expect it to make the Keynote.

iPad

The iPad will see a similar update to the iPhone 5s and will include the new A7 (possibly A7x) 64 Bit processor and Touch ID. On the outside it will look more like last years iPad Mini, but with the iPhone 5s Space Grey and Silver colour schemes. My wish is that the 3 storage capacities become 32GB, 64GB and 128GB as 16GB is really becoming too small for the base model.

iPad mini

The iPad mini is the hardest device in the iOS line up to second guess, as the price gap between the iPad mini and its competitors has been increasing steadily since its unveiling this time last year. Moreover the iPad mini is the only device in the iOS lineup that uses the outdated non retina display, so the question is will Apple come down on price? add the retina display? or maybe even both?

I would guess that the iPad Lineup will become:

iPad $499 iPad mini Retina $399 iPad mini $299

If the Non Retina iPad mini is simply last years model, it might even be priced as low as $249.

Mac Pro

The Mac Pro was previewed at this year’s WWDC Keynote but without a definitive release date or a price. At this event we should find out the the release date (alongside or shortly after Mavericks) and the price … which I can’t imagine will be any less than $3,000 for the base model.

MacBook Pro Retina

The MacBook Pro Retina was updated in February this year, but I still expect the lineup to get updated to the Haswell processors that are currently found in the MacBook Air, which in conjunction with Mavericks will mean a significant boost in battery life.

"This should brighten everyone's day." – Keynote Thoughts and Predictions

It feels a bit odd that Apple’s September Keynote is only their second of the year, but here is what I expect to see:

iPhone 5S

Like the 3GS and 4S that came before it, don’t expect the 5S to be a substantial change when compared to its predecessor. Faster? Definitely. More Memory? Maybe. Bigger Screen? I don’t think so.

I think Apple will wait until Auto Layout is a skill that all iOS developers possess before introducing another screen size to the lineup. If we are all being honest, Auto Layout hasn’t been ready for prime until the introduction of Xcode 5.

The 5S’s new feature will be the finger scanning home key, allowing you to secure your device using your finger print rather than a pin code or face recognition. This is an interesting time to introduce the finger print scanner, as some features in iOS 7 such as iCloud Keychain require you to use a passcode. This will give users the added security without the hassle of having to enter a pin code every 5 minutes. I wonder if Apple have the analytics to know that most people don’t have a pin code, and that was the reason for this feature beind added?

The iPhone will be released on Friday the 20th September in the usual markets.

iPhone 5C

I’m sure the marketing team at Apple will say that the C stands for Color, but in reality it stands for Cheap. Since the introduction of the iPhone 4S two years ago consumers have been able to purchase the last 3 models (currently the 4,4S and 5), which has allowed Apple to have a “Free” phone with a 24 month contract.

There are a few problems with this:

With all of this in mind I would expect the iPhone 5C to only be $100-$200 cheaper than the iPhone 5S. This isn’t the iPod mini of the iPhone lineup just yet, especially when you consider that buying a subsidised phone isn’t the norm in a lot of countries.

iPad

The iPad lineup is unlikely to see a refresh at this event, and instead will be one of the products unveiled in an event next month, with the larger iPads getting the same case designs as the mini. Like this years iPhone refresh, I wouldn’t expect the updates to be significant when they do come about, in fact the only major question is wether the iPad mini goes retina, become cheaper, or maybe even both?

iOS 7

iOS 7 is the biggest overhaul of iOS since its inception, which has given developers a bit of a headache trying to get their apps ready in time for its release. Since the first beta at WWDC the OS has lots of subtle refinements, the last couple of betas have felt like they are only a few bug fixes away from completeion.

iOS 7 will be released on Wednesday the 18th of September

OS X

OS 10.9 Mavericks was unveiled alongside iOS 7 at WWDC, but once again it was more about refinements rather than a complete overhaul of the OS (which is a good thing). I expect to learn about the release date of Mavericks at this event, more than likely the end of October.

Mac

The majority of Mac updates (including the new Mac Pro) are probably waiting on the release of OS 10.9 Mavericks now.

This is particularly true for the MacBooks, as Mavericks will Apple to advertise that they have extra battery life just because of the optimisations in the OS.

I expect any susbstantial Mac updates to happen later in the year.

AppleTV

Im still convinced that Apple will open up the AppleTV for apps or at least games, and with the introduction of Game Controllers and Sprite Kit in iOS 7 it is just a matter of time. Unless this is the surprise of the Keynote I think we will have to wait a bit longer for the SDK but heres hoping … unless you are Nintendo that is.

iWatch

If this exists it would be one heck of a secret, so I don’t think it will be unveiled at this Keynote.

WWDC 2013 Keynote Predictions

With a record gap between Apple keynotes (the last one was 230 days ago), it has made this year’s WWDC keynote one of the most eagerly anticipated in recent memory. Here are my thoughts and predictions for this year’s keynote.

Hardware

iOS

I don’t think any of the iOS product lines (iPhone, iPad, iPod touch etc) will see a refresh at WWDC this year. The iPad line got refreshed twice within 6 months last year, I believe this was to make sure they are refreshed yearly before the holiday (and not awkwardly in the spring) and I don’t think this will change anytime soon.

Mac

The MacBook Air is likely to get a refresh based on the Haswell processors that Intel launched last week. The major question is wether the new integrated GPU will be able to handle a Retina Display and maintain the high level of battery life that the MacBook Air is famous for… a SIM card slot would also be nice, but this is even less likely.

The Retina MacBook Pro should also see a refresh to Haswell CPUs but nothing else of note.

Mac Pro? This is an interesting one, we know that Tim Cook said that he would have something to satisfy Mac Pro users this year, but I feel that it won’t be shown at WWDC and when it does come it won’t simply be a new case and updated spec. The Mac Pro is likely to become a Mac Mini Pro with expandability coming through the Thunderbolt interface.

iWatch

At the moment the iWatch sounds like it is just in the prototype stage, with not much information known about it. If it is unveiled at WWDC it will certainly be Apple’s best kept secret since the original iPhone, but I think it is more likely to be unveiled in 2014.

iTV/Apple TV

The biggest question at this point is what is the iTV, is it:

The latter for me would be an easy and obvious choice and would open up the AppleTV to a variety of apps. The only issue would be input, as the current remote won’t cut it.

Airport/Time Capsule

There are rumors going around that Apple will update the Airport Lineup to the 802.11ac wireless standard which is backwards compatible with 802.11n, but provides speeds of upto 1 Gigabit per second compared to the 300 Megabits per second of 802.11n. As Apple are usually early addopters of wireless standards, I think that this will happen but it might not even make the keynote.

Software

Look and Feel

Now that Jony Ive has taken charge of the UI design of both iOS and OS X, there is going to be an overhaul of the look and feel of both.

iOS’s UI on the whole has remained pretty much unchanged since its original release in 2007. iOS will have the level of garish colors and gradients replaced throughout the UI with a flatter, less skeuomorphic look with (strong) colours being used more sparingly. Other than that, I think iOS 7 will keep the current springboard design, as it is one of the major elements that makes it so easy to get up and running with iOS. Moreover I don’t think that we will see widgets make their way to the springboard, but “live icons” for apps such as the weather is a possibility. Notification Center will remain in its current “swipe from the status bar” position, minus the linen, and might give us quick access to features such as turning on and off Bluetooth and WiFi.

OS X’s “Aqua” interface has already had a number of subtle UI changes over the years from pin stripes, to brushed metal, to the more simplistic flatter look found in OS X 10.8. I don’t expect the UI changes in 10.9 to be too drastic, but it will be updated to reflect the look an feel of iOS 7.

iOS

OS Level Third Party Service Intergration

OS X already supports Vimeo and Flickr in addition to the services that iOS supports, these will make the logically step across to iOS. I don’t however think that Apple will allow apps to arbitrarily register services for use in the rest of the OS.

Interprocess Communication

In OS X 10.7 Apple introduced XPC which is designed for lightweight interprocess communication using Grand Central Dispatch (GCD) and launchd. Moreover in iOS 6 Apple started internally using “Remote View Controllers” e.g. MFMailComposeViewController, which allowed a View Controller from an (Apple) process to be presented in another process. I think allowing XPC in iOS 7 might be a step too far, too soon. XPC will mean that “an app” will have multiple processes for one, but allowing an app to present another apps view controller seems like a nice compromise.

Default Apps

iOS will allow you to set a third party app for your default web browser, email client, address book and calendar as long as they implement the specified protocol which will include providing the appropriate remote view controllers for other apps.

OS X

Full Screen Apps and Multiple Screens

Full Screen Apps and Multiple Screens really don’t play well together on OS X. If you have never had the pleasure, the “second screen” becomes a screen of linen and therefore redundant. This looks particularly stupid when the second display is a 27" Cinema Display.

Map Kit

Map Kit has now been avaliable on iOS for a year now and as Apple no longer has any licensing issues (as they own the Map Data) porting Map Kit across to OS X should be a no brainer.

iCloud

Core Data Sync

iCloud (well what developers think of as iCloud) has one major … make that a huge problem. That is Core Data Sync. Core Data Sync is simply to generic of a solution to the grand daddy of all problems, syncing. I feel like Apple’s current approach simply can’t be fixed and they will have to attempt a different solution. The most obvious solution will be to have “the truth in the (i)Cloud”, meaning that all clients sync with the server (the truth) rather than with each other. I still think it will (unfortunately) be some what of black box. Unlike services such as Parse and Microsoft Azure, I don’t expect them to allow you to write server side code to handle requests.

Unified Notifications

A large number of apps make use of Push Notifications for a variety of things, but they are not without their problems (and irritations). One of the major issues with Push Notifications is that people often have more than one Apple device, meaning that you get a Push Notification for the same event on all of your devices (which is expected), but annoyingly you have to dismiss notifications on all of the devices. I expect Push Notifications to be unified and synced using iCloud.

Conclusions

Despite the anticipation for this years keynote being as high as ever, the amount of information that has been leaked out has been next to nothing … maybe Apple weren’t lying about doubling down on security. Although this makes writing a prediction blog post hard, it does lead to an exciting keynote and hopefully an exciting few months ahead for developers as they update their apps to take advantage of all the new APIs that Apple have to offer.

“We've got a little more to show you” – Keynote Thoughts and Predictions

Hot on the heels of last month’s iPhone 5 Keynote, we are now faced with what one will assume is Apple’s last Keynote of the year. If the rumors are to be believed, the “little” thing that Apple have to show us is the iPad mini.

iPad mini

Display

The iPad mini will feature a 7.85 inch display at the exact same 1024 x 768 resolution as the iPad 1 and 2’s display. This means that the iPad mini’s display is only 163 ppi, compared to the iPad 3’s display which is 264 ppi and the iPad 2’s display which ppi 132. It is no coincidence that 163 ppi is the exact same screen density as non Retina iPhones/iPod Touches, meaning that touch areas in apps (assuming developers followed Apple guidlines) will be of a sufficent size without any modification, which in conjunction with the exact same resolution of the Non Retina iPads will mean that all exisiting apps will just work. This is obviously just Great News for users and developers alike.

I don’t think even Apple would try and claim that an extra 31 ppi over the iPad 2 will make the iPad mini’s display “Retina”, but why would they when it makes an obvious feature they can add to the iPad mini 2.

It is important to remember that a Retina Display requires a faster GPU and therefore a bigger battery to power it, which in conjunction with the higher price will make it unsuitable for the lighter, cheaper iPad mini.

Wireless

The iPad mini will certainly feature WiFi and Bluetooth but will it include an LTE/3G Antenna? I wouldn’t be surprised if it didn’t, but I expect it to be an optional extra like on the iPad. Like the iPad, the iPad mini won’t allow you to make calls or send sms messages, and the cellular connection will be used solely for data.

Ports

Like the iPhone 5 last month the iPad mini will use the new Lightning Cable to charge and sync the device (if you still sync with a cable), other than that I think the only other port on the device will be a headphone jack.

Storage

16 GB, 32 GB and 64GB seem like the obvious capacities but I also think we will see the baseline model feature a mere 8GB of storage. Personally I don’t think 8GB is enough, especially with a lot of applications weighing in at 50-150MB and a few games going well over 1GB (the current limit for app sizes is 2GB). This is in addition to the eBooks and iTunes course that you are expected to put on it (if you are in their student target market), so you will want at least the 16GB version.

One thing Apple could do is strip out all of the @2x images out of app bundles for non retina devices which would save approximately 4/5th of the total asset size … but as this has been a problem since the first retina device (the iPhone 4) was introduced I am not holding my breath.

Price

Unlike Google and Amazon, Apple are not going to start selling their devices at cost anytime soon, so I doubt the iPad mini will become the cheapest 7 inch tablet on the market (Google’s Nexus 7 is currently $199 for the 8GB Model). I think the iPad mini will start at $249 for the 8GB WiFi only model and go up from there for more capacity and LTE. At $249, the iPad mini will be cheaper than the base model 5th Generation iPod touch, albeit with less capacity (32 GB for $299). If Apple are pedantic about having clear product lines and pricing, they would have to start the iPad mini at $329, but a £129 premium when compared to existing 7" tablets is quite excessive.

Conclusion

I expect the iPad mini will be targeted at the eBook and Educational markets, but as it is so cheap it will inevitably increase Apple’s tablet market share, just as the iPod mini did for its MP3 market share 8 years ago. Will it cannibalise iPad sales? Definitely. Will it become the most popular form factor? We will have to wait and see.

iPad

The New iPad may be become The Old iPad at this event (what was the problem with numbers again?) as it is set to be updated with a lightning port and rest of the World LTE just before the holiday season. If Apple are going to refresh the iPad lineup in the spring, I personally don’t think this will happen, but maybe they want to mix up their product release cycles and not refresh the iPod lineup until later next year.

Macs

The Mac Lineup got no attention at the last keynote, but I think it is poised to get some on Tuesday (but maybe it won’t even make the Keynote).

13" MacBook Pro Retina

The 15" MacBook Pro Retina burst onto the seen at WWDC and it has had very favourable reviews especially in regards to its retina display. It is now time for the 13" MacBook Pro to get the Retina treatment in addition to shedding its disk drive. I expect the non-retina 13" and 15" MacBook Pros to still be available as the Retina Models come at a price, and the 13" model will probably start at the $1699 mark. Like many others, I think I will be holding out for the 13" MacBook Air Retina.

iMac and Mac

The iMac and Mac mini have not been updated since May and June last year respectively so they are long overdue an update. I think the update will only be an internal speed bump with the headline feature being the ability to have 32GB of RAM in the iMac and 16GB of RAM in the Mac mini.

"It's almost here" - Keynote Thoughts and Predictions

Following on from WWDC, we are now moving on to Apple’s pre-holiday season Keynote. This Keynote has predominately been used to refresh the iPod Line Up, but this year it looks like we will get a bit more to chew on.

iPhone 5

As the invitation suggests on the 12th of September the iPhone 5 will be unveiled, but what will be new?

Bigger Screen

The iPhone 5 is going to have a bigger (taller) screen compared to its predecessors (rumoured to be 1136 pixels up from 960 pixels), in real world terms this means that you can get one extra row of apps on your home screen (and hopefully and extra row of apps in app folders too!!!). These extra pixels will also mean that apps can display more content on the screen than before and I expect existing apps will be letter-boxed with black bars at the top and bottom until they have been updated to support the bigger screen (there is also Autoresizing Masks and a New set of APIs in iOS 6 that will make this easier). Thankfully as most apps’ UIs are based upon UITableViews, I expect users won’t have to wait long until apps take advantage of the larger screen. One thing that Apple could now do with the extra screen real estate, is to make notifications more interactive with buttons and simply shrink apps down to their “original size” to make room for them.

New Dock Connector

It has been nearly 10 years since Apple first released the current 30 Pin Dock Connector, and besides some minor changes (they have all been interoperable) it has remained pretty much the same ever since. Apple are set to release a new smaller symmetrical 9 Pin Dock Connector with the iPhone 5, which will be the standard for all Apple devices for the next few years. The hopeful among us are probably thinking that it will be Thunderbolt compatible, but due to the price of Thunderbolt components and Apple not really wanting you to sync with a cable since the introduction of WiFi syncing and iCloud in iOS 5, I think they are just doing it to save space. One thing that is for certain, the stocking filler this Christmas for the Geek in your life is going to be the Apple Dock Connector Adaptor.

LTE

The iPhone 5 will feature LTE, but the bigger question is will it be “World LTE” or just “American LTE” like the iPad 3. I think LTE support will go beyond the US, but it won’t be future proofed for countries such as the UK who have yet to roll out LTE.

Bigger Battery

The iPad 3 got a much bigger and higher capacity battery than the iPad 2 to cope with pushing all the extra pixels on the Retina Display and to power the LTE antennas. The iPhone 5 will also get a bigger battery to cope with pushing around those extra few pixels but mostly for the LTE antennas. I don’t imagine the higher capacity battery will result in much of a net gain in terms of battery life, but it should at least remain on par with the iPhones 4S.

NFC

NFC hasn’t really caught on, it’s the ugly sister of the QR Code and that didn’t get much attention either. For NFC to take off a major corporation needs to get behind it … like Apple … or maybe not. I think Apple only wants to support NFC, if it is NFC, so unless they start allowing you to pay for good using your Apple ID, I don’t think we will see NFC in an iOS device until/if it really takes off.

iOS 6

iOS 6 has been in beta since WWDC and compared to previous betas of iOS, it has actually been really stable. The only issues I have found are layout bugs, which have just been because Apple have changed the default look and feel of some controls. I don’t think we will see any additional features added to iOS 6, besides support for the iPhone 5’s new screen size and if there are any new hardware related features for developers to take advantage of. Naturally this will ship alongside the iPhone 5.

iPods

The iPod Lineup hasn’t received any significant updates for 2 years now, as last years pre-holiday keynote was all about the iPhone 4S. While I don’t expect any ground breaking changes I do expect the majority of the line up to get a refresh, but maybe they wont even make the keynote and just go straight to the press release.

iPod shuffle

The iPod Shuffle still makes a good present and it small size means that many people wear one at the gym. I expect the iPod Shuffle won’t be going anywhere, but I wouldn’t expect anything more than an update of colours.

iPod nano

In its heyday the iPod Nano was the “Jewel in the Crown” of the iPod line up, but now it is just an odd hybrid between iPod Shuffle and the iPod Touch. I expect it will get a minor update like the iPod Shuffle but there is not a lot they can do with it now it is just a small touch screen unless they redefine what the iPod nano is.

iPod classic

The iPod Classic at this point is only still available as some people have huge music collections (above the 64GB Maximum Capacity of the iPod Touch) or they still use a dedicated music device. The later use case has diminished over the last few years but people’s music collections are only getting bigger as they purchase more music at a higher capacity than bit rate than before. As the iPod Touch wont get a 160GB anytime soon I expect the classic to stick around.

iPod touch

The iPod touch hasn’t been updated for 2 years so it is due an update. Logically you would expect the iPod Touch to at least be brought up to par with the iPhone 4S in terms of CPU and GPU, but I wouldn’t be at all surprised if it doesn’t get the iPhone 5s larger screen for another year.

Macs

Personally I don’t feel like there will be any updates to the Mac line up at this Keynote. The iMac is due an update, but if it was to get an update around this event it would just be a speed bump, in other words no retina display.

iPad mini

The rumour of an iPad mini (7-8 inch screen) has been around for a while, but I think if it was to materialise it won’t be at this keynote as it would dilute the announcement of the iPhone 5 … maybe having this keynote in early September means they can squeeze another one in before the end of the year…

OS X Mountain Lion API Highlights

With Mountain Lion appearing in the AppStore just 1 year after its predecessor Lion (371 Days to be precise), it should come as no great surprise that there isn’t the large amount of new APIs that usually comes along with a major update to OS X. Nevertheless there are a few stand out APIs that are worth pointing out.

Notification Center

Notification Center was a major feature of iOS 5 and now it makes its way to the Mac in Mountain Lion. If your coming from iOS using UILocalNotification or if your coming from Growl! on OS X you should have no problems getting up to speed with notifications, which on the Mac are referred to as NSUserNotification.

To post a notification you will need to create a NSUserNotification object and set the title and optionally the subtitle and/or informative text.

NSUserNotification *userNotification = [[NSUserNotification alloc] init];

userNotification.title = notificationTitle;
userNotification.subtitle = notificationSubtitle;

If your notification is actionable you can set the text of 2 additional buttons using the actionButtonTitle and otherButtonTitle properties.

Like UILocalNotification you can set a notification to be shown at a given time (e.g. for an alarm) using the deliveryDate property.

When you have finished configuring your notification simply tell the NSUserNotificationCenter to deliver it:

[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNotification];
[userNotification release];

By default notifications are only shown if your application is not in the foreground, which may seem confusing at first as Xcode always show notifications regardless of wether it is in the foreground or not.

Thankfully all you have to do is become the delegate of the user notification centre:

[[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:(id)self];

Then respond to the should present notification delegate method:

- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification {
    return YES;
}

It is important to note that only signed Apps (Gatekeeper, MAS etc) can post notifications.

Sharing

iOS has always had the ability to share photos and videos by E-mail and SMS and more recently by Twitter, it is this system wide sharing that NSSharingService tries to solve.

You can present your own UI for sharing, but most of the time you will want to use NSSharingServicePicker which you can present from a button.

The first thing you will need to do is to configure the button to send its action on mouse down

[shareButton sendActionOn:NSLeftMouseDownMask];

To share files you need to know their file system URLs and simply pass these to NSSharingServicePicker. If you present this from the button the OS will take care of everything for you:

NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:fileURLs];

[sharingServicePicker showRelativeToRect:[sender bounds]
                          ofView:sender
                   preferredEdge:NSMinYEdge];
[sharingServicePicker release];

You can add your own sharing services in your app to the sharing service picker, but it is impossible for you to add your service to the OS and therefore make available for other apps to use.

Game Center

If you are familiar with Game Center on iOS you will be familiar with Game Center on OS X. Matchmaking, Achievements and your Friends are all here for your multiple device gaming pleasure.

iCloud

In Mountain Lion Apple has introduced the iCloud Document Browser, which means that all apps have standard way of displaying their Documents in the Cloud.

EventKit

EventKit comes directly from iOS and replaces the Calendar Store for interacting with a user’s calendars, events and reminders. The major benefit of Event Kit is that you can use the exact same code to interact with calendars on both iOS and OS X.

WWDC 2012 Keynote Predictions

It is that time of the year again were the Apple rumour mill runs wild in anticipation of the WWDC Keynote and this year is no exception. Unlike years gone by there isn’t a lot of information to go on, so I decided to make a list of the things that I would like to see announced, and the likelihood for each of them.

Mountain Lion

Release Date

We will get a release date (even if it is to the nearest month) for the next version of OS X. Mountain Lion has been in beta for a few months now and although there are a few bugs remaining, it feels like it is well on the way to release.

Likelihood 8/10

Dictation

The iPhone 4S introduced the world to Siri and the iPad 3 featured a stripped down version that just handled dictation. I think Mountain Lion will include the dictation aspect of Siri.

Likelihood 6/10

iOS 6

Background Triggers

I think Apple’s decision to not support true multitasking was correct to preserve battery life and performance of the active app, but there are more and more apps that need to check for data in the background e.g. Email, RSS, Offline Reading Apps. I expect there to be an API to register your app to be awoken to do such a thing at a given time interval e.g. Every hour, Every Day.

Likelihood 7/10

Inter-App Communication

Currently apps have to communicate with each other using the rather clunky URL schemes or even the pasteboard. There are plenty of things Apple could do to improve this, such as mimicking the full blown services approach found on OS X, or simply a “Files” App so it is easy to work on a file using multiple apps.

Likelihood 4/10

Facebook Integration

iOS 5 included Twitter Integration so users could easily Tweet from apps without having to authenticate their account every time. iOS 5 also included Twitter Request APIs making it easy to send data to and from Twitter. I see a similar OS Level of integration for Facebook in iOS 6.

Likelihood 9/10

Flickr, Vimeo etc Integration

In addition to Facebook I also expect there to be support for popular Photo/Video sharing services such as Flickr and Vimeo. I wouldn’t expect a rich API for these, just a simple interface to upload and download media from the built in apps.

Likelihood 7/10

Home Screen Widgets

I just don’t think Apple like widgets, so I don’t expect there to be any support for them in iOS 6 on either Springboard or in the Notification Center.

Likelihood 1/10

Apple Maps

It is obvious that Apple and Google are not the best of friends at the moment, and it is also clear that Apple doesn’t like to be reliant on anybody, so moving to their own Maps platform is a case of when and not if.

Likelihood 6/10

Siri Update

I expect Siri to get a few more features (maybe it will find businesses in the UK!!!), but I don’t expect it to be opened up to developers just yet.

Likelihood 8/10

Live Icons

If the Calendar app can update its icon to reflect the date why can’t the weather app update its icon to display the weather?

Likelihood 4/10

Apple TV SDK

The last 2 versions of the Apple TV run a variation of iOS (previously it was running a version of Mac OS X forked from 10.4), so it makes sense to unify it with the version of iOS that is on the iPhone and iPad. This will mean an API to handle events from the Apple Remote in addition to some new content APIs. Technically I don’t expect it to be too much of a challenge for developers, and it is an obvious area for Apple to move into.

Likelihood 6/10

Game Center Controller

If you haven’t seen Joypad (http://getjoypad.com/) before, it is a very cool idea. It turns your iPhone into a controller for iPad Games, but as Game Center is also coming to the Mac in Mountain Lion, an Apple supplied Game Center Controller App and API make a lot of sense to me.

Likelihood 5/10

iCloud

Unified Notifications

A large number of apps make use of Push Notifications for a variety of things, but they are not without their problems (and irritations). One of the major issues with Push Notifications is that people often have more than one Apple device, meaning that you get a Push Notification for the same event on all of your devices (which is expected), but annoyingly you have to dismiss notifications on all of the devices. I expect Push Notifications to be unified and synced using iCloud.

Likelihood 7/10

Reminders and Notes

I think that Reminders and Notes will now sync to the web based version of iCloud.

Likelihood 8/10

Safari Autofill Names & Passwords Sync

The transition from MobileMe to iCloud meant we lost the ability to sync keychain items between our Macs. In Mac OS 10.8 I expect this feature to be reinstated at least for Safari Names and Passwords, logically support for this will also be present in iOS 6.

Likelihood 8/10

webOS Synergy like Contacts and Calendars

One of the best things about webOS was how it merged all of your contacts and calendars together from all of the different services you had signed into (e.g. a person’s email address from iCloud, profile picture from Facebook etc). Now that we have iCloud, Exchange, Facebook and Twitter integration why can’t Apple implement a similar solution?

Likelihood 5/10

Hardware

iPhone 5

I don’t think we will see “The New iPhone” released at WWDC, simply because if the rumours are true and the only physical change is a bigger screen I don’t think that developers will need too much time to update their apps. Moreover Apple will have to make existing apps backwards compatible anyway (maybe by placing black bars around the edges?), so this reduces the requirement for it to be unveiled at WWDC.

Likelihood 2/10

MacBook Air/Pro

Even though both the MacBook Air and MacBook Pro received an update in the latter half of last year, I do expect a refresh and possibly a combining of the 2 lines leaving us with a 11", 13" and 15" MacBook Air. The rumor of a retina display would make this a very appealing update.

Likelihood 9/10

iMac

The iMac is also due an update, but due to the size of the screen I think the inclusion of a Retina display as standard is extremely unlikely.

Likelihood 7/10

Mac Pro

The Mac Pro hasn’t been updated for nearly 2 years, so many people think that it is dead. In my opinion it has become like the iPod Classic, whereby it is available to purchase if you need it (some people do), but it simply won’t ever receive a major update again. Saying this I would expect there to be one more minor update of the Mac Pro, but it will be an internals refresh rather than a complete overhaul.

Likelihood 8/10

Security Scoped File URL Bookmarks

Sandboxed applications (without any additional entitlements) live within their container (~/Library/Containers/apps.bundleidentifier_) and have no access to the rest of the File System, no access to the Internet, no access to Hardware such as the Camera, Microphone, USB Devices and Printing and has no access to User’s Data such as the Address Book, Location or Calendar.

Now this may seem a little extreme, but besides file system access all of these features can be enabled by requesting the relevant entitlement. For these features everything “just works”, but be warned you may be quizzed by the Apps Review Team why you require a given entitlement, so don’t just include them for the sake of it … or for analytics.

So now on to files…

When you sandbox your application you will have the following entitlements file (typically called appname.entitlements_):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
</dict>
</plist>

com.apple.security.app-sandbox simply enables app sandboxing for the given target:

com.apple.security.app-sandbox
Enables App Sandbox for a target in an Xcode project

As you can’t just access any file on the file system, the user has to select them (which means the powerbox will give you temporary access to the URL of the file). To do this the user can use drag and drop, or use NSOpenPanel/NSSavePanel. For this example we will use NSOpenPanel for clarity. To use NSOpenPanel/NSSavePanel you need to include the following entitlement:

com.apple.security.files.user-selected.read-write
Read/write access to files the user has selected using an Open or Save dialog

NSOpenPanel is trivial to implement and you get access to a file URL in the completion handler:

NSOpenPanel *openPanel = [NSOpenPanel openPanel];

[openPanel beginSheetModalForWindow:[self window] 
completionHandler:^(NSInteger result){

if (result == NSOKButton) 
{
    NSURL *openPanelFileURL = [openPanel URL];
}

}];

By using NSOpenPanel you now have access to the given file URL (and therefore file) until your application quits. Under certain circumstances you also get access to the file URL when you application launches if the application supports resume.

So what if you need to access files across launches?

You need another entitlement of course, in this case you have 2 choices depending on if your Application is a Document Based Application:

com.apple.security.files.bookmarks.collection-scope
Ability to use document-scoped bookmarks and URLs

or a Non-Document Based Application:

com.apple.security.files.bookmarks.app-scope
Ability to use app-scoped bookmarks and URLs

Assuming your application is a Non-Document Based Application your entitlements file will now look like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.files.bookmarks.app-scope</key>
    <true/>
</dict>
</plist>

First of all you need to get access to the file URL in the same way as you did before, but this time you are going to create a bookmark out of it using NSURLBookmarkCreationWithSecurityScope:

NSURLBookmarkResolutionWithSecurityScope
Specifies that the security scope, applied to the bookmark when it was created, should be used during resolution of the bookmark data.
NSError *error = nil;
NSData *bookmarkData = nil;

bookmarkData = [openPanelFileURL 
bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope
includingResourceValuesForKeys:nil
relativeToURL:nil
error:&error];

You can now store this bookmark (which is just a NSData object) in any way you choose, as long as you can retrieve it later.

When you want to access this file you need to convert the bookmarkData into a file URL:

NSError *error = nil;
BOOL bookmarkDataIsStale;
NSURL *bookmarkFileURL = nil;

bookmarkFileURL = [NSURL 
URLByResolvingBookmarkData:bookmarkData
options:NSURLBookmarkResolutionWithSecurityScope
relativeToURL:nil
bookmarkDataIsStale:&bookmarkDataIsStale
error:&error];

The URL returned includes a “security scope” appended to it (although this cannot be assumed):

file://localhost/Users/ObjColumnist/Desktop/File?applesecurityscope=373861333331353430643963323736623939346438646161643134663339363061396361306534303b30303030303030303b303030303030303030303030303032303b636f6d2e6170706c652e6170702d73616e64626f782e726561642d77726974653b30303030303030313b30653030303030323b303030303030303030306535363566373b2f75736572732f7370656e6365722f6465736b746f702f77617463686564

You then need to tell the OS that you are going access this file URL:

[bookmarkFileURL startAccessingSecurityScopedResource];

This allows you to do anything you want with that file URL, typically you will use NSFileManager to do this.

Once you are done accessing this file URL you MUST tell the OS, failing to do so will leak kernel resources and prevent you from accessing secured files until you quit your application.

[bookmarkFileURL stopAccessingSecurityScopedResource];

This wraps up Security Scoped File URL Bookmarks on OS X and how you can access files outside of you application’s sandbox container. It is important to note that you don’t have to do this for files that reside in your application’s container, and this article doesn’t do any error handling when converting URLs to Bookmarks and Vice Versa.

Is the Latest Always the Greatest?

After watching the various feeds regarding Apple’s media event this Wednesday, I picked up my iPad (1st generation) and went to download the new iPhoto app. Unfortunatley I was out of luck, as it said I needed a camera (why? If I had a Mac without a iSight Camera would Apple prevent me from using iPhoto on my Mac?). Thankfully I have an iPhone 4S, so I went to the App Store and was presented with the following Updates screen:

App Store

Now at first glance you may just think Apple have been busy, but if you look closely they updated some of their existing applications to requires iOS 5.1, a version of the OS which had only been available for a few minutes (and a version of the OS that refused to download due to server load!!!).

This made me think, If Apple requires users to update their devices to latest version of the OS to use their Apps, why don’t all developers?

The common approach of developers is to change the minimum specification of their applications only when they release a major version, but why does it have to be this way?

If we only supported the latest version of OS (and I mean even a point release) we would have the benefits of:

Now using the latest APIs actually has a number of benefits: So whats the downside? The only downside is quite a big one and that is:

But who are these users that don’t run the latest version of an OS? All iOS devices that have been avaliable for purchase in the last 2 years (not many people keep their phones beyond this) can upgrade to the latest OS for free. Since Over the Air Updates where introduced in iOS 5, the process of upgrading the OS on your device has become quick and painless. So my argument is, if all applications required the latest OS version to work, then maybe users would be more eager to upgrade their OS anyway…

We have something you really have to see. And touch - Media Event Predictions

So it is time for Apple’s first Keynote of the year (or do we count the educational event in January? … it did show up in the Keynote Podcast Feed after all), and the one prediction that everyone seems to be agreeing upon is that we will see the unveiling of the iPad 3, but what will be new…

iPad 3

Retina Display

The iPad 3 will have a 2048x1536 Retina Display (4 times as many pixels as the iPad 2’s display), meaning that text will be sharp and crisp and your be able to watch 1080p videos with (quite a lot of) pixels to spare. To put this into perspective, the 27" iMac has a resolution of 2560x1440, which means the iPad will actually have more lines on the screen than the 27" iMac. There is an unfortunate side effect of the iPad getting a Retina Display, and that is applications will probably increase in size with all of the iPad @2x images.

A6 Quad Core Processor

One thing that we know for sure is that the iPad 3 will need quite a bit of a speed bump to push all those pixels around the screen, but will it be a newer Dual Core A5 or a Quad Core A6 Processor? One of the rumors is that the iPad 3 will be slightly thicker than its predecessor, and I think this is to accommodate a bigger battery for a Quad Core Processor.

Improved Camera

The iPhone 4S’s camera is the one of best cameras that you will find on a smartphone, the iPad 2’s camera on the other hand is probably not as good as the original iPhone’s. The Retina Display would emphasise how bad the cameras are on the iPad, so I expect Apple to bump the spec of both of the cameras so that they can at least both record video at 1080p.

LTE

It is early days for LTE, but I don’t think that there is any doubt that it will be the standard for the next few years, and unlike CDMA this will include outside of the US too. Maybe LTE is why the iPad 3 will put on a few pounds?

What else?

AppleTV 3

Continuing on the theme of 1080p, I think that we will finally get an AppleTV that is able to play 1080p videos which will also mean…

1080p iTunes Videos

I think Apple will start selling 1080p videos, which means that they are (theoretically) the same quality as Bluray. This means that videophiles will have nothing left to complain about… unless they still have a dial up internet connection as those video files will be huge.

What we won’t see

Thunderbolt Syncing

Am I the only person who still syncs their iPad using a USB cable? Hopefully I am not, but it would be good if you could sync your iPad in seconds over Thunderbolt. Unfortunately I don’t even think Apple will be adding to the tiny (mini? … nano?) list of device that currently uses Thunderbolt.

128 GB of Storage

With 1080p Videos and Retina apps everyone would like a bit more storage wouldn’t they?

iOS 6

I don’t think we are too far away from the developer preview of iOS 6, but I think that Apple will have an event just for iOS 6 (especially if it is a major release).

Page 5 of 9