SlideShare for the iPad
                             Tarik Bilgin
                            Robin Kansara


            ...
www.slideshare.net

                    • Community website
                    • The ‘YouTube’ of slideshow presentations...
Project Vision

                    • To create an iPad application
                    • Using slideshare.net as a data s...
SlideShare API

                    • REST API
                    • XML over HTTP
                    • number of methods...
Search Method URL

                    •    http://www.slideshare.net/api/2/search_slideshows?
                         ap...
Sample XML Response
           <Slideshows>
           <Slideshow>
             <ID>{ slideshow id }</ID>
             <De...
Demo




Thursday, May 20, 2010
XML Parsing
                    •    Tree parse vs Event Parse

                    •    Event parse, because memory effici...
UI Design Basics

                    • We want to use the large screen
                    • UITabBarController for user ...
UI Design Process
                    • UITableViewController
                     • Rejected - designed for small screen
...
YouTube on iPad




Thursday, May 20, 2010
AQGridView

                    • to our rescue from iPadDevCamp San Jose
                    • Jim Dovey, open sourced
  ...
Grid View
                         Implementation




Thursday, May 20, 2010
An Observation
                    •    Asynchronous vs. Synchronous network communication

                    •    Apple...
Synchronous Demo




Thursday, May 20, 2010
Upcoming SlideShare
Loading in...5
×

Slideshare presentation

630

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
630
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Slideshare presentation

  1. 1. SlideShare for the iPad Tarik Bilgin Robin Kansara SJSU CMPE 277 Prof. Dan Harkey Thursday, May 20, 2010
  2. 2. www.slideshare.net • Community website • The ‘YouTube’ of slideshow presentations • users upload and share • users search, browse, and view Thursday, May 20, 2010
  3. 3. Project Vision • To create an iPad application • Using slideshare.net as a data source • As iPhone devs wanted to experience iPad development • Explore iPad UI Design paradigms Thursday, May 20, 2010
  4. 4. SlideShare API • REST API • XML over HTTP • number of methods supported • search method implemented Thursday, May 20, 2010
  5. 5. Search Method URL • http://www.slideshare.net/api/2/search_slideshows? api_key=WFb6FGbR&ts=1274391804&hash=4feb64060786d3a51747b9974e 3d5a0a81e82151&q=mobiles • API key = WFb6FGbR • timestamp = 1274391804 • HMAC = 4feb64060786d3a51747b9974e3d5a0a81e82151 • search string = mobiles Thursday, May 20, 2010
  6. 6. Sample XML Response <Slideshows> <Slideshow> <ID>{ slideshow id }</ID> <Description>{ slideshow description }</Description> <Status>{ 0 if queued for conversion, 1 if converting, 2 if converted,3 if conversion failed } </Status> <Username>{ username }</Username> <URL>{ web permalink }</URL> <ThumbnailURL>{ thumbnail URL }</ThumbnailURL> <ThumbnailSmallURL> { URL of smaller thumbnail } </ThumbnailSmallURL> <Embed>{ embed code }</Embed> <Created>{ date slideshow created }</Created> <Language> { language, as specified by two-letter code } </Language> <Format>ppt (or pdf, pps, odp, doc, pot, txt, rdf) </Format> <Download>{ 1 if available to download, else 0 }</Download> </Slideshow> ... </Slideshows> Thursday, May 20, 2010
  7. 7. Demo Thursday, May 20, 2010
  8. 8. XML Parsing • Tree parse vs Event Parse • Event parse, because memory efficiency/speed • NSXMLParser - delegate methods • parser:didStartElement:namespaceURI:qualified Name:attributes: • parser:foundCharacters: • parser:didEndElement:namespaceURI:qualifiedN ame: Thursday, May 20, 2010
  9. 9. UI Design Basics • We want to use the large screen • UITabBarController for user stories • UINavigationController for navigation within each use case Thursday, May 20, 2010
  10. 10. UI Design Process • UITableViewController • Rejected - designed for small screen • UISplitViewController • Rejected - not suitable for this scenario • YouTube app UI style • Approved - but not documented! Thursday, May 20, 2010
  11. 11. YouTube on iPad Thursday, May 20, 2010
  12. 12. AQGridView • to our rescue from iPadDevCamp San Jose • Jim Dovey, open sourced • limited documentation • Subclasses UIScrollView Thursday, May 20, 2010
  13. 13. Grid View Implementation Thursday, May 20, 2010
  14. 14. An Observation • Asynchronous vs. Synchronous network communication • Apple recommends Asynchronous for a better user experience • Many developers avoid it at first • more complicated to implement • much simpler than traditional threading • callbacks to delegate methods • connectionDidFinishLoading • connectionDidReceiveResponse Thursday, May 20, 2010
  15. 15. Synchronous Demo Thursday, May 20, 2010
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×