25
Bookfriend An introduction to the third year project of Carrie Hall

Bookfriend

Embed Size (px)

DESCRIPTION

For my third year University project I am building an Android application that creates companion guides to books.

Citation preview

Page 1: Bookfriend

BookfriendAn introduction to the third year project of Carrie Hall

Page 2: Bookfriend

Outline

Context Application Project

Page 3: Bookfriend

Project Description

To design and develop a Google Android application

which creates a companion guide for any book

instantly and seamlessly from a wide range of sources

wherever the user may be.

Page 4: Bookfriend

Mashups

• Interactive web applications using content from multiple data sources

• Mashups create a new and innovative way of presenting data

Mashup (creates new view of data)

API’sRequest(REST, SOAP, AJAX)

Response(XML, JSON)

screen scrapingWebsite(text or

multimedia)

Page 5: Bookfriend

Mashup examples

SearchTheWebhttp://jurgenbrandse.nl/search/

Reading Radarhttp://readingradar.com/

Woozorhttp://woozor.com/

Page 6: Bookfriend

Mashup restrictions

• Limitation of public data• Reliability• Copyright• Data cleansing• Data meaning

Page 7: Bookfriend

Google Android

• Rapidly gaining share of smart-phone market• Open source with Apache License• Over 100,000 applications available for download

Oct '09 Dec '10 Jan '10 Feb '10 May '10 Jun '10 Sep '10 Nov '100

10

20

30

40

50

RIM Apple Microsoft Google Palm

%

Source: www.comscore.com

Mobilesubscribers

Page 8: Bookfriend

Android technologies

• Java and XML• Dalvik compiler and virtual machine• Core functionality capabilities• Location services

Applications

Dalvik VM

Linux 2.6.x(Kernel)

XMLlayout

Javacode

XML resources

Page 9: Bookfriend

Next stage..

Context Application Project

Page 10: Bookfriend

John Price ‘BookSnippets’

Page 11: Bookfriend

Comparison of John’s project

Quality

Quantity

Interactivity

Performance

My project John's project

Page 12: Bookfriend

Step-by-step

User enters a book, ISBN or

author

System displays most likely book to

user

User confirms book

System shows results to the user as they

come in

book title

Page 13: Bookfriend

Recommendations

Bookfriend - informational

Locations

Author Themes

Reviews

Localisation

Saving guides

Barcode scanningSearch books by location

Bookfriend - participationBookfriend – extra features

Page 14: Bookfriend

Screen Designs

Page 15: Bookfriend

Uses of bookfriend

Social Academic

InformationalFind similar booksLeave reviews

Book reportsHistorical background

Page 16: Bookfriend

System architecture

Screens

API’s

Book MashupFaçade

Façade design pattern getReviews()getSummaries()getAuthorInformation()

Page 17: Bookfriend

Data quality problem

How can the system react to ‘bad’ data, and how can it make it better?

User validation Data fallback

Page 18: Bookfriend

Context

Application

Project

Next stage…

Page 19: Bookfriend

Development

Requirements

Design

Implementation

Review

Iterative development using phases

Basecamp project management tool

Page 20: Bookfriend

Project plan

Key datesAPI’s20.12.2010

Localisation10.1.2011

Social interactivity 31.01.2011

Persistent storage20.02.2011

Page 21: Bookfriend

Progress

Screen setup

September October November December January February

Search by Location Scanning

Api Integration Api Integration

Localisation

Persistent storage

Social Interactivity

Completed Not completed

Page 22: Bookfriend

Learning outcomes

Practical Skills:• Java / XML• Web services and API’s• Android framework

Knowledge gain:• Project planning• Software engineering

Page 23: Bookfriend

Context Application Project

Summary

Page 24: Bookfriend

Further reading

@bookfriendappBlogbookfriend.posterous.com

www.bookfriend.co.uk

Page 25: Bookfriend

Any questions?