October 7-8, 2019 / Le Beffroi de Montrouge Paris

Et de quatre !

This year, FrenchKit will turn four! We loved organising the first three editions. We experimented a lot of things; some were great… some less so. In 2019, we will continue making FrenchKit a living conference by taking what you liked the most and by introducing new ideas where we feel there’s room for improvement:

- An awesome new venue.
- More expert-grade, code-centric and actionable talks!
- The comeback of classrooms you loved in 2017.
- More community time and activities.

We will give you regular updates on our progress on the event and our programme.

Two Days

From October 7th through 8th, 2019, be one of the 350 people that will be part of the fourth edition of FrenchKit. Spend two days with some of the best developers from all around the World. Learn, discover, exchange, discuss and have fun! And on Monday night, we will share our love during a grand party.

frenchkit-circle-calendar

International Speakers

Meet, discuss, and learn from the most prominent developers involved with Apple technologies. We are gathering some of the best international speakers, people whose work is consistently improving the Cocoa ecosystem. Please note that all talks will be given in English.

frenchkit-circle-internationalspeakers

Classrooms & Masterclasses

In the afternoons, time for some more practical work! Choose your favorite among a list of selected topics and gather in small groups to follow 90-minute workshops or masterclasses lead by our teachers on both Monday and Tuesday.

frenchkit-circle-attendees

Tickets

Regular
199
Late Bird
249
Super Late Bird
299

Speakers

Peter Steinberger

Peter Steinberger

Peter founded and bootstrapped PSPDFKit in 2011, and has since expanded the company with the goal of providing the highest quality PDF framework for all platforms. He has worked with iOS since the inception of the iPhone, and is regularly invited to speak at conferences around the world. He also worked as a Senior iOS Engineer at a startup in San Francisco and taught iOS and Mac development at the Vienna University of Technology.

Anastasiia Voitova

Anastasiia Voitova

Product engineer in security & cryptography at Cossack Labs. Software engineer with a wide background, she started as a mobile developer since iOS3. Then she focused on cryptography/applied security, now she’s building security tools for protecting data in different applications.

Daniel Steinberg

Daniel Steinberg

Daniel is the author of more than a dozen books including the best selling books A Swift Kickstart and Dear Elena.
He has written apps for the iPhone and the iPad since the SDKs first appeared and has written programs for the Mac all the way back to System 7. Daniel presents iPhone, Cocoa, and Swift training and consults through his company Dim Sum Thinking.

Marcin Krzyzanowski

Marcin Krzyzanowski

Marcin is an eclectic developer currently working on SwiftStudio.app, an indepedent third-party IDE for Swift (but not only!) projects. Beside having a fairly complex last name, Mr K—ski also published a wide range of iOS/macOS libraries and tools, such as CryptoSwift, ObjectivePGP and the amazing Online Swift Playground, capable of running Swift code interactively from a Web Browser.

Nataliya Patsovska

Nataliya Patsovska

Nataliya is a software engineer with a passion for testing and system design. She’s currently based in Stockholm, Sweden working at the design platform team at iZettle.

Olivier Halligon

Olivier Halligon

Olivier is a Tooling engineer at BabylonHealth. He loves providing tools to improve developers’ daily life and DX – like with his Code Generation tool SwiftGen) – and make the job of others easier via tooling. He likes to share and discuss tech stuff with others, on his blog or in person, and will discuss how the new Property Wrappers feature in Swift 5.1 could help avoid a lot of boilerplate.

Bas Broek

Bas Broek

Bas is an iOS developer with a passion for testability, accessibility and user-centric apps. Cares about quality and collaboration. In his spare time, he curates Swift Weekly Brief, talks about things on the Contravariance podcast, and works on various open source projects, like GitHawk.

Coffee is nice. Watches are cool.

David Bonnet

David Bonnet

As an Artificial Intelligence enthusiast passionate about Swift he spends his spare time designing software for both worlds while jumping on the server side part of his clients apps.

Jerôme Alves

Jerôme Alves

Jerome is Lead iOS Developer at Heetch. He’s working hard to help his team to become one of the biggest and talented iOS team in Europe. He’s obviously passionated by Swift development but also by other random stuff like improv theatre which he practiced during 4 years. Oh, and he’s a happy dad 🙂

Florent Pillet

Florent Pillet

Florent is a longtime Rx user (since 2014 with ReactiveCocoa in Objective-C), he’s very skilled in reactive technologies and know how to teach them. He co-authored Ray Wenderlich’s book on RxSwift, a smash hit that has become the reference book for RxSwift newcomers. He’s also coauthoring the new book about Combine, a logical followup to the previous book.

Antoine Van der Lee

Antoine Van der Lee

He’s passionate about contributing to the iOS community where you might know him from his weekly blog posts on his personal blog called SwiftLee. He particularly enjoys speaking on best practices for structuring code architecture in a way that creates sustainability, as well as open sourcing frameworks and how iOS developers can be more successful in their work.

Mert Buran

Mert Buran

“Incredible!” – Guardian.
“Two thumbs up!” – Washington Post.
“He is the best!” – New York Times.
“Quel mec!” – Le Monde.
“Il a dépensé de l’argent public!” – Le Canard Enchaîné.
“iOS developer at Trainline” – Him.

Elaine Dias Batista

Elaine Dias Batista

Elaine is a Team Leader and Developer Advocate at SFEIR, where she works on projects consisting of mobile and voice technologies. She’s passionate about the new interactions that we can have with technology. She’s a GDE for the Google Assistant.

Denis Poifol

Denis Poifol

Denis Poifol is Software Engineer at Fabernovel where he develops iOS applications, from mass-market to professional apps. Strong advocate of protocol oriented programming and clean architecture, Denis explores various topics in iOS and Swift, especially generics and optimization of coding (do more with less) and shares his work with iOS community in Fabernovel and beyond. He is involved in Cocoaheads community in Lyon and a regular speaker.

Gaétan Zanella

Gaétan Zanella

When he is not watching WWDC videos, writing code or answering to SO questions, Gaétan likes to read private API from generated headers and deep-dive inside the Apple frameworks implementation. He recently replicated the overlay interface presented in the Apple Maps app and released an easy to use iOS library.

Hervé Berenger

Hervé Berenger

After 15 years spent in the AI, video games, aeronautics and fintech industries, Hervé joined Fabernovel in 2015 as lead iOS developer. He’s passionate about delivering users the swiftiest UX and can spend hours discussing design patterns. He taught Digital Humanities at Sciences Po and enjoys mixing art and technology within his artist collective “Théâtre Electronique”. His 4-year-old is not allowed to play with singletons.

More to come ...

More to come ...

Program

Nuit Blanche de Paris

This year, the weekend before FrenchKit will be hosting the annual Nuit Blanche de Paris, organised by the City of Paris.

Among this year's activities:

La Grande Traversée, march by registration 🚶‍♀️🚶‍♂️
For the first time, the Mairie de Paris offers two night maches open to all from 10 p.m. to 2 a.m. Go at your pace, the idea is to walk a 9-km loop in Paris around 10 Parisian museums and monuments! 2 roads have been thought up. On one hand, the Louvre, the Musée des Arts Décoratifs, the Hotel de Ville, the Centre Pompidou, the Musée Picasso, the Ecole des Beaux Arts and on the other hand, the Grand Palais, the Petit Palais, the Musée Guimet, the Théâtre Chaillot, the Musée de l'Homme and the UNESCO...

Traveling artists 🎺
For this White Night, about a dozen artists will walk the streets of Paris performing live from 7 p.m. to 7 a.m.

A bicycle lane on the beltway 🚲
Come and enjoy a bike ride on a part of the beltway, from 7 p.m. to 6:30 a.m. in a crazy atmosphere thanks to accessories to make your bike wheels sparkle! Pedestrians are welcome and can discover the works made by the invited artists. Around this major road, the Philharmonie de Paris and the Gymnase Ladoumègue will propose concerts and sporting events.

Read more on sortiraparis.com and join our Slack to plan the night with your fellow attendees!

The day before the conference, discuss, meet new friends and enjoy activities organised by the FrenchKit Ambassadors.
Stroll in the City, (re)discover Paris and get the most out of your time around the conference. To know more about the available activities, join our Slack!

The day before the conference, discuss, meet new friends and enjoy activities organised by the FrenchKit Ambassadors.
Gather in a local bar, have a chat with local and international attendees and speakers. To know more about the available activities, join our Slack!

9:30 - 9:40

9:40 - 9:45

TBA

TBD

9:45 - 10:20

Daniel Steinberg

TBD

TBA
11:10 - 11:40

11:40 - 11:45

TBA

TBD

TBA

The talk will be divided in 3 main parts:
1. What is Showcase Driven Development and how it helps our team at Heetch on a daily basis
2. How we implemented it and how attendees can start right away to do it
3. Some good practices and architecture advices to take the most out of this methodology

Nataliya Patsovska

TBD

12:55 - 14:10

14:10 - 14:15

TBA

TBD

TBA

Someone else’s code on GitHub has a lot of advantages! It’s convenient, easy to integrate, and often doesn’t have malware embedded in it. However, it’s also built to someone else’s product requirements, which means that once you need to go beyond out-of-the-box functionality, congratulations, you’re a core contributor.

There are plenty of other hidden downsides to integrating someone else’s library. It may not be supported forever; it may not be accessible; it might not be localized; it might swizzle viewDidLoad.

UIKit components have none of these problems, but what happens when you want more customization than you get from UIAppearance and tintColor? Simple: you build it!

In this talk, we’ll explore building a “slide to unlock” component, with all the bells and whistles, on top of the stable foundation of UIKit. That means all the accessibility, reliability, and other advantages of first-party code, coupled with precisely the customization points you need to make your designer happy.

Marcin Krzyzanowski

This presentation seeks to acquaint users of the Swift language tooling. Parsing, generating and manipulating Swift source code in order to build useful devtool for Swift, in Swift. In particular, we’re gonna build refactoring tool using tools and libraries provided by Open Source Swift project.

Gaétan Zanella

During the WWDC 2014, Apple introduced the table views with automatic dimensions. It looked like a direct answer to one of the most rated questions ever posted on StackOverflow, asked one year before: “how to use Auto Layout in UITableView for dynamic cell layouts & variable row height”.

The question is tricky if you want to keep a good scrolling performance and a comprehensible code base. The Apple proposal initially looks like the perfect solution - contrary to most of the SO answers:

Really easy to set up. In iOS 11, you have nothing to do.
The performances are pretty good
Nevertheless, 5 years later, the statement is still the same: UITableView with automatic dimensions does not work. It creates layout errors, scrolling jumps, instable content offset, wrong cell updates etc. Even Apple does not use it.

Why?

The answer is in its implementation details which Apple will - of course - never reveal. Let’s dive right into it! The debugger and breakpoints are all we need.

The automatic dimensions are related to many aspects of the UTableView class and its superclass - UIScrollView. It is a great occasion to discover some of them:

- How does UITableView operate with the layout passes?
- How is it related to the UITableView dequeue system?
- How does UITableView compute its row heights?

Answering those questions is an opportunity to finally conclude: Should we use self-sizing cells?

Denis Poifol

As every year the WWDC leaves many iOS developers eager to reimplement their app with the brand new frameworks and possibilities. But unfortunately you can not think “iOS13 only” and drop compatibility below iOS 13 in all of your projects. As a developer I always love discovering these new libraries, but I love even more finding out really easy and concrete tricks to improve my projects. This is one of those: how to animate every change in collection and table views, for iOS 13 and below!

We will dive into the implementation:
1. how to model accurately a collectionView
2. change the data source to use this model
3. and then enjoy the improved readability and animate the changes at will

In this talk I will demonstrate that combining a proper representation of views and a little bit of generics wisdom, we can easily create maintainable and powerful data sources for both collectionViews and tableViews. The cherry on top is an almost-free animation of changes, which is great considering the risk of crashes and bugs theses animations might represent.

15:55 - 16:30

This year classrooms are back!

Read more on Classrooms & Masterclasses

David Bonnet

You use Swift everyday to create great client apps, but have you ever wondered what can it do more for you? Swift Superpowers will provide you with small tips of great - and unconventional - use cases for Swift, from cross-platform network code to scripting, prototyping and more...

TBA
09:50 - 10:25

TBA
10:25 - 10:55

David Bonnet

You use Swift everyday to create great client apps, but have you ever wondered what can it do more for you? Swift Superpowers will provide you with small tips of great - and unconventional - use cases for Swift, from cross-platform network code to scripting, prototyping and more...

Elaine Dias Batista

When we think about developing features that are voice-forward, we think about existing voice assistants such as Alexa and Siri. What about the fully-capable computers that we have with us all the time, our smartphones? Some moments on our day to day life are very well suited for voice interactions: while in a car or cooking for example. Let’s not forget that voice interactions are extremely accessible, not only in a physical way (for people with dexterity or motion impediments) but also in a cognitive way (I think we all have a loved one in our lives that really struggles with technology, and people from some emerging countries have very limited access to computers and are not at ease with technology).

In this talk, I’ll explain what integrations can be done in iOS: - 1st-party solutions such as the Natural Language Framework and Siri Shortcuts - 3rd-party solutions such as Porcupine, Snips, Dialogflow, Amazon Lex, RASA and many others for each one, I’ll discuss the main characteristics - On device vs. Cloud - Open or Closed source - Pricing - Performance

In summary, this talk will help think about why you should implement conversational features on your app and how.

Hervé Berenger

Did you notice that, during the past two years, there has been in proportion much more CoreML talks in iOS conferences than mobile applications actually using CoreML ? Why is that ?

The thing is, banking or CRM or health mobile applications hardly need dog/cat image classifiers… AI in mobile apps is not really about training CoreML models.

Most of us iOS developers are front-end developers. Not data scientists. Yet, AI and machine learning can certainly help us build better applications. Not with computer vision ; but with UITextFields, serendipity and adaptive behaviors.

So, this talk will advocate for what could be called : “boring AI”. Boring AI is every day AI. It’s the AI behind Gmail’s smart replies or Netflix recommendation algorithm. You hardly notice it - but it transforms user experience.

Year after year, Apple provided us with many tools to implement boring AI features - let’s get on with them !

After an introduction of the “glossy vs. boring AI” debate, I will draw a parallel between AI and animations (same difficulty to “sell” them to customers ; same debate between fancy transitions and discreet loading views ; and a customer/developer/ux-designer triangle that could inspire customer/developer/data-scientist relationships).

Then, we’ll dive into various iOS frameworks, and show how we could use them to improve concretely a commonplace mobile app (e.g a social network client).

Among those frameworks are :

- Speech, with SFSpeechRecognizer
- Natural language, with NLTagger and NLEmbedding
- AVFoundation with AVSpeechSynthesizer
- SiriKit and intents
- (not an iOS framework) but we’ll also discuss text translation.

Okayyy, if you insist we’ll also have a look at Core/CreateML to see if it’s difficult to classify some text (“does an email contain a request for action ?”)
Throughout the talk, we’ll also pay special attention to privacy considerations.

TBA

There are lots of things around us that make our lives easier every day, but we never really think about how they work. How does a train make turns? How do fridges work? Why do we need specific adapters to charge our devices? How does sunscreen protect our skin? and so on. It’s a relief that we don’t need to know the answers to take advantage of those things! But wouldn’t it be fun to find out anyway? In this short talk, we’ll try to figure out how Pubgrub—the new dependency resolver of Swift Package Manager—resolves our dependencies and makes our lives easier.

12:05 - 13:20

David Bonnet

You use Swift everyday to create great client apps, but have you ever wondered what can it do more for you? Swift Superpowers will provide you with small tips of great - and unconventional - use cases for Swift, from cross-platform network code to scripting, prototyping and more...

TBA

When you write unit tests for your projects, there’s a fair chance that you do so by following the classical « Given-When-Then » paradigm, in which you set some input data, execute the code you’re testing, and finally assert that its outcome is indeed the one you expected.

While this approach is perfectly sound, it does suffer one downside: your program will only be tested on the static input data defined in your tests, and there is no real guarantee that this data does cover all edge cases. This can be especially problematic for SDK developers, who, by definition, have a very hard time anticipating all the different situations in which their code will be used.

To improve on this issue, another approach exists, and it is called property-based testing. The idea behind it is very simple: you write your tests by defining properties that must always be true for your program. For example, « an array reversed twice is always equal to itself ». The testing framework will then generate random input values and test wether the property holds or not. And, as you can imagine, this approach is extremely good at narrowing down on overlooked edge cases.

In Swift, we are lucky enough to already have a full-fledged implementation called SwiftCheck, that enables property-based testing (https://github.com/typelift/SwiftCheck). The goal of this talk is thus to explain how property-based testing can be a powerful addition to a testing suite, and give actual and actionable examples of how it can be added to a project using SwiftCheck.

Peter Steinberger

PSPDFKit ported PDF Viewer (https://pdfviewer.io), a project with over 2 MLOC and lots of UIKit code to the mac via Catalyst. Having played with “Marzipan” in 2018, the team was able to port their huge app in a relative short timeframe. Learn what you have to do after checking the (X) Mac checkbox, how far Catalyst can be pushed, how it interacts with AppKit, and how to work around the worst bugs. We'll show real code, a selection of radar Feedback Assistant items, strategies to keep code branching low, and some design alterations that were necessary to make it feel more at home on the Mac.

14:35 - 15:10

Olivier Halligon

Property Wrappers are one of the new hotness coming to Swift 5. They look like annotations, and they can do awesome things!

SwiftUI makes heavy use of them, so you will likely see plenty of them in the future; so better get used to them and understand them!

But besides explaining how they work and what they are for, this talk will also demonstrate how to create one yourself to benefit your own needs in your code!

There are plenty of interesting ideas, concepts and common patterns in your code that could greatly benefit from Property Wrappers, so come discover how you can create your own Property Wrappers to fit your own needs in your everyday job, from handling type-safe preferences, access tokens, constraints on acceptable values, and much more!

This talk will demonstrate how Property Wrappers are implemented and propose multiple interesting ideas for custom Property Wrappers for common patterns… but by the end of the talk you should also even be able to go wild and create your own to make your code more concise and magical!

15:15 - 15:45

This year classrooms are back!

Read more on Classrooms & Masterclasses

Classrooms and Masterclasses

Classrooms are back! In the afternoon of both Monday and Tuesday, you’ll be able to choose your favorite among a list of topics and gather in small groups of 20-40 people to follow a practical 90-minute workshop led by our teachers.

And if you’re in for some deeper Swift knowledge and understanding, you’ll have the opportunity to follow our 90-minute masterclasses, held in our main conference room.

Please note that, due to the restriction on the number of participants for each classroom, you will be required to register for your favorite session. Registrations will take place on Monday morning at the welcome desks.

Bitrise

TBD

Bas Broek

With iPadOS, Apple introduced new features for iPad, like using multiple instances of your app at once, PencilKit for Apple Pencil, Sidecar to extend your Mac screen to your iPad, improved Drag and Drop APIs, improved file management, and more.

The idea of this workshop/classroom is to give participants hands-on experience with some of these new features in an app we’ll build together, with the intent to be a great starting point to introduce these new features to the user’s apps.

16:30 - 18:00

Florent Pillet & Antoine Van der Lee

In this workshop I’ll introduce Combine to both newcomers to reactive programming, and developers already knowing RxSwift / ReactiveSwift and willing to keep up with Apple’s choice of technologies.

We’ve advocated for reactive programming (Rx) for years as it is a fantastic tool to write more robust, predictable and testable code. Apple finally recognised the value of Rx and designed its own implementation based on the Reactive Streams specifications. It’s a slightly different from RxSwift but close enough that compatibility layers already exist.

Apple is also introducing reactive support in various parts of Foundation and in UI bindings for SwiftUI. It’s going to be an essential technology to learn for the years to come.

We’ll make sure that newcomers feel comfortable with the general principles of reactive programming and that experienced RxSwift developers understand the differences (and limitations!) of Combine.

16:30 - 18:00

TBA

TBD

TBA

TBD

Daniel Steinberg

TBD

Bitrise

TBD

Bas Broek

With iPadOS, Apple introduced new features for iPad, like using multiple instances of your app at once, PencilKit for Apple Pencil, Sidecar to extend your Mac screen to your iPad, improved Drag and Drop APIs, improved file management, and more.

The idea of this workshop/classroom is to give participants hands-on experience with some of these new features in an app we’ll build together, with the intent to be a great starting point to introduce these new features to the user’s apps.

15:45 - 17:15

Florent Pillet & Antoine Van der Lee

In this workshop I’ll introduce Combine to both newcomers to reactive programming, and developers already knowing RxSwift / ReactiveSwift and willing to keep up with Apple’s choice of technologies.

We’ve advocated for reactive programming (Rx) for years as it is a fantastic tool to write more robust, predictable and testable code. Apple finally recognised the value of Rx and designed its own implementation based on the Reactive Streams specifications. It’s a slightly different from RxSwift but close enough that compatibility layers already exist.

Apple is also introducing reactive support in various parts of Foundation and in UI bindings for SwiftUI. It’s going to be an essential technology to learn for the years to come.

We’ll make sure that newcomers feel comfortable with the general principles of reactive programming and that experienced RxSwift developers understand the differences (and limitations!) of Combine.

15:45 - 17:15

TBA

TBD

TBA

TBD

David Bonnet

The aim of this classroom is to help people discover swift on the server using the vapor framework.

1/ build a simple CRUD service using REST routing on top of a SQLite storage
2/ write unit tests for it
3/ testing it on linux using a docker image
4/ deploying on docker (so basically everywhere)
5/ (for speedrunners) share the model with the iOS client to display content
6/ (for really serious guys) build the web page display that content and create a new one.

TBA

They said Swift is “protocol oriented,” so you wrote protocols. But you wanted them to be generic, so you added associated types. But your collections broke, so you added type-erasers. But your “as”-casts broke, so you switched to Any. But then everything broke, so you read about Mirror. And the tears began. Why did it have to be so hard to make an array?

It doesn’t have to be so hard. But it’s very easy to use the wrong tools to solve the wrong problems. In this session I’ll help you reevaluate what it means to write generic Swift and how to choose the right tools for the job. Whether your goal is reusable view controllers, flexible networking, data-driven UI, effective unit testing, or just the joy of elegant data structures, you’ll learn how to work with Swift and not fight the compiler. Expect to write some code! This workshop is about more than syntax and language features. It’s about how to think about generic, reusable code in production codebases.

This hands-on workshop assumes familiarity with Swift syntax for generics, protocols, extensions, enums, and first-class functions (such as completion handlers), as well as the basic differences between Swift structs and classes. More advanced topics, including protocols with associated types, enums with associated data, closures, and functions as return types, will be introduced and explained.

Code of Conduct

Conferences should simply be an opportunity for sharing, learning and meeting new people, in respect of all attendees, speakers and staff.

Read our Code of Conduct on github.com/frenchkit/frenchkitcodeofconduct.

Sponsors

Platinum

Gold

Bronze

Le Beffroi de Montrouge

Combining monumental architecture of the 1930s and modernity, the Beffroi de Montrouge is a gorgeous venue at the gates of Paris. The Beffroi de Montrouge is easily accessible from the Metro Line 4 (Mairie de Montrouge), the Bus Lines 68, 126, 128 (Mairie de Montrouge), the Tramway Line 3 (Porte d’Orléans) or by car (Périphérique – Porte d’Orléans) with dedicated parking slots just below the venue.

Venue address

Avenue de la République, 92120 Montrouge
More information

Contact us

hello@frenchkit.fr
+33 (0)1 53 89 99 99

Organizers

About us

Venue address

   Avenue de la République, 92120 Montrouge

   hello@frenchkit.fr

   +33 (0)1 53 89 99 99

Let's discuss!

Join organisers and attendees prior (and during) the conference on our Slack team.

Request your invitation here!

Join Our Slack

Sponsorship Inquiries

Since 2016, FrenchKit has been made possible thanks to a number of great partners. Interested in being a sponsor for our next edition?

Contact Us