Radu Dan
MobOS 2020

My MobOS Experience

Mobile is dead. Long Live Mobile!
is what people were chanting in Cluj last week. Great conference, awesome people and a lot of cool stuff presented!

Day 1 – Thursday

I barely woke up at 3 AM as the alarm clock was shouting for some time: “Dude, you are missing the plane!”.

See for yourselves how full of joy I was at the airport gate:

Me at the airport gate

The first day of the event consisted of full day workshops.

We had Daniel Steinberg with A SwiftUI Kickstart, where he gone through the fundamentals of SwiftUI.

Daniel is a well known person in the iOS world, he wrote a lot of books, held dozens of trainings and he has developed apps for iOS since the SDK first appeared.

Daniel's Workshop Kaan's Workshop

On the “other side”, Google Developer Expert for Firebase and Software Engineer at Facebook, Kaan Mamikoglu, hold an workshop on Building a Home Inventory App Using Firebase. Besides being a computer geek (sorry Kaan!), he loves to travel around the world and is passionate about emerging technologies.

In the evening, we had the speakers dinner and went out to a local traditional restaurant. We got to know each other, shared some fun stories, and of course, we went into technical discussion, such as how are you doing this and that, what do you feel about X, and Y, etc.

Speaker's Dinner

Day 2 - Friday

Presentations Day started strong with Sebastian Grebasch’s talk: Smartphones Give Us Superpowers, Now What?. Mobile Growth Lead at Google, Sebastian supports companies across many industries in developing, improving and implementing mobile strategies and tactics.

Sebastian Grebasch Talk

Even though his presentation was not technical, Sebastian gave some interesting statistics about Mobile apps and shared with us some of the best practices on how to craft mobile interaction to grow businesses.

Next, we had Ileana Boroica, speaking about Better and Faster in Mobile Development. She detailed some of the basics of a CI pipeline setup and told us about the importance of asset catalogs. For juniors or developers that want to learn Mobile app development, it was overall a good talk.

Ileana Boroica Talk

Kaan Mamikoglu (again Kaan 😁), walked us through Using Firebase Tools Together. He gave an insight to Cloud Firestore, Cloud Functions, Crashlitics and Google Analytics, and many more.

We had the lunch break and after that we split into iOS and Android tracks.

Swav Kulinski, Lead Engineer at TAB, spoke about Flutter - When Cross-platform Becomes Ambient Computing. He presented the advantages of using Flutter and how great it is. Definitely something to look into it when you want to develop cross platform mobile applications. Some of his articles: Flutter - Sky's the Limit and Flutter and Android Obfuscation.

Swav Kulinski Talk

Shai Mishali, iOS Tech Lead at Gett, gave the best talk IMO. Shai showed us almost everything you can do with Combine (Getting Started with Combine).

He also did live coding at the end (of course, Xcode crashed 🤯). As he coded, you had to put your name into a spreadsheet. The app loaded the names of all persons and randomised one every X milliseconds. After 5 seconds, it stopped and the selected person appeared on screen, a behaviour somehow similar with slot machines. All of that was done with Combine.

The persons that were selected won a free Combine book.

Shai Mishali Talk

Next, we had Tim Condon, one of the key persons when it comes to Vapor, Server Side Swift. There are concrete goals to Swift 6 (read here, the announcement from swift.org: On the road to Swift 6), one of them being to expand the number of platforms where Swift is supported. This means that more and more traction will be on server side Swift, and Vapor has a lot of potential to be the next big thing when it comes to web frameworks.

Tim had a different topic than Vapor, his speech was around .

He did live coding as well (what do you think?! Xcode crashed - I think he used Shai’s Xcode version 🤯), showing us how we can migrate from Cocoa Pods to SPM and how to create our own packages and use them in our app. Awesome session!

Tim Condon Talk

The Android session was covered by Magdalena Miu, Google Developer Expert and Squad Lead Developer. I can’t offer you much feedback about her performance, because I was in first line at Tim’s talk. The persons that I asked were generally happy with what she delivered. Magda’s topic was Clarity is King and Kotlin is Queen.

Magdalena Miu Talk

We had a short coffee break and moved to the last part of the conference.

Marius Mailat, chief Android expert, and another Google Developer Expert, presented Your Next Car Will Run on Android Automative OS.

Marius Mailat Talk

The last speaker from Android was Vladimir Jovanovic, with Rewrite or Refactor That Is the Question. Really cool guy and passionate about Kotlin and public speaking.

Vladimir Jovanovic Talk

I could not attend his talk (because I had mine at the same time), but he received very good feedback. He detailed how him and his teammates convinced the management from his company to invest time into refactoring the application: modularising the codebase, redoing the CI/CD pipeline and writing elegant UT and UI tests. It was pretty impressive what he did!

Switching to iOS, Vincent Pradeilles, iOS developer, working in Lyon, France, spoke about Taking the Boilerplate Out of Your Tests with Sourcery. You can check more about Sorcery here. It is used in over 30,000 projects on both iOS and macOS apps.

Vincent gave good examples on how to use Stencil to generate our Swift code and thus saving us a lot of time when it comes to writing unit tests. More to check here.

Vincent Pradeilles Talk

Finally, it was my turn to speak about On-device machine learning – Core ML vs Create ML. I was looking forward to it and I was excited to give this talk at MobOS. I am happy to say that it went very well!

I invested a lot of time into it and I wanted to turn out perfect. I think I rehearsed 25-30 times the presentation before.

In the first part of the talk, I spoke about the key add-ons that Apple did to the third increment of Core ML, what you can do with Create ML and how easy it is to create machine learning models and use them into your apps.

I combined the theory with a live demo where I showed an app that recognised the brand of some toy cars with live feed from the camera of the device.

The second part was more practical, I detailed the APIs that we have in CoreML, and provided a second demo with an updatable model that was trained with just three images and recognised the cars on stage with high confidence.

Go check it out: the demo app, the slides and some very useful links (articles, repos and Apple examples).

Radu Dan Talk

Wrapping it up

  • 2 Days Agenda
  • 1 Workshop Full Day
  • 1 Presentations Day
  • 13 Speakers
  • 8 International Speakers

Highlights

  • Networking & Making Friends
  • Gaining Knowledge
  • Sharing Knowledge
  • Applying the Latest Thinking
  • Going Above and Beyond

And some Cluj delights:

Cluj Delights Cluj Delights

References