Slide 1

Slide 1 text

Design at Scale Techniques for great UX development across large organizations @DanHarrelson @GEDesign

Slide 2

Slide 2 text

What does scale measure? Weight Traffic Impact

Slide 3

Slide 3 text

What does scale measure? Weight Traffic Impact

Slide 4

Slide 4 text

GE is Big very, very, very, very, very....... BIG

Slide 5

Slide 5 text

121 years old $147B Revenue $13B Net Income 300,000 Employees

Slide 6

Slide 6 text

GE is Global Every continent. Well, maybe not Antarctica. Yet.

Slide 7

Slide 7 text

GE is Diverse Thousands of products, technologies and people

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

GE is Powered by Software Welcome to the Industrial Internet

Slide 17

Slide 17 text

GE is Splintered Resulting in diverse, low quality experiences

Slide 18

Slide 18 text

A Unified Experience Focus on design, focus on the user

Slide 19

Slide 19 text

Design Systems to the Rescue

Slide 20

Slide 20 text

A design system is a collection of visual and interaction elements that embodies the brand. The system is often expressed across many channels including web, mobile, desktop, and service so that a consistent user experience is produced.

Slide 21

Slide 21 text

A design system is a collection of visual and interaction elements that embodies the brand. The system is often expressed across many channels including web, mobile, desktop, and service so that a consistent user experience is produced. High quality

Slide 22

Slide 22 text

Design System Components Branding Visual design Interaction design Typography Iconography

Slide 23

Slide 23 text

Data Visualization Reporting Charting Interaction Insights

Slide 24

Slide 24 text

Collaboration Messaging Video Annotation Screen sharing

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Code Put the design system into the hands of developers

Slide 27

Slide 27 text

Platforms and Frameworks Great UX baked into code

Slide 28

Slide 28 text

Architecture Cloud Desktop Mobile Embedded Secure, fast, reliable

Slide 29

Slide 29 text

Front-end Technology HTML/CSS JavaScript Visualization Helpers

Slide 30

Slide 30 text

GE ❤ Bootstrap

Slide 31

Slide 31 text

// ------------------------- // GLOBAL IMPORTS // ------------------------- // Web Fonts @import "fonts/inspira.less"; // GE Inspira @import "fonts/meta-serif.less"; // Meta-Serif // ------------------------- // BOOTSTRAP IMPORTS // ------------------------- // // What's happening here? // // This file imports all the core components from Boo that the // core can be kept up-to-date without inadvertently theme CSS. // CSS Reset @import "../../../libs/bootstrap/less/reset.less"; // Variables and mixins @import "../../../libs/bootstrap/less/variables.less" @import "../../../libs/bootstrap/less/mixins.less"; HTML/CSS Bootstrap Modernizr Respond.js LESS

Slide 32

Slide 32 text

'use strict'; define([ 'jquery', 'bootstrap/bootstrap-collapse', 'bootstrap/bootstrap-tooltip', 'bootstrap/bootstrap-transition' ], function($) { /* NAVBAR PUBLIC CLASS DEFINITION * =============================== */ var Navbar = function(element, options) { this.init('navbar', element, options); }; Navbar.prototype = { constructor: Navbar, init: function(type, element, options) { this.type = type; this.$element = $(element); JavaScript JQuery RequireJS Knockout.js Grunt Node

Slide 33

Slide 33 text

function($, d3, bar, gauge, donut) { $(function() { $('div[data-visualization="bar"]').each(function( var el = $(domEl); d3.select(domEl) // configure the chart .datum([el.data('value')]) .call( bar() .width(el.width()) .height(el.height()) .rounded(0) .min(el.data('min')) .max(el.data('max')) .tick(el.data('threshold')) ); }); $('div[data-visualization="gauge"]').each(functio { Visualization Highcharts d3 DataTables JQueryUI

Slide 34

Slide 34 text

.navbar .ge-logo { !border:0; !font: 0/0 a; !text-shadow: none; !color: transparent; !width:36px; !height:37px; !display:inline-block; !float:left; !margin: 0 9px 0 0; !background-color: transparent; !background: url(../../../img/iids/vector/ge- monogram-athensgray.svg) no-repeat; !background-size:contain; /*The GE Monogram has slightly different width/height dimensions*/ Helpers Font Awesome GE Icon Toolchain Parsley.js Chosen Jasmine      .icon-signin { .ie7icon(''); } .icon-trophy { .ie7icon(''); } .icon-github-sign { .ie7icon(''); } .icon-upload-alt { .ie7icon(''); } .icon-lemon { .ie7icon(''); }

Slide 35

Slide 35 text

IIDS.zip

Slide 36

Slide 36 text

Back-end Technology Web app Framework Service connectivity

Slide 37

Slide 37 text

Play Framework Modern application framework Focused on Java & Scala Built-in support for LESS, RequireJS and more Modular and open source Fun!

Slide 38

Slide 38 text

API’s everywhere REST everywhere JSON everywhere HTTP and WebSockets Service Connectivity http://rest.ge.com/performance Play HTTP/JSON {

Slide 39

Slide 39 text

Experiments Phonegap Chromium Embedded Play

Slide 40

Slide 40 text

Developer Experience Adoption through winning the hearts and minds

Slide 41

Slide 41 text

14,000 Developers within GE supported by a team of 15 (yes, we get a lot of email)

Slide 42

Slide 42 text

Developer Experience Pillars Open source, open access Make programming fun! Encourage learning Powerful tools

Slide 43

Slide 43 text

Open Source, Open Access Share your roadmap Solicit contribution Share the source, show how it was done Be available

Slide 44

Slide 44 text

My roadmap JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC Visual Designer Preview TOOLS CORE Visual Designer Limited Release DSP 1.0 DSP 1.0.2 IIDS 0.8.5 IIDS 0.9.x IIDS 1.x IIDS 1.x IIDS 1.x IIDS 1.x IIDS 1.x IIDS 1.x IIDS 1.x IIDS 1.x IIDS 1.x DSP 1.5 DSP 2.0 Lifecycle Support JavaScript MVC Catalog Preview Studio Redesign 7 Widgets 3 Templates 15 Widgets 5 Templates Tutorials, Boilerplate Catalog 1.0 50 Widgets Custom Templates Data modeling HTML5 for mobile Graph DB Native for mobile Your feature here End user customization Your feature here Diagramming component Round tripping w/ IDE

Slide 45

Slide 45 text

Community Build a community Participate Listen Promote others

Slide 46

Slide 46 text

Bill Scott Sr. Director, User Interface Engineering at PayPal "If you could pick one thing to change an engineering organization it would be to bring Github in-house! It will democratize your code and if you use it right, it will make your code the centerpiece of all you do" "At PayPal, we used Github to de-centralize our centralized platform team, change the way we write our code (distributed and transparent), change the way we deploy our code, content, marketing pages & components. And finally, change the way we install and scaffold our applications."

Slide 47

Slide 47 text

Source available to all GE devs Pull requests Simple and transparent workflow Integrated into project flow Collaboration in Code

Slide 48

Slide 48 text

Encourage Learning

Slide 49

Slide 49 text

Encourage Learning

Slide 50

Slide 50 text

Powerful Tools Design tools Development tools Administration tools

Slide 51

Slide 51 text

var opt = require('./options'); module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: '', clean: { folder: 'www-release' }, requirejs: { Build scripts Grunt Maven Python { "name": "iids-example-multipage", "author": "General Electric", "version": "0.1.0", "private": true, "devDependencies": { "grunt-contrib-mincss": "0.3.x", "grunt-contrib-requirejs": "0.3.x", "grunt-contrib-clean": "0.3.x" } }

Slide 52

Slide 52 text

Design Templates

Slide 53

Slide 53 text

Studio

Slide 54

Slide 54 text

Studio

Slide 55

Slide 55 text

Design at Scale takes a crisp perspective on what makes great UX for your organization. Provide the best tools that empower your army of developers and designers. Happy developers make better and more engaging software. Focus on a developer experience that supports great user experience.

Slide 56

Slide 56 text

Thanks! @DanHarrelson @GEDesign [email protected]