Select Teaching / Speaking Sessions

Siamak (Ash) Ashrafi
10 min readFeb 23, 2022

--

Speaking around the country on mobile (Android / iOS), Wearable and AI Technology.

Speaking @ 360iDev

Full Profile

Over 10 years and more than 54 conferences around the country.

Sessions@: Oracle JavaOne, CodeOne / Developer Week /Google DevFest, Developer Groups / DroidCon / Comic Con /SV Code Camp / Design West / IDTechEx / Emerging Technology SIG …

Events: https://goo.gl/7Wi8cF

Speaking on Advanced Mobile / Wearable

Mobile Development is going through a dramatic and profound change. Both Android and iOS are moving to a declarative/reactive programming paradigm. The preferred way of building mobile apps is no longer using imperative Java/XML (Android) or Objective-C/UIKit (iOS) but Jetpack Compose/Kotlin Flow (Android) and SwiftUI/Combine Framework (iOS).

🚫 Java / XML 🔜 ✅ Kotlin / Kotlin Flow / ComposeUI

🚫 Objective-C / UIKit 🔜 ✅ Swift / Swift structured concurrency / SwiftUI

Due to this fact, there is a great need to help mobile developers make this inevitable switch!

Building professional apps:

This is the golden age of mobile development.

Select Conferences

SwiftUI / Combine / Structured Concurrency (full day sessions) [iOS]

360|iDev @ Denver — 8.25.19, 8.15.20, 8.28.21

SwiftUI / Combine Framework

For the third year in a row we present a SwiftUI/Combine workshop.

The first year was mostly curiosity, the second year were early adopters and this year is for everyone. In this session, we will start with a review of what is declarative programming by building with SwiftUI. We will review all the basic SwiftUI components needed for a modern iOS app. Once we have a solid understanding of SwiftUI we will review reactive programming with the Combine framework. Understanding these will allow us to combine SwiftUI with the Combine framework to make a fully declarative/reactive MVVM application.

Slides:

Previous Years:

From the second year. (2020 — 4.5 hours!)

From the first year (2019)

Slides

Vidoe

360iDev Why SwiftUI?

~~~

Swift Structured Concurrency … This is what you have been (await)ing for!

In this half-day session, we will discuss Swift structured concurrency and why we need it.

Material needed:

MacOS Monterey / XCode 13

1:30–2:00 PM

Docs: Topics covered in the Medium article:

2:15–3:30 PM

Playgrounds: Swift 5.5

This is an Xcode playground that demonstrates the new features introduced in Swift 5.5:

  • Async await
  • Async sequences
  • Effectful read-only properties
  • Structured concurrency
  • async let bindings
  • Continuations for interfacing async tasks with synchronous code
  • Actors
  • Global actors
  • Sendable and @Sendable closures

Playground Code:

Thanks to Paul Hudson for this wonderful material (https://twitter.com/twostraws) Fork of: twostraws/whats-new-in-swift-5–5

3:45–4:45 PM

Codelab: Updating an App to Use Swift Concurrency

Improve your app’s performance by refactoring your code to take advantage of asynchronous functions in Swift.

Github: Each commit is a step moving from GSD to SSC

This example is very well defined and has great supporting documentation

WWDC Video:

Swift concurrency: Update a sample app — WWDC21 — Videos

Documentation:

Updating an App to Use Swift Concurrency (SSC)

4:45–5:00 PM

Words of advice:

How to become an iOS developer: Learn Swift(UI) — Not Objective-C

Composing Magic with MVI & Kotlin StateFlow [Android]

360|AnDev @ Denver — 7.23.20

In this session we take a standard Android Arch Component project (Room, Repo, ModelView, Activities/XML) and replace them with “the new stuff”. MVVM replaced by MVI, Activities/XML (navigation) replaced byCompose (screens), Livedata with Kotlin Flow and RxJava with Kolin ShareFlow (using Dagger Hilt DI). Giving us a glimpse into the future of Android development with Compose and Kotlin Flow/StateFlow/SharedFlow.

We start with what all these terms mean. Followed by how they work together. Ended by comparing/contrasting with SwiftUI / Combine Framework.

Slides:

Video:

Why Swift for TensorFlow? [ML]

AI Dev World @ San Jose Convention Center — 10.7.19

In this talk, we look at “Why Swift for TensorFlow?”. The choice was guided by the goals of the project, which imposed specific technical requirements which we cover in this talk. A cornerstone of the design is an algorithm that is called Graph Program Extraction, which allows you to write in an eager execution-style programming model while retaining all of the benefits of graphs. The design also includes support for advanced automatic differentiation built directly into Swift. We review the needed prerequisite concepts so that this talk is accessible to all technical levels.

This talk was not recorded. The closest would be this 360iDev session.

Using Swift with TensorFlow for ML. (Deprecated Now)

Android Best Practices [Android] & Building @ Speed of Thought (Design Sprints) [Android]

DroidCon @ Boston — 4.10.17 & 4.8.19

Breaking away from the traditional steps of a design sprint (http://www.gv.com/sprint) we blur them together to further reduce the development cycle in what we call “Building @ Speed of Thought”. Over the years my group has been perfecting how to build world-class Android Apps at the speed of thought first for hackathons, then clients and now for Product Sprints.

In this session, we will detail the “Speed of Thought” methodology, steps, tools and components involved. We start by utilizing a hyper design sprint to explore the power of mobile and how it fits into the market/problem we are trying to solve. Then focusing on the crucial step in a Product Sprint we skip building high fidelity prototypes but build the finished product in rapid time. Utilizing Google JetPack Android software components (UI, Behavior, Foundation, Architecture) we take full advantage of the power of the Android platform. We do this by leveraging the design features of Android Studio (material components / theme editor, constraint library, motion editor) along with open source/industry resources to build an intuitive and beautiful UI.

Once the UI framework is done we write the Kotlin application logic utilizing the Android Architecture Components with data binding connected to Firebase for the synchronized backend. With our application finished we execute our strategy for marketing, distribution, and monetization utilizing Data-Driven Ethnography (DDE) guided by Google Analytics . At the end of the session, the audience will have a good idea of how in rapid succession all these tools and components come together to produce magic.

Slides:

Where Are Wearables and Where Are They Going? [wearable tech]

Wearable USA — IDTechEx Emerging Technology @ Silicon Valley — 11.14.18

This talk is an overview of the origins, current state and the answer to the question of where are wearables going. We start by examining the promise and profound benefits that wearables could have on our lives. Everything from healthcare, fitness, social interactions to personal security could be transformed by wearables. Driven by the promise of all these benefits we find that after tons of time, effort and money spent on building wearable tech in the last decade we have little to show for it!

Trying to learn from the lessons of the past we explore how it all started. We will cover who built what, who copied whom, who bought whom, and the various ups & downs of fitness, fashion and medical wearable companies which led to this disastrous current state of affairs that left many thinking wearables are dead.

In the last section, we apply the lesson of the past, the current trends and projected future tech to show why the author believes that because of Amara’s law we have a bright and exciting future in wearables which will lead to a profound revolution in fashion.

IDTechEx Emerging Technology

Augmented Reality for the Masses ARCore [Android] & ARKit [iOS]

Developer Week @ SF — 2.7.2018

Now that both Android and iOS have augmented reality (AR) frameworks shipping with their IDE we will see an explosion of AR technology. This session will provide an overview of building on ARKit (iOS) and ARCore (Android).
We start with what is AR and why it is considered the next big thing in tech by exploring the history and some mind bending demos.

After building a solid understanding of the what and why, we start diving into the how.
We will explore how to build an AR app on three different platforms:

  1. Native iOS using XCode with Swift
  2. Native Android using Android Studio with Kotlin
  3. Native iOS & Android using game engines Unity and Unreal

We will outline the advantages and disadvantages of each to help differentiate the different development processes.

The hope is that after attending this talk the audience would be excited about the technology and have the appropriate knowledge to start down the path of AR development.

‘Real World’ not ‘Hello World’ development [Android] & [iOS]

International Women’s Day Conference @ Fresno — 3.19.2017

Technology and Fashion Awaken the Soul of the Shoe [wearable tech]

Designer of Things Conference @ Santa Clara — 12.2.2015

This talk will cover wearables with regards to the integration of fashion and technology. First we will explore the fashion industry, as a global business system for designing, producing and distributing clothing and accessories. Second we will cover advanced technologies used to build wearable fashion with code samples of sensors capturing physiological data. The talk will culminate by showing how these two industries will co-evolve and the different forms these collaborations can take. Their growth will now come from radically new products that combine the best that two industries can offer (i.e. Google Glass, Project Jacquard & Soli).

Slides:

Designer of Things Conference

Sessions on Advanced Android Architecture with Kotlin [Android]

Google Devfest West @ Google Main Campus, Mt. View Ca (over 5 years)

https://docs.google.com/document/d/1kX0jm7j03CLcLXrHVv5ci5Lt_1KpCWiJTl1vNa--380/edit#heading=h.o49stpet49jo

Presentations on advanced Swift [iOS] / Kotlin [Android] development

Silicon Valley Code Camp @ San Jose (over 9 years)

https://docs.google.com/document/d/1kX0jm7j03CLcLXrHVv5ci5Lt_1KpCWiJTl1vNa--380/edit#heading=h.n5bi15f4ihl8

  • SciFi Comes Alive on Mobile — 2019
  • iOS: The Best Parts — 2019
  • Accelerating Android Development with Google Jetpack — 2018
  • iOS: The Best Parts — 10.7.2017
  • Android and iOS Architecture Best Practices — 2017
  • iOS & Android Architectural Design — 2016
  • Functional Fashion — 2016
  • Swift 2.0 using XCode 7 beta — 2015
  • Wearable Health Tech — 2105
  • Into to iOS Swift- 2014
  • Wearable Tech — 2014
  • Wearable Tech is “The Next Big Thing”. — 2013
  • Sensor Fusion on mobile devices for Lifecare — 2012
  • Smart Devices. [Web 3.0] Fun for Users & Developers — 2011
  • Android: Augmented Reality — 2010

Intensive all day iOS/Swift class. [iOS]

AT&T Developer Summit @ Las Vegas — 1.4.2016 https://developer.att.com/blog/find-out-why-ash-is-the-person-to-teach-you-the-latest-ios

AI & Wearable Technology for the AAU School of Fashion. [wearable tech]

Academy of Arts University School of Fashion @ SF — future development Developed a 15 week course “Technology is the New Black”

  1. AI/ML
  2. Blockchain with smart contracts
  3. 3D printing.
Wearable is the Future of Mobile

Google Dev Fest

Google DevFest West

AI/AR from science fiction to science fact

GDG SF Dec 15, 2020, 6:30–8:00 PM with 130 RSVP’d

AI / AR from science fiction to science fact (TensorFlow & ARCore)

Please join us for a fun / festive GDG!

Let’s end this crazy year with an entertaining & educational discussion about the power of today’s smartphones. We will look at cool projects being done in Artificial Intelligence (AI) and Augmented reality (AR) with a review of the technology that makes them work.

Part1: ARCore is Real to the Core!

Part2: Self Driving Car with Pixel 4’s “Neural Core” Edge TPU & TFLite

Article:

https://zoewave.medium.com/ai-ml-ar-vr-in-your-pocket-b30b968f0eee

____

Declarative/Reactive Programming with Android & iOS

GDG SF Oct 13, 2020, 6:00–7:00 PM with 54 RSVP’d

Declarative Programming with Android Jetpack Compose / Kotlin Flow & SwiftUI / Combine Framework

In this session, we will cover the transition from imperative to declarative programming on both Android and iOS. Both (SwiftUI & Jetpack Compose [unbundled toolkit]) are designed to simplify development and are a complete departure from the current model. We will go over the core design principles and data flow concepts. We will also demo the amazing tooling support provided by Android Studio and XCode. We end the session by showing how the data flow lends itself to the advanced MV(I/VM) architecture. This is a very important talk for anyone looking to build iOS / Android apps in the near future.

Android Development

Older Android Development

Older Arch Docs

--

--