[CODE4LIB] Library app basics

2014-10-07 Thread Will Martin
My boss has directed me to start looking into producing a phone app for 
the library, or better yet finding a way to integrate with the existing 
campus-wide app.  Could I pick the list's brains?


1) Is there some tolerably decent cross-platform app language, or am I 
going to be learning 3 different languages for iOS, Android, and Windows 
phone?  I've dabbled in all kinds of things, but my bread-and-butter 
work has been PHP on a LAMP stack.  Apps aren't written in that, so new 
language time.


2) The library's selection of mobile devices consists of 2 iPads and a 
Galaxy tablet.  We don't have phones for testing.  My personal phone is 
a 12-year-old flip phone which doesn't run apps.  Can I get by with 
emulators?  What are some good ones?  The budget for the project is 
zero, so I don't think dedicated testing devices are in the cards unless 
I upgrade my own phone, which I probably ought to anyway.


3) What are some best practices for library app design?  We were 
thinking the key functionality would be personal account management 
(what have I got checked out, renew my stuff, etc), hours, lab 
availability, search the catalog, and ask a librarian.  Anything 
missing?  Too much stuff?


Will Martin

Web Services Librarian
Chester Fritz Library

P.S.  I sent this a couple days ago and wondered why it hadn't shown up 
-- only to realize I accidently sent it to j...@code4lib.org rather than 
the actual list serv address.  Whoops, embarrassing!


Re: [CODE4LIB] Library app basics

2014-10-07 Thread Eric Phetteplace
I can't answer all those questions but a couple useful links:

WeaveUX just published a column on Launching a Native App for libraries
which is probably pertinent.
http://quod.lib.umich.edu/w/weave/12535642.0001.104?view=text;rgn=main

While you typically do have to use different SDKs and languages for each
major platform, there are projects which use HTML5 and native WebViews to
target multiple operating systems. Cordova being the underlying tool but
Ionic a more robust framework with UI widgets included.
http://ionicframework.com/ There are several of these frameworks, Ionic's
just the one I've heard of lately. There was a JavaScript Jabber podcast on
it recently.
http://javascriptjabber.com/126-jsj-the-ionic-framework-with-max-lynch-and-tyler-renelle/

Best,
Eric

On Tue, Oct 7, 2014 at 11:51 AM, Will Martin w...@will-martin.net wrote:

 My boss has directed me to start looking into producing a phone app for
 the library, or better yet finding a way to integrate with the existing
 campus-wide app.  Could I pick the list's brains?

 1) Is there some tolerably decent cross-platform app language, or am I
 going to be learning 3 different languages for iOS, Android, and Windows
 phone?  I've dabbled in all kinds of things, but my bread-and-butter work
 has been PHP on a LAMP stack.  Apps aren't written in that, so new language
 time.

 2) The library's selection of mobile devices consists of 2 iPads and a
 Galaxy tablet.  We don't have phones for testing.  My personal phone is a
 12-year-old flip phone which doesn't run apps.  Can I get by with
 emulators?  What are some good ones?  The budget for the project is zero,
 so I don't think dedicated testing devices are in the cards unless I
 upgrade my own phone, which I probably ought to anyway.

 3) What are some best practices for library app design?  We were thinking
 the key functionality would be personal account management (what have I got
 checked out, renew my stuff, etc), hours, lab availability, search the
 catalog, and ask a librarian.  Anything missing?  Too much stuff?

 Will Martin

 Web Services Librarian
 Chester Fritz Library

 P.S.  I sent this a couple days ago and wondered why it hadn't shown up --
 only to realize I accidently sent it to j...@code4lib.org rather than the
 actual list serv address.  Whoops, embarrassing!



Re: [CODE4LIB] Library app basics

2014-10-07 Thread Jonathan Rochkind
It's perhaps a little bit outdated by now, since things change so fast, 
but there is a Code4Lib Journal article on one library's approach a few 
years ago, which you may find useful.


http://journal.code4lib.org/articles/5014

And, actually, googling for that one, I found several other ones too on 
library app mobile development, which I haven't actually read myself yet:


http://journal.code4lib.org/articles/7336
http://journal.code4lib.org/articles/2055
http://journal.code4lib.org/articles/2947

On 10/7/14 2:51 PM, Will Martin wrote:

My boss has directed me to start looking into producing a phone app for
the library, or better yet finding a way to integrate with the existing
campus-wide app.  Could I pick the list's brains?

1) Is there some tolerably decent cross-platform app language, or am I
going to be learning 3 different languages for iOS, Android, and Windows
phone?  I've dabbled in all kinds of things, but my bread-and-butter
work has been PHP on a LAMP stack.  Apps aren't written in that, so new
language time.

2) The library's selection of mobile devices consists of 2 iPads and a
Galaxy tablet.  We don't have phones for testing.  My personal phone is
a 12-year-old flip phone which doesn't run apps.  Can I get by with
emulators?  What are some good ones?  The budget for the project is
zero, so I don't think dedicated testing devices are in the cards unless
I upgrade my own phone, which I probably ought to anyway.

3) What are some best practices for library app design?  We were
thinking the key functionality would be personal account management
(what have I got checked out, renew my stuff, etc), hours, lab
availability, search the catalog, and ask a librarian.  Anything
missing?  Too much stuff?

Will Martin

Web Services Librarian
Chester Fritz Library

P.S.  I sent this a couple days ago and wondered why it hadn't shown up
-- only to realize I accidently sent it to j...@code4lib.org rather than
the actual list serv address.  Whoops, embarrassing!




Re: [CODE4LIB] Library app basics

2014-10-07 Thread Simon Brown
for your question number 1 take a look at PhoneGap

On Tue, Oct 7, 2014 at 2:51 PM, Will Martin w...@will-martin.net wrote:

 My boss has directed me to start looking into producing a phone app for
 the library, or better yet finding a way to integrate with the existing
 campus-wide app.  Could I pick the list's brains?

 1) Is there some tolerably decent cross-platform app language, or am I
 going to be learning 3 different languages for iOS, Android, and Windows
 phone?  I've dabbled in all kinds of things, but my bread-and-butter work
 has been PHP on a LAMP stack.  Apps aren't written in that, so new language
 time.

 2) The library's selection of mobile devices consists of 2 iPads and a
 Galaxy tablet.  We don't have phones for testing.  My personal phone is a
 12-year-old flip phone which doesn't run apps.  Can I get by with
 emulators?  What are some good ones?  The budget for the project is zero,
 so I don't think dedicated testing devices are in the cards unless I
 upgrade my own phone, which I probably ought to anyway.

 3) What are some best practices for library app design?  We were thinking
 the key functionality would be personal account management (what have I got
 checked out, renew my stuff, etc), hours, lab availability, search the
 catalog, and ask a librarian.  Anything missing?  Too much stuff?

 Will Martin

 Web Services Librarian
 Chester Fritz Library

 P.S.  I sent this a couple days ago and wondered why it hadn't shown up --
 only to realize I accidently sent it to j...@code4lib.org rather than the
 actual list serv address.  Whoops, embarrassing!




-- 
Simon Brown
simoncbr...@gmail.com
simoncharlesbrown (Skype)
831.440.7466 (Phone)

*Following our will and wind we may just go where no one's been -- MJK*


Re: [CODE4LIB] Library app basics

2014-10-07 Thread Michael Schofield
Heya,

Lots of good suggestions from everybody in the thread so far. Great resources. 
So, I am in the camp that's generally opposed to libraries going the native app 
route - unless they already have a solid mobile-first responsive website and 
blah blah blah. First thing's first.

I am going to self-plug, here, so--er--sorry. 

A few years ago I gave a talk on future friendly web design that was a direct 
response to the call to spin-up library apps - mostly for libraries with 
limited resources to spin-up library apps. It's a little dated, but you can 
find it here: http://talks.ns4lib.com/future-friendly/. The big tl;dr is a 
slide on Designing Ethically, which sez:

* Developing for specific platforms targets only the handful that own the 
device.
* Developing for enough platforms to be inclusive is costly.
* Designing for specific screens--for instance, a desktop website and a mobile 
website--will inevitably miss the mark.
* It is a disservice if a library pursues a web strategy that inevitably caters 
to less than the majority of its patrons
* It is wasteful if a library pursues a web strategy that requires substantial 
retrofitting or a redesign more than once a year.
* Seek ubiquity

Years later, Brian Pichman, Amanda Goodman, and I talk about web vs. native on 
the #libux podcast here: http://libux.co/005-web-vs-native-brian-pichman/

Michael


-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of 
Jonathan Rochkind
Sent: Tuesday, October 07, 2014 3:31 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Library app basics

It's perhaps a little bit outdated by now, since things change so fast, but 
there is a Code4Lib Journal article on one library's approach a few years ago, 
which you may find useful.

http://journal.code4lib.org/articles/5014

And, actually, googling for that one, I found several other ones too on library 
app mobile development, which I haven't actually read myself yet:

http://journal.code4lib.org/articles/7336
http://journal.code4lib.org/articles/2055
http://journal.code4lib.org/articles/2947

On 10/7/14 2:51 PM, Will Martin wrote:
 My boss has directed me to start looking into producing a phone app 
 for the library, or better yet finding a way to integrate with the 
 existing campus-wide app.  Could I pick the list's brains?

 1) Is there some tolerably decent cross-platform app language, or am I 
 going to be learning 3 different languages for iOS, Android, and 
 Windows phone?  I've dabbled in all kinds of things, but my 
 bread-and-butter work has been PHP on a LAMP stack.  Apps aren't 
 written in that, so new language time.

 2) The library's selection of mobile devices consists of 2 iPads and a 
 Galaxy tablet.  We don't have phones for testing.  My personal phone 
 is a 12-year-old flip phone which doesn't run apps.  Can I get by with 
 emulators?  What are some good ones?  The budget for the project is 
 zero, so I don't think dedicated testing devices are in the cards 
 unless I upgrade my own phone, which I probably ought to anyway.

 3) What are some best practices for library app design?  We were 
 thinking the key functionality would be personal account management 
 (what have I got checked out, renew my stuff, etc), hours, lab 
 availability, search the catalog, and ask a librarian.  Anything 
 missing?  Too much stuff?

 Will Martin

 Web Services Librarian
 Chester Fritz Library

 P.S.  I sent this a couple days ago and wondered why it hadn't shown 
 up
 -- only to realize I accidently sent it to j...@code4lib.org rather 
 than the actual list serv address.  Whoops, embarrassing!




Re: [CODE4LIB] Library app basics

2014-10-07 Thread Andrew Anderson
Before launching into a native app, start with the functional requirements to 
see if what you want to accomplish could be done in a well designed mobile web 
site, or if you actually need the advanced features that native development 
would make available.

For example, there is a _lot_ that you can do in jQuery Mobile backed by a 
strong AJAX backend that looks like a native app, yet does not subject you to 
the stringent requirements of having to do multi-platform development and worry 
about submitting to multiple vendors for approval.  

There is already some support for media capture for photos/video/sound in HTML5 
on some devices that you can use for interactive experiences like snapping a 
photo, sending it to the server for processing, and having the server send back 
something relevant.  See 
http://www.html5rocks.com/en/tutorials/getusermedia/intro/ for some information 
on what is possible currently, and then imagine what you could do with book 
covers, bar codes, maybe even tapping into the NFC chips in smartphones to 
tickle those RFID chips everyone is talking about this week.

As a data point, I have seen estimates that put mobile app development costs 
between $5,000 and $50,000, depending on their complexity, amount of UI/UX 
design and testing, graphics development, etc, so if you are operating without 
a budget and are having to scrounge for devices just to test with, a smart 
mobile web site may be a better starting point anyway.  It’s less of an 
unknown, using familiar tools, doesn’t require testing hardware, and doesn’t 
have an onerous vendor approval step to deal with.

-- 
Andrew Anderson, Director of Development, Library and Information Resources 
Network, Inc.
http://www.lirn.net/ | http://www.twitter.com/LIRNnotes | 
http://www.facebook.com/LIRNnotes

On Oct 7, 2014, at 14:51, Will Martin w...@will-martin.net wrote:

 My boss has directed me to start looking into producing a phone app for the 
 library, or better yet finding a way to integrate with the existing 
 campus-wide app.  Could I pick the list's brains?
 
 1) Is there some tolerably decent cross-platform app language, or am I going 
 to be learning 3 different languages for iOS, Android, and Windows phone?  
 I've dabbled in all kinds of things, but my bread-and-butter work has been 
 PHP on a LAMP stack.  Apps aren't written in that, so new language time.
 
 2) The library's selection of mobile devices consists of 2 iPads and a Galaxy 
 tablet.  We don't have phones for testing.  My personal phone is a 
 12-year-old flip phone which doesn't run apps.  Can I get by with emulators?  
 What are some good ones?  The budget for the project is zero, so I don't 
 think dedicated testing devices are in the cards unless I upgrade my own 
 phone, which I probably ought to anyway.
 
 3) What are some best practices for library app design?  We were thinking the 
 key functionality would be personal account management (what have I got 
 checked out, renew my stuff, etc), hours, lab availability, search the 
 catalog, and ask a librarian.  Anything missing?  Too much stuff?
 
 Will Martin
 
 Web Services Librarian
 Chester Fritz Library
 
 P.S.  I sent this a couple days ago and wondered why it hadn't shown up -- 
 only to realize I accidently sent it to j...@code4lib.org rather than the 
 actual list serv address.  Whoops, embarrassing!


Re: [CODE4LIB] Library app basics

2014-10-07 Thread Cary Gordon
You don't say what this app is supposed to do, and that might influence your 
decision.

If you are going to provide services that are on your website, it likely makes 
little sense to build apps. Your website looks homegrown, so you might want to 
consider using your resources to rebuild it in a CMS system, preferably free 
and open-source, and since you are comfortable with PHP and LAMP, you might 
consider Drupal or WordPress, both of which offer responsive themes and are 
supported in the library community.

Cary

On Oct 7, 2014, at 11:51 AM, Will Martin w...@will-martin.net wrote:

 My boss has directed me to start looking into producing a phone app for the 
 library, or better yet finding a way to integrate with the existing 
 campus-wide app.  Could I pick the list's brains?
 
 1) Is there some tolerably decent cross-platform app language, or am I going 
 to be learning 3 different languages for iOS, Android, and Windows phone?  
 I've dabbled in all kinds of things, but my bread-and-butter work has been 
 PHP on a LAMP stack.  Apps aren't written in that, so new language time.
 
 2) The library's selection of mobile devices consists of 2 iPads and a Galaxy 
 tablet.  We don't have phones for testing.  My personal phone is a 
 12-year-old flip phone which doesn't run apps.  Can I get by with emulators?  
 What are some good ones?  The budget for the project is zero, so I don't 
 think dedicated testing devices are in the cards unless I upgrade my own 
 phone, which I probably ought to anyway.
 
 3) What are some best practices for library app design?  We were thinking the 
 key functionality would be personal account management (what have I got 
 checked out, renew my stuff, etc), hours, lab availability, search the 
 catalog, and ask a librarian.  Anything missing?  Too much stuff?
 
 Will Martin
 
 Web Services Librarian
 Chester Fritz Library
 
 P.S.  I sent this a couple days ago and wondered why it hadn't shown up -- 
 only to realize I accidently sent it to j...@code4lib.org rather than the 
 actual list serv address.  Whoops, embarrassing!


Re: [CODE4LIB] Library app basics

2014-10-07 Thread Haitz, Lisa (haitzlm)
I agree with some here, in the long term, a responsive site is the best bang 
for the buck. 

However, before our responsive site, we used Library Anywhere for our mobile 
app. By LibraryThing, it has customizations, both iOS and Android, and real 
time interaction with the catalog.
http://www.libanywhere.com/

We felt the price to be very reasonable.

Just my experience, not that one is better than another!

Lisa Haitz
UC Libraries 
University of Cincinnati


-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Will 
Martin
Sent: Tuesday, October 07, 2014 2:51 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: [CODE4LIB] Library app basics

My boss has directed me to start looking into producing a phone app for the 
library, or better yet finding a way to integrate with the existing campus-wide 
app.  Could I pick the list's brains?

1) Is there some tolerably decent cross-platform app language, or am I going to 
be learning 3 different languages for iOS, Android, and Windows phone?  I've 
dabbled in all kinds of things, but my bread-and-butter work has been PHP on a 
LAMP stack.  Apps aren't written in that, so new language time.

2) The library's selection of mobile devices consists of 2 iPads and a Galaxy 
tablet.  We don't have phones for testing.  My personal phone is a 12-year-old 
flip phone which doesn't run apps.  Can I get by with emulators?  What are some 
good ones?  The budget for the project is zero, so I don't think dedicated 
testing devices are in the cards unless I upgrade my own phone, which I 
probably ought to anyway.

3) What are some best practices for library app design?  We were thinking the 
key functionality would be personal account management (what have I got checked 
out, renew my stuff, etc), hours, lab availability, search the catalog, and ask 
a librarian.  Anything missing?  Too much stuff?

Will Martin

Web Services Librarian
Chester Fritz Library

P.S.  I sent this a couple days ago and wondered why it hadn't shown up
-- only to realize I accidently sent it to j...@code4lib.org rather than the 
actual list serv address.  Whoops, embarrassing!


Re: [CODE4LIB] Library app basics

2014-10-07 Thread Will Martin

Lots of good info here, thanks.


You don't say what this app is supposed to do, and that might
influence your decision.  [...] If you are going to provide
services that are on your website, it likely makes little sense
to build apps.


That's the idea: make our stuff available through phones. And I agree, 
an app makes little sense.  Sadly, it's not my choice to make -- that 
decision was made further up the chain of command, without consulting 
me.


Your website looks homegrown [...] you might consider Drupal or 
WordPress ...


Ye gods, I wish it were homegrown.  I'd have done a better job of it.  
Or rather, I'd have done it in Drupal, which I worked with for years at 
a different institution, including developing custom themes and modules. 
 Drupal's a solid system.  I miss it.


But no, we're stuck in a poor excuse for a CMS called OmniUpdate, 
which is written in an unholy mixture of XSLT and Cold Fusion.  It was 
selected by the marketing department, is mandated across the campus, and 
makes my job way harder than it has to be.  OmniUpdate is damage to work 
around, not a system to work with.


I've done the best I can with it, but there are limits.  In theory, an 
OmniUpdate site can be made responsive -- but in this case, that means 
making the entire campus web infrastructure responsive, because we share 
a common template with the entire university.  That's a good idea which 
probably needs to happen, but also a MASSIVE undertaking -- largely 
because it rapidly gets into some fairly heated campus politics.


So in the meantime, I'm going to do research on this and put together a 
project prospectus laying out the possible approaches and challenges, to 
see if my bosses really want me to do this.  If the really do, it'll 
probably eat all of my time and then some for the foreseeable future.


Will Martin


Re: [CODE4LIB] Library app basics

2014-10-07 Thread Christine Mayo
I am less of a coder myself and more of a lurker, but I'm familiar with the
app development scene for games on mobile phones, and I would suggest
taking a look at http://xamarin.com/, which not only provides a platform
for cross-platform development in C# (code once and it runs on darn near
anything), but also has a service for cloud testing on simulated devices,
so that you can test your app without having a bunch of different tablets
and phones on hand. I don't know what the prices are like; I know that a
license for Unity, the game engine that's based on this platform, can be a
bit pricey (though cheap compared to other engines).

On Tue, Oct 7, 2014 at 7:17 PM, Will Martin w...@will-martin.net wrote:

 Lots of good info here, thanks.

  You don't say what this app is supposed to do, and that might
 influence your decision.  [...] If you are going to provide
 services that are on your website, it likely makes little sense
 to build apps.


 That's the idea: make our stuff available through phones. And I agree, an
 app makes little sense.  Sadly, it's not my choice to make -- that decision
 was made further up the chain of command, without consulting me.

  Your website looks homegrown [...] you might consider Drupal or WordPress
 ...


 Ye gods, I wish it were homegrown.  I'd have done a better job of it.  Or
 rather, I'd have done it in Drupal, which I worked with for years at a
 different institution, including developing custom themes and modules.
 Drupal's a solid system.  I miss it.

 But no, we're stuck in a poor excuse for a CMS called OmniUpdate, which
 is written in an unholy mixture of XSLT and Cold Fusion.  It was selected
 by the marketing department, is mandated across the campus, and makes my
 job way harder than it has to be.  OmniUpdate is damage to work around, not
 a system to work with.

 I've done the best I can with it, but there are limits.  In theory, an
 OmniUpdate site can be made responsive -- but in this case, that means
 making the entire campus web infrastructure responsive, because we share a
 common template with the entire university.  That's a good idea which
 probably needs to happen, but also a MASSIVE undertaking -- largely because
 it rapidly gets into some fairly heated campus politics.

 So in the meantime, I'm going to do research on this and put together a
 project prospectus laying out the possible approaches and challenges, to
 see if my bosses really want me to do this.  If the really do, it'll
 probably eat all of my time and then some for the foreseeable future.

 Will Martin