the break-up - a user interface love story

33
Raphael Wegmueller Damien Antipa Alexandre Capt THE BREAK-UP A user interface love story

Upload: connectwebex

Post on 10-Aug-2015

797 views

Category:

Business


3 download

TRANSCRIPT

Page 1: THE BREAK-UP - A user interface love story

Raphael Wegmueller

Damien Antipa

Alexandre Capt

THE BREAK-UPA user interface love story

Page 2: THE BREAK-UP - A user interface love story

A LONG STANDING RELATIONSHIP

CQ AND EXTJSDeclaration basedJSON storeHeavily client-sidedRich library of widgetsComprehensive browser supportLarge developer communityWell documented

Page 3: THE BREAK-UP - A user interface love story
Page 4: THE BREAK-UP - A user interface love story
Page 5: THE BREAK-UP - A user interface love story

DISAFFECTION

SOMETHING'S MISSINGNot touch-friendlyDecreasing performanceDesktop vs web styleLimited control over source codeUpgrade gap (ExtJS 4.0)

Page 6: THE BREAK-UP - A user interface love story

ESCAPADES JUST HAPPENED

WE NEEDED TO TRYTeach ExtJS to be touch-friendlySencha TouchjQuery mobile

Page 7: THE BREAK-UP - A user interface love story
Page 8: THE BREAK-UP - A user interface love story
Page 9: THE BREAK-UP - A user interface love story
Page 10: THE BREAK-UP - A user interface love story
Page 11: THE BREAK-UP - A user interface love story

NEWFOUND LOVE

CORALUI

Home-brewed UI FrameworkOpen DevelopmentAdobe Unification

Page 12: THE BREAK-UP - A user interface love story

THE BASIC CONCEPT

ARCHITECTURE

Page 13: THE BREAK-UP - A user interface love story

MAKES ALL SENSE, BUT ...

WHAT EXACTLY IS CORALUI?

UI framework for web applications

Backend agnostic

Implementation of the CloudUI initiative

Unification approach for Adobe apps

Open development driven

Page 14: THE BREAK-UP - A user interface love story

GOOD SOFTWARE NEEDS

A KILLER

USER INTERFACE

Responsive & scalable layoutRich widgetsMobile firstAccessibilityCutting edge technologies

Page 15: THE BREAK-UP - A user interface love story

SCALABLE &

RESPONSIVE

LAYOUT

CSS3 Unit : rem (= root em)

Mono colored font icons

Multi colored embedded SVG

CSS on excellence

Markup-driven for fast rendering

Page 16: THE BREAK-UP - A user interface love story

RICH WIDGETS

Do not abuse JS to generate markup or styles

Enhancement through data attributes

Page 17: THE BREAK-UP - A user interface love story

1. <!-- Date/time picker --><!-- Date/time picker -->

2. <div<div classclass=="datepicker""datepicker" data-initdata-init=="datepicker""datepicker" data-displayed-formatdata-displayed-format=="YYYY-MM-DD""YYYY-MM-DD">>3. <input<input typetype=="datetime""datetime" valuevalue=="1987-04-06""1987-04-06">>4. <button<button classclass=="icon-calendar small""icon-calendar small">>Datetime pickerDatetime picker</button></button>

5. </div></div>

1987-04-06

MOBILE FIRST

Touch enabled

Finger friendly

Gestures

Responsive layout

Page 18: THE BREAK-UP - A user interface love story

ACCESSIBILITY

Screen reader & voice over friendly

Keyboard enabled

Semantic / Content first

WAI-ARIA (W3C)

Page 19: THE BREAK-UP - A user interface love story

CUTTING EDGETECHNOLOGIES

CSS3 / HTML5

jQuery for high performance

Automatic UI testing

Modern build system

Page 20: THE BREAK-UP - A user interface love story

WE DO OUR BEST TO BALANCE THIS

DEPLOYMENT DEPENDENCIESMinimum: jQuery 1.8+For datepicker: moment.jsFor touch handling: toe.jsFeel free to use handlebars,

backbone and others

Page 21: THE BREAK-UP - A user interface love story
Page 22: THE BREAK-UP - A user interface love story

THE SERVER LAYER

GRANITE UI

Markup rendering & helpers

Component based

Sling resource resolution

OSGI bundle

Part of the platform (Granite)

Page 23: THE BREAK-UP - A user interface love story

MORE SPECIFIC

THE APPLICATION LEVELWCM, DAM, Social, Tooling, Marketing Cloud ...Shared common platformExtend existing components

Page 24: THE BREAK-UP - A user interface love story
Page 25: THE BREAK-UP - A user interface love story
Page 26: THE BREAK-UP - A user interface love story
Page 27: THE BREAK-UP - A user interface love story
Page 28: THE BREAK-UP - A user interface love story
Page 29: THE BREAK-UP - A user interface love story
Page 30: THE BREAK-UP - A user interface love story

CUSTOM DEVELOPMENT

EXTENSION POINTS

ComponentsDialogsVirtual resourcesClient-side eventing

Page 31: THE BREAK-UP - A user interface love story

REUSABILITY

HIGH BACKWARDCOMPATIBILITY

Edit component modelDialog definitionsJS handler may fail

Page 32: THE BREAK-UP - A user interface love story

AEM

CUSTOMIZE THE UISiteadmin: new actionsCustom content panels for authoringRemaining component conceptVirtual resource override

Page 33: THE BREAK-UP - A user interface love story

QUESTIONS? COMMENTS?Speaker 1 : Raphael Wegmueller | Senior Engineering Manager | [email protected]

Speaker 2 : Damien Antipa | Engineer | [email protected]

Speaker 3 : Alexandre Capt | Engineering Manager | [email protected]

Designed by : Alexis Tessier | Experience Designer

FEEDBACK IS WELCOME