+ All Categories
Home > Documents > By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon"...

By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon"...

Date post: 22-Sep-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
22
Rapid UI Prototyping Using Qt Quick By Jürgen Bocklage-Ryannel
Transcript
Page 1: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Rapid UI Prototyping Using Qt Quick

By Jürgen Bocklage-Ryannel

Page 2: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

We  put  stunning  user  experiences  on  the  road.

2  

Page 3: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Agenda •  Prototyping •  Prototyping with QML •  Prototyping with QML Demo

Page 4: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Prototyping

Page 5: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Prototyping •  Allow users to evaluate design proposals •  Feedback based on try-out –  in contrast to read a descriptions

Page 6: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Evolutionary Prototyping •  Build a structured prototype •  Constantly refine it •  Can become the product

…evolu'onary  prototyping  acknowledges  that  we  do  not  understand  all  the  requirements  and  builds  only  those  that  are  well  understood.    

Page 7: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Elements of User Experience Surface  •  Images,  Text  

Skeleton  • Placement  of  Bu9ons,  Tabs,  Photos,  …  

Structure  • Naviga@on  and  Data  Hierarchy  

Scope  • Features  and  Func@ons  

Strategy  • Business  Benefits  

Source:  THE  ELEMENTS  OF  USER  EXPERIENCE,  Jesse  James  Garre9  

Page 8: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

UI Development

Wireframes   Graphics   Mo@on   Prototype  

Structure  Skeleton  

Surface   Surface   Tool  

Page 9: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

HMI Stack

Mo@on  

Home  

Movies  

Genres  

Movie  List  

…  

Music  

Albums  

…  

SeUngs  

Graphics  

Wireframes  

Page 10: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Evolutionary Prototype Interac@on  Design  

Graphics  Design  

Development  

Simula@on  

Simulated  Backend  

UI  

Product  

Real  Backend  

UI  

review

 

input  feedback  

Page 11: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Prototyping with QML

Page 12: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Information Flow

UI Specification

Frontend

Backend

OS

Requ

irem

ents

Acce

ptan

ce T

est

Page 13: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Backend  

Frontend  

Typical QML Based System

System  UI  

Controls  

Applica@on  Views  

QML  Plugins   Services  

API  

Page 14: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Prototyping Environment Frontend  

User  Interface   Mocked  Controls  

QML  Backend  Simula@on  

API  

Page 15: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Practical Considerations •  Fast round trip time •  Simplified user interface •  Easy export of assets •  Easy access to data •  Verifiable on hardware •  Open to evolve

Page 16: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Toolset •  Balsamiq – UI Wireframing •  PNG Express – Photoshop export •  Sketch – Vector Drawing (Mac only) •  Qt Creator – The IDE for Qt •  QmlLive – live code viewer •  JSON data via REST API •  Many QML techniques

Page 17: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

DEMO Prototyping with QML

Page 18: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Pixy

Page 19: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Demo •  Part 1 – Structure, Skeleton – Mocking a Wireframe UI

•  Part 2 – Surface – Adding Graphics, Polishing

•  Part 3 – Backend API – Enabling Data

Page 20: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Conclusion

Page 21: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

Conclusion •  Work close with Designers •  Inject yourself early in the creation pipeline •  Evolutionary Prototype becomes Product •  Clear separation between Frontend and

Backend •  Prioritize communication •  Qt is often only one of many options for UI

Page 22: By Jürgen Bocklage-Ryannel - KDAB€¦ · User"Interface" Mocked"Controls" QML"Backend" Simulaon" API. Practical Considerations • Fast round trip time • Simplified user interface

References •  Balsamiq - http://balsamiq.com •  Qt - http://www.qt.io •  PNG Express - http://www.pngexpress.com •  Sketch - http://bohemiancoding.com/sketch/ •  Pixy - https://github.com/jryannel/pixy •  QmlLive - https://github.com/Pelagicore/qmllive •  Data Provider - https://github.com/Pelagicore/mock-dataprovider


Recommended