iPhone Cool Projects

( 3 )

Overview

The iPhone and iPod touch have provided all software developers with a level playing field—developers working alone have the same access to consumers as multinational software publishers. Very cool indeed! To make your application stand out from the crowd, though, it has to have that something extra. You must learn the skills to take your apps from being App Store filler to download chart-topping blockbusters.

Developers with years of experience helped write this book. Spend ...

See more details below
Paperback
$25.00
BN.com price
(Save 37%)$39.99 List Price
Other sellers (Paperback)
  • All (72) from $1.99   
  • New (20) from $2.95   
  • Used (52) from $1.99   
iPhone Cool Projects

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$17.99
BN.com price
(Save 43%)$31.99 List Price

Overview

The iPhone and iPod touch have provided all software developers with a level playing field—developers working alone have the same access to consumers as multinational software publishers. Very cool indeed! To make your application stand out from the crowd, though, it has to have that something extra. You must learn the skills to take your apps from being App Store filler to download chart-topping blockbusters.

Developers with years of experience helped write this book. Spend some time understanding their code and why they took the approach they did. You will find the writing, illustrations, code, and sample applications second to none. No matter what type of application you are writing, you will find something in this book to help you make your app that little bit cooler.

The book opens with Wolfgang Ante, the developer behind the Frenzic puzzle game, showing how timers, animation, and intelligence are used to make game play engaging. It moves on to Rogue Amoeba's Mike Ash explaining how to design a network protocol using UDP, and demonstrating its use in a peer-to-peer application—a topic not normally for the faint of heart, but explained here in a way that makes sense to mere mortals. Gary Bennett then covers the important task of multithreading. Multithreading can be used to keep the user interface responsive while working on other tasks in the background. Gary demonstrates how to do this and highlights traps to avoid along the way.

Next up, Canis Lupus (aka Matthew Rosenfeld) describes the development of the Keynote-controlling application Stage Hand, how the user interface has evolved, and the lessons he has learned from that experience. Benjamin Jackson then introduces two open source libraries: cocos2d, for 2D gaming; and Chipmunk, for rigid body physics (think “collisions”). He describes the development of Arcade Hockey, an air hockey game, and explains some of the code used for this.

Neil Mix of Pandora Radio reveals the science behind processing streaming audio. How do you debug what you can't see? Neil guides you through the toughest challenges, sharing his experience of what works and what to watch out for when working with audio. Finally, Steven Peterson demonstrates a comprehensive integration of iPhone technologies. He weaves Core Location, networking, XML, XPath, and SQLite into a solid and very useful application.

Software development can be hard work. Introductory books lay the foundation, but it can be challenging to understand where to go next. This book shows some of the pieces that can be brought together to make complete, cool applications.

What you’ll learn

  • Add multitouch controls to your applications.
  • Detect motion for spatial application interaction.
  • Build applications that use both Wi-Fi and cellular connections.
  • Understand and use GPS information for geo-location.
  • Use the built-in microphone and play sounds and alerts.
  • Optimize your use of limited screen real estate.


Who this book is for

All iPhone application developers with any level of experience or coming from any development platform.

Table of Contents

  1. Designing a Simple, Frenzic-Style Puzzle Game
  2. Mike Ash’s Deep Dive Into Peer-to-Peer Networking
  3. Doing Several Things at Once: Performance Enhancements with Threading
  4. All Fingers and Thumbs: Multitouch Interface Design and Implementation
  5. Physics, Sprites, and Animation with the cocos2d-iPhone Framework
  6. Serious Streaming Audio the Pandora Radio Way
  7. Going the Routesy Way with Core Location, XML, and SQLite


Read More Show Less

Product Details

  • ISBN-13: 9781430223573
  • Publisher: Apress
  • Publication date: 8/13/2009
  • Edition number: 1
  • Pages: 240
  • Product dimensions: 7.00 (w) x 9.10 (h) x 0.60 (d)

Meet the Author

Gary Bennett is president of xcelMe.com. xcelMe teaches iPhone/iPad programming courses online. Gary has taught hundreds of students how to develop iPhone/iPad apps, and has several very popular apps on the iTunes App Store. Gary's students have some of the best-selling apps on the iTunes App Store. Gary also worked for 25 years in the technology and defense industries. He served 10 years in the U.S. Navy as a nuclear engineer aboard two nuclear submarines. After leaving the Navy, Gary worked for several companies as a software developer, chief information officer, and resident. As CIO, he helped take VistaCare public in 2002. Gary also co-authored iPhone Cool Projects for Apress. Gary lives in Scottsdale, Arizona with his wife, Stefanie, and their four children.

Michael Ash is a 20-something world traveler and Mac programmer working for Rogue Amoeba. He has a bachelor's degree in computer science from the University of Wisconsin-Milwaukee and a master's degree in computer science from the Universit d'Orl ans. He currently resides in the Washington, D.C., area and is a glider pilot.

David Peterson is a solution architect with Microsoft Consulting Services specializing in enterprise application architecture and development. He has 18 years of experience in software development with both Microsoft and a large Canadian retail organization, and has extensive experience is architecting, building and deploying enterprise scale applications in mission critical environments for financial institutions, government and corporate organizations.

David is a Microsoft Certificated Solution Developer focusing on technologies such as Microsoft .NET Framework, Commerce Server, SQL Server, Visual C#, Visual Basic, Windows Communication Foundation, Windows Workflow, Smart Client and ASP.NET web development.

James Bennett is a web developer for the World Company of Lawrence, Kansas, and is a major contributor to the Django project. His current role within the Django community is as the software project's release manager.

Read More Show Less

Table of Contents

About the Lead Author xi

About the Technical Consultant xiii

Acknowledgments xv

Introduction xviii

Chapter 1 Designing a Simple, Frenzic-Style Puzzle Game Wolfgang Ante 3

Creating Frenzic 3

Introducing Formic 5

Exploring the Formic Code 6

Setting Up the Project 8

Coding the Game Object 10

Coding the View Controller 18

Coding the Background View 21

Adding iPhone-Specific Functionality 22

Summary 25

Chapter 2 Mike Ash's Deep Dive Into Peer-to-Peer Networking Mike Ash 29

Planning a Simple Collaborative Game 30

Building the GUI 30

Networking the Game 35

Defining the Networking Goals 35

Designing the Network Code 36

Understanding Endianness 40

Coding the Networking 41

Integrating Networking and the GUI 50

Summary 53

Chapter 3 Doing Several Things at Once: Performance Enhancements with Threading Gary Bennett 57

Beginning to Write Threading Applications 59

Knowing When to Thread 59

Understanding Threading Basics 61

Avoiding Threading Pitfalls 63

Writing the Thread the Needle Application 65

Building Our Application 65

Creating a Thread 72

Implementing a Critical Section 76

Stopping Multiple Threads at Once 77

Summary 77

Chapter 4 All Fingers and Thumbs: Multitouch Interface Design and Implementation Matthew "Canis" Rosenfeld 81

Looking at the iPhone's Capabilities 82

Designing for Multitouch 84

Exploring the Multitouch API 87

Handling Events 87

Recognizing Gestures 89

Implementing Multitouch Controls 92

Handling Touches 94

Deciding What Movement Means 97

Applying the Movement 99

Applying Weight and Inertia 100

Tying Up Loose Ends 102

Summary 103

Chapter 5 Physics, Sprites, and Animation withthe cocos2d-iPhone Framework Benjamin Jackson 107

Getting Started with Game Programming 108

Introducing OpenGL ES 109

Introducing cocos2d and Chipmunk 109

Developing Arcade Hockey 109

Tracking the User's Finger 112

Detecting Collisions 114

Simulating 3D Lighting in 2D Space 118

Creating a Simple Application 119

Setting Up the Xcode Project 119

Setting the Scene 121

Creating the Game Layer 122

Summary 129

Chapter 6 Serious Streaming Audio the Pandora Radio Way Neil Mix 133

Choosing to Develop for the iPhone 133

Introducing Pandora Radio's Technology 134

Grasping the Basics of Audio Development 134

Managing Complexity 136

Outlining Our Sample Application 136

Streaming Audio 137

Keeping Your Code Format Agnostic 138

Using Envelopes and Encoding 138

Designing Our Sample Application 139

Implementing the Player 141

AudioSession 142

AudioRequest 143

AudioFile Stream 145

AudioQueue 147

AudioPlayer 147

Ending with a New Journey 148

Falling Behind in a Slow Network 148

Dropped Connections 150

Minimizing Gaps Between Songs 151

Resuming a Song 151

Improving Application Responsiveness 151

Finding Help Resources 152

Testing: Saving the Best for Last 152

Summary 153

Chapter 7 Going the Routesy Way with Core Location, XML, and SQLite Steven Peterson 157

Starting from Scratch 158

Assessing the Application Requirements 158

Creating the Routesy User Interface and Classes 160

Bringing Real-Time Predictions to Routesy 179

Adding Location-Based Information to Routesy 191

Putting the Finishing Touches on Routesy BART 195

Summary 200

Index 203

Read More Show Less

Customer Reviews

Average Rating 3.5
( 3 )
Rating Distribution

5 Star

(1)

4 Star

(0)

3 Star

(2)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 3 Customer Reviews
  • Anonymous

    Posted December 28, 2012

    King

    I like IPhone and IPod

    Was this review helpful? Yes  No   Report this review
  • Posted October 4, 2009

    more from this reviewer

    Your next step in iPhone SDK programming

    I have to admit I initially overlooked what a great book it is, given its meager 200-page content ;)
    When I got the book, I thought: oh nice paper and colorful prints. But maybe it just looks fancy instead of offering real substance.
    I was wrong. Once I started reading, I couldn't put the book off. While reading it, it's both satisfying and addictive at the same time.
    All the chapter authors have practical real-world experience building successful iPhone apps.
    They showed you complete working programs while demonstrating their experience and expertise in their respective fields.

    Wolfgang Ante - Designing a Simple, Frenzic-Style Puzzle Game
    It shows you how a little game is built from concept to finish, with complete game flow, handling on different logic/paths, and how to use Quartz and Core Animation to build simple animations w/o using Open GL ES. I really liked how he also revealed his thought-processing in designing the game.

    Mike Ash - Mike Ash's Deep Dive Into Peer-to-Peer Networking
    Peer-to-Peer networking using Bonjour is very interesting. Mike not only showed how Bonjour/CFNetwork works, but also went ahead to build out a simple yet effective network protocol to demonstrate his point. It's very thought-provoking and reminded me poking UNIX networking stuff back in my college days. I'm very eager to try out some p2p trick in my next app after reading this chapter!

    Gary Bennett - Doing Several Things at Once: Performance Enhancements with Threading
    This chapter is a bit *easy*. It shows you how to work with multiple threads, and showed a simple program to demonstrate different points.
    However, I was expecting some more *real-world* app, instead of a toy program.

    Matthew "Canis" Rosenfeld - All Fingers and Thumbs: Multitouch Interface Design and Implementation
    Matt has done a wonderful job in explaining how to handle gesture events in great details, as well as how to make the decision of what events to use during his design of Stage Hand. This is a great chapter for anyone who wants to design how to capture their own custom gesture events.

    Benjamin Jackson - Physics, Sprites, and Animation with the cocos2d-iPhone Framework
    Cocos2d is a very popular physics game engine on iPhone. Ben leads us to the door in this chapter. Cocos2d along deserves a whole book for it.
    I really would like to have more content on this chapter. 20 pages just don't cut it ;)

    Neil Mix - Serious Streaming Audio the Pandora Radio Way
    Neil has a great piece in explaining how to design an effective audio streaming algorithm in this chapter. Coming from the Pandora team, I expect nothing but greatness from his experience and expertise. Handling slow network and dropped connection are very interesting to read.

    Steven Peterson - Going the Routesy Way with Core Location, XML, and SQLite
    This is a good chapter, comparing to others in the book. Probably I've already built apps using CoreLocation, XML Parsing and SQLite, I find it an easy read. But it's still pretty good in showing you how to build an app from start to finish.

    Overall, this little book offers more value than many 600-plus-pages of bible-books out there on the market.
    I highly recommend it to anyone who's passed the initial iPhone SDK programming newbie stage, and ready to take on more advanced features.
    I just wish this book would contain more chapters and more interesting topics. Hopefully APress can come out with a new edition?

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 30, 2009

    No text was provided for this review.

Sort by: Showing all of 3 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)