Chapter 1: Framing concepts for the iPhone as media with the historical continuity of computing best practice – iPhone Application Development

1

Framing concepts for the iPhone as media with the historical continuity of computing best practice

What this book is about

This book takes a user-centered approach to iPhone and iPod touch application (app) development for library services. The chapters for design and delivery progress from a narrative of user tasks to the step-by-step process of application design, along with instructive cases of iteration as a component of your design process. Iterating your iPhone app as a component of user-centered design means that you design based on user feedback of the initial drafts of the library tool. User-centered design asks the questions of user tasks and develops software (iPhone apps, in our case) in tandem with verified needs of the library user in order to create a compelling iPhone experience for library information access. Certain tasks of the library user are better suited to iPhone applications than others. And, incidentally, certain tasks are made possible because of mobile computing. The best mobile applications will be those that have no easy equivalent software application on the desktop PC – mobile apps that can make use of what it means to be truly a mobile user – responding to context and to the user needs of that context is one attribute of what truly results in a compelling library user experience. This book will focus primarily on the Dashcode environment of the iPhone Software Developer Kit (SDK). We begin with web-based apps developed in Dashcode before we move into the basics of the native application developer environment, known as the Xcode module. The native developer environment is essential for creating access to your app from the iTunes App Store. Both of these tools are included in the iPhone SDK, which is available as a free download from Apple.1

The first essential step in developing new library services for mobile devices is to ask: what is it that I would like the user to accomplish as a result of this tool? User tasks on mobile computing are fundamentally different from the tasks of the user on a desktop PC. The special attributes of mobile computing will be discussed later, but first I would like to underscore an important element about computing in general: the iPhone is a kind of handheld computer and is conceptualized here as a computing device of hardware, network and operating system capabilities.

The very significant attribute of design to be remembered is that the iPhone is a type of computer. And there are limitations to all computers. The domain of mobile computing includes unique limitations such as screen size, data storage and memory. These constraints are improving with every year, and will continue to improve. Those who design applications for desktop devices may not have had to concern themselves too much with the memory usage or data usage of a particular application. This is not the case in mobile application development. Resources are constrained and as mobile applications designers, we are constantly squeezing as much as we can out of the available computational resources. The apps we design exist inside of this domain of practice.

This book is essentially a how-to guide and draws on computing best practice for efficient mobile design and delivery. Librarians with a basic understanding of web content will find this treatment accessible. The book is written for the general library practitioner and covers foundational steps necessary for placing library applications on iPhones and iPod touch devices. The hardware may be new to Library and Information Science practice; the foundational computing best practice of the preceding 40 years of computing can be applied to realize efficient design and delivery. These are the broad strategies of application development: data abstraction and data independence; remediation of older types of content to new forms of presentation; and extensible markup (XML, and later JSON) as expressed in the web standards promulgated by the World Wide Web Consortium (W3C). And although we must at times work within the given frame of the Dashcode and Xcode module, we can still see where the W3C best practices are instrumental in creating efficiencies in any kind of information system – handheld computing or desktop based.

Those components which will change with regard to application development include newer versions of the software development kit and the specific workflows within newer versions of the SDK. The developer environment is intricately linked to advances in both the iPhone operating system and the hardware within the devices. A new release of the iPhone SDK will probably be developed sometime after you purchase this book. The examples presented are in the Dashcode v3.0 and Xcode 3.2.1, capable of producing apps for the iPhone OS 3.1.2 and later. The next release of the iPhone software (iOS 4) will not mean obsolescence of this book as what is being modeled is essentially a process for application design. If past advances are any indication, version 2 to version 3, for example, later advances in the SDK will give the application developer additional options and most likely greater control over phone functionality, which comes as a result of advances in processing power of future mobile devices.

Framing concepts

These concepts will apply across devices and platforms. When proprietary systems are employed, the resulting systems may be closed and often inaccessible across other platforms. As an example of propriety data, consider a system in which the markup is not interoperable with other systems. A good library example is the ‘Machine Readable Cataloging’ format, known properly as MARC. MARC is interoperable only with library systems using MARC, resulting in considerable disadvantage for libraries seeking to leverage years of data creation. Although we don’t want to get too in depth about markup – there are certainly drawbacks in relying solely on HTML for mobile web development – there are portions of HTML that we know of as web developers and so we draw on the familiar, while at the same time possibly sacrificing some degree of data independence. As long as we are aware of the detriments and possible drawbacks to proprietary formats, then we can proceed cautiously in a pragmatic fashion, sacrificing some interoperability for platform-specific design.

Data abstraction and data independence are principles that assure efficiency of access to data. A foundational paper for database design by Codd2 begins to put into place a practice-oriented idea to separate data from its intended function. I say function here in terms of practical utility – not in the programming logic sense of a function. The ability for software to make use of existing data is supported to the degree which data independence has been achieved. The applications to be developed for the iPhone are possible if the database (or source or the data: Extensible Markup Lnguage, XML or JavaScript Object Notation, JSON files) serving the application support data abstraction. The higher degree to which systems are made amenable to iPhone application development the better tuned your systems will be, in general. What I am arguing here is that the concepts that are good for iPhone development are also good for general computing.

Efficiency in the iPhone software development discussed here rests on the underlying data structure and dependencies. As we begin to build applications, this makes more sense since we’ll apply it to markup and a type of meta-markup: the XML. XML is a way to describe data. Content that has been described with XML supports data abstraction. The RSS application discussed in Chapter 2 is marked up using XML. RSS itself is described using XML. If RSS did not achieve data abstraction through a metamarkup function, the ability to incorporate content from a blog posted to your blog reader would not function. The content transferability frame is useful for understanding the functionality of the RSS application in the next chapter. Even if you have not used blogging software, however, you will still be able to grasp the basics of extensibility. With regard to extensible markup as expressed in web standards, the W3C sets the standards for interoperability of web content. Independent of the iPhone and iPod touch, an accessible library web presence relies on the principles of XHTML, which allows for general content accessibility on mobile devices.

As mentioned earlier there are relative advantages and disadvantages to using HTML instead of XHTML. Those who access your HTML page that has not been designed for mobile viewing will only have a partial view of the page. Even on smart phones such as the iPhone, the user must scroll around parts of the page. One way to get around the scrolling is to use cascading style sheets (CSS) and transitioning effects for a declared mobile site. The source code generated from iPhone applications employs both style sheets and JavaScript to accomplish a mobile site using HTML.

In another classic paper, Coombs and colleagues analyze the merits of descriptive markup.3 HTML did not separate content and presentation markup. This led to the use of HTML as a markup language in which the markup could not be processed readily by other systems because the HTML was one of presentation and content. HTML was not completely descriptive. It contained elements of procedural markup; HTML styled the page as much as it held the content for what was to be displayed. With the advent of XML, XHTML was developed and led to webpages with markup of content separated from presentation and the ability for web pages to be processed by their descriptive markup, thereby allowing for greater interoperability by other information systems.

The iPhone SDK includes two main modules by which to create applications: the Xcode module, also known as the native application development environment, and Dashcode for web-based applications. Web-based applications allow you to quickly create applications and host them on your servers as you would a library webpage. You do not need to go through the iTunes App Store to make available a web-based application. You can begin reaching out to your library users as soon as you have the files generated from Dashcode. You will see how easy this is in the next chapter. By the end of the day, you could have an iPhone app for your library!

As application development progresses for your library, and you work to create data sources that can be used beyond and outside of the app you design you will find advantages for all information systems. This is achieved by applying framing concepts of data independence and appreciating the social science of media. Essentially, I’m using the frame of remediation here to explain components of apps that may seem novel, but can actually be placed within a design continuum of existing media.

Remediation is a multi-tiered media concept: ‘… new digital media oscillate between immediacy and hypermediacy, between transparency and opacity. This oscillation is the key to understanding how a medium refashions its predecessors and other contemporary media. Although each medium promises to reform its predecessors by offering a more immediate or authentic experience, the promise of reform inevitably leads us to become aware of the new medium as a medium.’4 The iPhone is a type of media (or media container) in competition with other media – displacing some and helping to bring other media forms into increased view.

Consider what it means to be an iPhone app. What does the existence of the iPhone app mean, really? Is it just software for a phone? It is not really that at all – an iPhone app is a part of the phone which is subject to updates and which can be removed or interacted with at any time. You, the user, decide, within a certain design framework or course, how the app will be a form of new media. In a sense, you configure the phone’s computing capabilities.

Though the ideas of remediation have been pondered over before the phenomenal success of the iTunes App Store and the iPhone, the broad conceptual frame can be applied here to answer as a matter of new media inquiry the question ‘what is an iPhone application?’

An iPhone application is:

 after-market software for the iPhone that can also be placed on an iPod touch, and other future mobile devices that run the iPhone operating system;

 web-based software;

 a type of media which attempts to displace an older form of media – in this case the iPhone displaces certain types of web-browsing (and, in return, certain forms of web browsing then adapt elements that resemble mobile browsing and even attributes of the iPod – scrolling lists and arrows in simple scaled down interfaces).

The framing concept of remediation simply places new media as a phenomenon seeking to displace older media by adopting portions of it and, in effect, replacing the old type of media. But it is more than that: one medium, ‘the web’ accessed on a desktop PC represented in another medium, ‘the iPhone’. A type of media such as the iPhone adopts portions of previous media, almost to replace them, but only incompletely. Take as an example the ability to add QuickTime video inside of an iPhone application. The iPhone is co-opting the desktop browser, which was displacing the television in its ability to stream. Think of the aptly named YouTube – it doesn’t completely replace a television, but for a whole generation of individuals the ability to stream content on demand is preferable to what traditional television allowed for. In return, the television set box adapts and we have services like watch on demand from Netflicks. So this is the profound interplay of remediation which the mobile design feedback loop is a part of. It both shapes and is shaped by other media, only imperfectly mimicking and in some cases doing certain tasks better than the current ability of desktop computing can. Consider the startup time of your iPhone or iPod as compared with turning on a desktop-based PC or even a laptop. As a computing device, the ability of the iPod or iPhone to quickly respond to a user’s immediate requests is in some ways beating the desktop systems ability to be a PC.

Consider users wish to sit down to quickly and check their alert notifications sent to their email from the online public access catalog. Such users could easily check this at their iPhone by accessing their library iPhone catalog notification application. Or alternatively, consider users wishing to quickly renew items, or even quickly pay their overdue fines, or quickly make a donation to their library. An iPhone application can do these tasks. These traditional library tasks can be replaced by functionality of iPhone applications.

The best applications for the iPhone – those that take into account the tasks of the user, will be those that view the mobile device as a computing resource distinct from desktop computing. It would be easy to think of the mobile device as a small desktop computer. This is not useful for designing compelling user experiences for the mobile device. The mobile device has distinct capabilities which allow new forms of communication and engagement with collections (physical and digital) which have no desktop equivalent. To bring this back to the subject of the book and the remediation of Apple-specific software: the iPhone itself seeks to displace the iPod mp3 player. Take a look at a few of the already included apps in the iPhone – the iTunes store is here – remediated for the device. It is certainly a complementary form of remediation, but still here is an important concept for understanding what it is mobile does – it borrows functionality and enables new forms of engagement with information on new hardware.

Remediation helps designers of applications see that the design work does not take place in a vacuum and that the iPhone, while new technology for libraries, is actually placed into a historical context and at the same time works within this context and refashions some of the older media types into its portfolio. Also, these new services offered by the iPhone then cause designers of traditional web content to change the way they would traditionally deliver information, in a way that resembles an ongoing feedback loop between media objects such that there is near constant interplay of design. This is very good news, as it promises that there will be much innovation in mobile devices and mobile software over the next few years as designers (both in the corporate sphere and in education) look to make innovative new service offerings with devices that offer new capabilities for access to information.

Affordances

The screen size of mobile devices like the iPhone and the iPod touch is small so that reading and browsing for long periods of time is not a compelling experience for the user. A desktop PC is better suited for those tasks. The mobile device has a number of sensors and positioning hardware that make it well suited for accessing data practically anywhere and anytime. Designing for short periods of interaction on the iPhone that take into account the affordances (or capabilities) of the hardware make for the most compelling user experience.

Take, for example, one of the current most popular applications on the iTunes store, the Shazam application.

This application allows the user to identify the title of a song being played by simply holding the iPhone to the sound source. It does not require the user to key in long search queries, or scroll through extensive result lists. This is a quick use of the iPhone, one that delivers desired information quickly to the user. It is a popular iPhone application because of its simplicity in delivering information. This elegance in design is what we turn to now in designing our first iPhone application, reconfiguring RSS feeds as an iPhone app.


1.You can create a login within the iPhone Developer program here: http://developer.apple.com/programs/iphone/

2.Codd, E.F. (1970) A relational model of data for large shared data banks. Communications of the ACM 13:6, 377–87.

3.Coombs, J.H. Renear, A.H. & DeRose, S.J. (1987) Markup systems and the future of scholarly text processing. Communications of the ACM 30:11, 933–47.

4.Bolter, J.D. & Grusin, R.A. (2000) Remediation: Understanding new media. Cambridge, MA: MIT Press, p. 19.