Better Design Built Faster: Using New UI Technologies to Speed Development

46
PAGE 1 mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006 BETTER DESIGN, BUILT FASTER Using new UI technologies to speed development mix06 03.21.2006

description

Achieving complete separation between visual design, content, and logic has long been the Holy Grail of the Web design world. By keeping these separate layers loosely-coupled, they can be developed and changed independently of one another, resulting in faster, more parallel development and more manageable code. That is the vision, but in practice, achieving truly clean separation has been easier said than done. New techniques with AJAX and CSS, and new technologies such as Windows Presentation Foundation (formerly code named "Avalon"), have made achieving the ideal of clean separation more attainable. This session dives into the experiences and lessons learned by Frog Design while using these techniques and technologies on real projects. We explore the impact (good and bad) on processes, collaboration, and efficiency.Watch a video at http://www.bestechvideos.com/2006/11/16/mix06-better-design-built-faster

Transcript of Better Design Built Faster: Using New UI Technologies to Speed Development

Page 1: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 1mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

BETTER DESIGN, BUILT FASTERUsing new UI technologies to speed development

mix06

03.21.2006

Page 2: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 2mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

AGENDA / INTRODUCTIONS

Agenda

UI Technology Trends

Web Example

Typical Process

Demo

Revised Process

WPF Example

Typical Process

Demo

Revised Process

Conclusions

Mason Hale

Chief Technologist

frog design

Austin, Texas

[email protected]

Nelan Schwartz

Technology Manager

frog design

Austin, Texas

[email protected]

Page 3: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 3mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

The first human-computer

interfaces were strictly

utilitarian.

/ UI TRENDS / THE EARLY YEARS

Page 4: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 4mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ UI TRENDS / TEXT AND EARLY GRAPHICAL INTERFACES

The next wave of computer

interfaces focused on

increasing productivity for

expert users.

/ UI TRENDS / THE COMMAND LINE

Page 5: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 5mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ UI TRENDS / DAWN OF THE GUI

Graphical User Interface

(GUI)-based operating

systems strived for system-

wide consistency.

/ UI TRENDS / DAWN OF THE GUI

Page 6: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 6mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

..then the Web happened.

In the evolutionary history of

software user interfaces, the

advent of the World Wide Web

began a Cambrian explosion

of UI diversity.

Certain conventions such as:

- the shopping cart,

- tabs,

- navigation bars, and

- search boxes

catch on and are nearly

universally adopted.

/ UI TRENDS / THE WEB

Page 7: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 7mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ UI TRENDS / SYSTEM LEVEL USER EXPERIENCE

Operating systems respond to

user demand for compelling

user experience.

/ UI TRENDS / USER EXPERIENCE

Page 8: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 8mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

While the web was influencing

operating system and

application user interfaces,

web applications were

becoming more robust and

desktop-like.

/ UI TRENDS / BLURRING THE WEB/DESKTOP BOUNDARY

Page 9: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 9mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

As web and desktop

technologies become more

intermingled, the distinction

between “web app” and

“desktop app” is becoming

less and less clear.

- iTunes Music store

- Google Desktop Search

- Dashboard Widgets built with

web technologies

/ UI TRENDS / WEB/DESKTOP CONVERGENCE

Page 10: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 10mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ UI TRENDS / WHAT’S NEXT?

enjoyable

usefulphysical ui

clui

gui

?

intuitive

Page 11: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 11mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ UI TRENDS / WHERE IS THIS GOING?

?

web

desktop

robust

fragile

flat rich

Page 12: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 12mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ UI TRENDS / LAYERS, LANGUAGES & TOOLS

User Interface Logic Tools

Win32 / MFC C++ C++ Visual Studio

.NET WinForms C#, VB.NET, J#

(any .NET)

C#, VB.NET, J#

(any .NET)

Visual Studio

Java Swing / SWT Java Java Any Java IDE

Macromedia Flash none or ActionScript ActionScript Flash

AJAX / DHTML HTML, XHTML

CSS, XSL

JavaScript Various

XUL XUL, CSS JavaScript Various

FLEX MXML, CSS ActionScript 2.0 FLEX Builder

OpenLaszlo LZX JavaScript Laszlo IDE

plug-in

WPF (Avalon) XAML C#, VB.NET

(any .NET)

Visual Studio

“Sparkle” / “Cider”

Page 13: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 13mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ UI TRENDS / LAYERS, LANGUAGES & TOOLS

User Interface Logic Tools

Win32 / MFC C++ C++ Visual Studio

.NET WinForms C#, VB.NET, J#

(any .NET)

C#, VB.NET, J#

(any .NET)

Visual Studio

Java Swing / SWT Java Java Any Java IDE

Macromedia Flash none or ActionScript ActionScript Flash

AJAX / DHTML HTML, XHTML

CSS, XSL

JavaScript Various

XUL XUL, CSS JavaScript Various

FLEX MXML, CSS ActionScript 2.0 FLEX Builder

OpenLaszlo LZX JavaScript Laszlo IDE

plug-in

WPF (Avalon) XAML C#, VB.NET

(any .NET)

Visual Studio

“Sparkle” / “Cider”

Page 14: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 14mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / BLOCKBUSTER.COM

Page 15: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 15mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / TYPICAL PROCESS (SIMPLE)

CSS

PHP

Designer /

Developer

ImagesPhotoshop

Text Editor

Web

Site

Page 16: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 16mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / TYPICAL PROCESS (COMPLEX)

Designer

Developer

Visual

Design

(Comps) HTML

Design Analyst

Wire-

frames

Sitemap

(IA)

CSS

Design Tech

JAVAPhotoshop

Eclipse

Visio / OmniGraffle Text Editor

Web

Site

Page 17: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 17mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / WIREFRAME

Page 18: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 18mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

Page 19: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 19mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

web browser

application server

Page 20: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 20mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

ASP/ C# / Java / JSP / etc

web browser

application server

Page 21: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 21mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

<HTML>

ASP/ C# / Java / JSP / etc

web browser

application server

Page 22: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 22mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

Style

Layout

Data

ASP/ C# / Java / JSP / etc

web browser

application server

<HTML>

Page 23: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 23mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

<HTML>

CSS

ASP/ C# / Java / JSP / etc

web browser

application server

Page 24: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 24mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

<HTML> Layout

Data

CSS Style

ASP/ C# / Java / JSP / etc

web browser

application server

Page 25: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 25mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

<HTML>

CSS

ASP/ C# / Java / JSP / etc

web browser

application server

Page 26: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 26mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / UI SEPARATION WITH CSS

client-side

server-side

Style

Layout

ASP/ C# / Java / JSP / etc

web browser

application server

<HTML>

CSS

Data

Page 27: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 27mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / GENERIC CONTAINER HTML

Page 28: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 28mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / DEMO

Page 29: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 29mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WEB / REVISED PROCESS

Designer

Developer

Visual

Design

(Comps)

Design Analyst

Wire-

frames

Sitemap

(IA)CSS

Design Tech

JAVA

Photoshop

Eclipse

Visio / OmniGraffle Text Editor

Web

Site

Design Tech

Text Editor

HTML

Page 30: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 30mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF

Page 31: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 31mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / TYPICAL SOFTWARE PROCESS

Architect

Developer

Functional

Specification

Marketing

Marketing

Requirements

Document

(MRD)

C++

Code

Visio / UMLWord

App

Analyst

Visual StudioWord

Software

Architecture

Page 32: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 32mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / TYPICAL SOFTWARE PROCESS + DESIGN

Architect

Developer

Functional

Specification

Marketing

Marketing

Requirements

Document

(MRD)

C++

Code

Visio / UMLWord

App

Analyst

Visual StudioWord

Software

Architecture

Designer Photoshop UI Design

Page 33: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 33mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / REDLINE DESIGN SPEC

Page 34: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 34mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / UI SEPARATION WITH XAML

Style

LayoutForm.cs

Program.cs Logic

Application

Page 35: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 35mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / UI SEPARATION WITH XAML

Style

LayoutWindow.xaml

Window.xaml.cs Logic

Application

Page 36: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 36mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / UI SEPARATION WITH XAML

Style

Window.xaml

Window.xaml.cs Logic

Application

Styles.xaml

Layout

Page 37: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 37mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / DEMO

Page 38: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 38mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / DEMO

Page 39: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 39mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / DEMO

Page 40: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 40mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / DEMO

Page 41: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 41mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ EXAMPLES / WPF / REVISED SOFTWARE PROCESS

Architect

Functional

Specification

Marketing

Marketing

Requirements

Document

(MRD)

Visio / UMLWord

App

Analyst

Word

Software

ArchitectureC#

Designer

“Sparkle”

Developer

XAML

Visual Studio

+ “Cider”

Page 42: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 42mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ CONCLUSIONS

Page 43: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 43mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ CONCLUSIONS

Translation = Information Loss

Information Loss = Slower Process and Inferior Results

Good: Enable designers to work directly in the medium

Better: Designers and developers working at the same time with the

same files

Better design tools = better design

A text editor is not a good visual design tool

Photoshop is not a good interaction design tool

Going with the flow is easier than swimming upstream

XAML was designed to build applications and it feels like it

HTML was designed to build documents and it feels like it

Page 44: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 44mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

/ CONCLUSIONS

So what does this mean for the Web?

AJAX shows potential, but…

too much of AJAX development is hacking around browser

limitations and incompatibilities

Extensions to the standards are needed to take web-app

development to the next level

<canvas> tag looks promising

Need better visual and interaction design tools for the web

Why are we still writing HTML and CSS by hand?

What do you think?

Page 45: Better Design Built Faster: Using New UI Technologies to Speed Development

PAGE 45mix06 / BETTER DESIGN, BUILT FASTER Copyright 2006

QUESTIONS?

Page 46: Better Design Built Faster: Using New UI Technologies to Speed Development

Session Evaluations

We value your feedback, so please submit an online evaluation for each session you attend!

To make it worth your while, we pick one evaluation from each of the ten session timeslots. If we pick your eval, you will be eligible to win a Creative Zen MicroPhoto