ALTCONF 2016
SCHEDULE

Watch the videos from 2015 at realm.io/altconf.

TuesdayTue Theater 2 Theater 3
09:00-09:45

To Be Announced!

To Be Announced!

Design & Development = Better Together

Many companies have designers and developers working together but most companies also have a company culture driven by one or the other. Developer centric companies and cultures value technical solutions (Microsoft) and design-centric cultures value design over technology (Apple). The best products however come from the combination of the two. This talk will cover specific techniques and methodology of designers working with developers to solve problems and produce better products. The approach is integrated into an Agile/Scrum process and this has helped create products that both ship to market and push for design and usability excellence.
10:00-10:45

Intelligent UI with AsyncDisplayKit

Description: AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. It was originally built to make Facebook's Paper possible, and goes hand-in-hand with pop's physics-based animations — but it's just as powerful with UIKit Dynamics and conventional app designs. AsyncDisplayKit builds on UIKit and Core Animation to offer a general solution. Its image and text views can be used without blocking the main thread, offering a drop-in solution for this common task. More importantly, it supports asynchronously creating and rendering complex view hierarchies the same way. Currently AsyncDisplayKit is heavily used in Pinterests iOS app and it’s one of the main drivers for the performance and responsiveness that Pinterest is archiving in it’s’ iOS app especially also on slower devices like the iPhone 4s or the iPad 3. I’m one of the core contributor of ASDK and in this talk I would like to go from an introduction and overview of AsyncDisplayKit into some more details like how performant and rich user interfaces can be be build via AsyncDisplayKit. Furthermore I would like to give an overview what features we are currently working on and what we have planned for AsyncDisplayKit 2.0. Outline / Topics: - Definition of responsiveness, and discussion of its importance in modern client development - What is AsyncDisplayKit? - Details on why ASDK is designed how it is, influenced by the architecture of iOS - Overview of some of the powerful features that ASDK 1.x provides - Advanced Features in 2.0 - Examples of converting existing code to use ASDK, general tips on where to use it, and limitations. - Current Work & Limitations

Easy, Beautiful Typography with BonMot

An introduction to BonMot, an attributed string generation library for iOS. BonMot abstracts away all the weirdness and inconsistencies of NSAttributedString, providing a readable, usable, composable library that makes even the most complex typography a breeze. I'll be showing some ways that BonMot can help developers to step up their typography game and more closely honor designers' work in their apps.
11:00-11:45

The Secret Life of a Digital Nomad

Last October, I gave up my expensive San Francisco apartment, gave away the few big things I did own, and flew to Amsterdam (through Iceland ☃️) with all my worldly possessions in two suitcases and a backpack. Since then, I’ve been to 12 countries and many more cities working from my 13” MacBook Pro. Being a digital nomad has alway been my dream, but I was not nearly prepared for the reality of it. Learn what travel bloggers will not tell you about what it’s really like to be a digital nomad.

A User Testing Driven Approach to Solving Navigation for the Blind

To Be Announced!
13:00-13:45

Bring Your App To Life with CALayers

Many times, the most memorable part of an app's experience is an intricate, animated experience. iOS provides a number of tools to create these experiences, but it can take some work to get the most out of them. The basis for many great experiences lies in Core Animation. Using tools such as CALayer and CATransaction we can create a high resolution, vector-based, animated sequence that delights users. We'll use code samples to go through different animations and discuss how you can use these techniques in your app. Let's use the power of CALayers to make your app memorable.

The Third Wave: How indies can still impact the future of iTunes

From Carla's eight years experience as an indie app producer, she predicts the future of mobile apps and describes what she calls the “Third Wave of the iTunes.” Indies dominated early adapters of mobile apps in the first wave; giants such as Facebook and Supercell and companies such as Snapchat have led us into the second wave; and the third wave will be “personalizing experience” in which every interaction, product, and feature will be unique. This is the indie's opportunity to get back in on the game. Using her own experience, and examples from other successful app producers, she lays out a strategy for success in a corporate dominate age.
14:00-14:45

VoiceOver is Awesome

I think that developers can underestimate how *awesome* UIAccessibility is. The iPhone has amazing potential as an accessibility tool, and it's used by a majority of visually impaired smartphone users. Well-designed apps really can offer meaningful improvements in peoples' everyday lives. But mobile isn't like other platforms where users can hack together scripts to improve the accessibility of poorly designed apps. It's up to the application developer to provide adequate support for all users, and it's unfortunately common to see apps where VoiceOver interaction is broken. Apple has made UIAccessibility pretty easy to support, but it does take some intentional effort and an understanding of the tools and usage patterns. In this talk, my goal is to give you basic familiarity with the accessibility tools as a user uses them, basic familiarity with the UIAccessibility API, some UX intuition for users with visual impairments, and some simple helpers and tools to make implementation easier.

Tilting at Windmills

Are we "putting a dent in the universe" or just chasing personal visions? So many of us see something very clearly that we believe in, but we can't even get one other person to come along. What then? And if we get people to join us, what do we do with that responsibility? How do we know when to continue to pursue the vision and when to "pivot" or "sell out" or... give up? Along the way there are questions, decisions, doubts. Let's talk about them for a bit.
15:00-15:45

To Be Announced!

To Be Announced!
16:00-16:45

Swift Scripting Redux: Localization

The first ever conference talk I gave was about [scripting in Swift] in early 2015, pretty soon after Swift was released in mid 2014. Since then, I’ve been using Swift for even more scripting and automation tasks. Most recently, we’ve been working on internationalization and localization for the Workflow app. In this talk we’ll go over the steps that went into this localization process, how Swift makes things much more fun and easier, and how to get up and running with Swift scripting so you can start writing even more Swift!
WednesdayWed Theater 2 Theater 3
09:00-09:45

The Art of the Sell

Throughout her career Jaimee has held roles from in-house teams, to agency partner, to independent consultant and now COO. Across these roles, she not only had to sell her own design work, but the work of her teams and colleagues, as well. It stands true that the most important skill she ever learned was how to sell her ideas and work. Through stories of client interactions and learning experiences, Jaimee will share her two rules of design and describe how her “Check Yourself Checkpoints” have helped her close millions of dollars in sales across the past seventeen years.
10:00-10:45

The Would-Be Billionaire's Guide Reactive programming with RxSwift

You may have heard about reactive programming. Maybe even checked out RxSwift. But if you're not using it in your daily development, you're really missing out! Rx decimates the boilerplate code you'd have to write to do the same things in the traditional, imperative manner. And, in this day and age where the answer to supporting multiple platforms has given rise to using "lowest common denominator" cross-platform development technologies, Rx shifts the focus back to developers who want to stay true to their platform of choice, by unifying the patterns and operators used to write app code on any platform. Come see how reactive programming with RxSwift will change your life and make you richer than your wildest dreams.

Become a Better Engineer Through Writing

For developers, it is often much easier just to write code, rather than explain and defend your implementation to others. However in team development, it is not only necessary but also crucial to be able to communicate your technical ideas clearly. What’s the best way of refining your thought process? Writing! Using various forms of writing, you can learn several approaches that will help you become a more thoughtful engineer. Many engineers tend to shy away from traditional writing and some even exclaim that they chose computer science to avoid essay writing in the first place! However, as Shubhro Saha states in his blog post, Software Engineers Should Write, “Code and essays have a lot more in common. Both begin as a blank slate and an idea, then end as a discrete product for an intended audience. The product is a sequence of logical statements, bundled into modular units– whether it be functions or paragraphs. Like good prose, good code is concise (think ‘expressive’). Bad code wastes CPU cycles; bad essays waste brain cycles.” In order to become a more concise and thoughtful engineer, talking and writing about code helps break down the technical intricacies. While essays are definitely a thorough way to dissect technical concepts, there are other forms of writing that also help a developer think through complex topics, and aren’t as intimidating and dreaded as traditional essays. These forms are: • Journaling • Question and Answer Forums • Blogging • Tutorial Writing Attendees will walk away with a deep understanding of how to use writing as a form of technical expression. I hope to inspire audience members to take charge of their career by proactively working on their technical communication skills in a medium that many engineers tend to shy away from. On a personal note, I'll also share my journey of how technical writing helped turn me from a nobody with barely any iOS development experience, into an internationally invited technical speaker in 1 years time.
11:00-11:45

Futures and Promises, or how I learned to stop worrying and love the GCD

An overview of Futures/Promises in Swift and specifically FutureKit, and how to use it to never have to call dispatch_async again. A brief introduction to asynchronous handling and how a Futures/Promises implementation library will help. We will cover the basics: How to build a Promise/Future pair. How to use Executors to make the GCD simple. Never write another function with a callback block property again. How to wrap all your favorite async libraries into Futures (like AlamoFire, ReactiveCocoa, etc). Create rock solid error handling, and dead simple cancellations. I will also briefly overview of Futures based coding patterns like caching, parallel execution, NSOperationQueues, FIFO based execution, etc.

Selling Your Weird Mouth Noises

Podcasts seem super easy at first blush - after all, everyone seems to have their own show these days. Turns out it's pretty tough to publish quality content day after day while working full-time as designers and developers at startups. But, sometimes it's worth the extra effort. In this talk, Bryn tells the story of taking Spec Network from 0 to 500,000 downloads per month, building an active community of almost 5,000 designers and developers, making financial decisions for your friends, and how obsessively building tiny failed side projects can lead directly to building big successful ones.
13:00-13:45

“Richard, I don’t think you understand what the product is” — A Designer’s Response to Silicon Valley

While the HBO show Silicon Valley can often be a hilarious, uncomfortably spot-on look at life and work in the tech industry, it can also shine a light on some it’s unfortunate realities. As product designers, how do we respond to those realities, and still maintain a hopeful outlook that helps us build great products.

Sell Out and Save the World!

To Be Announced!
14:00-14:45

Building Periscope Sketches

Periscope’s new “Sketch” feature lets you draw on live video. This talk takes you behind the scenes, from prototype to production code, with all the bugs along the way. If you’ve never worked in low-level graphics, this talk is for you.

Lava Mae's Mobile Revolution: Taking Radical Hospitality to the Streets

What if you couldn’t take a shower when you needed one? For over 7,500 people experiencing homelessness in San Francisco, this is the daily reality - only 16 public shower stalls are available on a drop-in basis for the thousands of men, women, and children living on our streets. Lava Mae is not your average San Francisco startup. The nonprofit mobile hygiene service for the homeless began by repurposing retired transportation buses into showers and toilets on wheels. Today, Lava Mae’s mobile revolution is taking Radical Hospitality to the streets and bringing humanity, innovation, and collaboration to the way homeless services are provided. In a world where we increasingly connect more to our digital devices than to each other, where being homeless often means being invisible, Lava Mae believes that compassion is as simple as honoring another’s humanity. Join Leah Filler, founding team member, to debunk myths about homelessness and learn about the innovative solutions being born right here in San Francisco.
15:00-15:30

Duty of Care

This history of the Mac and iOS community is told almost entirely in the form of digressions — covered topics include squirrels, disco, and Nate Eror. Warning: there may be a sing-along.
15:00-15:45

Playgrounds: teach nerdy stuff in a fun and efficient way!

Playgrounds have been among the most promising features of Swift, since the very first time we saw our now favorite bird. Unfortunately many of the features used to create rich and interactive playgrounds were not public at that time or were not stable enough for prime time. As we approach Swift 3.0, playgrounds are finally ready to fulfil their role as fundamental tools to learn and teach programming. With multiple pages, interactive views, embedded code, markup, video and embedded assets, they set a foundation on top of which a great learning experience can be built. At Udacity, we’re working on using playgrounds for teaching, evaluation via quizzes and exercises to improve the students skills. In a nutshell, we’re using playgrounds to fulfil the dream of teaching nerdy stuff in a fun and effective way!
15:35-15:45

Let Fear Be Your Guide

To Be Announced!
16:00-16:45

How (not) to write an iOS SDK

I'll be picking apart what makes an SDK great to work with, and conversely, illustrating some common pitfalls that SDK developers fall into. Everything from the language an SDK is written in, to the build system it uses, to the platforms it supports (hint: all of them) and more. I'll also go over some ways to go that extra mile when building an SDK.

Type Erasure Magic

In a world where the Swift Protocol is King and Generics are our Queen, we seem to have trouble working with both together in perfect harmony. Is it possible for a hero to arise that can bring these two concepts together and make them work for us instead of against us? Here's to hoping that Type Erasure can be that Hero. In this talk I'll be explaining some shortcomings in Swift when working with Generics and Protocols and what type erasure is at a high level. Even more importantly, I'll explain why we need it when working with Protocols and Generics by giving a real world example of Type Erasure in an App Store app. So far, a common question asked is why we would ever want to use Type Erasure in Swift. By the end of this talk I hope for the audience to have a better idea of how they can use generics and protocols together in their own applications and that type erasure can not only be easy, but useful.
ThursdayThu Theater 2 Theater 3
09:00-09:45

Saving Lives… with iBeacons!!

You’ve probably heard of iBeacons. But have you seen them up close? Or developed apps for them? iBeacon technology is a fun and easy way to start working with Bluetooth Low Energy devices. Cloud City Development has been working with Pop Up Labs at MIT to help develop a solution for educating health professionals about the Maker Movement and how it positively affects the medical community. With the help of iBeacons, health professionals have learned how to start creating their own devices and tools! In this talk, I will first introduce iBeacons. Then I’ll show an example in Swift how to interact with iBeacons within an iOS app. Finally I’ll demonstrate how iBeacons in a Medical Maker Kit, coupled with the Medical Make app for iPad, help get medical staff learn about the items in the kit, which enables them to get creative, build new projects, and ultimately save lives! Now is the era of connected devices. And it’s up to us–software developers, designers, entrepreneurs, and hobbyists–to put this new wave of technology through its paces. This talk will give you a glimpse of what can be accomplished with iBeacons and will encourage you to think of new ways in which Bluetooth Low Energy devices like iBeacons can be used to design and develop creative solutions that enhance the experience of life!

Building Delight

To Be Announced!
10:00-10:45

Be the quality you want to see in your app [Swift edition]

Once upon a time, back in the dark ages of Objective-C, monitoring the quality metrics of a codebase was a cumbersome operation, which involved the setup of obscure tools and easily produced unreliable results. Times have changed and, just a few months after the announcement of Swift, it is now straightforward for iOS and OS X developers to improve their toolbelts and analyse the evolution of their code throughout the weeks. During this talk you will discover why and how to monitor your codebase’s health, by leveraging metrics such as code complexity, duplication, coverage and others, by adopting open-source tools such as Fastlane, Lizard, SwiftLint, Slather, and the Swift SonarQube plugin.

To Be Announced!

To Be Announced!
11:00-11:45

Turning UIKit Inside Out

Swift developers tend to favor a declarative programming style, UIKit requires the opposite. UIKit mostly works on delegates and callback blocks that provide data to the framework and influence what is rendered on the screen. Forcing our Swift code into this architecture often results in code that is difficult to understand & maintain. What if we could turn this inside out? What if the view layer was simply a mapping of our data layer, not requiring delegation or callbacks?

To Be Announced!

To Be Announced!
13:00-13:45

To Be Announced!

To Be Announced!

Creating the Future

At the Omni Group, we’re working hard to make iPad Pro the best platform it can be. When Tim Cook introduced iPad Pro last September, he said: “iPad is the clearest expression of our vision of the future of personal computing: a simple, multi-touch piece of glass that instantly transforms into virtually anything that you want it to be.” I still find that vision as compelling as when we decided to go “iPad or Bust!” when iPad was introduced in 2010, and if we truly want to achieve that vision we still have a lot of work to do to bring more of the power of the desktop to that transforming piece of glass. From empowering customers with automated workflows to providing free software trials and upgrade pricing on the App Store, I'll be sharing some of the projects Omni has been working on to create that future.
14:00-14:45

Practical Core Bluetooth in IoT & Wearable projects

In recent years, "IoT" or "Wearable" are one of buzzwords, so many people might have interests in building hardware products. But learning how to develop electric circuits, mechanical systems or embedded systems etc. from zero is so difficult. However, iOS developers can contribute to projects of hardware products with the knowledge of Core Bluetooth / Bluetooth Low Energy (BLE), even if they are not familiar with hardware layer. In this session, he will introduce BLE, show easy examples of Core Bluetooth, and share knowledges with his experiences developing more than 10 apps for IoT and Wearable products.

What the Functor is a Monad

You don’t need to learn Category Theory or deep mathematics to understand Swift, but a basic understanding of some fundamental principles can go a long way. In this session, we’ll look at some often-mentioned ideas that will help you visualize what is going on with functional programming in Swift.
15:00-15:45

Advanced ObjC<->Swift Interoperability

The talk dives deep into how you can build apps and frameworks using both ObjC and Swift at the same time and what are the limitations right now, what is coming in Swift 3.0 and what is the benefit of this approach. Working and leading Apple platforms SDKs at Parse and Open Source at Facebook, including first Facebook contribution to Swift - BoltsSwift as well as SDK and realtime client for Parse, KVOController and pop animation library, so the talk takes examples from all of this work.

Stylish Developers Guide to Unit Testing in Swift

Unit testing is like eating your vegetables. We know we should do it, but can always find an excuse not to. The Unit Test evangelists aren’t much help. They tout endless benefits while providing trivial code examples that don’t match what iOS developers need to build. The evangelists don’t tell you that learning to write testable code is hard. Even if you mastered testing in Objective-C, the static typing of Swift requires a new batch of techniques. This presentation will cut through the hype and give production proven techniques to get your apps under test. We’ll point out the common patterns that make testing hard and provide better alternatives. We’ll answer questions like: How do I test my ViewControllers? How can I test Storyboard code? How do I survive without a mocking library or partial mocks? Learning to write testable code may be hard, but at the other end is more reliable code. As a bonus, learning to write unit tests makes your code better, even when you’re not writing tests.
16:00-16:45

WWDC Week In Review (except for Friday)

We don’t know what Apple is going to do, until the keynote and most of the sessions are through. But the only remaining WWDC 2016 mystery on Thursday afternoon is who the band will be at the bash. So, join James for his third year closing AltConf with a humorous and easy-going look back at the announcements of WWDC 2016 and what they might mean for us going forward. There may also be a bit involving a ukulele.