iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)

Jonathan Engelsma
Jonathan EngelsmaAssociate Professor
Threading and Network
Programming in iOS
Lecture 07
Jonathan R. Engelsma, Ph.D.
TOPICS
• Swift / Objective-C Mix and Match (Misc. topic!)
• Threading
• Network Programming
SWIFT & OBJECTIVE-C
MIX AND MATCH
• Objective-C and Swift can coexist in the same Xcode project.
• Can add Swift files to an Objective-C project.
• Can add Objective-C files to a Swift project.
OBJECTIVE-C TO SWIFT
• Simply drag the Objective-C files into your Swift project.
• You will be prompted to configured a bridging header. (click
Yes)
• Add #imports for every Objective-C header you need.
SWIFTTO OBJECTIVE-C
• Simply drag your Swift files into your Objective-C project.
• Xcode generates header files: ModuleName-Swift.h.
• Import these generated headers in your Objective-C code
where visibility is needed.
THREADING
• What is a thread?
• “The smallest sequence of
programmed instructions that can
be managed independently by an
operating system scheduler”.
wikipedia.com
THREADS
• Threads:
• The smallest unit of concurrency in a modern OS.
• Multiple threads run in the context of a single OS process.
• Share the same process address space, hence context
switching is very efficient.
• Could attempt to update the same data simultaneously,
hence must be used judiciously.
WHYTHREADS
• A useful abstraction to programmers.
• Assign related instructions to the same thread.
• Improve efficiency by having another thread run when the
current thread does a blocking call.
• Improved system efficiency (especially with multi-core
architectures).
THREADS IN IOS
• The main thread:
• Most of our code to-date has ran on what is called the
“main thread”.
• The main thread is in charge of the user interface.
• If we tie up the main thread doing stuff (intense
computation or IO) the entire user interface on our app will
freeze up!
MAINTHREAD
• Main thread runs code that looks roughly like this:
1. Process the next event that happens on the UI (e.g.
somebody pressed a button or scrolls a few, etc.)
2. A handler method in our code (e.g. IBAction) gets
invoked by the main thread to handle the event.
3. Goto Step 1 above.
EXAMPLES
• App scenarios where threading is useful in iOS:
• During animation, Core Animation Framework is running the
animation on a background thread, but the completion blocks
we provide are called on the main thread.
• When fetching from the network, the actual network IO is
done on a background thread, but any updates to the UI on the
main thread.
• Saving a large file (video) takes time. This would be done on a
background thread.
THREADING IN IOS
• Most of the iOS frameworks hide threading from us.
• In situations we need to thread, we have several options:
• NSThreads
• NSOperations
• Grand Central Dispatch (GCD)
NSTHREAD
• Gives developed fine-grained control over underlying thread
model.
• Will be used very rarely, e.g. only likely time is when you are
working with real-time apps.
• In most cases higher level NSOperations or GCD will more
than suffice.
NSOPERATION
• NSOperation encapsulates a task, and let’s platform worry
about the threading.
• describe an operation.
• add the operation to a NSOperationQueue
• arranged to be notified when it completes.
GRAND CENTRAL DISPATCH
• System handles all details of threading in a multi-threaded /
multicore situation:
NSOPERATIONVS GCD
• NSOperations are implemented on top of GCD
• Adding dependencies among tasks can be tricky on GCD
• Canceling or suspending blocks in GCD requires more work.
• NSOperation adds a bit of overhead but makes it easy to add
dependencies among tasks and to cancel/suspend.
NETWORK PROGRAMMING
• Observe that...
• The mobile phone was inherently a
“social” platform
• First truly “personal” computer
• Its form factor (small, battery
operated) + pervasive network
connectivity is what makes it a really
interesting computing platform.
NETWORK PROGRAMMING
• Fact: most interesting mobile apps access the network, for
example:
• integration with social media portals
• access information relevant to the mobile user’s current
location.
• multiplayer game might sync with a game server.
• Flashlight app might display ads pulled from an ad server!
CHALLENGES
• Accessing the network from a mobile device poses a number
of challenges that the app developer must be aware of:
• Bandwidth/latency limitations
• Intermittent service
• Battery drain
• Security/Privacy
BANDWIDTH/LATENCY
LIMITATIONS
• bandwidth: the amount of data that can be moved across a
communication channel in a given time period. (aka
throughput) usually measured in kilobits or megabits per
second.
• impacts what our mobile apps can or cannot do...
• latency: the amount of time it takes for a packet of data to get
from point A to point B.
• impacts the usability of our mobile apps
BANDWIDTH CHALLENGES
http://www.computerworld.com/s/article/9201098/3G_vs._4G_Real_world_speed_tests
• Lack of...
• Handling the variability...
INTERMITTENT SERVICE
• Key consideration in the native app vs.
mobile web app decision
• native mobile apps can still be used
when there is no network connectivity!
• this happens a LOT more than you
might think... 15% of all app launches
according to Localytics.
http://www.localytics.com/blog/2011/15-percent-of-mobile-app-usage-is-offine/
BATTERY DRAIN CHALLENGE
http://www.computerworld.com/s/article/9201098/3G_vs._4G_Real_world_speed_tests
• Powering radio(s) for communication consumes more battery
SECURITY / PRIVACY
• The perception is that Android has a bigger share of the
problems due to the fact Google Play Store is not curated.
• However, iOS has its problems as well:
• The Apple “LocationGate” debacle.
• SSL vulnerability
• Early Random PRNG vulnerability
http://www.scmagazine.com/researcher-finds-easier-way-to-exploit-ios-7-kernel-vulnerabilities/article/338390/
GUIDELINES
• Dealing with bandwidth / latency constraints
• Make realistic assumptions at design time, e.g., streaming HD
video on a spotty 3G network is not going to fly...
• Implement in a way that keeps the user interface responsive
and informative while the network access is occurring.
GUIDELINES
• Dealing with intermittent service:
• Make sure the app handles lack of network service in a user
friendly way, e.g. inform the user why things are not working
at the moment, and perhaps add a call to action for remedy.
• Make sure the app is still useful when it is offline. e.g. cache
data, graceful degradation of functionality.
GUIDELINES
• Addressing the battery drain issue:
• Limit network access frequency/duration.
• Use the most energy efficient radio when possible.
• Cache when possible to avoid extraneous access.
• Make sure your app is as lean as possible.
GUIDELINES
• Avoiding security / privacy issues:
• Have a written privacy policy available within the app and/or
online.
• Present meaningful user choices.
• Minimize data collection and limit retention.
• Education.
• Practice privacy / security by design.
http://www.futureofprivacy.org/2011/05/19/statement-from-cdt-and-fpf-on-the-development-of-app-privacy-guidelines/
ACCESSINGTHE NETWORK
• Most mobile apps will utilize web services to retrieve and
store network-based data.
• Hence, HTTP is the protocol that will be used.
• Simple text-based request/response protocol.
HTTP IN IOS
Create Request
Prepare Connection
Parse Response
Connection setup
HTTP
Request
HTTP
Response
Generic HTTP
NSURLRequest
NSURLSession
NSJSONSerialization
Connection setup
HTTP
Request
completion
handler()
iOS HTTP
PROCESSINGTHE RESULT
• Javascript Object Notation (aka JSON) is typically preferred
over XML for mobile apps.
• typed
• less verbose
• simplicity
JSON OVERVIEW
http://www.json.org/
JSON
http://www.json.org/
JSON EXAMPLE
{
   "toptracks":{
      "track":[
         {
            "name":"Ho Hey",
            "duration":"163",
            "listeners":"646",
            "mbid":"1536cd90-024b-46ff-8f0b-073fabc8e795",
            "url":"http://www.last.fm/music/The+Lumineers/_/Ho+Hey",
            "streamable":{
               "#text":"1",
               "fulltrack":"0"
            },
            "artist":{
               "name":"The Lumineers",
               "mbid":"bfcb6630-9b31-4e63-b11f-7b0363be72b5",
               "url":"http://www.last.fm/music/The+Lumineers"
            },
            "image":[
               {
                  "#text":"http://userserve-ak.last.fm/serve/34s/85356953.png",
                  "size":"small"
               },
               {
                  "#text":"http://userserve-ak.last.fm/serve/126/85356953.png",
                  "size":"large"
               }
            ],
            "@attr":{
               "rank":"2"
            }
         }
      ]
   }
}
TOPTRACKS APP DEMO
READING ASSIGNMENT
• Chapter 24, 25:
Programming iOS 8 (by
Neuburg)
1 of 36

Recommended

Beginning iOS Development with Swift by
Beginning iOS Development with SwiftBeginning iOS Development with Swift
Beginning iOS Development with SwiftTurnToTech
384 views16 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)Jonathan Engelsma
805 views15 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)Jonathan Engelsma
1K views26 slides
Building iOS App Project & Architecture by
Building iOS App Project & ArchitectureBuilding iOS App Project & Architecture
Building iOS App Project & ArchitectureMassimo Oliviero
27.4K views67 slides
iOS App Architecture by
iOS App ArchitectureiOS App Architecture
iOS App ArchitectureManjula Jonnalagadda
1.1K views7 slides
ios basics by
ios basicsios basics
ios basicsMuthu Sabarinathan
471 views30 slides

More Related Content

What's hot

Unified logging on iOS by
Unified logging on iOSUnified logging on iOS
Unified logging on iOSLINE Corporation
1K views8 slides
Mocast Postmortem by
Mocast PostmortemMocast Postmortem
Mocast PostmortemFrank Krueger
1.2K views34 slides
Xcode, Basics and Beyond by
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyondrsebbe
4.2K views25 slides
JAVA PROGRAMS by
JAVA PROGRAMSJAVA PROGRAMS
JAVA PROGRAMSVipin Pv
187 views5 slides
Adventures in USB land by
Adventures in USB landAdventures in USB land
Adventures in USB landValentinas Bakaitis
626 views35 slides
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet by
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads France
7.2K views24 slides

What's hot(20)

Xcode, Basics and Beyond by rsebbe
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
rsebbe4.2K views
JAVA PROGRAMS by Vipin Pv
JAVA PROGRAMSJAVA PROGRAMS
JAVA PROGRAMS
Vipin Pv187 views
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet by CocoaHeads France
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads France7.2K views
Intro To Mobile App Development by Jay Dadarkar
Intro To Mobile App DevelopmentIntro To Mobile App Development
Intro To Mobile App Development
Jay Dadarkar372 views
Cross-Platform Desktop Apps with Electron (Condensed Version) by David Neal
Cross-Platform Desktop Apps with Electron (Condensed Version)Cross-Platform Desktop Apps with Electron (Condensed Version)
Cross-Platform Desktop Apps with Electron (Condensed Version)
David Neal755 views
Mobile applications chapter 6 by Akib B. Momin
Mobile applications chapter 6Mobile applications chapter 6
Mobile applications chapter 6
Akib B. Momin184 views
Presentation on java by topu93
Presentation on javaPresentation on java
Presentation on java
topu9395 views
DNN Connect - Mobile Development With Xamarin by Mark Allan
DNN Connect - Mobile Development With XamarinDNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With Xamarin
Mark Allan1.7K views
Computer Devices - What Are they? by Andrew Willetts
Computer Devices - What Are they?Computer Devices - What Are they?
Computer Devices - What Are they?
Andrew Willetts541 views
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014 by FalafelSoftware
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
FalafelSoftware2K views
Breaking The Confinement Cycle Using Linux by Spencer Hunley
Breaking The Confinement Cycle Using LinuxBreaking The Confinement Cycle Using Linux
Breaking The Confinement Cycle Using Linux
Spencer Hunley265 views
Independent Development and Writing Your Own Engine by ananseKmensah
Independent Development and Writing Your Own EngineIndependent Development and Writing Your Own Engine
Independent Development and Writing Your Own Engine
ananseKmensah283 views

Viewers also liked

Introduction to Swift programming language. by
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.Icalia Labs
10K views22 slides
Swift Introduction by
Swift IntroductionSwift Introduction
Swift IntroductionNatasha Murashev
8K views61 slides
Swift Programming Language by
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageGiuseppe Arici
108.7K views167 slides
Mobile Gamification by
Mobile GamificationMobile Gamification
Mobile GamificationJonathan Engelsma
701 views43 slides
What Every IT Manager Should Know About Mobile Apps by
What Every IT Manager Should Know About Mobile AppsWhat Every IT Manager Should Know About Mobile Apps
What Every IT Manager Should Know About Mobile AppsJonathan Engelsma
866 views35 slides
2013 Michigan Beekeepers Association Annual Spring Conference by
2013 Michigan Beekeepers Association Annual Spring Conference2013 Michigan Beekeepers Association Annual Spring Conference
2013 Michigan Beekeepers Association Annual Spring ConferenceJonathan Engelsma
837 views24 slides

Viewers also liked(20)

Introduction to Swift programming language. by Icalia Labs
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.
Icalia Labs10K views
Swift Programming Language by Giuseppe Arici
Swift Programming LanguageSwift Programming Language
Swift Programming Language
Giuseppe Arici108.7K views
What Every IT Manager Should Know About Mobile Apps by Jonathan Engelsma
What Every IT Manager Should Know About Mobile AppsWhat Every IT Manager Should Know About Mobile Apps
What Every IT Manager Should Know About Mobile Apps
Jonathan Engelsma866 views
2013 Michigan Beekeepers Association Annual Spring Conference by Jonathan Engelsma
2013 Michigan Beekeepers Association Annual Spring Conference2013 Michigan Beekeepers Association Annual Spring Conference
2013 Michigan Beekeepers Association Annual Spring Conference
Jonathan Engelsma837 views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)
Jonathan Engelsma1.3K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)
Jonathan Engelsma1.1K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
Jonathan Engelsma930 views
Knowing Your Bees: Becoming a Better Beekeeper by Jonathan Engelsma
Knowing Your Bees: Becoming a Better BeekeeperKnowing Your Bees: Becoming a Better Beekeeper
Knowing Your Bees: Becoming a Better Beekeeper
Jonathan Engelsma519 views
Build Your First iOS App With Swift by Edureka!
Build Your First iOS App With SwiftBuild Your First iOS App With Swift
Build Your First iOS App With Swift
Edureka!1.1K views
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On... by Jonathan Engelsma
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...
Jonathan Engelsma1.1K views
The Swift Programming Language with iOS App by Mindfire Solutions
The Swift Programming Language with iOS AppThe Swift Programming Language with iOS App
The Swift Programming Language with iOS App
Mindfire Solutions2.4K views
Swift - the future of iOS app development by openak
Swift - the future of iOS app developmentSwift - the future of iOS app development
Swift - the future of iOS app development
openak731 views
Medidata Customer Only Event - Global Symposium Highlights by Donna Locke
Medidata Customer Only Event - Global Symposium HighlightsMedidata Customer Only Event - Global Symposium Highlights
Medidata Customer Only Event - Global Symposium Highlights
Donna Locke164 views
Jsm2013,598,sweitzer,randomization metrics,v2,aug08 by Dennis Sweitzer
Jsm2013,598,sweitzer,randomization metrics,v2,aug08Jsm2013,598,sweitzer,randomization metrics,v2,aug08
Jsm2013,598,sweitzer,randomization metrics,v2,aug08
Dennis Sweitzer703 views
Tools, Frameworks, & Swift for iOS by Teri Grossheim
Tools, Frameworks, & Swift for iOSTools, Frameworks, & Swift for iOS
Tools, Frameworks, & Swift for iOS
Teri Grossheim2.1K views
Medidata AMUG Meeting / Presentation 2013 by Brock Heinz
Medidata AMUG Meeting / Presentation 2013Medidata AMUG Meeting / Presentation 2013
Medidata AMUG Meeting / Presentation 2013
Brock Heinz3.1K views
Bfc michael king_presentation_2017 by SWIFT
Bfc michael king_presentation_2017Bfc michael king_presentation_2017
Bfc michael king_presentation_2017
SWIFT498 views

Similar to iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)

Lick my Lollipop by
Lick my LollipopLick my Lollipop
Lick my LollipopTamara Momčilović
786 views59 slides
ABS 2014 - The Growth of Android in Embedded Systems by
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsBenjamin Zores
1.6K views37 slides
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7 by
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7Rapid7
6.7K views33 slides
Advanced Internet of Things firmware engineering with Thingsquare and Contiki... by
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Adam Dunkels
8.5K views54 slides
Android Lollipop by
Android LollipopAndroid Lollipop
Android LollipopŽeljko Plesac
765 views59 slides
Building enterprise applications using open source by
Building enterprise applications using open sourceBuilding enterprise applications using open source
Building enterprise applications using open sourcePeter Batty
1.1K views56 slides

Similar to iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)(20)

ABS 2014 - The Growth of Android in Embedded Systems by Benjamin Zores
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
Benjamin Zores1.6K views
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7 by Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
Rapid76.7K views
Advanced Internet of Things firmware engineering with Thingsquare and Contiki... by Adam Dunkels
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Adam Dunkels8.5K views
Building enterprise applications using open source by Peter Batty
Building enterprise applications using open sourceBuilding enterprise applications using open source
Building enterprise applications using open source
Peter Batty1.1K views
Lec 1-of-oop2 by SM Rasel
Lec 1-of-oop2Lec 1-of-oop2
Lec 1-of-oop2
SM Rasel650 views
Developing For Nokia Asha Devices by achipa
Developing For Nokia Asha DevicesDeveloping For Nokia Asha Devices
Developing For Nokia Asha Devices
achipa2.6K views
Node.js meetup at Palo Alto Networks Tel Aviv by Ron Perlmuter
Node.js meetup at Palo Alto Networks Tel AvivNode.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel Aviv
Ron Perlmuter868 views
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro... by Edge AI and Vision Alliance
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
“Secure Hardware Architecture for Embedded Vision,” a Presentation from Neuro...
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014 by Gil Irizarry
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Gil Irizarry778 views
Synopsis on online shopping by sudeep singh by Sudeep Singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
Sudeep Singh7.8K views
Mobile Hybrid Development with WordPress by Danilo Ercoli
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPress
Danilo Ercoli2.2K views
GeneralMobile Hybrid Development with WordPress by GGDBologna
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
GGDBologna1.3K views
C# on the iPhone with MonoTouch Glasgow by Chris Hardy
C# on the iPhone with MonoTouch GlasgowC# on the iPhone with MonoTouch Glasgow
C# on the iPhone with MonoTouch Glasgow
Chris Hardy683 views
Moving to software-based production workflows and containerisation of media a... by Kieran Kunhya
Moving to software-based production workflows and containerisation of media a...Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...
Kieran Kunhya220 views

More from Jonathan Engelsma

BIP Hive Scale Program Overview by
BIP Hive Scale Program OverviewBIP Hive Scale Program Overview
BIP Hive Scale Program OverviewJonathan Engelsma
677 views10 slides
Selling Honey Online by
Selling Honey OnlineSelling Honey Online
Selling Honey OnlineJonathan Engelsma
2.9K views33 slides
Selling Honey at Farmers Markets, Expos, etc. by
Selling Honey at Farmers Markets, Expos, etc. Selling Honey at Farmers Markets, Expos, etc.
Selling Honey at Farmers Markets, Expos, etc. Jonathan Engelsma
1.3K views31 slides
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers by
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersHarvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersJonathan Engelsma
1.9K views34 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) Jonathan Engelsma
1.1K views39 slides
So You Want To Be a Beekeeper? by
So You Want To Be a Beekeeper? So You Want To Be a Beekeeper?
So You Want To Be a Beekeeper? Jonathan Engelsma
579 views43 slides

More from Jonathan Engelsma(6)

Selling Honey at Farmers Markets, Expos, etc. by Jonathan Engelsma
Selling Honey at Farmers Markets, Expos, etc. Selling Honey at Farmers Markets, Expos, etc.
Selling Honey at Farmers Markets, Expos, etc.
Jonathan Engelsma1.3K views
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers by Jonathan Engelsma
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersHarvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Jonathan Engelsma1.9K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
Jonathan Engelsma1.1K views

Recently uploaded

Case Study Copenhagen Energy and Business Central.pdf by
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdfAitana
16 views3 slides
DALI Basics Course 2023 by
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023Ivory Egg
16 views12 slides
ChatGPT and AI for Web Developers by
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web DevelopersMaximiliano Firtman
187 views82 slides
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院IttrainingIttraining
41 views8 slides
The details of description: Techniques, tips, and tangents on alternative tex... by
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...BookNet Canada
126 views24 slides

Recently uploaded(20)

Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg16 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada126 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson66 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10237 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! by sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada135 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst476 views
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta19 views

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)