SlideShare a Scribd company logo
1 of 50
Welcome!
Harmony: Design innovation in QuickBooks Online (QBO)
Amanda Linden, Design Leader, QuickBooks Web & Mobile
Girl Geek Dinner | Feb. 6, 2014
We used to work like this …

Requirements

3

Design

Build
We delivered …
… Complexity
Variances in interaction design across our products and within a product

5
… Confusion
Variances in tone and voice across our products and within a product

6
… Inconsistency
Visual design disparity across the ecosystem and within the products

7
… Loose connections
Showing our org structure in our designs

8
For the QuickBooks redesign, we worked differently

Design

Build
User
Experience

Requirements

9
We broke down the
application into components
Application components

11
Application components

12
We designed to enable two
core actions: create & find
Global create

14
Create and search

15
With these pieces in
place, developers could
create pages on their own
17
How elements appear on the screen

Transaction browser
(trowser)

Drawer

18
19
We had more time to focus
on innovation
One-click expense capture

21
Invoice customization

22
23
Thank you
JavaScript at Scale in QuickBooks Online (QBO)
Manasa Murthy, Senior Development Manager
Girl Geek Dinner | Feb. 6, 2014
What scale means for QBO
1.5M active users

Up to 150 workflows
Released in 174 countries
26
Technologies used in QBO
Client
Rendering

Data-Only
Transport

Developer
API Services
Global
Accounting
Engine

World-Wide
Data Centers

WAA
What matters most
Happy engineers – latest technology, Agility

Maintainability
Faster loading pages
Better quality

28
Functionality vs. complexity: what’s typical

Complexity

$(‘#typical’)

Functionality over time
29
Functionality vs. complexity: our goal

Complexity

Upfront investment yields
dividends as functionality
grows
Functionality over time
30
Scaled to 100+ engineers with
~100K lines of client code.
Complexity is still manageable.

31
Use OO JavaScript
return declare([Stateful, Evented], {
constructor: function (args) {
this.dirty = false;
},
isDirty: function () {
return this.dirty || this.inherited();
}
…
});

32
Two-way binding
Definition: The ability to bind changes to an object’s properties to changes in the UI, and vice versa.

<div data-qbo-bind="visible: showDate">
<div>${nls.date}</div>
<input class="dateInput” data-qbobind="value: date"
data-dojo-type="qbo/widgets/DateTextBox”/>
</div>

Our homegrown two-way binding framework is inspired by

33
CSS requires engineering design
• Proper CSS scoping
• Apply top-level scoped styles to enable progressive layout
• Use a pre-processor
.qbo {
.invoice {
background: $formBackground;
height: $formHeight - $marginHeight;
}
.menuVisible {
.forms {
margin-left: 0px;
}
}
}
34
Single-page application
• Entire page loaded only once
• Refresh only parts of the application
• Responsive UI

35
Asynchronous module definition
Definition: AMD is a JavaScript API that lets you define and manage modules and their dependencies.

define([
"dojo/_base/declare",
"libs/jquery",
"libs/highcharts",
"libs/underscore",
"libs/backbone"
], function(declare, $, Highcharts, _, Backbone) {
…
});
Provides a no-build (F5) dev experience. Also builds minified, optimized layers.
36
Unit test
define([
"intern!object”
], function (registerSuite) {
registerSuite({
Name: "sampleSuite",
Setup: function () {},
beforeEach: function () {},
afterEach: function () {},
teardown: function () {},
"test1”: function () {}
… //More tests
});
});
37

Services isolation allows you
to mock XHR calls.

intern
End results
Happy engineers
• Went from 2 months to 2 weeks to write a new form
• Build times went from 2 min to 0 min on client side

Maintainability
• ~100K lines of JavaScript
• Separation of concerns – JavaScript, Java, CSS, HTML
• Onboarding down to 1 week

Faster loading pages
• < 2 sec for top workflows
• Better performance across the globe

Better quality
• ~400 unit tests just on the client side
38
Thank you
Why we need more girl geeks
Anu Tewary, Director of Data Products and Founder of Technovation Challenge
Girl Geek Dinner | Feb. 6, 2014
My path to a career in technology

41
The Level Up team

42
The challenges
CHALLENGE 1:
Not enough girls enter the field
of technology. Girls see
themselves as users, not
innovators, of technology.
CHALLENGE 2:
Once in the field, not enough
women stay. 56% of women
leave the field mid-career.

43
The Technovation Challenge
• Girls program mobile apps to
solve problems in their
community.
• Girls pitch business plans for
funding.
• Mentors use their deep technical
expertise while gaining
experience launching a new
venture.

44
Girls as innovators
• When girls participate in the
innovation process, the outcome
is diverse.
• We get ideas for apps such as
Uber and Pinterest ahead of their
time!
• AND we get apps such as
Arrive, StudiCafe, IOU, and
MASH

45
Why is it great to be a woman in tech?
• Sometimes it isn’t ... it’s lonely. 
- There aren’t enough of us here ... but there should be. 
• It’s changing and what we’re doing here is making it better. 
- It’s fun to be part of the solution. 

46
Trending in the right direction

Varsha R.

Level Up Analytics interns
47
Inspire and be inspired!
Sign up to be a mentor! Email Judy@Iridescentlearning.org

48
Questions? Comments?
Meet for coffee?
anutewary@gmail.com
Q&A

More Related Content

Similar to Girl Geek Dinner

It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny daybcoder
 
Friday final test
Friday final testFriday final test
Friday final testbcoder
 
Leveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web ProjectsLeveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web ProjectsMediacurrent
 
Building Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDBBuilding Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDBrivetlogic
 
Internship Presentation - Software Testing and Content Creator
Internship Presentation - Software Testing and Content CreatorInternship Presentation - Software Testing and Content Creator
Internship Presentation - Software Testing and Content CreatorWardah AK
 
GOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdf
GOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdfGOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdf
GOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdfIshikaPunchariya1
 
GDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session SlidesGDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session SlidesSEJALGUPTA44
 
UX, Agile and product management
UX, Agile and product managementUX, Agile and product management
UX, Agile and product managementPhil Barrett
 
DSC Aswan University info session
DSC Aswan University info sessionDSC Aswan University info session
DSC Aswan University info sessionAhmedHany131
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1ShepHertz
 
The Case for Embedded Analytics: Improve the Value of your Applications with ...
The Case for Embedded Analytics: Improve the Value of your Applications with ...The Case for Embedded Analytics: Improve the Value of your Applications with ...
The Case for Embedded Analytics: Improve the Value of your Applications with ...TIBCO Jaspersoft
 
Case Study 3 - Portfolio Project Final - Google UX Design Certificate
Case Study 3 - Portfolio Project Final - Google UX Design CertificateCase Study 3 - Portfolio Project Final - Google UX Design Certificate
Case Study 3 - Portfolio Project Final - Google UX Design CertificateAbelKCS
 
Abstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere PortalAbstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere PortalPerficient, Inc.
 
Join us at Confee
Join us at ConfeeJoin us at Confee
Join us at ConfeeGabor Orosz
 
Cybrilla brief company profile
Cybrilla brief company profileCybrilla brief company profile
Cybrilla brief company profileAnchal Jajodia
 
DevOps Indonesia #2 - Toolchain & Technology
DevOps Indonesia #2 - Toolchain & TechnologyDevOps Indonesia #2 - Toolchain & Technology
DevOps Indonesia #2 - Toolchain & TechnologyDevOps Indonesia
 
DevOps Indonesia - DevOps Toolchain and Technology
DevOps Indonesia - DevOps Toolchain and TechnologyDevOps Indonesia - DevOps Toolchain and Technology
DevOps Indonesia - DevOps Toolchain and TechnologyMade Mulia Indrajaya
 

Similar to Girl Geek Dinner (20)

It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
 
Friday final test
Friday final testFriday final test
Friday final test
 
Leveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web ProjectsLeveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web Projects
 
GDSC_Introduction.pptx
GDSC_Introduction.pptxGDSC_Introduction.pptx
GDSC_Introduction.pptx
 
Building Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDBBuilding Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDB
 
Internship Presentation - Software Testing and Content Creator
Internship Presentation - Software Testing and Content CreatorInternship Presentation - Software Testing and Content Creator
Internship Presentation - Software Testing and Content Creator
 
Creative chaos overview code thinking
Creative chaos overview code thinkingCreative chaos overview code thinking
Creative chaos overview code thinking
 
GOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdf
GOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdfGOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdf
GOOGLE DEVELOPERS STUDENT CLUB, MSIT Info Session.pdf
 
GDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session SlidesGDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session Slides
 
UX, Agile and product management
UX, Agile and product managementUX, Agile and product management
UX, Agile and product management
 
DSC Aswan University info session
DSC Aswan University info sessionDSC Aswan University info session
DSC Aswan University info session
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1
 
The Case for Embedded Analytics: Improve the Value of your Applications with ...
The Case for Embedded Analytics: Improve the Value of your Applications with ...The Case for Embedded Analytics: Improve the Value of your Applications with ...
The Case for Embedded Analytics: Improve the Value of your Applications with ...
 
Case Study 3 - Portfolio Project Final - Google UX Design Certificate
Case Study 3 - Portfolio Project Final - Google UX Design CertificateCase Study 3 - Portfolio Project Final - Google UX Design Certificate
Case Study 3 - Portfolio Project Final - Google UX Design Certificate
 
Abstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere PortalAbstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere Portal
 
Join us at Confee
Join us at ConfeeJoin us at Confee
Join us at Confee
 
Internship project presentation
Internship project presentationInternship project presentation
Internship project presentation
 
Cybrilla brief company profile
Cybrilla brief company profileCybrilla brief company profile
Cybrilla brief company profile
 
DevOps Indonesia #2 - Toolchain & Technology
DevOps Indonesia #2 - Toolchain & TechnologyDevOps Indonesia #2 - Toolchain & Technology
DevOps Indonesia #2 - Toolchain & Technology
 
DevOps Indonesia - DevOps Toolchain and Technology
DevOps Indonesia - DevOps Toolchain and TechnologyDevOps Indonesia - DevOps Toolchain and Technology
DevOps Indonesia - DevOps Toolchain and Technology
 

More from Intuit Inc.

State of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportState of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportIntuit Inc.
 
The State of Small Business Cash Flow
The State of Small Business Cash FlowThe State of Small Business Cash Flow
The State of Small Business Cash FlowIntuit Inc.
 
Small Business in the Age of AI
Small Business in the Age of AI Small Business in the Age of AI
Small Business in the Age of AI Intuit Inc.
 
Get financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksGet financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksIntuit Inc.
 
SEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessSEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessIntuit Inc.
 
Why Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersWhy Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersIntuit Inc.
 
Get Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthGet Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthIntuit Inc.
 
Giving Clients What They Want
Giving Clients What They WantGiving Clients What They Want
Giving Clients What They WantIntuit Inc.
 
What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030Intuit Inc.
 
Pricing in the Digital Age
Pricing in the Digital Age Pricing in the Digital Age
Pricing in the Digital Age Intuit Inc.
 
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Intuit Inc.
 
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsHandbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsIntuit Inc.
 
Advanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsAdvanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsIntuit Inc.
 
Handling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineHandling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineIntuit Inc.
 
Social media is social business
Social media is social business  Social media is social business
Social media is social business Intuit Inc.
 
Conversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsConversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsIntuit Inc.
 
Making tax digital
Making tax digital  Making tax digital
Making tax digital Intuit Inc.
 
Giving clients what they want
Giving clients what they want Giving clients what they want
Giving clients what they want Intuit Inc.
 
100 percent cloud your action plan for success
100 percent cloud your action plan for success 100 percent cloud your action plan for success
100 percent cloud your action plan for success Intuit Inc.
 
Attracting and retaining top talent
Attracting and retaining top talent Attracting and retaining top talent
Attracting and retaining top talent Intuit Inc.
 

More from Intuit Inc. (20)

State of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportState of Small Business – Growth and Success Report
State of Small Business – Growth and Success Report
 
The State of Small Business Cash Flow
The State of Small Business Cash FlowThe State of Small Business Cash Flow
The State of Small Business Cash Flow
 
Small Business in the Age of AI
Small Business in the Age of AI Small Business in the Age of AI
Small Business in the Age of AI
 
Get financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksGet financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooks
 
SEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessSEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your Business
 
Why Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersWhy Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting Customers
 
Get Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthGet Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for Growth
 
Giving Clients What They Want
Giving Clients What They WantGiving Clients What They Want
Giving Clients What They Want
 
What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030
 
Pricing in the Digital Age
Pricing in the Digital Age Pricing in the Digital Age
Pricing in the Digital Age
 
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
 
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsHandbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
 
Advanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsAdvanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky Transactions
 
Handling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineHandling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks Online
 
Social media is social business
Social media is social business  Social media is social business
Social media is social business
 
Conversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsConversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clients
 
Making tax digital
Making tax digital  Making tax digital
Making tax digital
 
Giving clients what they want
Giving clients what they want Giving clients what they want
Giving clients what they want
 
100 percent cloud your action plan for success
100 percent cloud your action plan for success 100 percent cloud your action plan for success
100 percent cloud your action plan for success
 
Attracting and retaining top talent
Attracting and retaining top talent Attracting and retaining top talent
Attracting and retaining top talent
 

Recently uploaded

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Girl Geek Dinner

  • 2. Harmony: Design innovation in QuickBooks Online (QBO) Amanda Linden, Design Leader, QuickBooks Web & Mobile Girl Geek Dinner | Feb. 6, 2014
  • 3. We used to work like this … Requirements 3 Design Build
  • 5. … Complexity Variances in interaction design across our products and within a product 5
  • 6. … Confusion Variances in tone and voice across our products and within a product 6
  • 7. … Inconsistency Visual design disparity across the ecosystem and within the products 7
  • 8. … Loose connections Showing our org structure in our designs 8
  • 9. For the QuickBooks redesign, we worked differently Design Build User Experience Requirements 9
  • 10. We broke down the application into components
  • 13. We designed to enable two core actions: create & find
  • 16. With these pieces in place, developers could create pages on their own
  • 17. 17
  • 18. How elements appear on the screen Transaction browser (trowser) Drawer 18
  • 19. 19
  • 20. We had more time to focus on innovation
  • 23. 23
  • 25. JavaScript at Scale in QuickBooks Online (QBO) Manasa Murthy, Senior Development Manager Girl Geek Dinner | Feb. 6, 2014
  • 26. What scale means for QBO 1.5M active users Up to 150 workflows Released in 174 countries 26
  • 27. Technologies used in QBO Client Rendering Data-Only Transport Developer API Services Global Accounting Engine World-Wide Data Centers WAA
  • 28. What matters most Happy engineers – latest technology, Agility Maintainability Faster loading pages Better quality 28
  • 29. Functionality vs. complexity: what’s typical Complexity $(‘#typical’) Functionality over time 29
  • 30. Functionality vs. complexity: our goal Complexity Upfront investment yields dividends as functionality grows Functionality over time 30
  • 31. Scaled to 100+ engineers with ~100K lines of client code. Complexity is still manageable. 31
  • 32. Use OO JavaScript return declare([Stateful, Evented], { constructor: function (args) { this.dirty = false; }, isDirty: function () { return this.dirty || this.inherited(); } … }); 32
  • 33. Two-way binding Definition: The ability to bind changes to an object’s properties to changes in the UI, and vice versa. <div data-qbo-bind="visible: showDate"> <div>${nls.date}</div> <input class="dateInput” data-qbobind="value: date" data-dojo-type="qbo/widgets/DateTextBox”/> </div> Our homegrown two-way binding framework is inspired by 33
  • 34. CSS requires engineering design • Proper CSS scoping • Apply top-level scoped styles to enable progressive layout • Use a pre-processor .qbo { .invoice { background: $formBackground; height: $formHeight - $marginHeight; } .menuVisible { .forms { margin-left: 0px; } } } 34
  • 35. Single-page application • Entire page loaded only once • Refresh only parts of the application • Responsive UI 35
  • 36. Asynchronous module definition Definition: AMD is a JavaScript API that lets you define and manage modules and their dependencies. define([ "dojo/_base/declare", "libs/jquery", "libs/highcharts", "libs/underscore", "libs/backbone" ], function(declare, $, Highcharts, _, Backbone) { … }); Provides a no-build (F5) dev experience. Also builds minified, optimized layers. 36
  • 37. Unit test define([ "intern!object” ], function (registerSuite) { registerSuite({ Name: "sampleSuite", Setup: function () {}, beforeEach: function () {}, afterEach: function () {}, teardown: function () {}, "test1”: function () {} … //More tests }); }); 37 Services isolation allows you to mock XHR calls. intern
  • 38. End results Happy engineers • Went from 2 months to 2 weeks to write a new form • Build times went from 2 min to 0 min on client side Maintainability • ~100K lines of JavaScript • Separation of concerns – JavaScript, Java, CSS, HTML • Onboarding down to 1 week Faster loading pages • < 2 sec for top workflows • Better performance across the globe Better quality • ~400 unit tests just on the client side 38
  • 40. Why we need more girl geeks Anu Tewary, Director of Data Products and Founder of Technovation Challenge Girl Geek Dinner | Feb. 6, 2014
  • 41. My path to a career in technology 41
  • 42. The Level Up team 42
  • 43. The challenges CHALLENGE 1: Not enough girls enter the field of technology. Girls see themselves as users, not innovators, of technology. CHALLENGE 2: Once in the field, not enough women stay. 56% of women leave the field mid-career. 43
  • 44. The Technovation Challenge • Girls program mobile apps to solve problems in their community. • Girls pitch business plans for funding. • Mentors use their deep technical expertise while gaining experience launching a new venture. 44
  • 45. Girls as innovators • When girls participate in the innovation process, the outcome is diverse. • We get ideas for apps such as Uber and Pinterest ahead of their time! • AND we get apps such as Arrive, StudiCafe, IOU, and MASH 45
  • 46. Why is it great to be a woman in tech? • Sometimes it isn’t ... it’s lonely.  - There aren’t enough of us here ... but there should be.  • It’s changing and what we’re doing here is making it better.  - It’s fun to be part of the solution.  46
  • 47. Trending in the right direction Varsha R. Level Up Analytics interns 47
  • 48. Inspire and be inspired! Sign up to be a mentor! Email Judy@Iridescentlearning.org 48
  • 49. Questions? Comments? Meet for coffee? anutewary@gmail.com
  • 50. Q&A

Editor's Notes

  1. NOTES:
  2. NOTES:
  3. NOTES:
  4. NOTES:
  5. NOTES:
  6. NOTES:
  7. NOTES:
  8. NOTES:
  9. NOTES:
  10. NOTES:
  11. NOTES:
  12. NOTES:
  13. NOTES: