際際滷

際際滷Share a Scribd company logo
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.
Oxfords 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 
 Dont care about webapp vs native as long as the experience is fast 
and responsive 
 Not always true (we love our iPhones)
Primos mobile interface? 
 Out of the box ------------  
 CSS based ------------  
 Doesnt 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 dont 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, whats 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
Whats 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, Facebooks 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

More Related Content

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. Oxfords 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 Dont care about webapp vs native as long as the experience is fast and responsive Not always true (we love our iPhones)
  • 6. Primos mobile interface? Out of the box ------------ CSS based ------------ Doesnt 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 dont 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, whats 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. Whats 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, Facebooks 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