We’ve sold out of tickets for the latest batch but will be releasing more shortly.
Sign up for an invite!
Ellen Shapiro is the Lead Mobile Developer for SpotHero and former Director of iOS Engineering at an Vokal in Chicago, IL. She also builds Android apps and runs the Chicago AndroidListener meetup. She works in her spare time to bring leading songwriting application Hum to life, and writes iOS tutorials for RayWenderlich.com.
Marc is the Mobile Engineering Manager at Blue Apron and has been building iOS apps since 2009. Previously he worked for Etsy and a handful of startups. Marc runs the Brooklyn Swift Meetup and loves encouraging others to learn Swift. In his spare time he enjoys retweeting Arrested Development quotes.
Rob is co-author of iOS Programming Pushing the Limits. Before coming to Cocoa, he made his living sneaking into Chinese facilities in broad daylight. Later he became a Mac developer for Dell. It's not clear which was the stranger choice. He has a passion for the fiddly bits below the surface, like networking, performance, security, and text layout. He asks `but is it good Swift?` a lot.
Danielle hails from England, but is currently embracing jet lag as a way of life. They co-organize NSLondon and ran Fruitconf. They have been building things for Apple platforms for 8 years, but now work at CircleCI and on open source libraries and tools such as CocoaPods.
Natalia Berdys is an independent iOS developer from Poland. Within 2 years, she managed to become a self-taught developer, get a Mobile Engineering degree, speak at Apple WWDC and take her apps to #1 in 47 countries. Since she also holds a Master's Degree in American Literature, she has a very humanistic and poetic view of programming. Previously with Tutu Lab, now evolving into her next form.
Since Andyy first started developing six years ago for iOS 3, he has become the lead iOS developer at Punters in Melbourne, Australia. He's constantly studying the language and finding creative new ways to challenge the norm. You can read about his discoveries at [email protected]
Kristina Thai is an iOS Software Engineer at Intuit, where she works on the QuickBooks Self-Employed iOS application. She is an expert in Apple Watch development and regularly writes tutorials and technical commentary on the subject on her website kristina.io. As an international technical speaker, she has presented multiple times on Apple Watch development and has hosted workshops on how to build watch apps. Her past speaking events include talks at iOSDevUK, Swift Summit, Grace Hopper and many more. Kristina has a B.S. in Computer Science from the University of California, San Diego. Fun fact: she follows more animals on Instagram than people.
Jorge is a freelance dedicated to mobile development, security, and systems architecture. As a developer he started to work for the M.I.T. in 1993 and since he has collaborated in many software projects. Most of them were internally for HP where he worked for more than 15 years. Since 2008 he has been working in different aspects of mobile development. After playing with PalmOS, he learned Android programming for the first Google App contest and immediately started to play with the first iPhone SDK. He often participates as instructor in the best iOS and Android Bootcamps in U.S.A. and Europe. He has recently founded Canonical Examples to help other developers to take a step forward and become senior developers in a very demanding market.
Anastasiia is a software engineer working at Stanfy. She's been building iOS applications for several years, participating in the full application lifecycle: from gathering business demands and cost estimation, through ux prototyping to developing and long-term supporting. Often building both client and server sides and sharing her knowledge with the community from both sides of barricades. She got into computer security and cryptography when she was invited to fix a few lines of code in an iOS port of a cryptographic library, and ended up taking over all of iOS development and some general mobile ideology part of the project. She physically lives in Kyiv, Ukraine, spends her time online twiting as @vixentael.
Anat is a software engineer at American Express, where she enjoys bringing the delight of Swift into the CoreMobile codebase daily. She is a Cocoa-turned-CocoaTouch developer with her initial start in localization automation tools. Prior to American Express, she studied Computer Science and Mathematics at the University of Virginia, where she found her love for applying ML to Genre Classification. In her free time, Anat likes to slackline and play ultimate frisbee.
Natasha is new to the world of software development. For the past three years, she has been teaching and learning languages around the world. When she couldn't find a suitable app to learn Russian in early 2015, she decided to try out iOS development. She's been in love with coding ever since. At the moment, she's building two language apps in Swift, growing her meet-up Language Tech Taipei, diving into full-stack web development at Free Code Camp, and pushing for full fluency in Spanish and Russian.
Samuel is a developer well-versed in the rituals of writing developer tools that sometimes work. When he's not breaking Bundler and CocoaPods, you can find him at the library at UChicago, studying something impractical. In a former life, he has worked on everything from social networking apps to databases to constrained optimization problems. When not coding, Samuel is often found in the library doing homework, wishing he were writing code.
A writer, musician, and developer interested in crafting interesting and artful work. Developer of the universal app Chordal Text and AU Additive Synthesizer. TJ is a graduate of Eugene Lang College and Berklee College of Music.
Daniel Jalkut is the founder of Red Sweater, where he develops MarsEdit, the popular blog editing software for the Mac. He has been an active participant in the Mac and iOS communities, sharing bits of wisdom on his company blog, the Bitsplitting blog, and on Twitter. He is also one of the familiar voices from the popular indie-developer podcast Core Intuition.
Amy is a staff software engineer at Etsy in Brooklyn, NY. She's been an iOS developer for 5 years and is currently working on Etsy's app for shoppers.
Coming from a background in Architectural design, Bojana is a Senior UX Designer at Typeform in Barcelona. She honed her design skills in San Francisco while focusing on the underlying drivers of human behavior. In her perfect world, technology would be designed around human biology and a small jar of Nutella would be delivered to her desk, daily. In her free time she enjoys tango, brunch and occasionally writes about herself in third person.
Trained in the mystical and ancient arts of manual memory management, compiler macros and separate header files. Saul Mora is a developer who honors his programming ancestors by using Optional variables in swift on all UIs created from Nib files. Despite being an Objective C neckbeard, Saul has embraced the Swift programming language. Currently, Saul resides in Shanghai China working at 流利说 (Liulishuo) helping Chinese learn English while he is learning 普通话 (mandarin).
Marin Todorov is an iOS developer and author. He's part of Realm and the http://raywenderlich.com team. He's the author of the `iOS Animations by Tutorials` book and runs the `iOS Animations by Emails` newsletter. Besides crafting code, Marin also enjoys blogging, writing books, teaching, and speaking. He sometimes open sources his code. He walked the way to Santiago.
Erik is the co-founder and CTO of a small company that helps governments manage healthcare. He is deeply involved in the community around Django, a popular Python web framework, being a Django core developer, chair of the Dutch Django Association and co-organiser of various conferences. A long time ago, stopping just around the time Swift was first introduced, Erik did iOS development as well. He won various local awards by building the most popular independent Dutch public transit app at the time.
Erik cares about building communities and conferences in which everyone feels welcome, valued and at home, regardless of their background. He has specific interest in well-being and ethical issues around communities and development.
Ryan is a lead iOS engineer at Instagram working on app infrastructure in New York City. He is an avid open source advocate and contributor at Facebook on projects like AsyncDisplayKit. Ryan is also an author and presenter with RayWenderlich.com publishing work on the Apple Watch, 3D Touch, and Reactive Cocoa.
Chris Bailey is a developer and technical leader in the Runtime Technologies team at IBM. Chris has spent over 15 years working on runtimes, working with the open source communities for Java, Node.js and most recently, Swift. He has contributed to the Swift Language, Foundation and Dispatch projects, and is currently working on making more "server" focused APIs available to the community.
Robert F. Dickerson is a lead software engineer in [email protected] at Austin, TX. He is focused on enriching the "Swift on the server" community by being a developer for the web framework "Kitura", Swift server libraries and SDKs, and also sample applications. He has taught computer science courses at the University of Texas (Austin) and the College of William and Mary and has written numerous research papers about mobile computing, Internet of Things, and virtual reality. When not busy writing code, he is busy swing dancing at nights.
Katsumi Kishikawa is an iOS/OS X developer working at Realm. He has serial open source library developer, and has published some popular libraries on GitHub. He has large contributed to iOS developer community in Japan with his experience and knowledge.
Natasha is an iOS developer by day and a robot by night. She blogs about Swift, WatchOS, and iOS development on her blog, natashatherobot.com, curates a fast-growing weekly Swift newsletter, This Week in Swift, and organizes the try! Swift Conference around the world (including this one!). She's currently living the digital nomad life as her alter identity: @NatashaTheNomad.
Raised by llamas in the great state of Texas, Hector grew to be an avid couch potato who likes spending his precious couch time playing the Legend of Zelda or yelling at the TV whilst watching Game of Thrones. While he isn't sitting at home vegging out, blogging or working on KrakenDev.io, you can find him sitting at the office writing iOS & Android mobile apps for Capital One. With a particular penchant for great mobile UI/UX, Hector writes the code that makes the world go round.
Cate Huston has lived and worked in the UK, Australia, Canada, China and the United States, previously as Director of Mobile Engineering at Ride, an engineer at Google, an Extreme Blue intern at IBM, and a ski instructor. Cate speaks internationally on mobile development and her writing has been published on sites as varied as Lifehacker, The Daily Beast, The Eloquent Woman and Model View Culture. She is an advisor at Glowforge, co-curates Technically Speaking, blogs at Accidentally in Code and is @catehstn on Twitter.
We are committed to providing a safe space for all of our attendees, speakers, and volunteers. Our Code of Conduct can be read in full on Github here.
4:00pm - Swift Workshop by General Assembly
6:30pm - Pre-Event Party by Meetup
9:00 - Registration & Breakfast
9:45 - Opening Remarks
10:00 - Lambda: There and Back Again
I have been to Monad, to the Functor of Doom. I have seen the map, flattened and lensed. I have folded the infinite, lifted a Maybe, and I’d do it all over again. But from what I’ve seen, from Haskell to Church, we can rely on one truth, which is this: Swift is not a functional programming language. Pushing too hard to make it one fights Swift and breaks Cocoa.
But Swift has absorbed some fantastic lessons from the functional world, and while value types may not quite be the present, they are clearly the future. We’ll explore how decades of work in functional languages have influenced Swift, and how you can use those features best while staying true to Swift, playing nice with Cocoa, and embracing Protocol Oriented Programming.
Chance permeates our human existence - but it’s our instinct to seek order in chaos. In this talk, we’ll explore the fishy realm of randomness, and when it’s just too unnatural for our apps - let’s bend it to our will by making it evolve into coherent patterns with the GameplayKit framework. We’ll use the latest iOS 10 APIs and procedural noise to generate harmonious digital worlds, landscapes and textures - a comforting way to mine some creativity from silicon chips.
11:00 - Break, by DOMO
11:30 - Building a Tiny Compiler
We all use compilers every day, but they still can seem like a mysterious black box at times. We're going to build a tiny compiler for a made-up language 100% from scratch to get a feel for the basics of how compilers work. We'll also look at some of the ways Swift can yield elegant solutions for complex problems such as parsing, lexing, and code generation. At the end, we'll have a working implementation of a brand-new programming language.
12:00 - Incremental Swift
What do you do when you’re ready to upgrade to Swift, but rewriting your existing Objective-C apps isn’t an option? Using Etsy as a case study, I'll discuss a blueprint for integrating Swift incrementally into your apps. Swift provides rich features for Objective-C interoperability, but applying them to your current codebase isn’t always straightforward. We’ll cover technical details, such as linting and managing dependencies, as well as organizational strategies for gathering support, and other things we’ve learned at Etsy along the way. You’ll be prepared for a smooth transition to Swift: both in your code and in your company.
Open source communities attract and boast passionate, idealistic people, and many of us invest copious amounts of time and effort to contribute to our projects and support our communities. This underlying emotional attachment can make us more vulnerable to elevated stress, burnout and conflicts. And then there are those of us who also manage mental illness.
More often than not, we suffer these struggles in silence, feeling (and fearing) that we’re alone in our trouble. Here, our communities can make a huge difference, by building a positive and safe environment where we can blossom and support ourselves and our peers, and feel included.
The community around Django, a common open-source web framework for Python, is already very mindful towards inclusivity, and keeping an eye on the well-being of community members. We have recently launched several new projects to further promote the well-being of our community members.
This talk will take a look at open-source communities through the eyes of various mental well-being issues and struggles, show various things that some communities already do and the new initiatives from the Django community. This will hopefully inspire more communities to help foster healthy minds in a healthy environment.
1:15 - Lunch
2:30 - Extending Xcode 8
Xcode 8 introduces a new mechanism for extending the source editor with app extensions. In this talk, you will learn more about the practical implications of developing Xcode extensions: how they are distributed, positive and negative tradeoffs of their design, and how to keep an extension's host app efficiently in sync with the extension itself.
SiriKit was one of the more talked about features announced at WWDC this year; unfortunately its initial implementation is limited to a small number of use cases. But all is not lost! Apple introduced a collection of general purpose Speech API's in iOS 10 that provide simple speech-to-text conversion from streaming voice or audio files in over 50 languages.
In this talk I will walk through the new API's, discuss its limitations and end with providing a practical use case by adding speech recognition to a text-based search app.
3:30 - Real World Swift Performance
Lots of things can make your application slow, in this talk we're going to explore application performance from the bottom. Looking at the real world performance impact of Swift features (Protocols, Generics, Structs, and Classes) in the context of data parsing, mapping, and persistence, we will identify the key bottlenecks as well as the performance gains that Swift gives us.
4:00 - Break
Apple made major changes to the Notification APIs in iOS 10, affecting both Push and Local notifications. In this session, you'll get a high-level overview on what's changed, what you need to do to make sure your existing apps keep working, a few pitfalls to avoid during the transition, and some examples of the cool stuff you can do with the new toys.
5:00 - Decoding JSON with Swift
As Swift's statically-typed characteristics prove to complicate the decoding of serialized objects, there are other characteristics that serve as interesting alternatives, like currying. In this talk, we will go through some of the functional aspects of Swift that make parsing JSON fun and exciting!
5:30 - Architectural Superpowers
We usually hear about intangible or difficult to measure benefits of implementing a good architecture. I would like to prove to you that the benefits are far more mundane. In this talk I will showcase practical, real world examples of how a good architecture for your application makes your life easier. Using my interpretation of the Clean Architecture for iOS in Swift, I will show how it helps to do things such as reusing an existing use case in another view controller, or using a different backend, in case we are forced to do so. I will also cover briefly how this architecture helps with testability.
6:00 - Closing / Announcements
6:30 - & Party with Airplane Mode, sponsored by Perfect.org
9:00 - Breakfast
9:45 - Opening Remarks
The addition of support for Swift as a server-side programming language makes it possible to use not just the same language on client and server, but also to reuse APIs and code. This session will introduce you to new models of client and server interaction for application development, and show you how to rapidly build an app with both client and server components written in Swift.
One of the most interesting aspects of the Apple Watch is the fact that it is a new opportunity to engage with and delight your users. What’s different about these interactions, compared to the phone, is that they should be as short as possible - 2 seconds! What can you do in 2 seconds?! Using complications, notifications, and quick access to apps in memory, we’ll take a look at not only how to create and use each of these features on the watch, but also the best way to delight your users with each! After attending this talk, you’ll walk away with some new strategies on how to increase your app’s indispensability through these awesome watch features.
11:00 - Break, by DOMO
Unit tests are a challenge to write. "Did I think of every relevant case?" is an almost impossible question to answer. Fortunately, we have the tools to help find more relevant cases with less searching. Property based testing helps us find edge cases and become more confident about the assumptions that our code is built upon.
12:00 - Result Oriented Development
When I last talked about functional programming, we saw by using small, micro functions, a nasty, complex and hard to track function could eventually be written as a pipeline of smaller functions. But using only optionals to pipe functions together isn’t enough to take full advantage of this technique. With the help of a small, but useful Monad called Result (or Either) you can take your functional programming powers to the next level.
12:30 - Designs for the Human Mind
Have you ever wondered why some interfaces are more “intuitive” than others? What makes one UI resonate with people while another doesn’t? This talk is meant to shed a bit more light on this mystery. In some ways the human mind is incredibly adaptable while in other ways it seems to be stuck in the stone ages. This dichotomy presents interesting obstacles and opportunities for those of us designing and building digital experiences for humans.
1:00 - Sponsored Demo
1:15 - Lunch
In this presentation we will talk about building security, that does not fail when application keys are exposed; when servers are hacked; security that lasts as long as unique user's crypto keys (or passwords) are safe. Putting secrets known by user to be a source of trust is the ultimate way for app to become "thin" in relation to security model, thus lowering the risks and developer pain. We will learn about thin transparent security layers system and its applicability in client-server systems. And, of course, we'll cover some latest changes in ATS.
The handling of rich text is not easy. We may consider a lot of things like fonts, characters, glyphs, emojis, images, ligatures, etc. In this talk, I will show you the basics of laying out text and how to handle complex text layouts in Apple's OS.
As an elegant and powerful language, Swift offers developers the opportunity to create more engaging and enriching language learning experiences. Unfortunately, most language apps settle on a limited range of teaching techniques and approaches to UI design, with the result being shallow learning, less cultural understanding, and low user retention. We can do better. In this talk, you’ll learn how to create more effective—and more human—language learning experiences for iOS. We’ll start by examining the essential teaching techniques that are missing from language apps; discuss how to pair these techniques with UI elements, choose features based on learning goals, and create more culturally-relevant UI designs; and then move on to some actual examples in Swift.
4:00 - Break
It's difficult to make the jump from map and filter to say ... presenting view controllers or search bars that need to call an API on the web and populate a table view. To be honest, at first it seems almost like functional or reactive programming has nothing to do with UIKit or NSURLSession...
In this talk Marin (me) will show you how RxSwift (an async, event based framework) applies in few every day situations of the life of an iOS developer. If you like major pains being solved for you transparently at the price of a single dependance this talk is for you.
With the upcoming release of the third major version of Swift, massive improvements are coming to the language and we are beginning to see the chains being broken on some of shackles of Objective-C’s legacy. However a lot of these improvements still rely on “Stringly typed” APIs which have the potential to trip us up when developing apps. In this talk we are going to look into how we can avoid using these APIs by replacing them with alternatives that make our code more readable, safer, intentional and Swifty.
When apps grow, there eventually comes a time where you hear the dreaded word “refactor”. For established apps, refactors present interesting problems from the amount of code and teams involved. Not to mention performance and testing implications on a large application.
But no matter the size, there are common problems that any app runs into when taking on a big refactor. Things like massive view controllers, dependencies, and managing goals and priorities.
Come learn about how and why the Instagram team took on rewriting their iOS feed from the bottom up, and see what it takes to ship a successful refactor.
6:00 - Closing / Announcements
We noticed that you are running ad blocking software. While we cannot hack into your computer and prevent you from doing so, we also cannot run our event without the support of our sponsors.
Please consider turning off your ad block software for this website. Thanks.
By the way, we are sure you want to know who our sponsors are...
They are Lyft, BuddyBuild, Twilio, Perfect.org, ThoughtWorks, Contentful, Aol, Small Planet, Twitter, Meetup, Instagram, TechSpeak, Swift Studies, New York Times, Thoughtbot, Realm, Liulishuo, Stanfy, and Spot Hero!
Interested in sponsoring or want more information? Shoot us an email at [email protected].
We recommend reserving your try! Swift NYC parking spot in advance with SpotHero, a parking reservation service that helps drivers find and book parking online!
New to SpotHero? Enter promo code TRYSWIFT at checkout for an extra $5 off parking!