SlideShare una empresa de Scribd logo
1 de 31
WEB BASED, MOBILE ENTERPRISE
APPLICATIONS

Manish Garg
@manishgarg
2

What are we going to cover
1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but always required
3

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but always required
4

What is happening in Enterprise





Democratization and Consumerization of IT
Shift from features and functionality to design
Mobile and bring your own device
Companies have direct access to enterprise users
5

1. Enterprise apps




Mission critical applications that power the large
companies
Think of manufacturing, retail, banking, automotive,
public sector, defense, …
6

Now think of 1000s of
companies running
100s of processes
7

How are enterprise apps different?











Design driven; consistency in design
We are not talking about single web app
May not hosted be but shipped
Need for extensibility (and support upgrades)
Robust, Responsive
User management and LDAP integration
Downtime management
Security, authentication, authorization
8

Architectural requirements checklist
1.
2.
3.
4.
5.
6.
7.
8.
9.

Responsive design
Security, SSO integration
Globalization and internationalization
Native Vs. Web Based
Performance
Customization or Extensible
Integrate with customer landscape
Open source and 3rd party legal compliance
…
9

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but always required
10

Native or HTML5

BIG decision
Depends on the use case
11

HTML5 is great for most use cases




80% of the functionality can be covered, including
graphs
20% needs native support
 Image

processing
 Barcode scanning
 Access to some other H/W features
 Offline
12

HTML5 – Design impact
PROS
 Consistent design and UX
 Designers can provide several development assets (CSS,
HTML, …)
CONS
 Smooth animations and transitions difficult to achieve
 Design had to be adjusted to accommodate
performance or missing native support
 Performance
13

HTML5 - Development and Testing
PROS
 Development time and cost is low
 Easier when large development teams are working
together
 Testing is easier
CONS



Simple goals turned into huge tasks (scrolling, …)
Testing across many devices is still a pain
14

HTML5 – Life cycle management
PROS
 One code base to maintain
 Easy to distribute
 Supports desktop automatically
CONS

Many changes expected
15

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but always required
16

HTML5 Performance


Performance is very important
~40-50% ~80%

Out of every 1000 users 400 never come back if
performance is bad
17

Performance
mobile.webapp.perf() < desktop.webapp.perf()
&&
mobile.webapp.perf() < nativeapp.perf()

But why?
Mobile HTML5 performance
bottlenecks
1.
2.
3.

Network
Mobile resource and compute is different
Browsers are lagging
 Desktop

browsers are far ahead than the mobile
browsers

4.
5.

Caching and local storage.
Debugging and profiling

18
19

Repaint CPU profile on Xcode
20

Tools
1.
2.
3.
4.

5.
6.

Network tab in Developer view of browsers
Profiling functionality in your browsers
Xcode profiling
chrome://tracing/
Yslow originally from Yahoo
Google Refine, now called Open Refine – to
analyze the performance logs
21

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but always required
22

Application Customization
23

Architectural impact






Provide hook points in the original app
Create an extension app, which has all the context
from the original app
New views and navigations are game
Run time aggregation versus build time aggregation

Think of AngularJs Directives
24

Runtime Vs. Buildtime merge




DOM manipulation as the different views are
fetched and interpreted by the JS lib
Run a build script to merge the Views to improve
runtime performance
25

Don’t forget





To allow extensions in your service layer
Backend
Know your service and how much data it returns.
Customization != Personalization
26

What else have we
learnt?
27

Summary of lessons learnt
DESIGN
 Design driven apps: Understanding the user
 Everything is changing
DEVELOPMENT
 Web based apps are faster to develop on a large
scale
 Batch reads and writes are faster
 Allow for easy application extensions
 Declarative programming works better in many
scenarios
28

Declarative navigation
29







Hire rock star CSS experts
No JS library is a silver bullet. You will end up using
several of them and they all have to be integrated
You will spend a lot of time with JS lib exploration
Hardware acceleration
 Use

-webkit-transform: translate3d
30

SUPPORTABILITY OF APPS
 Error codes have to much more informative
 The system trace has to be there .. Is it on the server,
backend, UI …
TESTING
 Keep an eye on performance – always
 Don’t wait to test on mobile
Thank you for listening. I am done…
What else do you want to talk about?

Manish Garg
@manishgarg

31

Más contenido relacionado

La actualidad más candente

IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...
IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...
IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...Nitin Gaur
 
When applications mean business
When applications mean businessWhen applications mean business
When applications mean businessMicro Focus
 
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...Gil Isaacs
 
Low-Code App Development
Low-Code App DevelopmentLow-Code App Development
Low-Code App DevelopmentAppian
 
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" HappyEnterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" HappyWaveMaker, Inc.
 
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
IBM Enterprise Social Solutions  on Bluemix (XPages and Connections)IBM Enterprise Social Solutions  on Bluemix (XPages and Connections)
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)Niklas Heidloff
 
Creating an app ecosystem for your APIs
Creating an app ecosystem for your APIsCreating an app ecosystem for your APIs
Creating an app ecosystem for your APIsWaveMaker, Inc.
 
Software Technology Trends in 2013-2014
Software Technology Trends in 2013-2014Software Technology Trends in 2013-2014
Software Technology Trends in 2013-2014KMS Technology
 
The Modern Platform for Mobile Development
The Modern Platform for Mobile DevelopmentThe Modern Platform for Mobile Development
The Modern Platform for Mobile DevelopmentRofiqi Setiawan
 
Achieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UIAchieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UILohith Goudagere Nagaraj
 
Alfresco 4.0 - A Complete Introduction
 Alfresco 4.0 - A Complete Introduction Alfresco 4.0 - A Complete Introduction
Alfresco 4.0 - A Complete IntroductionAjeet Singh
 
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...Abhishek Kant
 
Enterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinEnterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinXamarin
 
Practical strategies to innovate faster and meet business goals
Practical strategies to innovate faster and meet business goalsPractical strategies to innovate faster and meet business goals
Practical strategies to innovate faster and meet business goalsWaveMaker, Inc.
 
AppBattler - An Android-based SDK for game developers to enable social gaming
AppBattler - An Android-based SDK for game developers to enable social gamingAppBattler - An Android-based SDK for game developers to enable social gaming
AppBattler - An Android-based SDK for game developers to enable social gamingNeev Technologies
 
Introduction to IBM Bluemix for Java Developers
Introduction to IBM Bluemix for Java DevelopersIntroduction to IBM Bluemix for Java Developers
Introduction to IBM Bluemix for Java DevelopersNiklas Heidloff
 

La actualidad más candente (20)

IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...
IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...
IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...
 
Neev AWS Expertise
Neev AWS ExpertiseNeev AWS Expertise
Neev AWS Expertise
 
Neev Cloud Services
Neev Cloud ServicesNeev Cloud Services
Neev Cloud Services
 
When applications mean business
When applications mean businessWhen applications mean business
When applications mean business
 
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
 
Low-Code App Development
Low-Code App DevelopmentLow-Code App Development
Low-Code App Development
 
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" HappyEnterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
 
Innovations @ Neev
Innovations @ NeevInnovations @ Neev
Innovations @ Neev
 
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
IBM Enterprise Social Solutions  on Bluemix (XPages and Connections)IBM Enterprise Social Solutions  on Bluemix (XPages and Connections)
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
 
Android @ Neev
Android @ NeevAndroid @ Neev
Android @ Neev
 
Creating an app ecosystem for your APIs
Creating an app ecosystem for your APIsCreating an app ecosystem for your APIs
Creating an app ecosystem for your APIs
 
Software Technology Trends in 2013-2014
Software Technology Trends in 2013-2014Software Technology Trends in 2013-2014
Software Technology Trends in 2013-2014
 
The Modern Platform for Mobile Development
The Modern Platform for Mobile DevelopmentThe Modern Platform for Mobile Development
The Modern Platform for Mobile Development
 
Achieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UIAchieve Responsive Web Applications With Ease Using Kendo UI
Achieve Responsive Web Applications With Ease Using Kendo UI
 
Alfresco 4.0 - A Complete Introduction
 Alfresco 4.0 - A Complete Introduction Alfresco 4.0 - A Complete Introduction
Alfresco 4.0 - A Complete Introduction
 
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
 
Enterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinEnterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and Xamarin
 
Practical strategies to innovate faster and meet business goals
Practical strategies to innovate faster and meet business goalsPractical strategies to innovate faster and meet business goals
Practical strategies to innovate faster and meet business goals
 
AppBattler - An Android-based SDK for game developers to enable social gaming
AppBattler - An Android-based SDK for game developers to enable social gamingAppBattler - An Android-based SDK for game developers to enable social gaming
AppBattler - An Android-based SDK for game developers to enable social gaming
 
Introduction to IBM Bluemix for Java Developers
Introduction to IBM Bluemix for Java DevelopersIntroduction to IBM Bluemix for Java Developers
Introduction to IBM Bluemix for Java Developers
 

Similar a Web based, mobile enterprise applications

The new developer experience
The new developer experienceThe new developer experience
The new developer experienceEric Cattoir
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...ghodgkinson
 
DevOps and Microservice
DevOps and MicroserviceDevOps and Microservice
DevOps and MicroserviceInho Kang
 
Applying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomesApplying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomesKartik Kanakasabesan
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleMatthew Perrins
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Vidyasagar Machupalli
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Apigee | Google Cloud
 
IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBIZZ
 
News to Development Environments and for RDz for z/VSE
News to Development Environments and for RDz for z/VSENews to Development Environments and for RDz for z/VSE
News to Development Environments and for RDz for z/VSEIBM
 
A DevOps Approach for Building 100 iOS Apps
A DevOps Approach for Building 100 iOS AppsA DevOps Approach for Building 100 iOS Apps
A DevOps Approach for Building 100 iOS AppsTechWell
 
The App Evolution
The App Evolution The App Evolution
The App Evolution Dev_Events
 
20 Tips for High Performance Responsive Design that the Pros Won’t Tell You
20 Tips for High Performance Responsive Design that the Pros Won’t Tell You20 Tips for High Performance Responsive Design that the Pros Won’t Tell You
20 Tips for High Performance Responsive Design that the Pros Won’t Tell YouPatrick Collins
 
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석Amazon Web Services Korea
 
Ibm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mcIbm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mcSaranga Tripathy
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed? Dev_Events
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Felipe Freire
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 

Similar a Web based, mobile enterprise applications (20)

The new developer experience
The new developer experienceThe new developer experience
The new developer experience
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
DevOps and Microservice
DevOps and MicroserviceDevOps and Microservice
DevOps and Microservice
 
Applying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomesApplying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomes
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Twelve factor-app
Twelve factor-appTwelve factor-app
Twelve factor-app
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with Worklight
 
News to Development Environments and for RDz for z/VSE
News to Development Environments and for RDz for z/VSENews to Development Environments and for RDz for z/VSE
News to Development Environments and for RDz for z/VSE
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed?
 
A DevOps Approach for Building 100 iOS Apps
A DevOps Approach for Building 100 iOS AppsA DevOps Approach for Building 100 iOS Apps
A DevOps Approach for Building 100 iOS Apps
 
The App Evolution
The App Evolution The App Evolution
The App Evolution
 
20 Tips for High Performance Responsive Design that the Pros Won’t Tell You
20 Tips for High Performance Responsive Design that the Pros Won’t Tell You20 Tips for High Performance Responsive Design that the Pros Won’t Tell You
20 Tips for High Performance Responsive Design that the Pros Won’t Tell You
 
Sivagama_sundari_Sakthivel_Resume_2016
Sivagama_sundari_Sakthivel_Resume_2016Sivagama_sundari_Sakthivel_Resume_2016
Sivagama_sundari_Sakthivel_Resume_2016
 
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
 
Ibm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mcIbm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mc
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed?
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 

Último

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Último (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Web based, mobile enterprise applications

  • 1. WEB BASED, MOBILE ENTERPRISE APPLICATIONS Manish Garg @manishgarg
  • 2. 2 What are we going to cover 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  • 3. 3 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  • 4. 4 What is happening in Enterprise     Democratization and Consumerization of IT Shift from features and functionality to design Mobile and bring your own device Companies have direct access to enterprise users
  • 5. 5 1. Enterprise apps   Mission critical applications that power the large companies Think of manufacturing, retail, banking, automotive, public sector, defense, …
  • 6. 6 Now think of 1000s of companies running 100s of processes
  • 7. 7 How are enterprise apps different?         Design driven; consistency in design We are not talking about single web app May not hosted be but shipped Need for extensibility (and support upgrades) Robust, Responsive User management and LDAP integration Downtime management Security, authentication, authorization
  • 8. 8 Architectural requirements checklist 1. 2. 3. 4. 5. 6. 7. 8. 9. Responsive design Security, SSO integration Globalization and internationalization Native Vs. Web Based Performance Customization or Extensible Integrate with customer landscape Open source and 3rd party legal compliance …
  • 9. 9 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  • 10. 10 Native or HTML5 BIG decision Depends on the use case
  • 11. 11 HTML5 is great for most use cases   80% of the functionality can be covered, including graphs 20% needs native support  Image processing  Barcode scanning  Access to some other H/W features  Offline
  • 12. 12 HTML5 – Design impact PROS  Consistent design and UX  Designers can provide several development assets (CSS, HTML, …) CONS  Smooth animations and transitions difficult to achieve  Design had to be adjusted to accommodate performance or missing native support  Performance
  • 13. 13 HTML5 - Development and Testing PROS  Development time and cost is low  Easier when large development teams are working together  Testing is easier CONS   Simple goals turned into huge tasks (scrolling, …) Testing across many devices is still a pain
  • 14. 14 HTML5 – Life cycle management PROS  One code base to maintain  Easy to distribute  Supports desktop automatically CONS Many changes expected
  • 15. 15 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  • 16. 16 HTML5 Performance  Performance is very important ~40-50% ~80% Out of every 1000 users 400 never come back if performance is bad
  • 18. Mobile HTML5 performance bottlenecks 1. 2. 3. Network Mobile resource and compute is different Browsers are lagging  Desktop browsers are far ahead than the mobile browsers 4. 5. Caching and local storage. Debugging and profiling 18
  • 20. 20 Tools 1. 2. 3. 4. 5. 6. Network tab in Developer view of browsers Profiling functionality in your browsers Xcode profiling chrome://tracing/ Yslow originally from Yahoo Google Refine, now called Open Refine – to analyze the performance logs
  • 21. 21 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  • 23. 23 Architectural impact     Provide hook points in the original app Create an extension app, which has all the context from the original app New views and navigations are game Run time aggregation versus build time aggregation Think of AngularJs Directives
  • 24. 24 Runtime Vs. Buildtime merge   DOM manipulation as the different views are fetched and interpreted by the JS lib Run a build script to merge the Views to improve runtime performance
  • 25. 25 Don’t forget     To allow extensions in your service layer Backend Know your service and how much data it returns. Customization != Personalization
  • 26. 26 What else have we learnt?
  • 27. 27 Summary of lessons learnt DESIGN  Design driven apps: Understanding the user  Everything is changing DEVELOPMENT  Web based apps are faster to develop on a large scale  Batch reads and writes are faster  Allow for easy application extensions  Declarative programming works better in many scenarios
  • 29. 29     Hire rock star CSS experts No JS library is a silver bullet. You will end up using several of them and they all have to be integrated You will spend a lot of time with JS lib exploration Hardware acceleration  Use -webkit-transform: translate3d
  • 30. 30 SUPPORTABILITY OF APPS  Error codes have to much more informative  The system trace has to be there .. Is it on the server, backend, UI … TESTING  Keep an eye on performance – always  Don’t wait to test on mobile
  • 31. Thank you for listening. I am done… What else do you want to talk about? Manish Garg @manishgarg 31

Notas del editor

  1. How are we all doing? The only thing better than picturing yourself in this photo is attending this conference – correct?You know, I come to these conferences and listen to really smart people give brilliant presentations. No matter how hard I try, I always end up learning something cool. However, this one topic – building enterprise apps for really large enterprises is a topic not covered very well. Hi all, I am Manish Garg. I have been building enterprise applications for more than 10 years. I am an architect and I focus on building web based mobile applications for enterprise use case. Let me share a secret with you – this is where the money is.Appeal to entrepreneurs: So many times I am approached by entrepreneurs who are working on enterprise use cases and I hope some of you will also find this presentation interestingB2B2C: You are already using enterprise apps. I will only share some of my personal experiences which developing real enterprise apps on mobile using web rather than native apps.Why I feel passionate about this topic – Most web frameworks address single application situations but not scenarios that span a suite of hundreds of apps.If we are to get serious about web apps on mobile, there is still work to be done.How many of you develop software used by really large companies? Or maybe work at really large companiesTime: 1.30
  2. What are enterprise applications, what are some of the common standards for enterprise apps.How can they be built – Native or Web based ..Two of the standards I have been working on most recently45 secondsTotal - 2:15
  3. Mobile is an augmentation of physical and personal capabilityDemocratization because employees are free to choose AWS, Github, Basecamp, …Consumerization because we are increasingly using state of the art applications for personal use and don’t like the difference in UX when compared to enterprise apps.
  4. Let’s set the context first. What kind of application am I talking about?BTW, enterprise apps touches your life in more ways than you can imagine. Who has done online banking or paid utilities … These are the applications and processes make sure that enough chocolate is produced in the world, the latest designer jeans are made and shipped from places that will remain unnamedSo that Nike knows how much to charge you for the newest LunarGlide and so that BMW knows when will the thousands of parts for your M5 will arrive.[3:45]
  5. Things can start to get very serious very quickly.[04:35]
  6. Shipped applicationsmeans – maintain upgrades across different versionsSupport different versions and customizationsInternal release cyclesMargin for error is really low – since fixing a problem is very expensive. Cannot just build and deploy and test a feature that easilyDifferent versions at different customers customers make the shipped apps more tricky to handleExtensibility:First thing a customer says – ‘This is great but how can change the header, footer, and add these 5 fields, hide some other fields’ And also make sure the next time you provide me a patch none of my changes are effected[7:30]
  7. Security, umeUpgrade pack… Appliacation migrationOverride the definition file[11]
  8. Graphic intensive apps, games – go nativeFor enterprise apps, HTML5 is a great choice.Facebook had recently announced that HTML5 for mobile is not there yet. Even mom and pop stores have their own apps now.
  9. Captive audience
  10. How many have you built web apps for mobileHow many of you have measured the perf. of this mobile web app?There are inbuilt performance measure measurement tools in Safari, xCode and Google Refine to measure the performance
  11. Thanks to Google for finally giving Chrome on mobile3-5 Mbps vs 20 – 30 MbpsContent and images not optimized for mobileToo many IOsTransmission negotiation (~1 sec wake up time)CPU, GPU, memoryAnimations can quickly drain the batteryIn our testsCPU profiling on a mobile yielded very different results. Repaint on screen resize killed the CPU
  12. There are excellent videos and blogs online that you should look at.
  13. What is it and why does anyone need it?We talked earlier that many times enterprise apps have to be shipped. Even if they were just hosted, almost everytime, the first thing a customer wants is to start changing the app to fit their internal processes and their data objects and fields. Also different countries have different processes for the same company.This is not really an option but almost a mandatory requirement when selling to large enterprises.
  14. In technical terms, it means that once a customer agrees to start using the app and now wants to modify it, they have to do something on the UIService layerBackendLets focus mostly on the UI. You also have to remember, that many times, mobile apps are built for specific intent and have been carefully designed to not overwhelm the user. This means we don’t want to necessarily have a have it all – do it all approach for Extensibility. It has to be deliberate but also flexible.If this is the approach you want to take, then the original app can have extensibility points. Specific points in the UI where you can add fields or manipulate the viewThen the extension app can be written against this original app. Think of this pattern as having an interface and and implementation. Don’t forget that the user can also add completely new Views and also add new navigation URL targets. Which means that the JS lib. Should be able to support these patterns.
  15. Also support different systems in the backend (e.g. HR )..
  16. Understand whom you are designing for. Power users, executives, casual users, people on the road?
  17. Lessons learnt