2019 360iDev Conference Day 4

2019 360iDev Conference Day 4

State of the Conference

“No one hates positive re-enforcement”

I thought I knew but I didn’t

“Success is a lousy teacher”

Book: “The cluetrain manifesto

“Help other become who they are” People over profit

Financial transparency: The coolest thing I have ever seen at a conference.

  • Indie conference
  • Don’t’ do Breakfast
  • Lunch outside, it’s nice outside

  • Speaker Travel, speaker hotel room
  • $103, 063 to put on conference
  • Attendees
  • Sponsorships
  • Talked about how much money the conference made
  • The playlist is by attendees
  • Thanks to the Sponsors
  • Thanks to the speakers
  • Attendees are the ones that come, they should have a say in where the conference is held.
  • Volunteers (room monitors)
  • All in Ticket (not everyone wants it, but it is there)
  • Previous Years Banners (conference yearbook)

Using LLDB, Instruments, and Xcode to understand a codebase


Straying From the Happy Path: Taking Control of Errors in Swift

If you want to handle more error, then you have to make it easy.

BYOB: Build Your Own (Swift) Backend. Server-Side Swift beyond CloudKit

Piles of Pictures: Process with Turi Create


2019 360iDev Conference Day 3

How to stay excited in a world that is falling apart

  • Looking Back
    • Where we have changed people
    • We are amazing people
  • It looked so easy to create a youtube channel
    • Don’t fear Failure
  • Being a successful programmer
  • Life too is an iterative process
  • Enjoy their laughter
    • Does it make a difference?Should stop arguing and focus on results
    • It’s nice to be right. It’s better to be effective.
    • What people get wrong about business?
      • Problem
      • Business
      • Profit
    • Look for the helpers, then help then

The opportunity to

  • Empathize with others
  • Learn how the world really works
  • Find weakness we can address
  • Do better the next time
  • Laugh at ourselves

Changing your luck

  • Finding the opportunities in the bad
  • Remembering to look back at accomplishments
  • Seeing what is there instead is not there
  • At least trying to achieve your dreams
  • Seeing the up and downs as parts of the whole


What is the best thing about the world ending?

  • Don’t waste time on things that don’t matter
    • What really matters is to you!

WebSockets: Adding Real-Time Data to Your App with SwiftNIO and Network Framework

Http Protocols

  • Stateless
  • TCP
  • MIME
  • Secure

HTTP/1.1 vs HTTP/2


Upgrade Negotiation Request Headers

  • HTTP will ignore and send 1.1 response
  • http/2 will send a 101 Switching Protocols


  • Polling
    • Request on Timer
    • Client makes request
  • Long Polling
    • Blocking request and awaits for data
  • SSE
    • Server pushes back over time


  • Bi-directional message oriented
  • UTF-Binary Message
  • Subprotocols
  • WebSocket Protocol vs HTML 5

RFC 6455

WebSocket Upgrade Negotiation Headers

  • Version
  • Key
  • Accept
  • Protocol
  • Extensions


Why would we use NIO

  • Custom protocols
  • Effieiency / Scale

Server Side Swift

Ios12 and 13

  • Network Framework
  • URLSession Support

Codable Deep Dive



If You Liked It Then You Should Have Put A String On It


Intro to Serverless Computing with Swift

Where can we implement serverless in our app?

Why use serverless?

  • Scalability
  • Pay per use
  • Decreased time to market
  • Event driven scenarios
  • Offload CPU intensive tasks to the cloud
  • Integration with cloud services

FASS (functions as a Service)

  • IBM
  • AWS Lamda
  • Azure Functions
  • Google


No Biz Like Show Biz: Video Recording Your App for Marketing and Instruction


  • Tagline: What’s your story?
  • Bloom’s Taxonomy
  • 5 minute app
  • Script – The Hero’s Journey
  • Script – You are the Obi Wan
  • Script Structure
    • Intro – crisis
    • Narrative – journey
    • End – award
  • Script Styles: Text Only
  • Script Styles: Documentary
  • Edit & Rehearse
  • Production
  • Live Action
  • Screenshot
    • Screen Capture
    • Microphone
  • Slide Deck
  • Microphones
    • Single Durational Mic off of Amazon
  • Screen Capture Software
    • QuickTime
  • WorkFlow
  • Demo System
  • Teleprompter
  • Tablet
  • Set your Stage
  • Distraction Screen: Start at blank home screen
  • Record
  • Aim for one take
  • Find producers
  • Saving and naming
  • Post-Production
  • Imovie
  • Mix to Mono
  • Publishing
  • App Previews with no talking only sound

StoreKit And The IAP Lifecycle

Creation to Realization

NAMI: help app developers make money and not sell data


Venturing Into the world of RxSwift unit testing.


RxSwift is similar to other RX frameworks

2019 360iDev Conference Day 2

The conference kicked off at 9:30 a.m. on the 2nd floor of the Grand Hyatt.

The conference uses a 3rd party app http://www.essemble.us/ for scheduling of the conference.  I found it very useful to know session information, times and location.

Building Meaningful Software

I have the ability to learn and have the imitative

  • Make a GitHub account
  • Joined a game development lab
  • We Read Too
    • Women of Color Book
  • A app is not going to save the world?
  • Technology is a tool. It is not a solution.
  • How can you create meaningful tools that have positive impact?

Think outside yourself

If you’re building something, test it with folks who experience life differently from yourself.

Think about times where you or someone you know has struggled to find or access something important.

Pevo : is a national app for domestic violence.

Lyra : is a speech app for kids with autistim

  • Extend your knowledge beyond yourself
  • Mentor Others
  • Volunteer with Organizations
  • Spend an hour chatting with someone


I am here today because people saw the potential in me and gave me a chance. If you are in a position to do so then do it.

Think Different

Autism is a neurologic condition. It is an inability to cope with sensory input. Everyone hearted the support dog.

Do we have financial incentives to behave bad?

We social allow bad behavior. Which rules do we all to break?

How to work with Autistic people

  • Making decisions is expensive
  • Changing or maintaining a day
  • Don’t Selectivity enforce rules
  • Eliminate Sensory Distractions
  • Make user Stories as detailed as possible
  • Communicate through Writing
  • Blunt/Honest != Personally Negative

Swifty TensorFlow



Why Machine Learning is important. You take data, put label’s on features to generate models then you do predictive

  • Features
  • Labels
  • Models
  • DATA
  • Kaggle.com
  • Supervised Learning
  • Training Rate is choosing the correct learning rate
  • Layered Neural Network
  • Machine Learning Terms
  • Loss Function
  • Validation Data vs Test Data
  • Dropout Rate
  • Batch Normalization

Tips and Tricks for Working with a New Codebase


What a makes a new codebase different?

  • Terminology
  • Conventions
  • Files
  • Architectural patterns
  • You did not write it

The Laws of Magic

Kick your 3rd party networking library to the curb


Managing Multiple Projects Without Losing Your Mind (Probably)


App Store Optimization for the Rest of Us





Competition on placement of App Store

How to find apps on app store

  • Featured App
  • Find Category until they find the app
  • Searching

Optimization of App Store

  • Set of techniques of find the best keywords get your app in front of right people
  • Way to indicate to apple what your app is all about in a way their search algorithm
  • Set of best practices for make sure people understand what your app does
  • Experimental mindset

What optimization isn’t

  • Spam the app store or trick algorithm
  • Don’t have time or money to spend

Four components of App Store Opitimization

  • Research
    • What is this app going to give me?
    • Features, benefits, tasks
    • The apps that show up that are similar or are competitors
    • Are those keywords used
    • Popularity 1 low 100 high
    • Use app intelligence tool
  • Research Mistakes
    • Using keywords that are irrelevant
  • Keywords
    • Turn words into something that matters
  • Keyword of importance
    • Keyword List
      • Use variation of full test search
      • Split into single words
      • Separate with, remove all spaces
      • Removal all stop words
      • Don’t include your app, company or category
      • Use all 100 characters
    • App’s Name
      • Include the most important keywords
      • Order is important. If it isn’t a brand, push to last
      • Most important words are in title
    • App’s Subtitle
      • Have a subtitle
      • Use all 30 characters
      • combine with keyword list
  • Visuals
    • Convey what your app does quickly
    • Everyone checks out the app’s screenshot
    • Video’s show how easy
    • Icon
    • Screenshots
      • Sell it quickly
      • Color engage the eye
      • Add contrast to App’s UI
      • Short simple captions to describe what the app can do
      • Humanize the app by showing action, in the context of a real person
    • Mistakes with screenshots
      • App’s UI
      • Sorting screenshots by order of use not benefits
      • Too much text
      • Capture boring UI
    • Video Good For
      • App preview is an opportunity to showcase
      • Tie what you show to important keywords
      • Excite the person watching
      • Promote the biggest benefits and app offers with captions, voice over
      • You get 3 videos
      • Sound
      • Customizing the post shot
    • ICONS
      • Use your logo and brand colors
      • Use bright colors
      • Avoid text
      • Don’t pack to much detail
  • Monitoring
    • Keep track of performance
    • Look at keyword rank



Build immersive experiences with ARKit and CoreLocation



2019 360iDev Conference Day 1

I left Omaha airport to in Denver on Saturday night. I took the rail car from the Denver airport to downtown Union Station.

I then walked to the Grand Hyatt Denver Hotel. Which was about 20 minutes.

Pre-Conference Lab

Generic Swift. It isn’t Supposed to Hurt

Taught by Rob Napier



This was a live coding workshop using playgrounds. Opening statement

“Write the most concrete implementation before a protocol.”


  • Real Life Protocol
  • Codeable gives me certain power
  • Protocols don’t conform to itself like a class when inheriting.
  • Type signature can be a parameter in func
  • Retroactive Modeling
  • When I use a class it is because I need a reference type not to do inheritance.
  • Classes have a meaning.
  • Any value type should have a equateable.
  • SwiftUI uses data in background.
  • You can turn any result into a throwing method.
  • If you put a static method on a protocol then it is inherited by other protocols.
  • Reference semantics
  • Typing a name of a Protocol represents protocol.
  • Single value containers
  • Typealias
  • phantom type.
  • TypeEraser get ride of type information

Everything you know is about to change




  • Declarative
  • Automatic
  • Compositional
  • Consistent
  • One framework for all devices. The views will need to change
  • No matter InterfaceBuilder or AutoLayout
  • Better ways to build programmatic views.
  • SwiftUI will handle the Declarative View.
  • Composition over Inheritance
  • The views are collapsing down. A view returns only one.
  • Font’s and colors return a view
  • Property Wrappers
  • All property values to be wrapped by various types.
  • @State: is a property Wrapper. When state updates, the property redraws.
  • A new view is a VStack
  • Containers
  • HStack
  • Trailing Closure Syntax
  • @ViewBuilder is a property wrapper.’
  • Ten View Limitation is a complier errors when more than 10.
  • Migrating from UIKit to SwiftUI


I did not attend this workshop, but found the slides fascinating.


Git merge is becoming Git switch & Git restore


NoBiz Like Show Biz.

Design System Training

This past week I went through Design System overview. It was facilitated by Nathan Curtis of Eight Shapes. Here are my notes and thoughts.

Design System

·What does Design System mean?

At the core. It is the Interface design, visual language to UI component in a enterprise.  There is a core team that keeps it well documented. The design system uses Design Tokens.

A design system purpose is to serve in making digital Experiences. A Design system. is a living roadmap & backlog, serving a eco system. This is for new and legacy products.

Cohesiveness / Consistency / Efficiency

How can you measure a design system?

  • Other
  • Quality
  • Scale / Reuse
  • Vocabulary
  • Portability
  • Accessibility

Visual Style

A company that has been incorporating a design system is Morningstar. http://designsystem.morningstar.com/

Strategic Approach

The two questions in a strategic approach is:

  • How do you scale in a design system?
  • How do you favor community over control?

Technical Architecture

How does a technical decision happen? Whos is the person or team that makes these decisions. The team that makes the design system serves the rest of the teams that consume it.

A company Design System should have the following:

  • Demo App
  • Output
  • Website
  • Contributions
  • Code: features, fix, optimize
  • Design: components, palettes, icon
  • Downloadable asset: work

Questions to ask about the Lifetime of a design system:

  • What Features will be shared
  • How much will it cost to make or maintain
  • Trigger momentum for a new direction
  • How deeply can you document it?
  • When can you complete the work?

Change means clear process:

A change starts with a  Proposal-clarify-discuss-activate

What is the agreed core?

How do you version at the library level and component? Semantic versioning

A team with constant change has a version that changes with every sprint. The rate of change is lower and managed.

There are some companies where it is daily. It is because overlaying a design systems with open source.

How do you handle outside contribution with open source?

Other Questions and concerns:

  • How does consistency maintain?
  • What is our timeline to have a design system?
  • Where do you start in a Design system?
  • How to distribute a design system?
  • How can we be assured that quality is there?
  • Dependency management
  • Decoupling
  • How sophisticated are things going?
  • Is the system that owns the product the owner?
  • Translations and extensions to the design system.
  • How do you influence the system?
  • Use of system stabilizes at visual language.
  • Re-platforming is a product strategy.
  • Evidence is you converge a design system.
  • Alpha iterations conform to styles
  • Design systems
  • Code Architecture