ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
AR / UX:
BUILDING AUGMENTED REALITY EXPERIENCES
Anitra Pavka (@APavka) ?
and Joey deVilla (@AccordionGuy)
ANITRA PAVKA
? Technical Product Manager at
Malwarebytes, working on the
consumer anti-malware product
used by almost 15 million
people.
? Contributing author to O¡¯Reilly¡¯s
book, HTML5 Cookbook.
? Technical editor for O¡¯Reilly¡¯s
book, Universal Design for Web
Applications.
? Three-time speaker on
accessibility and usability issues
at SXSW Interactive.
? Previous Tampa Bay UX Meetup
speaker about Apple TV UX.
JOEY DEVILLA
? Lead Product Manager at
Sourcetoad, overseeing the
design and implementation of
mobile applications.
? Contributing author at the mobile
developer tutorial site
RayWenderlich.com.
? ARKit session and tutorial
presenter at RWDevCon.
? Technical editor for the book
ARKit by Tutorials.
? Tampa iOS Meetup organizer.
? Former Microsoft dev evangelist;
tried to make Windows Phone 7
happen.
AUGMENTED?
REALITY¡¯S
STRANGE
HISTORY
¡°THE MASTER KEY¡± (1901)
¡°It consists of this pair of
spectacles. While you wear them
every one you meet will be marked
upon the forehead with a letter
indicating his or her character¡­¡±
? Good: G
? Evil: E
? Wise: W
? Foolish: F
? Kind: K
? Cruel: C
IVAN SOUTHERLAND AND ?
¡°THE SWORD OF DAMOCLES¡± (1968)
TOM CAUDELL COINS THE PHRASE?
¡°AUGMENTED REALITY¡± (1990)
JOEY¡¯S NEIGHBOR IN TORONTO, STEVE MANN?
(1980S AND BEYOND)
¡°FIRST AND TEN¡± SYSTEM (1998)
AR ADVERTISING (2000S)
WHAT IS
AUGMENTED?
REALITY?
AR / UX: Building Augmented Reality Experiences
DEFINING AUGMENTED REALITY
The integration of digital
information (e.g. graphics, sound,
video)¡­
¡­into a live view of the user¡¯s
physical environment in real time.
The word ¡®augmented¡¯ suggests it enriches the real-world
view rather than blocking the real environment.
Augmented?
reality
Virtual?
reality
Reality - virtuality continuum
Mixed reality
Adapted from ¡°Reality-Virtuality Continuum¡± (Milgram, Takemura, Utsumi and Kishino,?
University of Toronto, 1994)
Real?
environment
Virtual?
environment
THE REALITY-VIRTUALITY CONTINUUM
DEFINING UX
¡°A person¡¯s perceptions and responses that
result from the use or anticipated use of a
product, system or service¡±.
Includes the user¡¯s:
? Emotions
? Beliefs
? Preferences
? Motivations
? Perceptions
? Physical and psychological responses
? Accomplishments that occur before,
during and after use of a system
User experience is affected by the number and type
of interactions within the augmented environment.
GENERAL USES FOR AR
Guide Create Play
? Navigation assistance
? Exploring curated
spaces
? Information
assistants
? Information overlays
and ¡°heads-up¡±
displays
? Education
? Virtual construction
and measurement
tools
? Games
? Social networking
? Shopping assistants
BENEFITS OF AR
Decreased?
interaction cost
Reduced?
cognitive load
Minimized?
attention switching
? Relevant data is
presented without
requiring special
action
? Efficient interactions
with the AR system,?
less user effort
? Users are NOT
required to learn
commands
? Allows users to move
information smoothly
from one context to
another
? Multiple sources of
information are
combined into a
single view ¡ª user¡¯s
attention is not
divided
Input method Description
Visual Using the camera(s) for tracking, detection, and context identification.
Tactile All interfaces that require touching the screen and other controls.
Sensors Automatically detecting the environment context.
Gesture Moving your hand in a specific way to interact with the environment.
Voice Spoken commands for hands-free controls.
Auditory For direct voice commands and inferring the user¡¯s context.
Kinesthetic Recognizing the user¡¯s movement and posture.
INPUT
Output method Description
Visual From simple annotations to complex hyperrealistic 3D graphics.
Auditory Sound output, from simple notification chimes to 3D sound.
Haptic Vibration, force feedback, and other touch-related sensation.
Olfactory Providing smells to increase the sense of immersion.
OUTPUT
CONTEXT / ENVIRONMENT
AR experiences occur in
expected and unexpected
places.
? Where do you expect users to
experience this augmentation?
? Where else could they
experience this augmentation?
? Could this experience occur
with other people?
? Could users have to navigate in
the real world while using this
augmentation?
ENVIRONMENT, PART 1
Scout the locations where
your app will be used.
? Indoors, outdoors, or both?
? Lighting: Is there bright
sunlight or shadows?
? Sound: Is there ambient noise
or music? How much?
? How much will the user be
moving?
? How much room is there for the
user to move around?
ENVIRONMENT, PART 2
? How many large, flat surfaces
are there?
? Are there many obstacles to
movement in the area?
? Is network connectivity
important?
? What¡¯s the social setting ¡ª
relatively private, or public??
AR requires seamless
experiences across
environments and
devices, where the user is
always at the center.
DEMO #1
HAPPY AR PAINTERBy Joey deVilla
When initially?
engaging in?
AR experiences, ?
users tend to?
remain stationary?
due to habits built?
by 2D interactions.
Don¡¯t enforce user movement until it¡¯s necessary.?
Introduce movement gradually.
Design for comfort. Do not put the user in an uncomfortable
situation or position. Avoid large or sudden movements.
Educate the user about specific movements that are required to
trigger an experience.
Provide clear direction when a user needs to transition from one
movement to another.
Give clear guidance on movement range and necessary
adjustments to users¡¯ position, pose or gesture.
Anticipate the limitations of users¡¯ spaces¡ªboth indoor and
outdoor, the space¡¯s physical size, or any obstacles including
furniture, things, or people.
Do not ask the user to walk backwards.
Avoid placing large objects directly in front of users. This may
cause them to physically back up.
Give users a clear idea of the amount of space needed for the
experience.
When the user is not able to move around, provide an alternate
experience. For example, activities like interacting with or
transforming objects.
As users fatigue, keep in mind that they may tend to move less.?
It¡¯s important to ensure that any text or annotations are clear and
legible from any angle.
If you walk past the position?
of ordinary AR text and look back to read it,?
you¡¯ll see something like this.
Use things like ¡°billboard constraints¡± to
automatically rotate AR text to always face the user.
SAFETY
Prioritize the real world over AR content. A balanced experience
should not replace the user¡¯s perception of reality with AR.
Prioritize line of sight. Do not distract or block users from seeing
something important in the real world. Remind users to be aware
of their surroundings.
Design for a narrow depth of field. Draw focus to objects only
within a reasonable range.
Don¡¯t make users walk around staring at a small mobile screen
the entire time. It¡¯s distracting and dangerous.
COMFORT
Challenge users mentally, not physically.
Minimize flashing or heavy duty animations. Mobile screens induce
fatigue and eyestrain even more that desktop screens do.
Remember the ¡°gorilla arm effect¡±. Users will usually tolerate a
higher degree of interaction while sitting or when they¡¯re holding
their mobile device at chest level or lower.
Have the user hold the device with two hands rather than one. It
allows them to focus on the experience rather than the device.
Place commonly-used UI elements in a comfortable to reach area.
Encourage users to take a break. Allow them to pause, save their
current progress, and resume their AR experience later.
PRIVACY
Voice commands and audio output can be disruptive and have
privacy implications in a public environment.
Shared environments have security and privacy implications.
Accessing someone else¡¯s AR ¡°view¡± may or may not be desirable.
2016 ISACA study: 77% of consumers were concerned that AR-
enhanced IoT devices may be more prone to a privacy breach.
Security breaches may include inappropriate access to protected
information or areas and hiding information or real identities.
GENERAL
ADVICE
Keep it simple. The more an augmentation attempts to
grab attention, the more users will focus on it,?
instead of reality.
Do not make your augmented environments too
information-dense.
If you must display instructional text, use approachable
terminology. AR jargon may intimidate users.
Use less text than a traditional mobile interface. The Sans
Serif fonts are better choices than Serifs.
Design for the small screen first. Consider lighting and
contrast so that objects and text can be viewed clearly in
different background surroundings and lighting levels.
Use visual and audio cues to let the user know which
elements of the augmented environment can be
interacted with, and how to interact with them.
Use lighting effects, such as shadows and directional
lighting to make the augmented environment blend in
more realistically with the real world environment.
Use as much of the display as possible, but do not hide
key navigation elements.
Placement: The information that is presented should not
obscure the item of interest.
Use audio or haptic feedback to enhance the sense that
the user has interacted with the augmented environment.
Provide a continuity of experience ¡ª avoid flows that
repeatedly take the user in and out of an AR scene.
Ensure that the information that is presented is scalable
across different form factors.
Support both portrait and landscape modes to create a more
immersive experience and increase user comfort. If this isn¡¯t
possible, select the mode that¡¯s ideal for your experience.
DEMO #2
RAYKEABy Joey deVilla
INTERACTION
Indicate when initialization and surface detection is in
progress and involve the user.
Use animation to demonstrate how users are supposed to
interact with the application.
Icons: The user should be able to identify the items¡¯
category at a glance without reading the text label.
REACTING
You can enhance an AR experience using known imagery
in the user¡¯s environment to trigger the appearance of
virtual content.
Design and display the reference images to optimize
detection. Specify the physical size that you expect to find
those images in the user¡¯s environment.
Use detected imagery only as a frame of reference.
Virtual content placed on it may not stay in place because
changes to the position or orientation of detected imagery
are not tracked.
DEMO #3
BAEDEKARBy Joey deVilla
INTERRUPTIONS
AND OTHER
ISSUES
Avoid interruptions. Let users adjust virtual objects and
their settings in its context because device orientation and
position cannot be tracked when AR is inactive.
Accidental gestures: Avoid using similar gestures to
perform different types of interactions.
Suggest possible fixes to help users recover from
common issues and reduce frustration. You can use
visual and audio cues, animation, and text.
If all else fails, allow users to reset and start again to see
if they get better results.
WHAT¡¯S IN
AN AR-
CAPABLE
PHONE?
Cameras:
? Dual rear camera (for depth perception)
? Front camera with face-detection capabilities
Y Roll:?
Rotation around?
the Y-axis
Pitch:?
Rotation around?
the X-axis
X
Z
Yaw:?
Rotation around?
the Z-axis
MOTION DETECTION: FIRST 3 DEGREES
MOTION DETECTION: NEXT 3 DEGREES
Y
Heave:?
Movement parallel?
to the Y-axis
(up and down)
Sway:?
Movement parallel?
to the X-axis
(right and left)
X
Z
Surge:?
Movement parallel?
to the Z-axis
(back and forth)
-Z:?
Relative
forward
+Z:
Relative
back
-X: ?
Relative?
left
+X:?
Relative?
right
+Y: ?
Relative?
up
-Y:
Relative?
down
Origin is device¡¯s?
location at start?
of AR session
CAMERA-BASED ALIGNMENT
+Y: Up
-Z: North
+Z: South
-X: West +X: East
Opposite gravity
-Y: Down
With gravity
Origin is device¡¯s?
location at start?
of AR session
GRAVITY- AND HEADING-BASED ALIGNMENT
1. A point on the plane.
This can be any one of the
feature points identi?ed by
the mobile AR framework.
2. A vector normal (perpendicular)?
to the plane.?
For horizontal planes, this vector
is gravity, which mobile device
accelerometers can detect.
HOW MOBILE AR DETECTS HORIZONTAL PLANES
DETECTING VERTICAL PLANES IS TRICKIER
1. Finding a point on the plane is easy.
It¡¯s just like ?nding a feature point on a
horizontal surface.
2. Finding a vertical plane¡¯s normal is hard.
With vertical planes, we don¡¯t have a handy force
like gravity to rely on to ?nd the normal.
(Special bragging rights to the ?rst?
person who can answer this question:?
¡°Why can¡¯t we simply use a vector?
that¡¯s perpendicular to gravity?
as the normal for vertical surfaces?¡±)
Microphone
Barometer
Infrared camera
Ambient?
light?
sensor
CATEGORIZATION EXERCISE:?
WHICH OF THESE IS A HEAVY METAL BAND?
DEMO #4
VISION QUESTBy Joey deVilla
HOW TO GET
STARTED ON
YOUR OWN
AR
PROJECTS
IOS
Framework: ARKit
User system requirements:?
Any iDevice with an A9 processor or later?
(iPhone 6S or later; iPad Pro or 2017 iPad)
Development environment:?
Xcode IDE, ?
Swift or Objective-C programming language
ARKit by Tutorials ¡ª available at RayWenderlich.com
Awesome ARKit ¡ª github.com/olucurious/Awesome-ARKit
A regularly updated list of interesting ARKit projects?
on GitHub.
globalnerdy.com/rwdevcon2018-tutorial
A free 2-hour tutorial, with all code included!
AR DEVELOPMENT ON ANDROID
Framework: ARCore
User system requirements:?
Higher-end Android device from 2017 era?
(Google Pixel 2, Samsung Galaxy S9,?
and similar)
Development environment:?
Android Studio IDE,?
Kotlin or Java programming language
CROSS-PLATFORM AR DEVELOPMENT
Framework:
ARKit, with ARCore support coming soon
User system requirements:?
ARKit-compatible iOS device /?
ARCore-compatible Android device
Development environment:?
Unity IDE, C# programming language
WEB-BASED AR DEVELOPMENT
Framework:
JavaScript library that accesses ARKit and
ARCore
User system requirements:?
ARKit-compatible iOS device /?
ARCore-compatible Android device
Development environment:?
Your favorite JavaScript IDE,?
JavaScript programming language
Joey deVilla (@AccordionGuy)?
joey@joeydevilla.com
Anitra Pavka (@APavka)?
anitra@anitrapavka.com

More Related Content

What's hot (7)

Multi Touch Technology
Multi Touch TechnologyMulti Touch Technology
Multi Touch Technology
Surender Kumar
?
Ani World VR
Ani World VRAni World VR
Ani World VR
NurulSyamimi25
?
Hearing Voices: An Overview of Augmented Reality Audio
Hearing Voices: An Overview of Augmented Reality AudioHearing Voices: An Overview of Augmented Reality Audio
Hearing Voices: An Overview of Augmented Reality Audio
Tim Haynes
?
Pointing, Selecting & Direct Manipulation
Pointing, Selecting & Direct ManipulationPointing, Selecting & Direct Manipulation
Pointing, Selecting & Direct Manipulation
J S
?
ºÝºÝߣ presentation fyp
ºÝºÝߣ presentation fypºÝºÝߣ presentation fyp
ºÝºÝߣ presentation fyp
Nanasa Nana
?
ITP Retrospective
ITP RetrospectiveITP Retrospective
ITP Retrospective
Edson Jr
?
UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...
UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...
UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...
UX Poland
?
Hearing Voices: An Overview of Augmented Reality Audio
Hearing Voices: An Overview of Augmented Reality AudioHearing Voices: An Overview of Augmented Reality Audio
Hearing Voices: An Overview of Augmented Reality Audio
Tim Haynes
?
Pointing, Selecting & Direct Manipulation
Pointing, Selecting & Direct ManipulationPointing, Selecting & Direct Manipulation
Pointing, Selecting & Direct Manipulation
J S
?
ºÝºÝߣ presentation fyp
ºÝºÝߣ presentation fypºÝºÝߣ presentation fyp
ºÝºÝߣ presentation fyp
Nanasa Nana
?
ITP Retrospective
ITP RetrospectiveITP Retrospective
ITP Retrospective
Edson Jr
?
UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...
UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...
UX Poland 2016 - Avi Itzkovitch - The Invisible Interface: Designing the Scre...
UX Poland
?

Similar to AR / UX: Building Augmented Reality Experiences (20)

Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
Piervincenzo Madeo
?
UI Design
UI DesignUI Design
UI Design
Ivano Malavolta
?
UNIT III-UX-UI.pptx
UNIT III-UX-UI.pptxUNIT III-UX-UI.pptx
UNIT III-UX-UI.pptx
GOWSIKRAJA PALANISAMY
?
iOS 7 UI Guidelines
iOS 7 UI GuidelinesiOS 7 UI Guidelines
iOS 7 UI Guidelines
Aneeq Anwar
?
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios Accessibility
Aimee Maree Forsstrom
?
UI design for mobile apps
UI design for mobile appsUI design for mobile apps
UI design for mobile apps
Ivano Malavolta
?
Accounting For Every Camper
Accounting For Every CamperAccounting For Every Camper
Accounting For Every Camper
Ashley Dzick
?
Mobile Prototyping
Mobile PrototypingMobile Prototyping
Mobile Prototyping
Shyamala Prayaga
?
UI design for mobile apps
UI design for mobile appsUI design for mobile apps
UI design for mobile apps
Ivano Malavolta
?
UX Design for Mobile Apps
UX Design for Mobile AppsUX Design for Mobile Apps
UX Design for Mobile Apps
Kamil Zieba
?
Usability testing for accessible UX
Usability testing for accessible UXUsability testing for accessible UX
Usability testing for accessible UX
Whitney Quesenbery
?
Mobile Apps Design Principles
Mobile Apps Design PrinciplesMobile Apps Design Principles
Mobile Apps Design Principles
Mohamad Sani
?
SMARCOS_Paper_Mobile hci12 246
SMARCOS_Paper_Mobile hci12 246SMARCOS_Paper_Mobile hci12 246
SMARCOS_Paper_Mobile hci12 246
Smarcos Eu
?
Virtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without ScreensVirtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without Screens
Rhiannon Monks
?
Website Usability | Day 3
Website Usability | Day 3Website Usability | Day 3
Website Usability | Day 3
studiokandm
?
NYU Web Intensive - Week 3 Class 2
NYU Web Intensive - Week 3 Class 2NYU Web Intensive - Week 3 Class 2
NYU Web Intensive - Week 3 Class 2
studiokandm
?
2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext Small2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext Small
Florent Stroppa
?
Technology for the disabled
Technology for the disabledTechnology for the disabled
Technology for the disabled
rohini2112
?
Ux
Ux Ux
Ux
Reham Maher El-Safarini
?
09-UX.pdf
09-UX.pdf09-UX.pdf
09-UX.pdf
SarinKunjappan1
?
iOS 7 UI Guidelines
iOS 7 UI GuidelinesiOS 7 UI Guidelines
iOS 7 UI Guidelines
Aneeq Anwar
?
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios Accessibility
Aimee Maree Forsstrom
?
Accounting For Every Camper
Accounting For Every CamperAccounting For Every Camper
Accounting For Every Camper
Ashley Dzick
?
UX Design for Mobile Apps
UX Design for Mobile AppsUX Design for Mobile Apps
UX Design for Mobile Apps
Kamil Zieba
?
Usability testing for accessible UX
Usability testing for accessible UXUsability testing for accessible UX
Usability testing for accessible UX
Whitney Quesenbery
?
Mobile Apps Design Principles
Mobile Apps Design PrinciplesMobile Apps Design Principles
Mobile Apps Design Principles
Mohamad Sani
?
SMARCOS_Paper_Mobile hci12 246
SMARCOS_Paper_Mobile hci12 246SMARCOS_Paper_Mobile hci12 246
SMARCOS_Paper_Mobile hci12 246
Smarcos Eu
?
Virtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without ScreensVirtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without Screens
Rhiannon Monks
?
Website Usability | Day 3
Website Usability | Day 3Website Usability | Day 3
Website Usability | Day 3
studiokandm
?
NYU Web Intensive - Week 3 Class 2
NYU Web Intensive - Week 3 Class 2NYU Web Intensive - Week 3 Class 2
NYU Web Intensive - Week 3 Class 2
studiokandm
?
2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext Small2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext Small
Florent Stroppa
?
Technology for the disabled
Technology for the disabledTechnology for the disabled
Technology for the disabled
rohini2112
?

Recently uploaded (20)

DevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdfDevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdf
Justin Reock
?
Gojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptxGojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptx
V3cube
?
FinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptxFinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptx
Tracxn
?
Cloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in AviationCloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in Aviation
Assem mousa
?
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
Safe Software
?
Q4_TLE-7-Lesson-6-Week-6.pptx 4th quarter
Q4_TLE-7-Lesson-6-Week-6.pptx 4th quarterQ4_TLE-7-Lesson-6-Week-6.pptx 4th quarter
Q4_TLE-7-Lesson-6-Week-6.pptx 4th quarter
MariaBarbaraPaglinaw
?
Unlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & KeylockUnlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & Keylock
HusseinMalikMammadli
?
Stronger Together: Combining Data Quality and Governance for Confident AI & A...
Stronger Together: Combining Data Quality and Governance for Confident AI & A...Stronger Together: Combining Data Quality and Governance for Confident AI & A...
Stronger Together: Combining Data Quality and Governance for Confident AI & A...
Precisely
?
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
Tsuyoshi Hirayama
?
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar PatturajInside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
ScyllaDB
?
Q4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor PresentationQ4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor Presentation
Dropbox
?
UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1
DianaGray10
?
Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4
Margaret Maynard-Reid
?
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
?
Unlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤EUnlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤E
Expeed Software
?
Revolutionizing-Government-Communication-The-OSWAN-Success-Story
Revolutionizing-Government-Communication-The-OSWAN-Success-StoryRevolutionizing-Government-Communication-The-OSWAN-Success-Story
Revolutionizing-Government-Communication-The-OSWAN-Success-Story
ssuser52ad5e
?
Fl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free DownloadFl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free Download
kherorpacca127
?
The Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nesThe Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nes
ScyllaDB
?
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
?
Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025
maharajput103
?
DevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdfDevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdf
Justin Reock
?
Gojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptxGojek Clone Multi-Service Super App.pptx
Gojek Clone Multi-Service Super App.pptx
V3cube
?
FinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptxFinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptx
Tracxn
?
Cloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in AviationCloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in Aviation
Assem mousa
?
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
[Webinar] Scaling Made Simple: Getting Started with No-Code Web Apps
Safe Software
?
Q4_TLE-7-Lesson-6-Week-6.pptx 4th quarter
Q4_TLE-7-Lesson-6-Week-6.pptx 4th quarterQ4_TLE-7-Lesson-6-Week-6.pptx 4th quarter
Q4_TLE-7-Lesson-6-Week-6.pptx 4th quarter
MariaBarbaraPaglinaw
?
Unlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & KeylockUnlocking DevOps Secuirty :Vault & Keylock
Unlocking DevOps Secuirty :Vault & Keylock
HusseinMalikMammadli
?
Stronger Together: Combining Data Quality and Governance for Confident AI & A...
Stronger Together: Combining Data Quality and Governance for Confident AI & A...Stronger Together: Combining Data Quality and Governance for Confident AI & A...
Stronger Together: Combining Data Quality and Governance for Confident AI & A...
Precisely
?
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
DAO UTokyo 2025 DLT mass adoption case studies IBM Tsuyoshi Hirayama (ƽɽÒã)
Tsuyoshi Hirayama
?
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar PatturajInside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
Inside Freshworks' Migration from Cassandra to ScyllaDB by Premkumar Patturaj
ScyllaDB
?
Q4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor PresentationQ4 2024 Earnings and Investor Presentation
Q4 2024 Earnings and Investor Presentation
Dropbox
?
UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1UiPath Automation Developer Associate Training Series 2025 - Session 1
UiPath Automation Developer Associate Training Series 2025 - Session 1
DianaGray10
?
Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4
Margaret Maynard-Reid
?
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
?
Unlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤EUnlock AI Creativity: Image Generation with DALL¡¤E
Unlock AI Creativity: Image Generation with DALL¡¤E
Expeed Software
?
Revolutionizing-Government-Communication-The-OSWAN-Success-Story
Revolutionizing-Government-Communication-The-OSWAN-Success-StoryRevolutionizing-Government-Communication-The-OSWAN-Success-Story
Revolutionizing-Government-Communication-The-OSWAN-Success-Story
ssuser52ad5e
?
Fl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free DownloadFl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free Download
kherorpacca127
?
The Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nesThe Future of Repair: Transparent and Incremental by Botond De?nes
The Future of Repair: Transparent and Incremental by Botond De?nes
ScyllaDB
?
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
?
Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025Wondershare Dr.Fone Crack Free Download 2025
Wondershare Dr.Fone Crack Free Download 2025
maharajput103
?

AR / UX: Building Augmented Reality Experiences

  • 1. AR / UX: BUILDING AUGMENTED REALITY EXPERIENCES Anitra Pavka (@APavka) ? and Joey deVilla (@AccordionGuy)
  • 2. ANITRA PAVKA ? Technical Product Manager at Malwarebytes, working on the consumer anti-malware product used by almost 15 million people. ? Contributing author to O¡¯Reilly¡¯s book, HTML5 Cookbook. ? Technical editor for O¡¯Reilly¡¯s book, Universal Design for Web Applications. ? Three-time speaker on accessibility and usability issues at SXSW Interactive. ? Previous Tampa Bay UX Meetup speaker about Apple TV UX.
  • 3. JOEY DEVILLA ? Lead Product Manager at Sourcetoad, overseeing the design and implementation of mobile applications. ? Contributing author at the mobile developer tutorial site RayWenderlich.com. ? ARKit session and tutorial presenter at RWDevCon. ? Technical editor for the book ARKit by Tutorials. ? Tampa iOS Meetup organizer. ? Former Microsoft dev evangelist; tried to make Windows Phone 7 happen.
  • 5. ¡°THE MASTER KEY¡± (1901) ¡°It consists of this pair of spectacles. While you wear them every one you meet will be marked upon the forehead with a letter indicating his or her character¡­¡± ? Good: G ? Evil: E ? Wise: W ? Foolish: F ? Kind: K ? Cruel: C
  • 6. IVAN SOUTHERLAND AND ? ¡°THE SWORD OF DAMOCLES¡± (1968)
  • 7. TOM CAUDELL COINS THE PHRASE? ¡°AUGMENTED REALITY¡± (1990)
  • 8. JOEY¡¯S NEIGHBOR IN TORONTO, STEVE MANN? (1980S AND BEYOND)
  • 9. ¡°FIRST AND TEN¡± SYSTEM (1998)
  • 13. DEFINING AUGMENTED REALITY The integration of digital information (e.g. graphics, sound, video)¡­ ¡­into a live view of the user¡¯s physical environment in real time. The word ¡®augmented¡¯ suggests it enriches the real-world view rather than blocking the real environment.
  • 14. Augmented? reality Virtual? reality Reality - virtuality continuum Mixed reality Adapted from ¡°Reality-Virtuality Continuum¡± (Milgram, Takemura, Utsumi and Kishino,? University of Toronto, 1994) Real? environment Virtual? environment THE REALITY-VIRTUALITY CONTINUUM
  • 15. DEFINING UX ¡°A person¡¯s perceptions and responses that result from the use or anticipated use of a product, system or service¡±. Includes the user¡¯s: ? Emotions ? Beliefs ? Preferences ? Motivations ? Perceptions ? Physical and psychological responses ? Accomplishments that occur before, during and after use of a system User experience is affected by the number and type of interactions within the augmented environment.
  • 16. GENERAL USES FOR AR Guide Create Play ? Navigation assistance ? Exploring curated spaces ? Information assistants ? Information overlays and ¡°heads-up¡± displays ? Education ? Virtual construction and measurement tools ? Games ? Social networking ? Shopping assistants
  • 17. BENEFITS OF AR Decreased? interaction cost Reduced? cognitive load Minimized? attention switching ? Relevant data is presented without requiring special action ? Efficient interactions with the AR system,? less user effort ? Users are NOT required to learn commands ? Allows users to move information smoothly from one context to another ? Multiple sources of information are combined into a single view ¡ª user¡¯s attention is not divided
  • 18. Input method Description Visual Using the camera(s) for tracking, detection, and context identification. Tactile All interfaces that require touching the screen and other controls. Sensors Automatically detecting the environment context. Gesture Moving your hand in a specific way to interact with the environment. Voice Spoken commands for hands-free controls. Auditory For direct voice commands and inferring the user¡¯s context. Kinesthetic Recognizing the user¡¯s movement and posture. INPUT
  • 19. Output method Description Visual From simple annotations to complex hyperrealistic 3D graphics. Auditory Sound output, from simple notification chimes to 3D sound. Haptic Vibration, force feedback, and other touch-related sensation. Olfactory Providing smells to increase the sense of immersion. OUTPUT
  • 20. CONTEXT / ENVIRONMENT AR experiences occur in expected and unexpected places. ? Where do you expect users to experience this augmentation? ? Where else could they experience this augmentation? ? Could this experience occur with other people? ? Could users have to navigate in the real world while using this augmentation?
  • 21. ENVIRONMENT, PART 1 Scout the locations where your app will be used. ? Indoors, outdoors, or both? ? Lighting: Is there bright sunlight or shadows? ? Sound: Is there ambient noise or music? How much? ? How much will the user be moving? ? How much room is there for the user to move around?
  • 22. ENVIRONMENT, PART 2 ? How many large, flat surfaces are there? ? Are there many obstacles to movement in the area? ? Is network connectivity important? ? What¡¯s the social setting ¡ª relatively private, or public?? AR requires seamless experiences across environments and devices, where the user is always at the center.
  • 23. DEMO #1 HAPPY AR PAINTERBy Joey deVilla
  • 24. When initially? engaging in? AR experiences, ? users tend to? remain stationary? due to habits built? by 2D interactions.
  • 25. Don¡¯t enforce user movement until it¡¯s necessary.? Introduce movement gradually.
  • 26. Design for comfort. Do not put the user in an uncomfortable situation or position. Avoid large or sudden movements.
  • 27. Educate the user about specific movements that are required to trigger an experience.
  • 28. Provide clear direction when a user needs to transition from one movement to another.
  • 29. Give clear guidance on movement range and necessary adjustments to users¡¯ position, pose or gesture.
  • 30. Anticipate the limitations of users¡¯ spaces¡ªboth indoor and outdoor, the space¡¯s physical size, or any obstacles including furniture, things, or people.
  • 31. Do not ask the user to walk backwards.
  • 32. Avoid placing large objects directly in front of users. This may cause them to physically back up.
  • 33. Give users a clear idea of the amount of space needed for the experience.
  • 34. When the user is not able to move around, provide an alternate experience. For example, activities like interacting with or transforming objects.
  • 35. As users fatigue, keep in mind that they may tend to move less.? It¡¯s important to ensure that any text or annotations are clear and legible from any angle. If you walk past the position? of ordinary AR text and look back to read it,? you¡¯ll see something like this. Use things like ¡°billboard constraints¡± to automatically rotate AR text to always face the user.
  • 37. Prioritize the real world over AR content. A balanced experience should not replace the user¡¯s perception of reality with AR.
  • 38. Prioritize line of sight. Do not distract or block users from seeing something important in the real world. Remind users to be aware of their surroundings.
  • 39. Design for a narrow depth of field. Draw focus to objects only within a reasonable range.
  • 40. Don¡¯t make users walk around staring at a small mobile screen the entire time. It¡¯s distracting and dangerous.
  • 42. Challenge users mentally, not physically.
  • 43. Minimize flashing or heavy duty animations. Mobile screens induce fatigue and eyestrain even more that desktop screens do.
  • 44. Remember the ¡°gorilla arm effect¡±. Users will usually tolerate a higher degree of interaction while sitting or when they¡¯re holding their mobile device at chest level or lower.
  • 45. Have the user hold the device with two hands rather than one. It allows them to focus on the experience rather than the device.
  • 46. Place commonly-used UI elements in a comfortable to reach area.
  • 47. Encourage users to take a break. Allow them to pause, save their current progress, and resume their AR experience later.
  • 49. Voice commands and audio output can be disruptive and have privacy implications in a public environment.
  • 50. Shared environments have security and privacy implications. Accessing someone else¡¯s AR ¡°view¡± may or may not be desirable. 2016 ISACA study: 77% of consumers were concerned that AR- enhanced IoT devices may be more prone to a privacy breach.
  • 51. Security breaches may include inappropriate access to protected information or areas and hiding information or real identities.
  • 53. Keep it simple. The more an augmentation attempts to grab attention, the more users will focus on it,? instead of reality.
  • 54. Do not make your augmented environments too information-dense.
  • 55. If you must display instructional text, use approachable terminology. AR jargon may intimidate users. Use less text than a traditional mobile interface. The Sans Serif fonts are better choices than Serifs.
  • 56. Design for the small screen first. Consider lighting and contrast so that objects and text can be viewed clearly in different background surroundings and lighting levels.
  • 57. Use visual and audio cues to let the user know which elements of the augmented environment can be interacted with, and how to interact with them.
  • 58. Use lighting effects, such as shadows and directional lighting to make the augmented environment blend in more realistically with the real world environment.
  • 59. Use as much of the display as possible, but do not hide key navigation elements.
  • 60. Placement: The information that is presented should not obscure the item of interest.
  • 61. Use audio or haptic feedback to enhance the sense that the user has interacted with the augmented environment.
  • 62. Provide a continuity of experience ¡ª avoid flows that repeatedly take the user in and out of an AR scene.
  • 63. Ensure that the information that is presented is scalable across different form factors.
  • 64. Support both portrait and landscape modes to create a more immersive experience and increase user comfort. If this isn¡¯t possible, select the mode that¡¯s ideal for your experience.
  • 67. Indicate when initialization and surface detection is in progress and involve the user.
  • 68. Use animation to demonstrate how users are supposed to interact with the application.
  • 69. Icons: The user should be able to identify the items¡¯ category at a glance without reading the text label.
  • 71. You can enhance an AR experience using known imagery in the user¡¯s environment to trigger the appearance of virtual content.
  • 72. Design and display the reference images to optimize detection. Specify the physical size that you expect to find those images in the user¡¯s environment.
  • 73. Use detected imagery only as a frame of reference. Virtual content placed on it may not stay in place because changes to the position or orientation of detected imagery are not tracked.
  • 76. Avoid interruptions. Let users adjust virtual objects and their settings in its context because device orientation and position cannot be tracked when AR is inactive.
  • 77. Accidental gestures: Avoid using similar gestures to perform different types of interactions.
  • 78. Suggest possible fixes to help users recover from common issues and reduce frustration. You can use visual and audio cues, animation, and text.
  • 79. If all else fails, allow users to reset and start again to see if they get better results.
  • 81. Cameras: ? Dual rear camera (for depth perception) ? Front camera with face-detection capabilities
  • 82. Y Roll:? Rotation around? the Y-axis Pitch:? Rotation around? the X-axis X Z Yaw:? Rotation around? the Z-axis MOTION DETECTION: FIRST 3 DEGREES
  • 83. MOTION DETECTION: NEXT 3 DEGREES Y Heave:? Movement parallel? to the Y-axis (up and down) Sway:? Movement parallel? to the X-axis (right and left) X Z Surge:? Movement parallel? to the Z-axis (back and forth)
  • 85. +Y: Up -Z: North +Z: South -X: West +X: East Opposite gravity -Y: Down With gravity Origin is device¡¯s? location at start? of AR session GRAVITY- AND HEADING-BASED ALIGNMENT
  • 86. 1. A point on the plane. This can be any one of the feature points identi?ed by the mobile AR framework. 2. A vector normal (perpendicular)? to the plane.? For horizontal planes, this vector is gravity, which mobile device accelerometers can detect. HOW MOBILE AR DETECTS HORIZONTAL PLANES
  • 87. DETECTING VERTICAL PLANES IS TRICKIER 1. Finding a point on the plane is easy. It¡¯s just like ?nding a feature point on a horizontal surface. 2. Finding a vertical plane¡¯s normal is hard. With vertical planes, we don¡¯t have a handy force like gravity to rely on to ?nd the normal. (Special bragging rights to the ?rst? person who can answer this question:? ¡°Why can¡¯t we simply use a vector? that¡¯s perpendicular to gravity? as the normal for vertical surfaces?¡±)
  • 89. CATEGORIZATION EXERCISE:? WHICH OF THESE IS A HEAVY METAL BAND?
  • 90. DEMO #4 VISION QUESTBy Joey deVilla
  • 91. HOW TO GET STARTED ON YOUR OWN AR PROJECTS
  • 92. IOS Framework: ARKit User system requirements:? Any iDevice with an A9 processor or later? (iPhone 6S or later; iPad Pro or 2017 iPad) Development environment:? Xcode IDE, ? Swift or Objective-C programming language
  • 93. ARKit by Tutorials ¡ª available at RayWenderlich.com
  • 94. Awesome ARKit ¡ª github.com/olucurious/Awesome-ARKit A regularly updated list of interesting ARKit projects? on GitHub.
  • 95. globalnerdy.com/rwdevcon2018-tutorial A free 2-hour tutorial, with all code included!
  • 96. AR DEVELOPMENT ON ANDROID Framework: ARCore User system requirements:? Higher-end Android device from 2017 era? (Google Pixel 2, Samsung Galaxy S9,? and similar) Development environment:? Android Studio IDE,? Kotlin or Java programming language
  • 97. CROSS-PLATFORM AR DEVELOPMENT Framework: ARKit, with ARCore support coming soon User system requirements:? ARKit-compatible iOS device /? ARCore-compatible Android device Development environment:? Unity IDE, C# programming language
  • 98. WEB-BASED AR DEVELOPMENT Framework: JavaScript library that accesses ARKit and ARCore User system requirements:? ARKit-compatible iOS device /? ARCore-compatible Android device Development environment:? Your favorite JavaScript IDE,? JavaScript programming language
  • 99. Joey deVilla (@AccordionGuy)? joey@joeydevilla.com Anitra Pavka (@APavka)? anitra@anitrapavka.com