SlideShare une entreprise Scribd logo
1  sur  32
Bodleian Digital Library Systems and Services (BDLSS) 
Bodleian Libraries 
University of Oxford 
Primom: A Mobile Interface for 
Primo 
Masud Khokhar 
Applications Developer 
Bodleian Libraries 
University of Oxford 
masud.khokhar@bodleian.ox.ac.uk 
@mkhokhar 
October 4, 2014 
Andrew Isherwood 
ICT Development 
Information Services 
Aberystwyth University 
aai@aber.ac.uk 
@andrewish
Primom: A Mobile Interface for Primo October 4, 2014 
Page 2 
University of Oxford Libraries 
 University of Oxford 
 More than 100 libraries 
 Hold collectively approx. 11.1 million catalogued book stock 
 470000+ ebooks 
 50000+ electronic journals 
 460+ databases 
 66591 patrons (University and Library) 
 The Bodleian group is the second largest library in the UK after 
the British Library 
 Ex Libris products in Oxford 
 Primo, Primo Central, Aleph, MetaLib, bX, ARC and SFX.
Oxford’s Primo (SOLO) 
 Two environments (Production and Test with plan to have a 
Dev soon) 
 Primo topology 
 One BE server, two load balanced FE servers, two SE servers, one 
NFS server, and one DB server. 
 All virtualized except for the DB server 
 Approx. 8M records. 
 Multiple sources 
 Aleph, MetaLib, Fedora and more in future 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 3
Primom: A Mobile Interface for Primo October 4, 2014 
Page 4
Why develop for mobile? 
 More and more users are using their smart phones/tablets to 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 5 
access library resources 
 Exponential growth in the users 
 Approximately 20% growth every 2 years in the UK for the last 4 
years. 
 Attitude towards web based resources 
 People expect a mobile/tablet ready version 
 Disappointed when everything looks the same as desktop version 
 Don’t care about webapp vs native as long as the experience is fast 
and responsive 
 Not always true (we love our iPhones)
Primo’s mobile interface? 
 Out of the box ------------  
 CSS based ------------  
 Doesn’t play well with local customizations ------------  
 Network traffic issues ------------  
 Not tested enough -----------  
Primom: A Mobile Interface for Primo October 4, 2014 
Page 6
OOTB Ex Libris CSS 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 7 
 For some customers, works quite nicely.
OOTB Ex Libris CSS 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 8 
 For Oxford, not so nicely...
What about custom developments? 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 9
Network Traffic 
 Surely interfaces can be improved, you just need to work on 
your CSS 
 What about network traffic though? 
 A quick analysis on Firebug reveals: 
 Opening http://solo.bodleian.ox.ac.uk takes 57 requests 
 Doing a search for “oxford” takes a further 66 requests 
 Network latency can be a major issue 
 Almost all instances of Primo launch 25+ network requests for 
home page and 35+ network requests for brief search 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 10
Network based issues 
 Asynchronous vs synchronous calls? 
 Your mobile search interface should not hang/die if: 
 Your PDS is down (SSO check) 
 Google or Amazon images is down 
 Some third party tool you use is down 
 etc, etc 
 Similarly, not everything is required to be loaded after a search. 
 Load only what is required. 
 What about caching? 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 11
Common feelings.. 
 We don’t have enough resources to invest in mobile even 
though we would like to have a mobile webapp, an iPhone/iPad 
app, and an Android app. 
 And then after 10 days, you face an angry reader using Kindle Fire. 
 How will we ever maintain so many developments, probably 
best to develop just a webapp. 
 Or if you can afford it, ask an external company to develop native 
apps (which has unfortunately its own set of problems) 
 We want to develop a webapp, what’s next? 
 How to develop it (responsive vs framework)? 
 How to link it with Primo functionality? 
 How to maintain it? (growth and requirement changes) 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 12
Blockers 
 Responsive layouts vs frameworks 
 HTML5/CSS3 (e.g.Twitter bootstrap) 
 Frameworks (50+, we will talk about jQuery mobile and Sencha 
Touch 2) 
 Primo/LMS API Documentation 
 Almost non-existent till developers showed keen interest 
 Still quite poor 
 Confusing – X-services, Web services, RESTful APIs, Plug-ins, what 
to use when and how? 
 Some good work being done by Barak Hecht but more is needed 
 a lot more... 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 13
Primo mobile development in Oxford 
 Oxford started working on this informally about a year ago 
 We face similar issues, not enough resources, not enough time 
 We tried looking into iOS development but stopped 
 Steep learning curve 
 Only impacts Apple users 
 Selected jQuery mobile to experiment with 
 Low learning curve as we work with jQuery anyway 
 Fairly stable framework 
 Does quite a lot of things nicely 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 14
First attempt – jQuery Mobile 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 15
First attempt – jQuery Mobile 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 16
First attempt – jQuery Mobile 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 17
First attempt – jQuery Mobile 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 18
First attempt – jQuery Mobile 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 19
Collaboration – Oxford and Aberystwyth 
 Primo-Discussion-List questions about APIs lead to a 
collaborative effort 
 Quick to start on collaborative working 
 Some issues persisted 
 Lack of quality API documentation 
 Busy schedules 
 New issues emerged 
 Multi-lingual needs 
 Complexity of Oxford against Simplicity of Aberystwyth 
 The idea to develop a webapp that all Ex Libris customers can 
use – everything controlled by setting files, etc. 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 20
Collaboration – Oxford and Aberystwyth 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 21
Collaboration – Oxford and Aberystwyth 
 Did anything change? 
 A lot in the background 
 Extreme control over every parameter 
 We soon realised that there are limits to what we can do with 
limited screen space 
 Facets? 
 Page numbers? 
 Search details? 
 Number of results per page? 
 Resulted in a re-think of the whole idea 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 22
Oxford – Since the re-think 
 Change in framework 
 From jQuery mobile to Sencha Touch 2 
 Pure MVC, far more responsive, the possibility of generating native 
apps (with native device APIs), ease of using HTML5 local storage, 
etc 
 And it looks nicer (full support for theming with Sass and 
Compass) 
 Considering Ex Libris was asked a lot of CSS based questions, may 
be its time to look at Sass or Less (reduced CSS size)? 
 Change in development methodology 
 Agile (Functionality based sprints) 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 23
Oxford – Since the re-think 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 24
Oxford – Since the re-think 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 25
Oxford – Since the re-think 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 26
Oxford – Since the re-think 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 27
Oxford – Since the re-think 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 28
What’s missing? 
 My Account (Loans, Holds, Requests, Fines, etc) 
 E-Shelf 
 Facets (Can we afford them in a mobile app?) 
 Modern browser and platform detection 
 Feature detection 
 Modernizr.js 
 Balancing act (between functionality, screen sizes, processing 
power, network traffic, memory, etc). 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 29
Does it stack up? 
 Reminder: Primo OOTB for SOLO: 
 Opening http://solo.bodleian.ox.ac.uk takes 57 requests 
 Doing a search for “oxford” takes a further 66 requests 
 With our jQuery mobile prototype, opening up the main page 
takes 13 requests and 76KB of data. 
 A search for “oxford” takes a further 2-10 requests (depending 
on how many different icons are being loaded) 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 30
Does it stack up? 
 With our ST2 prototype, opening up the main page takes 11 
requests for 223KB of data 
 A search for “oxford” takes a further 2-7 requests (depending 
on how many different icons are being loaded) 
 All further requests take 1-2 network requests 
 Because of aggressive local storage based caching 
 You do the math  
 And if it matters, Facebook’s biggest mistake was that “we 
burned two years not working on mobile”. (Forbes, 9/11/2012) 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 31
Thank you 
 Questions? 
Primom: A Mobile Interface for Primo October 4, 2014 
Page 32

Contenu connexe

Similaire à Primom - A mobile interface for Primo - IGeLU 2012

Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Maximiliano Firtman
 
Native Mobile Application Using Java Script
Native  Mobile  Application  Using  Java ScriptNative  Mobile  Application  Using  Java Script
Native Mobile Application Using Java ScriptBorey Lim
 
IET Technology Coffee Morning - 5th October, 2011.
IET Technology Coffee Morning - 5th October, 2011.IET Technology Coffee Morning - 5th October, 2011.
IET Technology Coffee Morning - 5th October, 2011.hassan_sheikh_uk
 
Extreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYExtreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYMaximiliano Firtman
 
Are Library Services Ready for the Mobile Web?
Are Library Services Ready for the Mobile Web?Are Library Services Ready for the Mobile Web?
Are Library Services Ready for the Mobile Web?kevinreiss
 
14 technologies every web developer should be able to understand
14 technologies every web developer should be able to understand14 technologies every web developer should be able to understand
14 technologies every web developer should be able to understandUm e Farwa
 
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"BBC News Labs
 
Enhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web DesignEnhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web DesignEric Overfield
 
Speed in the Opera mobile browsers
Speed in the Opera mobile browsersSpeed in the Opera mobile browsers
Speed in the Opera mobile browsersgerbille
 
Introduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsIntroduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsOlaf Janssen
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEric Overfield
 
Beyond Branding SharePoint - SharePoint and Today's Web
Beyond Branding SharePoint - SharePoint and Today's WebBeyond Branding SharePoint - SharePoint and Today's Web
Beyond Branding SharePoint - SharePoint and Today's WebEric Overfield
 
What to choose for Mobile app development- React Native vs Native.
What to choose for Mobile app development- React Native vs Native.What to choose for Mobile app development- React Native vs Native.
What to choose for Mobile app development- React Native vs Native.Techugo
 
Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14XBOSoft
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 

Similaire à Primom - A mobile interface for Primo - IGeLU 2012 (20)

Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
 
Native Mobile Application Using Java Script
Native  Mobile  Application  Using  Java ScriptNative  Mobile  Application  Using  Java Script
Native Mobile Application Using Java Script
 
Iet tcm 5th_oct2011
Iet tcm 5th_oct2011Iet tcm 5th_oct2011
Iet tcm 5th_oct2011
 
IET Technology Coffee Morning - 5th October, 2011.
IET Technology Coffee Morning - 5th October, 2011.IET Technology Coffee Morning - 5th October, 2011.
IET Technology Coffee Morning - 5th October, 2011.
 
Extreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYExtreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NY
 
Are Library Services Ready for the Mobile Web?
Are Library Services Ready for the Mobile Web?Are Library Services Ready for the Mobile Web?
Are Library Services Ready for the Mobile Web?
 
14 technologies every web developer should be able to understand
14 technologies every web developer should be able to understand14 technologies every web developer should be able to understand
14 technologies every web developer should be able to understand
 
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
 
Enhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web DesignEnhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web Design
 
Presentation1
Presentation1Presentation1
Presentation1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Speed in the Opera mobile browsers
Speed in the Opera mobile browsersSpeed in the Opera mobile browsers
Speed in the Opera mobile browsers
 
Introduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsIntroduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trends
 
Presentation1
Presentation1Presentation1
Presentation1
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
Beyond Branding SharePoint - SharePoint and Today's Web
Beyond Branding SharePoint - SharePoint and Today's WebBeyond Branding SharePoint - SharePoint and Today's Web
Beyond Branding SharePoint - SharePoint and Today's Web
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
What to choose for Mobile app development- React Native vs Native.
What to choose for Mobile app development- React Native vs Native.What to choose for Mobile app development- React Native vs Native.
What to choose for Mobile app development- React Native vs Native.
 
Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 

Dernier

Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Dernier (20)

Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

Primom - A mobile interface for Primo - IGeLU 2012

  • 1. Bodleian Digital Library Systems and Services (BDLSS) Bodleian Libraries University of Oxford Primom: A Mobile Interface for Primo Masud Khokhar Applications Developer Bodleian Libraries University of Oxford masud.khokhar@bodleian.ox.ac.uk @mkhokhar October 4, 2014 Andrew Isherwood ICT Development Information Services Aberystwyth University aai@aber.ac.uk @andrewish
  • 2. Primom: A Mobile Interface for Primo October 4, 2014 Page 2 University of Oxford Libraries  University of Oxford  More than 100 libraries  Hold collectively approx. 11.1 million catalogued book stock  470000+ ebooks  50000+ electronic journals  460+ databases  66591 patrons (University and Library)  The Bodleian group is the second largest library in the UK after the British Library  Ex Libris products in Oxford  Primo, Primo Central, Aleph, MetaLib, bX, ARC and SFX.
  • 3. Oxford’s Primo (SOLO)  Two environments (Production and Test with plan to have a Dev soon)  Primo topology  One BE server, two load balanced FE servers, two SE servers, one NFS server, and one DB server.  All virtualized except for the DB server  Approx. 8M records.  Multiple sources  Aleph, MetaLib, Fedora and more in future Primom: A Mobile Interface for Primo October 4, 2014 Page 3
  • 4. Primom: A Mobile Interface for Primo October 4, 2014 Page 4
  • 5. Why develop for mobile?  More and more users are using their smart phones/tablets to Primom: A Mobile Interface for Primo October 4, 2014 Page 5 access library resources  Exponential growth in the users  Approximately 20% growth every 2 years in the UK for the last 4 years.  Attitude towards web based resources  People expect a mobile/tablet ready version  Disappointed when everything looks the same as desktop version  Don’t care about webapp vs native as long as the experience is fast and responsive  Not always true (we love our iPhones)
  • 6. Primo’s mobile interface?  Out of the box ------------   CSS based ------------   Doesn’t play well with local customizations ------------   Network traffic issues ------------   Not tested enough -----------  Primom: A Mobile Interface for Primo October 4, 2014 Page 6
  • 7. OOTB Ex Libris CSS Primom: A Mobile Interface for Primo October 4, 2014 Page 7  For some customers, works quite nicely.
  • 8. OOTB Ex Libris CSS Primom: A Mobile Interface for Primo October 4, 2014 Page 8  For Oxford, not so nicely...
  • 9. What about custom developments? Primom: A Mobile Interface for Primo October 4, 2014 Page 9
  • 10. Network Traffic  Surely interfaces can be improved, you just need to work on your CSS  What about network traffic though?  A quick analysis on Firebug reveals:  Opening http://solo.bodleian.ox.ac.uk takes 57 requests  Doing a search for “oxford” takes a further 66 requests  Network latency can be a major issue  Almost all instances of Primo launch 25+ network requests for home page and 35+ network requests for brief search Primom: A Mobile Interface for Primo October 4, 2014 Page 10
  • 11. Network based issues  Asynchronous vs synchronous calls?  Your mobile search interface should not hang/die if:  Your PDS is down (SSO check)  Google or Amazon images is down  Some third party tool you use is down  etc, etc  Similarly, not everything is required to be loaded after a search.  Load only what is required.  What about caching? Primom: A Mobile Interface for Primo October 4, 2014 Page 11
  • 12. Common feelings..  We don’t have enough resources to invest in mobile even though we would like to have a mobile webapp, an iPhone/iPad app, and an Android app.  And then after 10 days, you face an angry reader using Kindle Fire.  How will we ever maintain so many developments, probably best to develop just a webapp.  Or if you can afford it, ask an external company to develop native apps (which has unfortunately its own set of problems)  We want to develop a webapp, what’s next?  How to develop it (responsive vs framework)?  How to link it with Primo functionality?  How to maintain it? (growth and requirement changes) Primom: A Mobile Interface for Primo October 4, 2014 Page 12
  • 13. Blockers  Responsive layouts vs frameworks  HTML5/CSS3 (e.g.Twitter bootstrap)  Frameworks (50+, we will talk about jQuery mobile and Sencha Touch 2)  Primo/LMS API Documentation  Almost non-existent till developers showed keen interest  Still quite poor  Confusing – X-services, Web services, RESTful APIs, Plug-ins, what to use when and how?  Some good work being done by Barak Hecht but more is needed  a lot more... Primom: A Mobile Interface for Primo October 4, 2014 Page 13
  • 14. Primo mobile development in Oxford  Oxford started working on this informally about a year ago  We face similar issues, not enough resources, not enough time  We tried looking into iOS development but stopped  Steep learning curve  Only impacts Apple users  Selected jQuery mobile to experiment with  Low learning curve as we work with jQuery anyway  Fairly stable framework  Does quite a lot of things nicely Primom: A Mobile Interface for Primo October 4, 2014 Page 14
  • 15. First attempt – jQuery Mobile Primom: A Mobile Interface for Primo October 4, 2014 Page 15
  • 16. First attempt – jQuery Mobile Primom: A Mobile Interface for Primo October 4, 2014 Page 16
  • 17. First attempt – jQuery Mobile Primom: A Mobile Interface for Primo October 4, 2014 Page 17
  • 18. First attempt – jQuery Mobile Primom: A Mobile Interface for Primo October 4, 2014 Page 18
  • 19. First attempt – jQuery Mobile Primom: A Mobile Interface for Primo October 4, 2014 Page 19
  • 20. Collaboration – Oxford and Aberystwyth  Primo-Discussion-List questions about APIs lead to a collaborative effort  Quick to start on collaborative working  Some issues persisted  Lack of quality API documentation  Busy schedules  New issues emerged  Multi-lingual needs  Complexity of Oxford against Simplicity of Aberystwyth  The idea to develop a webapp that all Ex Libris customers can use – everything controlled by setting files, etc. Primom: A Mobile Interface for Primo October 4, 2014 Page 20
  • 21. Collaboration – Oxford and Aberystwyth Primom: A Mobile Interface for Primo October 4, 2014 Page 21
  • 22. Collaboration – Oxford and Aberystwyth  Did anything change?  A lot in the background  Extreme control over every parameter  We soon realised that there are limits to what we can do with limited screen space  Facets?  Page numbers?  Search details?  Number of results per page?  Resulted in a re-think of the whole idea Primom: A Mobile Interface for Primo October 4, 2014 Page 22
  • 23. Oxford – Since the re-think  Change in framework  From jQuery mobile to Sencha Touch 2  Pure MVC, far more responsive, the possibility of generating native apps (with native device APIs), ease of using HTML5 local storage, etc  And it looks nicer (full support for theming with Sass and Compass)  Considering Ex Libris was asked a lot of CSS based questions, may be its time to look at Sass or Less (reduced CSS size)?  Change in development methodology  Agile (Functionality based sprints) Primom: A Mobile Interface for Primo October 4, 2014 Page 23
  • 24. Oxford – Since the re-think Primom: A Mobile Interface for Primo October 4, 2014 Page 24
  • 25. Oxford – Since the re-think Primom: A Mobile Interface for Primo October 4, 2014 Page 25
  • 26. Oxford – Since the re-think Primom: A Mobile Interface for Primo October 4, 2014 Page 26
  • 27. Oxford – Since the re-think Primom: A Mobile Interface for Primo October 4, 2014 Page 27
  • 28. Oxford – Since the re-think Primom: A Mobile Interface for Primo October 4, 2014 Page 28
  • 29. What’s missing?  My Account (Loans, Holds, Requests, Fines, etc)  E-Shelf  Facets (Can we afford them in a mobile app?)  Modern browser and platform detection  Feature detection  Modernizr.js  Balancing act (between functionality, screen sizes, processing power, network traffic, memory, etc). Primom: A Mobile Interface for Primo October 4, 2014 Page 29
  • 30. Does it stack up?  Reminder: Primo OOTB for SOLO:  Opening http://solo.bodleian.ox.ac.uk takes 57 requests  Doing a search for “oxford” takes a further 66 requests  With our jQuery mobile prototype, opening up the main page takes 13 requests and 76KB of data.  A search for “oxford” takes a further 2-10 requests (depending on how many different icons are being loaded) Primom: A Mobile Interface for Primo October 4, 2014 Page 30
  • 31. Does it stack up?  With our ST2 prototype, opening up the main page takes 11 requests for 223KB of data  A search for “oxford” takes a further 2-7 requests (depending on how many different icons are being loaded)  All further requests take 1-2 network requests  Because of aggressive local storage based caching  You do the math   And if it matters, Facebook’s biggest mistake was that “we burned two years not working on mobile”. (Forbes, 9/11/2012) Primom: A Mobile Interface for Primo October 4, 2014 Page 31
  • 32. Thank you  Questions? Primom: A Mobile Interface for Primo October 4, 2014 Page 32