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

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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, ...
 
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...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

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: