SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 

Kürzlich hochgeladen (20)

Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 

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