Posts tagged with "wwdc 2014"

Brent Simmons’ Early Thoughts on WWDC 2014

Brent Simmons:

It was like this, though — we kept hearing about things, even relatively small things, that all by themselves would have made for a great week. It was like the greatest Christmas ever — and then Santa Claus hung out so you could take selfies with him. This friendly and generous Apple reminds me why I love writing iOS and Mac apps.

It’s a small thing, but I think the photos that Cook, Federighi, and Ive took with developers make Apple feel more human and approachable. Combine that with great announcements, and you get a fantastic WWDC.

Permalink

iOS 8 Extensions: Apple’s Plan for a Powerful App Ecosystem

Amidst the variety of announcements from WWDC 2014, Extensibility – a new set of technologies for developers to extend their apps – has been mainly regarded as Apple’s solution to the lack of inter-app communication on iOS.

Traditionally, iOS has been a closed platform in terms of software personalization and extensibility: due to a combination of design choices and strict enforcement of sandboxing rules, iOS users never enjoyed many of the benefits found on Google’s mobile operating system. Android users could, for instance, install system-wide replacement keyboards or pick documents from any app advertised as a storage location; iOS users, on the other hand, were forced to deal with unnecessary copies created by an outdated Open In system or stick with Apple’s dubious keyboard design in iOS 7.

Simultaneously, with Apple focusing on Maps improvements and a new design foundation for iOS, a few third-party developers took up on the task of creating apps and protocols capable of extending iOS as much as possible leveraging the tiny holes left by Apple in its sandbox.

We’ve seen a proliferation of apps that use URL schemes to facilitate the process of launching other apps and passing text to them; bookmarklets – pieces of JavaScript code executed in the browser – to let Safari communicate with third-party apps; developers creating their own SDKs and app ecosystems to solve document management; Fleksy – a popular Android keyboard – making an iOS SDK; a Python interpreter and a text editor with a workflow automation system, developed by a one-man shop in Germany.

The third-party iOS development community has been incredibly creative in spite of Apple’s longstanding limitations on iOS, but many of the devised solutions – especially URL schemes – were, ultimately, hacks and workarounds based on a protocol that wasn’t intended to let multiple apps communicate and exchange data.

With iOS 8, Apple wants to make iOS more flexible and powerful by letting developers extend custom functionality and content beyond their apps, making it available to users in other parts of the OS – and all while maintaining a secure design model, user privacy, good performance, and battery life.

As someone who’s invested in iOS as a productivity platform and uses the iPad as a primary computing device every day, I welcomed Apple’s move with excitement and optimism, but I also wanted to investigate the actual scope of the technology the company will ship later this year.

Read more



Continuity’s Statement

From Shawn Blanc’s article on WWDC 2014, I particularly liked this bit about Continuity:

But I think Continuity is more than just a better implementation of a cool feature. I see it as a “philosophical” feature as well — it’s a statement that we use our devices for many of the same tasks, and that “work” is device agnostic. Continuity is a way of telling the Apple user it’s okay to expect their devices to always be in sync down to the very mid-sentence of an email in progress.

This is a great way to put it. Continuity is one of those features that “just make sense” – of course my activity should follow me around seamlessly – and it highlights an important point: devices and OSes are different, but the experience should always be consistent and natural.

Permalink


Swift Links

The third big announcement that followed OS X Yosemite and iOS 8 yesterday was Swift, Apple’s new programming language meant to replace Objective-C.

From Apple’s website:

Swift is an innovative new programming language for Cocoa and Cocoa Touch. Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.

Swift has been in the works since 2010, as confirmed by Chris Lattner, Director of the Developer Tools (via John Siracusa):

I started work on the Swift Programming Language (wikipedia) in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013.

The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.

One of the key features of Swift is interactive Playgrounds, which will allow you to type code and see the results appear immediately:

Playgrounds make writing Swift code incredibly simple and fun. Type a line of code and the result appears immediately. If your code runs over time, for instance through a loop, you can watch its progress in the timeline assistant. The timeline displays variables in a graph, draws each step when composing a view, and can play an animated SpriteKit scene. When you’ve perfected your code in the playground, simply move that code into your project.

As an introduction to Swift, Apple has created the Swift Programming Language guide, available as a free eBook on iTunes and on the web:

Swift is friendly to new programmers. It is the first industrial-quality systems programming language that is as expressive and enjoyable as a scripting language. It supports playgrounds, an innovative feature that allows programmers to experiment with Swift code and see the results immediately, without the overhead of building and running an app.

Over at The Verge, Ben Popper talked to iOS and OS X developers and collected their reactions to Swift:

The other big idea behind Swift is that programmers can write their code and see the results in real time. In the old paradigm, developers write line after line of code in a text box, then compile those results — sometimes a lengthy, painful, productivity-denting task — and wait to see the end result. The product and the process were distinct from one another. With Swift, they can tweak a parameter or algorithm and watch the changes happen right away in the same coding environment. Theoretically, this means developers can toy with concepts faster and make what they’re trying to make in less time.

Last, Tim Stevens has a good general overview at CNET, explaining the differences between various programming and scripting languages and Apple’s approach with Swift:

Scripting languages, like Python, tend to be easy to write and easy to test, but they aren’t particularly powerful and generally don’t perform well. Not ideal when you’re writing, say, a game that needs access to the full power of your device. Traditional programming languages, like Objective-C, give better access to the power of the device and enable the creation of more comprehensive apps, but are difficult to learn and tedious to compile and test.

Swift promises to have all the good with none of the bad. Apple promises that, at least in a few key benchmarks, it is considerably faster to execute than Python and faster even than Objective-C. But, despite that, the language supports what’s called “playgrounds” within the Xcode developer environment, visualizing Swift code in real-time, like a scripting language.

Permalink

iOS 8 Lock Screen and App Shortcuts Based on Location

Juli Clover, writing for MacRumors:

One new feature sees the iPhone displaying apps on the lock screen based on location. For example, MacRumors readers have seen relevant app icons pop up while at or near brick and mortar locations like Starbucks and the Apple Store. While at a Starbucks, for example, the Starbucks app icon is displayed in the lower left corner of the iPhone’s lock screen, which allows a Starbucks Passbook card to be easily accessed.

I haven’t seen this feature mentioned anywhere on Apple’s website, but I’ve read tweets from other users noting the same behavior for banks and other local points of interest and stores.

It’s interesting to think about this in combination with Near Me, an App Store section that was launched with iOS 7 to highlight relevant apps for your current location. Personally, I’ve never relied on Near Me because its recommendations were slim (I only get a single app for my town), but the idea of proactively injecting shortcuts in the Lock screen for apps based on location intrigues me.

I’d be curious to know if this feature will only work with apps that are already installed (thus simply launching them) or if it will also act as an extension for Near Me, allowing you to quickly discover relevant apps from the Lock screen.

Permalink

Peer-to-Peer AirPlay in iOS 8

From Apple’s Enterprise webpage for iOS 8:

With iOS 8, you can wirelessly connect iPad, iPhone, or iPod touch to Apple TV without first connecting to the organization’s network. Which means you can present or share your work even if you’re offline or the organization has a complex network.

AirPlay with no network connection will make it easier to beam presentations (and games) wirelessly to an Apple TV when you can’t connect to the Internet. Apple allowed Bluetooth-based setups for Apple TVs last year, and it’s good to see them extending AirPlay’s capabilities to make it more ubiquitous.

Permalink

OS X Yosemite Will Feature Option to Record Real-Time Footage of iOS Apps

Apple will provide an easier and integrated way to create screencasts for iOS apps with the upcoming iOS 8 and Yosemite software updates, using a Lightning cable and QuickTime Player on OS X. As reported by Benjamin Mayo at 9to5Mac, the feature is primarily meant to let developers create App Previews for the improved App Store launching with iOS 8, but it’ll also come in handy for users willing to capture videos of iOS apps for screencasts, reviews, and other video content.

Read more