SlideShare a Scribd company logo
1 of 13
Technical Challenges of
      Designing Mobile Apps
               in an
Environment of Limited Connectivity
 Anurag Dwivedi & Pradeep Warrier
Objectives of today’s discussion

Share
• Scenarios which present the need for Offline functionality
• How we have thought about making these choices and issues to consider
Why Offline? Is connectivity really an issue?

• Is this even relevant –in an era of 3G?




  Availability - Uninterrupted access – Only for the ads!

  Cost – Is a real issue – particularly if large amounts of data involved

  User experience - Expectations driven by usage context
User expectations determined by usage
context
Let us consider a potential application in
 Education….
Consider you are a student with a tablet…

   You are enrolled in a distance learning program
   provided through the tablet




You use the “Distance Education” App for the following:
1. Study the content – View Material, sample questions and their answers
2. Ask questions and get answers – to clarify doubts that you may have
3. Take tests – corresponding to material studied
4. Get performance evaluation and suggestions on next steps:
      Move on to the next topic
      Revise existing content
      Practice more problems
      Provide or direct the student to new content that might be helpful
Online - Offline Apps - the critical choices

• What functionalities are to be provided in an offline mode?


•   What data is on the device? How do we handle this data?



• How do you implement online-offline apps?
     How do we ensure fast, accurate data synchronization?
     How do we secure the data on the device?
     How do we handle bug fixes, patches and enhancements?
Thinking about online/offline in the
  context of user expectations …


                   Performance evaluation           Ask questions
High
                        and feedback                                              Important to keep
                                                     Simulated                    in mind that
   INTERACTIVITY




                     Probably online*/          interactivity/Hybrid              responsiveness
                                                                                  and interactivity
                   Simulated interactivity            solution                    are just two
                                                                                  important
                                                                                  elements of user
                                                                                  experience and
                               ?               Study Content/ Take                not the only
                                                      Tests                       factors….
Low                Other considerations
                   more relevant                  Probably offline*


                                   RESPONSIVENESS
                         Low                             High
 * Ultimate decision would need to factor in other considerations besides these
What data to store on the device?

• Qualify the data for offline use
   ▫ Dynamic vs. Static
   ▫ Duration of data use
   ▫ Size of data
   ▫ Business sensitivity of data



• Affects the choice of technology
   ▫ Native vs. HTML5
   ▫ Storage on the device (local sql/ local files)
   ▫ Minimum requirements of device
How to Synchronize data between device and
server?
• Distribution of data to device
  ▫ Data filtering mechanism, based on feature/ user
     requirements (e.g. test data may be different for different users)
• Conflict handling
  ▫ Feature specific resolution mechanism to handle conflicts, in
    data that can be changed by multiple users
    (e.g. HOD vs. teacher providing feedback)
• Data synchronization mechanism between device & server
  ▫ Order Preserving nature of synchronization on both the ends-
     device & server (e.g. 1st test attempt vs. 2nd test attempt)
   ▫ Before synchronization, Record state of data on device (e.g.
     avoid sending the same questions again, send only incremental
     content)
• Configuring synchronisation
   ▫ User preferences
     (e.g. when student is roaming or on a high cost network)
   ▫ Synchronisation sequence to manage peak load
Now that the data is on device, secure it!

• Device & data protection for exchange of content with server
  ▫ Authentication & Authorization check for both user &
    device (e.g. student should not be able to use another device to
    get data from server)

• Encryption of data storage on device
  ▫ Categorize the data and identify security needs for data
    (e.g. test results vs. syllabus information)
      Simple textual storage - sqlite or simple file
       (e.g. for syllabus information)
      Encrypted storage – for sensitive information
       Can make use of same storage mechanism but content to be
       encrypted
       (e.g. for test results)

• Handling cases of misuse or loss of device:
  ▫ Detection of such a scenario – encourage users to report?
  ▫ Wiping out application and data – on multiple incorrect logins
And ……Application Life Cycle Events

• Upgrade needs to take into account
  ▫ Technical constraints (Ensure no loss of data, supporting multiple versions) and
  ▫ Operational constraints (no/minimal user discomfort, large user base)

• Handling of multiple version of app
  ▫ Not practical to upgrade all users at the same time
    (e.g. some users may be on leave when we want to upgrade)
  ▫ Backend need to support the case of different clients having different version for
    same underlying backend.

• Upgrade of self owned components versus standard framework components. (e.g.
  how to proceed when Android releases some relevant change)
Resource Selection

• Server
  ▫ Hardware requirement for server – Better DB (as usual), though processing
     requirements can be compromised compared to online case.
  ▫ Peak load can be lowered by synchronization strategy.
  ▫ In the on-demand cases, flattening of peak can help in making cost effective
     choices.

• Device
  ▫ As more data processing is needed, will need good I/O capability.
  ▫ Needs good battery life.
Thank You!


             Contacts:


             Anurag Dwivedi – anurag@newrubric.com

             Pradeep Warrier – pradeep@newrubric.com

More Related Content

What's hot

Chapter 3 - Variety of Dialogue
Chapter 3  - Variety of DialogueChapter 3  - Variety of Dialogue
Chapter 3 - Variety of DialogueMuhammad Najib
 
Software engineering 18 user interface design
Software engineering 18 user interface designSoftware engineering 18 user interface design
Software engineering 18 user interface designVaibhav Khanna
 
User interface design
User interface designUser interface design
User interface designSlideshare
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basicsPreeti Mishra
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTvicci4041
 
5 applications bb
5   applications bb5   applications bb
5 applications bbShahid Riaz
 
User Interface Design - Module 1 Introduction
User Interface Design - Module 1 IntroductionUser Interface Design - Module 1 Introduction
User Interface Design - Module 1 IntroductionbrindaN
 
Module 1st USER INTERFACE DESIGN (15CS832) - VTU
Module 1st USER INTERFACE DESIGN (15CS832) - VTU Module 1st USER INTERFACE DESIGN (15CS832) - VTU
Module 1st USER INTERFACE DESIGN (15CS832) - VTU Sachin Gowda
 
CV ADE NURHIDAYAT TERBARU KOMPLIT
CV ADE NURHIDAYAT TERBARU KOMPLITCV ADE NURHIDAYAT TERBARU KOMPLIT
CV ADE NURHIDAYAT TERBARU KOMPLITAde Nurhidayat
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentialsRajesh P
 

What's hot (18)

Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Chapter 3 - Variety of Dialogue
Chapter 3  - Variety of DialogueChapter 3  - Variety of Dialogue
Chapter 3 - Variety of Dialogue
 
Software engineering 18 user interface design
Software engineering 18 user interface designSoftware engineering 18 user interface design
Software engineering 18 user interface design
 
User interface design
User interface designUser interface design
User interface design
 
HCI
HCI HCI
HCI
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
 
HCI
HCIHCI
HCI
 
5 applications bb
5   applications bb5   applications bb
5 applications bb
 
Unit v
Unit vUnit v
Unit v
 
Chap01
Chap01Chap01
Chap01
 
Chapter 12 user interface design
Chapter 12 user interface designChapter 12 user interface design
Chapter 12 user interface design
 
User Interface Design - Module 1 Introduction
User Interface Design - Module 1 IntroductionUser Interface Design - Module 1 Introduction
User Interface Design - Module 1 Introduction
 
Module 1st USER INTERFACE DESIGN (15CS832) - VTU
Module 1st USER INTERFACE DESIGN (15CS832) - VTU Module 1st USER INTERFACE DESIGN (15CS832) - VTU
Module 1st USER INTERFACE DESIGN (15CS832) - VTU
 
ICS3211 lecture 10
ICS3211 lecture 10ICS3211 lecture 10
ICS3211 lecture 10
 
CV ADE NURHIDAYAT TERBARU KOMPLIT
CV ADE NURHIDAYAT TERBARU KOMPLITCV ADE NURHIDAYAT TERBARU KOMPLIT
CV ADE NURHIDAYAT TERBARU KOMPLIT
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentials
 
ICS3211 lecture 04
ICS3211 lecture 04ICS3211 lecture 04
ICS3211 lecture 04
 

Viewers also liked

Presentation on Android application
Presentation on Android applicationPresentation on Android application
Presentation on Android applicationAtibur Rahman
 
2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB Results2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB ResultsSymantec
 
Intro to cloud computing — MegaCOMM 2013, Jerusalem
Intro to cloud computing — MegaCOMM 2013, JerusalemIntro to cloud computing — MegaCOMM 2013, Jerusalem
Intro to cloud computing — MegaCOMM 2013, JerusalemReuven Lerner
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the CloudsAndy Piper
 
2013 Future of Cloud Computing - 3rd Annual Survey Results
2013 Future of Cloud Computing - 3rd Annual Survey Results2013 Future of Cloud Computing - 3rd Annual Survey Results
2013 Future of Cloud Computing - 3rd Annual Survey ResultsMichael Skok
 
Android Project Presentation
Android Project PresentationAndroid Project Presentation
Android Project PresentationLaxmi Kant Yadav
 
Penetrating the Cloud: Opportunities & Challenges for Businesses
Penetrating the Cloud: Opportunities & Challenges for BusinessesPenetrating the Cloud: Opportunities & Challenges for Businesses
Penetrating the Cloud: Opportunities & Challenges for BusinessesCompTIA
 
Can we hack open source #cloud platforms to help reduce emissions?
Can we hack open source #cloud platforms to help reduce emissions?Can we hack open source #cloud platforms to help reduce emissions?
Can we hack open source #cloud platforms to help reduce emissions?Tom Raftery
 
Summer School Scale Cloud Across the Enterprise
Summer School   Scale Cloud Across the EnterpriseSummer School   Scale Cloud Across the Enterprise
Summer School Scale Cloud Across the EnterpriseWSO2
 
The Inevitable Cloud Outage
The Inevitable Cloud OutageThe Inevitable Cloud Outage
The Inevitable Cloud OutageNewvewm
 
Linthicum what is-the-true-future-of-cloud-computing
Linthicum what is-the-true-future-of-cloud-computingLinthicum what is-the-true-future-of-cloud-computing
Linthicum what is-the-true-future-of-cloud-computingDavid Linthicum
 
Avoiding Cloud Outage
Avoiding Cloud OutageAvoiding Cloud Outage
Avoiding Cloud OutageNati Shalom
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingMark Hinkle
 
Simplifying The Cloud Top 10 Questions By SMBs
Simplifying The Cloud Top 10 Questions By SMBsSimplifying The Cloud Top 10 Questions By SMBs
Simplifying The Cloud Top 10 Questions By SMBsSun Digital, Inc.
 
Delivering IaaS with Open Source Software
Delivering IaaS with Open Source SoftwareDelivering IaaS with Open Source Software
Delivering IaaS with Open Source SoftwareMark Hinkle
 
The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...
The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...
The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...Amazon Web Services
 
Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrAmazon Web Services
 
Introduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts PresentationIntroduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts PresentationAna Tan
 

Viewers also liked (19)

Presentation on Android application
Presentation on Android applicationPresentation on Android application
Presentation on Android application
 
2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB Results2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB Results
 
Intro to cloud computing — MegaCOMM 2013, Jerusalem
Intro to cloud computing — MegaCOMM 2013, JerusalemIntro to cloud computing — MegaCOMM 2013, Jerusalem
Intro to cloud computing — MegaCOMM 2013, Jerusalem
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the Clouds
 
2013 Future of Cloud Computing - 3rd Annual Survey Results
2013 Future of Cloud Computing - 3rd Annual Survey Results2013 Future of Cloud Computing - 3rd Annual Survey Results
2013 Future of Cloud Computing - 3rd Annual Survey Results
 
Android Project Presentation
Android Project PresentationAndroid Project Presentation
Android Project Presentation
 
Penetrating the Cloud: Opportunities & Challenges for Businesses
Penetrating the Cloud: Opportunities & Challenges for BusinessesPenetrating the Cloud: Opportunities & Challenges for Businesses
Penetrating the Cloud: Opportunities & Challenges for Businesses
 
Can we hack open source #cloud platforms to help reduce emissions?
Can we hack open source #cloud platforms to help reduce emissions?Can we hack open source #cloud platforms to help reduce emissions?
Can we hack open source #cloud platforms to help reduce emissions?
 
Summer School Scale Cloud Across the Enterprise
Summer School   Scale Cloud Across the EnterpriseSummer School   Scale Cloud Across the Enterprise
Summer School Scale Cloud Across the Enterprise
 
The Inevitable Cloud Outage
The Inevitable Cloud OutageThe Inevitable Cloud Outage
The Inevitable Cloud Outage
 
Linthicum what is-the-true-future-of-cloud-computing
Linthicum what is-the-true-future-of-cloud-computingLinthicum what is-the-true-future-of-cloud-computing
Linthicum what is-the-true-future-of-cloud-computing
 
Avoiding Cloud Outage
Avoiding Cloud OutageAvoiding Cloud Outage
Avoiding Cloud Outage
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
 
Simplifying The Cloud Top 10 Questions By SMBs
Simplifying The Cloud Top 10 Questions By SMBsSimplifying The Cloud Top 10 Questions By SMBs
Simplifying The Cloud Top 10 Questions By SMBs
 
Delivering IaaS with Open Source Software
Delivering IaaS with Open Source SoftwareDelivering IaaS with Open Source Software
Delivering IaaS with Open Source Software
 
The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...
The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...
The Total Cost of Ownership (TCO) of Web Applications in the AWS Cloud - Jine...
 
Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff Barr
 
Introduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts PresentationIntroduction to Basic Computer Concepts Presentation
Introduction to Basic Computer Concepts Presentation
 
cloud computing ppt
cloud computing pptcloud computing ppt
cloud computing ppt
 

Similar to Mobile apps in environment of limited connectivity new rubric solutions

Evaluation of an Interactive Device : Microsoft Surface RT
Evaluation of an Interactive Device : Microsoft Surface RTEvaluation of an Interactive Device : Microsoft Surface RT
Evaluation of an Interactive Device : Microsoft Surface RTsampahdavid
 
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons LearnedEneko Jon Bilbao
 
Online talent sourcing - a future essentia
Online talent sourcing - a future essentiaOnline talent sourcing - a future essentia
Online talent sourcing - a future essentiaHSE Guru
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesBrian Petrini
 
Hardware and Software Considerations for Schools
Hardware and Software Considerations for SchoolsHardware and Software Considerations for Schools
Hardware and Software Considerations for SchoolsDana L. Miller
 
What is User Centered Design?
What is User Centered Design?What is User Centered Design?
What is User Centered Design?jamiecavanaugh
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureGang Tao
 
Principles of responsible suppliers
Principles of responsible suppliersPrinciples of responsible suppliers
Principles of responsible suppliersAlan Ward
 
Usability in product development
Usability in product developmentUsability in product development
Usability in product developmentRavi Shyam
 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16AppDynamics
 
Usability Evaluation
Usability EvaluationUsability Evaluation
Usability EvaluationSaqib Shehzad
 
Data warehouse and User interface
Data warehouse and User interface Data warehouse and User interface
Data warehouse and User interface RabiaIftikhar10
 
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsChapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsNeeraj Kumar Singh
 
Decision Matrix for IoT Product Development
Decision Matrix for IoT Product DevelopmentDecision Matrix for IoT Product Development
Decision Matrix for IoT Product DevelopmentAlexey Pyshkin
 
Activity Monitoring Using Wearable Sensors and Smart Phone
Activity Monitoring Using Wearable Sensors and Smart PhoneActivity Monitoring Using Wearable Sensors and Smart Phone
Activity Monitoring Using Wearable Sensors and Smart PhoneDrAhmedZoha
 
Elements of a Good Information System
Elements of a Good Information SystemElements of a Good Information System
Elements of a Good Information SystemMark John Ignacio
 

Similar to Mobile apps in environment of limited connectivity new rubric solutions (20)

Evaluation of an Interactive Device : Microsoft Surface RT
Evaluation of an Interactive Device : Microsoft Surface RTEvaluation of an Interactive Device : Microsoft Surface RT
Evaluation of an Interactive Device : Microsoft Surface RT
 
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
 
HCI
HCIHCI
HCI
 
Online talent sourcing - a future essentia
Online talent sourcing - a future essentiaOnline talent sourcing - a future essentia
Online talent sourcing - a future essentia
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
Hardware and Software Considerations for Schools
Hardware and Software Considerations for SchoolsHardware and Software Considerations for Schools
Hardware and Software Considerations for Schools
 
What is User Centered Design?
What is User Centered Design?What is User Centered Design?
What is User Centered Design?
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
UNIT1.pptx
UNIT1.pptxUNIT1.pptx
UNIT1.pptx
 
Principles of responsible suppliers
Principles of responsible suppliersPrinciples of responsible suppliers
Principles of responsible suppliers
 
Usability in product development
Usability in product developmentUsability in product development
Usability in product development
 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
 
Usability Evaluation
Usability EvaluationUsability Evaluation
Usability Evaluation
 
Data warehouse and User interface
Data warehouse and User interface Data warehouse and User interface
Data warehouse and User interface
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsChapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile Applications
 
Decision Matrix for IoT Product Development
Decision Matrix for IoT Product DevelopmentDecision Matrix for IoT Product Development
Decision Matrix for IoT Product Development
 
ICS3211 Week 4
ICS3211 Week 4ICS3211 Week 4
ICS3211 Week 4
 
Activity Monitoring Using Wearable Sensors and Smart Phone
Activity Monitoring Using Wearable Sensors and Smart PhoneActivity Monitoring Using Wearable Sensors and Smart Phone
Activity Monitoring Using Wearable Sensors and Smart Phone
 
Elements of a Good Information System
Elements of a Good Information SystemElements of a Good Information System
Elements of a Good Information System
 

Recently uploaded

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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 

Recently uploaded (20)

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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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 ...
 

Mobile apps in environment of limited connectivity new rubric solutions

  • 1. Technical Challenges of Designing Mobile Apps in an Environment of Limited Connectivity Anurag Dwivedi & Pradeep Warrier
  • 2. Objectives of today’s discussion Share • Scenarios which present the need for Offline functionality • How we have thought about making these choices and issues to consider
  • 3. Why Offline? Is connectivity really an issue? • Is this even relevant –in an era of 3G? Availability - Uninterrupted access – Only for the ads! Cost – Is a real issue – particularly if large amounts of data involved User experience - Expectations driven by usage context
  • 4. User expectations determined by usage context
  • 5. Let us consider a potential application in Education…. Consider you are a student with a tablet… You are enrolled in a distance learning program provided through the tablet You use the “Distance Education” App for the following: 1. Study the content – View Material, sample questions and their answers 2. Ask questions and get answers – to clarify doubts that you may have 3. Take tests – corresponding to material studied 4. Get performance evaluation and suggestions on next steps:  Move on to the next topic  Revise existing content  Practice more problems  Provide or direct the student to new content that might be helpful
  • 6. Online - Offline Apps - the critical choices • What functionalities are to be provided in an offline mode? • What data is on the device? How do we handle this data? • How do you implement online-offline apps?  How do we ensure fast, accurate data synchronization?  How do we secure the data on the device?  How do we handle bug fixes, patches and enhancements?
  • 7. Thinking about online/offline in the context of user expectations … Performance evaluation Ask questions High and feedback Important to keep Simulated in mind that INTERACTIVITY Probably online*/ interactivity/Hybrid responsiveness and interactivity Simulated interactivity solution are just two important elements of user experience and ? Study Content/ Take not the only Tests factors…. Low Other considerations more relevant Probably offline* RESPONSIVENESS Low High * Ultimate decision would need to factor in other considerations besides these
  • 8. What data to store on the device? • Qualify the data for offline use ▫ Dynamic vs. Static ▫ Duration of data use ▫ Size of data ▫ Business sensitivity of data • Affects the choice of technology ▫ Native vs. HTML5 ▫ Storage on the device (local sql/ local files) ▫ Minimum requirements of device
  • 9. How to Synchronize data between device and server? • Distribution of data to device ▫ Data filtering mechanism, based on feature/ user requirements (e.g. test data may be different for different users) • Conflict handling ▫ Feature specific resolution mechanism to handle conflicts, in data that can be changed by multiple users (e.g. HOD vs. teacher providing feedback) • Data synchronization mechanism between device & server ▫ Order Preserving nature of synchronization on both the ends- device & server (e.g. 1st test attempt vs. 2nd test attempt) ▫ Before synchronization, Record state of data on device (e.g. avoid sending the same questions again, send only incremental content) • Configuring synchronisation ▫ User preferences (e.g. when student is roaming or on a high cost network) ▫ Synchronisation sequence to manage peak load
  • 10. Now that the data is on device, secure it! • Device & data protection for exchange of content with server ▫ Authentication & Authorization check for both user & device (e.g. student should not be able to use another device to get data from server) • Encryption of data storage on device ▫ Categorize the data and identify security needs for data (e.g. test results vs. syllabus information)  Simple textual storage - sqlite or simple file (e.g. for syllabus information)  Encrypted storage – for sensitive information Can make use of same storage mechanism but content to be encrypted (e.g. for test results) • Handling cases of misuse or loss of device: ▫ Detection of such a scenario – encourage users to report? ▫ Wiping out application and data – on multiple incorrect logins
  • 11. And ……Application Life Cycle Events • Upgrade needs to take into account ▫ Technical constraints (Ensure no loss of data, supporting multiple versions) and ▫ Operational constraints (no/minimal user discomfort, large user base) • Handling of multiple version of app ▫ Not practical to upgrade all users at the same time (e.g. some users may be on leave when we want to upgrade) ▫ Backend need to support the case of different clients having different version for same underlying backend. • Upgrade of self owned components versus standard framework components. (e.g. how to proceed when Android releases some relevant change)
  • 12. Resource Selection • Server ▫ Hardware requirement for server – Better DB (as usual), though processing requirements can be compromised compared to online case. ▫ Peak load can be lowered by synchronization strategy. ▫ In the on-demand cases, flattening of peak can help in making cost effective choices. • Device ▫ As more data processing is needed, will need good I/O capability. ▫ Needs good battery life.
  • 13. Thank You! Contacts: Anurag Dwivedi – anurag@newrubric.com Pradeep Warrier – pradeep@newrubric.com