SlideShare a Scribd company logo
1 of 106
Download to read offline
Refactoring
Web Interfaces
@JINA // DEVCONFU // JŪRMALA // 2014
@jina
Senior Product Designer
— PAUL SAFFO
“It used to be that designers made an object
and walked away. Today the emphasis must
shift to designing the entire life cycle.”
What is
refactoring?
Refactoring:
GETTING RID OF CODE SMELLS?
— SOME LIAR
“I always code perfectly
the first time.”
lack of clarity
confusion
no maintainability
inefficiency
duplication
bloat
Refactoring:
BUSY WORK?
Refactoring:
CHANGE THE STRUCTURE OF EXISTING CODE WITHOUT
CHANGING THE BEHAVIOR OF THAT CODE
My first large
major CSS refactor:
2007–2008 // Apple Online Store
old styles // legacy CSS
new styles // basic font sizes, colors, & fonts
typography // basic font sizes, colors, & fonts
layout // grid, borders, backgrounds
overrides // temporary overrides for old styles
local styles // localization
context styles // styles for stores for b2b, education, etc.
Too bad I wasn’t
using Sass then…
2010–2011 // AppCloud
Nesting
USE (CAREFULLY) TO AVOID REPETITION
If you’re nesting more than
3 levels deep, you’re probably
doing something wrong.
Variables
STORE COMMON ATTRIBUTES FOR MAINTAINABILITY
Mixins
STORE REUSABLE CODE & PASS ARGUMENTS FOR OVERRIDES
@mixin mod($txt: #ccc) {
background: #111;
color: $txt;
}
body { @include mod; }
h1 { @include mod(#888); }
body {
background: #111;
color: #ccc;
}
h1 {
background: #111;
color: #888888;
}
SCSS Output
@extend
CHAIN SELECTORS TOGETHER
.message {
padding: 1em;
a { color: #369; }
}
.error {
@extend .message;
color: #eee;
}
.message, .error {
padding: 1em;
}
.message a, .error a {
color: #369;
}
.error {
color: #eee;
}
SCSS Output
Placeholder
Selectors
CREATE SILENT CLASSES FOR @EXTEND
%grid-1 { width: 240px; }
%grid-2 { width: 480px; }
.content {
@extend %grid-1;
color: #369;
}
.main {
@extend %grid-1;
background: #eee;
}
.content, .main {
width: 240px;
}
.content {
color: #369;
}
.main {
background: #eee;
}
SCSS Output
ZOMG!
Refactoring, Sass,
& Style Guides are
awesome together!
Engine Yard App Cloud Style Guide, Early 2011
blog.engineyard.com/2011/front-end-maintainability-with-sass-and-style-guides
2012–2013 // Web App & Web Site
Make Refactoring
a regular part of
your workflow.
01 //
Don’t try to refactor
everything at once.
YOU’LL LIKELY GIVE UP.
Refactor
going forward.
Making
something new?
Document it.
Revising something?
Refactor it.
Then document it.
If code style preferences
are agreed upon,
document it.
Do you have a
CSS Gatekeeper?
Document
your ideal CSS
Architecture.
02 //
smacss.com
Do Web App “Deathstar”
Do Website “Kenobi”
deathstar.sass kenobi.sass
deathstar.sass kenobi.sass
deathstar.sass kenobi.sass
deathstar.sass kenobi.sass
deathstar.sass kenobi.sass
vendor // third party libraries
@import compass
@import susy
@import breakpoint
vendor/_shared.sass
compass-style.org
susy.oddbird.net
breakpoint-sass.com
// ------------------------
// VENDOR
@import vendor/shared
@import bootstrap/variables
@import bootstrap/mixins
// ------------------------
// VENDOR
@import vendor/shared
deathstar.sass kenobi.sass
vendor
dependencies // Global variables, mixins, & functions
@import color
@import type
@import layout
dependencies/_shared.sass
// ---------------------------------------
// DEPENDENCIES
@import dependencies/shared
@import dependencies/deathstar/themes
@import dependencies/deathstar/animations
// ---------------------------------------
// DEPENDENCIES
@import dependencies/shared
@import dependencies/kenobi/themes
deathstar.sass kenobi.sass
vendor
dependencies
base // Plain old semantic HTML
@include border-box-sizing
@import vendor/normalize
@import type
@import lists
@import tables
base/_shared.sass
// -----------------------
// BASE
@import base/shared
// -----------------------
// BASE
@import base/shared
@import base/kenobi/fonts
deathstar.sass kenobi.sass
vendor
dependencies
base
components // Modular components & states
@import icons
@import forms
@import buttons
@import toggles
@import messages
components/_shared.sass
// --------------------------------
// COMPONENTS
@import components/shared
@import components/deathstar/modals
// --------------------------------
// COMPONENTS
@import components/shared
deathstar.sass kenobi.sass
vendor
dependencies
base
components
regions // Divided page regions
// ------------------------------------
// REGIONS
@import regions/deathstar/banner
@import regions/deathstar/navigation
// ------------------------------------
// REGIONS
@import regions/kenobi/banner
@import regions/kenobi/complementary
@import regions/kenobi/contentinfo
deathstar.sass kenobi.sass
vendor
dependencies
base
components
regions
helpers // Layout helpers
@import layout-float
@import layout-display-table
@import visibility
helpers/_shared.sass
// --------------------------------
// HELPERS
@import helpers/shared
@import helpers/deathstar/sprites
// --------------------------------
// HELPERS
@import helpers/shared
deathstar.sass kenobi.sass
vendor
dependencies
base
components
regions
helpers
responsive // Adjustments to type & spacing
// --------------------------------
// RESPONSIVE
@import responsive/deathstar/mobile
@import responsive/deathstar/tablet
@import responsive/deathstar/screen
@import responsive/deathstar/retina
@import responsive/print
// --------------------------------
// RESPONSIVE
@import responsive/kenobi/mobile
@import responsive/kenobi/tablet
@import responsive/kenobi/screen
@import responsive/kenobi/retina
@import responsive/print
deathstar.sass kenobi.sass
_buttons.sass _screen.sass
_forms.sass
_modals.sass
vendor
dependencies
base
components
regions
helpers
responsive
tools // Visible grids & diagnostics
@import show-grid
@import diagnostics
tools/_shared.sass
<% if Rails.env.development? && Settings.show_grids %>
@import show-grid
@import diagnostics
<% end %>
tools/_shared.sass.erb
vendor/
dependencies/
base/
components/
regions/
helpers/
responsive/
tools/
}
PUT NEW CSS IN ITS PLACE
MOVE OLD CSS AS YOU GET TO
IT IN REVISIONS
MOVE MORE WHEN YOU
HAVE TIME TO WORK ON
TECH DEBT
Refactor when you’re adding something new.
Refactor when you’re fixing an issue.
Refactor during issues come up in code reviews.
Keep commits
focused & organized.
03 //
Bigger commits
lazy reviews
If you see something you want to fix that is
not within the scope of the current commit,
take note, and fix it in a new commit.
To debug, inspect at the
inner-most element
then work outward.
Find in Project (or GREP)
to determine if what you’re
editing is used anywhere else.
Check how your commit
affects the style guide.
Not in a style guide?
Put it in one!
Color
MAINTAINABILITY WITH SASS
Use your Sass Variables to
generate a living color
palette in your Style Guide.
Create a simple
color palette. Use
Sass to do variations.
$x: #369;
$y: #fff;
.a { color: lighten($x, 5%); }
.b { color: darken($x, 5%); }
.c { color: saturate($x, 5%); }
.d { color: grayscale($x ); }
.e { color: mix($x, $y); }
Just a few things Sass can do to your colors.
Make Variables for common
pairings of color & Sass
functions, and document it.
$black: #000;
$grey: #eee;
$white: invert($black);
$h-bg-color: $black;
$h-text-color: $grey;
$h-link-color: $white;
_colors.scss _header.scss
sassme.arc90.com
Make Mixins for common
pairings of backgrounds,
text colors, & shadow colors.
Typography:
CREATE A SMART SYSTEM & START MOVING TOWARD IT.
Choose a standard
base unit.
4 IS A GOOD BASE… IT MULTIPLIES INTO 8, 12, 16, ETC.
Create Mixins for
common type styles.
SPACED OUT CAPS, BIG QUOTE STYLES…
BUT DON’T HAVE TOO MANY. AND DOCUMENT THEM!
Don’t try to refactor
everything at once.
YOU’LL LIKELY GIVE UP.
Refactor
going forward.
— GUSTAVE FLAUBERT
“Be regular and orderly in your
life so that you may be violent
and original in your work.”
sfdc-styleguide.herokuapp.com
@SalesforceUX
dribbble.com/salesforce
sass-lang.com
@TeamSassDesign
dribbble.com/TeamSassDesign
themixinsf.com
susy.oddbird.net
T W I T T E R , D R I B B B L E , I N STAG RA M , & G I T H U B
@jina

More Related Content

Viewers also liked

Jina Bolton - in the search of the single source of truth
Jina Bolton - in the search of the single source of truth Jina Bolton - in the search of the single source of truth
Jina Bolton - in the search of the single source of truth DevConFu
 
UI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina BoltonUI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina BoltonCodemotion
 
Under the influence: Dark patterns & the power of persuasive design
Under the influence: Dark patterns & the power of persuasive designUnder the influence: Dark patterns & the power of persuasive design
Under the influence: Dark patterns & the power of persuasive designBen Tollady
 
The researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in research
The researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in researchThe researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in research
The researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in researchRuth Ellison
 
Designers are from Mars, BAs are from Venus
Designers are from Mars, BAs are from VenusDesigners are from Mars, BAs are from Venus
Designers are from Mars, BAs are from VenusCornelius Rachieru Jr.
 

Viewers also liked (6)

Jina Bolton - in the search of the single source of truth
Jina Bolton - in the search of the single source of truth Jina Bolton - in the search of the single source of truth
Jina Bolton - in the search of the single source of truth
 
UI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina BoltonUI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina Bolton
 
Jina Bolton
Jina BoltonJina Bolton
Jina Bolton
 
Under the influence: Dark patterns & the power of persuasive design
Under the influence: Dark patterns & the power of persuasive designUnder the influence: Dark patterns & the power of persuasive design
Under the influence: Dark patterns & the power of persuasive design
 
The researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in research
The researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in researchThe researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in research
The researcher’s blind spot: 6 cognitive biases we shouldn’t ignore in research
 
Designers are from Mars, BAs are from Venus
Designers are from Mars, BAs are from VenusDesigners are from Mars, BAs are from Venus
Designers are from Mars, BAs are from Venus
 

Similar to Jina bolton - Refactoring Web Interfaces

Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Developmentmwrather
 
CSS Workflow. Pre & Post
CSS Workflow. Pre & PostCSS Workflow. Pre & Post
CSS Workflow. Pre & PostAnton Dosov
 
Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compassNick Cooley
 
SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockMarco Pinheiro
 
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeCreating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeAcquia
 
Create SASSY Web Parts - SPSMilan
Create SASSY Web Parts - SPSMilan Create SASSY Web Parts - SPSMilan
Create SASSY Web Parts - SPSMilan Stefan Bauer
 
SASS is more than LESS
SASS is more than LESSSASS is more than LESS
SASS is more than LESSItai Koren
 
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style GuidesAdvanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style GuidesAidan Foster
 
Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)Stephen Hay
 
Syntactically awesome stylesheets (Sass)
Syntactically awesome stylesheets (Sass)Syntactically awesome stylesheets (Sass)
Syntactically awesome stylesheets (Sass)Tahmina Khatoon
 
@Agawish creating a stunning ui with oracle adf faces, using sass
@Agawish   creating a stunning ui with oracle adf faces, using sass@Agawish   creating a stunning ui with oracle adf faces, using sass
@Agawish creating a stunning ui with oracle adf faces, using sassAmr Gawish
 
Create SASSy web parts in SPFx
Create SASSy web parts in SPFxCreate SASSy web parts in SPFx
Create SASSy web parts in SPFxStefan Bauer
 
Intro to Sass for WordPress Developers
Intro to Sass for WordPress DevelopersIntro to Sass for WordPress Developers
Intro to Sass for WordPress DevelopersSuzette Franck
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Stephen Hay
 
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}Eric Carlisle
 

Similar to Jina bolton - Refactoring Web Interfaces (20)

Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Development
 
CSS Workflow. Pre & Post
CSS Workflow. Pre & PostCSS Workflow. Pre & Post
CSS Workflow. Pre & Post
 
UNIT 3.ppt
UNIT 3.pptUNIT 3.ppt
UNIT 3.ppt
 
Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compass
 
SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, Greensock
 
Crazy sassy
Crazy sassyCrazy sassy
Crazy sassy
 
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeCreating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
 
Create SASSY Web Parts - SPSMilan
Create SASSY Web Parts - SPSMilan Create SASSY Web Parts - SPSMilan
Create SASSY Web Parts - SPSMilan
 
SASS is more than LESS
SASS is more than LESSSASS is more than LESS
SASS is more than LESS
 
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style GuidesAdvanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
 
Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)
 
Advanced sass
Advanced sassAdvanced sass
Advanced sass
 
Syntactically awesome stylesheets (Sass)
Syntactically awesome stylesheets (Sass)Syntactically awesome stylesheets (Sass)
Syntactically awesome stylesheets (Sass)
 
@Agawish creating a stunning ui with oracle adf faces, using sass
@Agawish   creating a stunning ui with oracle adf faces, using sass@Agawish   creating a stunning ui with oracle adf faces, using sass
@Agawish creating a stunning ui with oracle adf faces, using sass
 
Team styles
Team stylesTeam styles
Team styles
 
Create SASSy web parts in SPFx
Create SASSy web parts in SPFxCreate SASSy web parts in SPFx
Create SASSy web parts in SPFx
 
[Bauer] SASSy web parts with SPFX
[Bauer] SASSy web parts with SPFX[Bauer] SASSy web parts with SPFX
[Bauer] SASSy web parts with SPFX
 
Intro to Sass for WordPress Developers
Intro to Sass for WordPress DevelopersIntro to Sass for WordPress Developers
Intro to Sass for WordPress Developers
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)
 
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
 

More from DevConFu

Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...
Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...
Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...DevConFu
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...DevConFu
 
Gojko Adzic - Taking the business on the journey - ConFu
Gojko Adzic - Taking the business on the journey - ConFuGojko Adzic - Taking the business on the journey - ConFu
Gojko Adzic - Taking the business on the journey - ConFuDevConFu
 
Vasco Duarte - Agile Innovation - Product Management in turbulent times - ConFu
Vasco Duarte - Agile Innovation - Product Management in turbulent times - ConFuVasco Duarte - Agile Innovation - Product Management in turbulent times - ConFu
Vasco Duarte - Agile Innovation - Product Management in turbulent times - ConFuDevConFu
 
Hanno Jarvet - VSM, Planning and Problem Solving - ConFu
Hanno Jarvet - VSM, Planning and Problem Solving - ConFuHanno Jarvet - VSM, Planning and Problem Solving - ConFu
Hanno Jarvet - VSM, Planning and Problem Solving - ConFuDevConFu
 
Andrey Adamovich - Enterprise flight into DevOps space - ConFu
Andrey Adamovich - Enterprise flight into DevOps space - ConFuAndrey Adamovich - Enterprise flight into DevOps space - ConFu
Andrey Adamovich - Enterprise flight into DevOps space - ConFuDevConFu
 
Hanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem Solving
Hanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem SolvingHanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem Solving
Hanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem SolvingDevConFu
 
Didzis Balodis - Web application security – war stories from real penetration...
Didzis Balodis - Web application security – war stories from real penetration...Didzis Balodis - Web application security – war stories from real penetration...
Didzis Balodis - Web application security – war stories from real penetration...DevConFu
 
Ivan Gaydamakin and Juri Tishko - ​3D Printing (workshop)
Ivan Gaydamakin and Juri Tishko -  ​3D Printing (workshop)Ivan Gaydamakin and Juri Tishko -  ​3D Printing (workshop)
Ivan Gaydamakin and Juri Tishko - ​3D Printing (workshop)DevConFu
 
Robin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3D
Robin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3DRobin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3D
Robin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3DDevConFu
 
Marion de Groot - Scrum and Specs
Marion de Groot - Scrum and SpecsMarion de Groot - Scrum and Specs
Marion de Groot - Scrum and SpecsDevConFu
 
Allan Kelly - Dialogue Sheets for retrospectives and discussion
Allan Kelly - Dialogue Sheets for retrospectives and discussionAllan Kelly - Dialogue Sheets for retrospectives and discussion
Allan Kelly - Dialogue Sheets for retrospectives and discussionDevConFu
 
Robert Virkus - Playing with LEGO Mindstorms from your Mobile Phone
Robert Virkus - Playing with LEGO Mindstorms from your Mobile PhoneRobert Virkus - Playing with LEGO Mindstorms from your Mobile Phone
Robert Virkus - Playing with LEGO Mindstorms from your Mobile PhoneDevConFu
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture DevConFu
 
Misha Beshkin - How to organize execution of tests on real Android devices
Misha Beshkin - How to organize execution of tests on real Android devicesMisha Beshkin - How to organize execution of tests on real Android devices
Misha Beshkin - How to organize execution of tests on real Android devicesDevConFu
 
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost DevConFu
 
Andrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloud
Andrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloudAndrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloud
Andrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloudDevConFu
 
Patrick H. Lauke - Getting Touchy; an introduction to touch and pointer events
Patrick H. Lauke - Getting Touchy; an introduction to touch and pointer eventsPatrick H. Lauke - Getting Touchy; an introduction to touch and pointer events
Patrick H. Lauke - Getting Touchy; an introduction to touch and pointer eventsDevConFu
 
Allan Kelly - Do it right, then do the right thing
Allan Kelly - Do it right, then do the right thingAllan Kelly - Do it right, then do the right thing
Allan Kelly - Do it right, then do the right thingDevConFu
 
Filipp Keks - Unity3D
Filipp Keks - Unity3DFilipp Keks - Unity3D
Filipp Keks - Unity3DDevConFu
 

More from DevConFu (20)

Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...
Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...
Hanno Jarvet - Agile is a bad strategy or 5 things every Agile practitioner s...
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
 
Gojko Adzic - Taking the business on the journey - ConFu
Gojko Adzic - Taking the business on the journey - ConFuGojko Adzic - Taking the business on the journey - ConFu
Gojko Adzic - Taking the business on the journey - ConFu
 
Vasco Duarte - Agile Innovation - Product Management in turbulent times - ConFu
Vasco Duarte - Agile Innovation - Product Management in turbulent times - ConFuVasco Duarte - Agile Innovation - Product Management in turbulent times - ConFu
Vasco Duarte - Agile Innovation - Product Management in turbulent times - ConFu
 
Hanno Jarvet - VSM, Planning and Problem Solving - ConFu
Hanno Jarvet - VSM, Planning and Problem Solving - ConFuHanno Jarvet - VSM, Planning and Problem Solving - ConFu
Hanno Jarvet - VSM, Planning and Problem Solving - ConFu
 
Andrey Adamovich - Enterprise flight into DevOps space - ConFu
Andrey Adamovich - Enterprise flight into DevOps space - ConFuAndrey Adamovich - Enterprise flight into DevOps space - ConFu
Andrey Adamovich - Enterprise flight into DevOps space - ConFu
 
Hanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem Solving
Hanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem SolvingHanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem Solving
Hanno Jarvet - The Lean Toolkit – Value Stream Mapping and Problem Solving
 
Didzis Balodis - Web application security – war stories from real penetration...
Didzis Balodis - Web application security – war stories from real penetration...Didzis Balodis - Web application security – war stories from real penetration...
Didzis Balodis - Web application security – war stories from real penetration...
 
Ivan Gaydamakin and Juri Tishko - ​3D Printing (workshop)
Ivan Gaydamakin and Juri Tishko -  ​3D Printing (workshop)Ivan Gaydamakin and Juri Tishko -  ​3D Printing (workshop)
Ivan Gaydamakin and Juri Tishko - ​3D Printing (workshop)
 
Robin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3D
Robin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3DRobin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3D
Robin Hawkes - Using OpenStreetMap and WebGL to create real-world cities in 3D
 
Marion de Groot - Scrum and Specs
Marion de Groot - Scrum and SpecsMarion de Groot - Scrum and Specs
Marion de Groot - Scrum and Specs
 
Allan Kelly - Dialogue Sheets for retrospectives and discussion
Allan Kelly - Dialogue Sheets for retrospectives and discussionAllan Kelly - Dialogue Sheets for retrospectives and discussion
Allan Kelly - Dialogue Sheets for retrospectives and discussion
 
Robert Virkus - Playing with LEGO Mindstorms from your Mobile Phone
Robert Virkus - Playing with LEGO Mindstorms from your Mobile PhoneRobert Virkus - Playing with LEGO Mindstorms from your Mobile Phone
Robert Virkus - Playing with LEGO Mindstorms from your Mobile Phone
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture
 
Misha Beshkin - How to organize execution of tests on real Android devices
Misha Beshkin - How to organize execution of tests on real Android devicesMisha Beshkin - How to organize execution of tests on real Android devices
Misha Beshkin - How to organize execution of tests on real Android devices
 
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
 
Andrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloud
Andrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloudAndrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloud
Andrey Adamovich and Luciano Fiandesio - Groovy dev ops in the cloud
 
Patrick H. Lauke - Getting Touchy; an introduction to touch and pointer events
Patrick H. Lauke - Getting Touchy; an introduction to touch and pointer eventsPatrick H. Lauke - Getting Touchy; an introduction to touch and pointer events
Patrick H. Lauke - Getting Touchy; an introduction to touch and pointer events
 
Allan Kelly - Do it right, then do the right thing
Allan Kelly - Do it right, then do the right thingAllan Kelly - Do it right, then do the right thing
Allan Kelly - Do it right, then do the right thing
 
Filipp Keks - Unity3D
Filipp Keks - Unity3DFilipp Keks - Unity3D
Filipp Keks - Unity3D
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Jina bolton - Refactoring Web Interfaces