Preface – iPhone Application Development


Anyone living in contemporary twenty-first century culture has no doubt witnessed the seemingly near-ubiquitous penetration of mobile computing technology into our everyday lives. Have you ever wondered what exactly everyone is doing so busily occupied on their mobile device? Watch a group of students walk out of a lecture hall and the first thing overwhelmingly any of them will do is to look at their phone. Mobile computing ubiquity is an extremely important opportunity for librarians looking to craft new services.

Despite very impressive proof-of-concept work and mobile websites, we librarians have not really got up to speed, if one considers the possibilities for location-based and context-aware service provision – but we probably could create some really compelling uses for mobile applications that considered the user in the world, if we had a guide for such a thing. The services to be developed are not without precedent; librarians certainly can and do adapt to new service platforms. It is a skill of the trade to be adaptable and pick up new technologies to craft new services. Computing best practice (like the relational model and data independence) and human computing interaction (in rapid prototyping, and rapid evaluation) has something to teach us about this seemingly new venue.

This is a service-oriented book (which is to say, I am always writing with an eye for practical implementations) for librarians seeking to re-engineer services to a specific form of handheld computing technology by way of the iPhone Software Developer Kit (or SDK). It is my hope that in the process of reading this book librarians will begin to envisage something that might truly and authentically be a departure from previously known services a library has been traditionally able to offer users. This book explores first those user tasks which are uniquely suited for the handheld device and develops tools from the user perspective. At the same time, each chapter develops an application for a specific user experience, so each chapter begins with a user narrative. This narrative of use of mobile applications is sorely missing from mobile computing literature. It is a strategy for mobile development which puts the tasks of the tool first. In fact, all there is in mobile application design is the task, i.e. the function of the application. Once we pare design down to functionality, all that remains is the task of the user. In mobile design we create functions, or else everything else we create is just a roadblock to information. If you haven’t viewed your library website on a mobile device yet, you should definitely go ahead and do so – what you will find (if you have not specifically designed for mobile) is that the standard webpage is not amenable to mobile device viewing. In fact, developing for mobile devices does rely, to some degree, on attributes of web design – which I will explore shortly – especially for the Dashcode chapters of this book, where we begin with web-based applications before moving into the native developer environment in later chapters.

This book will explore what mobile tools can do for service, but the real ingenuity for service innovation will always remain with you, the librarian. You are smarter than the iPod or iPhone or whatever the latest shiny, glossy mobile computing device will be. Your service innovations will be what change your library in amazing ways, not the handheld device. Read this book for a foundation to the software, but do not disregard your own imaginative drive. You will know what your library needs, and after we explore the tools here, you will be able to align user needs with software capabilities.

This book came about from the belief that libraries are in need of guides that demystify how to make real and necessary new service offerings. Although there are other phones and other new technologies, the iPhone is one new tool that libraries and librarians cannot ignore. iPhone applications number in the hundreds of thousands, with Apple announcing in November 2009 that there are over 100,000 user-created apps available for download1 and there have been over 3 billion downloads since the founding of the iTunes Application Store.2 By provisioning information access tools from the iTunes App Store, you are giving your library new life, and extending the reach of your library into the ubiquitous web of information access points that characterize twenty-first century culture.

If you have ever authored a webpage then you can create an iPhone app. You do not have to be a programmer to make an iPhone application. That is highly significant: the tools of intermediate web authoring are sufficient for building iPhone apps. You definitely don’t have to be a systems librarian or software developer to make an iPhone application. If you’re like me, you probably enjoy reading, and you probably love learning and that is all you need to make an app – read the book – learn from each chapter, you’ll have an app for your library.

The first two chapters are your foundational steps to creating web-based apps; later chapters look at native apps, things will come together and you will have the background to create iPhone applications for your library. From knowing and understanding the foundations of web design you will be able to apply that knowledge to placing files into the Xcode framework, which is the path to the iTunes App Store, should you choose this as the place for delivery of your app.

Mobile phones and technology are very popular now: fact. They won’t always be as hot. That is acceptable. What would be truly problematic is a library which thought that mobile technology was some kind of discrete component of service delivery. It is not. Any kind of information provision you can accomplish with mobile technology, if followed with even a degree of computing best practice, does not just result in efficient mobile design and delivery, but actually results in future efficiencies as well. For example, your ability to make the connections between your abstract data and mobile will only make it easier to make connections between your abstract data and future emerging computing technology. If this book makes you do anything it will be to re-examine and re-engineer your extensibility as a library.

In an ideal world, applying concepts like data abstraction and data independence can result in efficiency in mobile design. The efficiency that is good for mobile is good for the totality of your library systems. That efficiency is not necessarily guaranteed because developing for mobile, if viewed as a discrete and unconnected component of the total computing systems of your library, can also result in further data silos, and further non-efficient library systems. This book is essentially concerned with computing continuities; it is and it isn’t all about mobile service provision; there exists in the book an underlying tract profoundly concerned with extending library service by way of any imaginable future computing system.

Note: before making available any kind of mobile app to your user population please see Appendix 1, ‘A safety framework for mobile computing’. If you haven’t any idea what an iPhone is, please see Appendix 2, iPhone orientation’.