SlideShare uma empresa Scribd logo
1 de 9
Auto Updating Applications
Embracing the Continuous Delivery
Philosophy for Software Development
Continuous Delivery
It’s a Software Development practice wherein we
use techniques such as Automated Testing,
Continuous Integration and Continuous

Deployment to :
1.

Achieve High standards

2.

Easily Package and Deploy builds to Test
Environments.
End Users

3.

Ability to rapidly, reliably and repeatedly push
out enhancements and bug fixes to customers
at low risk and with minimal manual overhead

Having an inbuilt mechanism to update Applications at user’s end is most
Critical to achieve Continuous Delivery BUT often most neglected.
Auto Updating Applications
An Auto Updating Application can be simply described as a software which is able to Update itself with
minimum intervention from the End User.
We may have already put all the effort to setup a source control system, a build server, an automated versioning process
and all are configured so that we can release a new Build with the press of a button.
BUT how do we get the new build version to the end users?
This is where an automatically updating application comes into picture.
If we design an application, which is able to query a server periodically (or on user action) for available updates and is
able to update itself to a newer version, we save a lot of time, effort and money invested by IT support to distribute
application updates.
Who does it? Who doesn’t?
Who Does it?
•

Almost all commercially available applications are able to automatically update themselves.

•

Popular application are Google Chrome, MS Office, Adobe reader etc.

Who Does NOT?
•

Enterprises using application management tools like TIVOLI for software distribution (inside their organization).

•

A number of applications developed by enterprise Service Provider companies, for apparently no valid/relevant
reason(s).
Enterprise/Commercial Application Types
Web Applications (No need for Auto updating mechanism on Client Side)

Internet
•

Deployed on a Central Web/application server.

•

The end user needs to be ‘connected’ to a network to access it.

•

Runs inside using a browser (Chrome, IE, Firefox).

Desktop Applications
•

Runs as Desktop application on the end users system

•

May or may NOT need to connect to a network

•

Absolutely essential to have Auto Updating mechanism

The Desktop application
needs to be Installed on
the End Users’ system.
Benefits to Enterprises
Considering and developing an Auto Update strategy should be a part of the very first Design of a Desktop/Windows

Application. Its brings along with it a lot of benefits in the long run to the Enterprise:
1. Reduced cost of Deployment : Enterprises would save on Licensing costs involved in procuring tools like IBM’s
TIVOLI used for managing software distribution inside their organization.
2. Faster and Reliable releases : Since pushing updates to the End users does not require any manual intervention
from an IT support executive or using distribution medias such as CD/DVDs, the updates can happen whenever the
device is connected to a network, hence they are quicker and hassle free.
3. Reduced cost of IT Support infrastructure : Deploying a new version of the application does not require any

specialized skill, since it is handled by the application itself. This in turn results in reduced cost of Onsite production
support.
Auto Update Use Case Scenario
Suppose we have a scenario wherein we have End users using our application at geographically remote locations on various devices.
In such a scenario Auto Update comes in handy when we have to update and maintain Devices running different versions of the application.

Remote End User Workplace

Deployment Server
Publish

Project Team
 Code & Bug Fixing
 Unit & Integration Test
 New version of build
provided

New
Version

1.00.00

2.00.00

New
Version

2.00.00

3.00.00

Old
Version

New
Version

3.00.00

Updates

Old
Version

Old
Version

Check For Update
Update Available

NA

Release Team
 Version Maintenance
 Software Packaging

Central
DataBase

 Maintain an audit of versions
published for various devices.

 Publish multiple versions
of the Build
 Serve different versions
to different devices

<Devices are Updated based on their Current app version>
Auto Update Use Case Scenario…continued
Auto Update Workflow

 New version of the application Build provided to the Release/Build Team by Project Team.
 The Release Team publishes the Updated version of the Build on the Deployment Server for specific Devices.
 The User (in their Workplaces), clicks on “Check For Updates” from within the Application.

 If an update is published for that particular device, it is downloaded and installed automatically on the User’s device.
 After the update completes, the application restarts automatically and the can just start using the new version.
 The Application informs the user if “No Updates” are available for a particular Device.
 We can publish different versions of the Build for different devices. So whenever a device requests for an update, the
Update Service on the Deployment server will check its DeviceID and serve it with the appropriate version.
“You Have 2 Update(s) Available..”
Sounds Familiar!!

Auto Updating
Applications

Having such a provision inbuilt into our
applications can prove to be a boon to
any enterprise.

Refer the link below to learn more.

Find out more about implementing Auto Update
(Click the above link in Slide show mode)

Mais conteúdo relacionado

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
Victor Rentea
 
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
panagenda
 

Último (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 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
"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 ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 
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
 
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...
 
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
 
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
 

Destaque

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destaque (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Auto updating Application (Continuous delivery)

  • 1. Auto Updating Applications Embracing the Continuous Delivery Philosophy for Software Development
  • 2. Continuous Delivery It’s a Software Development practice wherein we use techniques such as Automated Testing, Continuous Integration and Continuous Deployment to : 1. Achieve High standards 2. Easily Package and Deploy builds to Test Environments. End Users 3. Ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead Having an inbuilt mechanism to update Applications at user’s end is most Critical to achieve Continuous Delivery BUT often most neglected.
  • 3. Auto Updating Applications An Auto Updating Application can be simply described as a software which is able to Update itself with minimum intervention from the End User. We may have already put all the effort to setup a source control system, a build server, an automated versioning process and all are configured so that we can release a new Build with the press of a button. BUT how do we get the new build version to the end users? This is where an automatically updating application comes into picture. If we design an application, which is able to query a server periodically (or on user action) for available updates and is able to update itself to a newer version, we save a lot of time, effort and money invested by IT support to distribute application updates.
  • 4. Who does it? Who doesn’t? Who Does it? • Almost all commercially available applications are able to automatically update themselves. • Popular application are Google Chrome, MS Office, Adobe reader etc. Who Does NOT? • Enterprises using application management tools like TIVOLI for software distribution (inside their organization). • A number of applications developed by enterprise Service Provider companies, for apparently no valid/relevant reason(s).
  • 5. Enterprise/Commercial Application Types Web Applications (No need for Auto updating mechanism on Client Side) Internet • Deployed on a Central Web/application server. • The end user needs to be ‘connected’ to a network to access it. • Runs inside using a browser (Chrome, IE, Firefox). Desktop Applications • Runs as Desktop application on the end users system • May or may NOT need to connect to a network • Absolutely essential to have Auto Updating mechanism The Desktop application needs to be Installed on the End Users’ system.
  • 6. Benefits to Enterprises Considering and developing an Auto Update strategy should be a part of the very first Design of a Desktop/Windows Application. Its brings along with it a lot of benefits in the long run to the Enterprise: 1. Reduced cost of Deployment : Enterprises would save on Licensing costs involved in procuring tools like IBM’s TIVOLI used for managing software distribution inside their organization. 2. Faster and Reliable releases : Since pushing updates to the End users does not require any manual intervention from an IT support executive or using distribution medias such as CD/DVDs, the updates can happen whenever the device is connected to a network, hence they are quicker and hassle free. 3. Reduced cost of IT Support infrastructure : Deploying a new version of the application does not require any specialized skill, since it is handled by the application itself. This in turn results in reduced cost of Onsite production support.
  • 7. Auto Update Use Case Scenario Suppose we have a scenario wherein we have End users using our application at geographically remote locations on various devices. In such a scenario Auto Update comes in handy when we have to update and maintain Devices running different versions of the application. Remote End User Workplace Deployment Server Publish Project Team  Code & Bug Fixing  Unit & Integration Test  New version of build provided New Version 1.00.00 2.00.00 New Version 2.00.00 3.00.00 Old Version New Version 3.00.00 Updates Old Version Old Version Check For Update Update Available NA Release Team  Version Maintenance  Software Packaging Central DataBase  Maintain an audit of versions published for various devices.  Publish multiple versions of the Build  Serve different versions to different devices <Devices are Updated based on their Current app version>
  • 8. Auto Update Use Case Scenario…continued Auto Update Workflow  New version of the application Build provided to the Release/Build Team by Project Team.  The Release Team publishes the Updated version of the Build on the Deployment Server for specific Devices.  The User (in their Workplaces), clicks on “Check For Updates” from within the Application.  If an update is published for that particular device, it is downloaded and installed automatically on the User’s device.  After the update completes, the application restarts automatically and the can just start using the new version.  The Application informs the user if “No Updates” are available for a particular Device.  We can publish different versions of the Build for different devices. So whenever a device requests for an update, the Update Service on the Deployment server will check its DeviceID and serve it with the appropriate version.
  • 9. “You Have 2 Update(s) Available..” Sounds Familiar!! Auto Updating Applications Having such a provision inbuilt into our applications can prove to be a boon to any enterprise. Refer the link below to learn more. Find out more about implementing Auto Update (Click the above link in Slide show mode)

Notas do Editor

  1. In Slide Show mode, click the arrow to enter the PowerPoint Getting Started Center.