Sams Teach Yourself Adobe(r) AIR Programming in 24 Hours [NOOK Book]

Overview

This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

Sams Teach Yourself Adobe® AIR™ Programming in 24 Hours

Michael Givens

Covers version 1.5 of Adobe AIR

In just 24 sessions of one hour or less, you will be up and running with Adobe AIR 1.5. Using a ...

See more details below
Sams Teach Yourself Adobe(r) AIR Programming in 24 Hours

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK
  • NOOK HD/HD+ Tablet
  • NOOK
  • 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

Want a NOOK? Explore Now

NOOK Book (eBook)
$13.49
BN.com price
(Save 43%)$23.99 List Price

Overview

This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

Sams Teach Yourself Adobe® AIR™ Programming in 24 Hours

Michael Givens

Covers version 1.5 of Adobe AIR

In just 24 sessions of one hour or less, you will be up and running with Adobe AIR 1.5. Using a straightforward, step-by-step approach, each lesson builds upon a real-world foundation allowing you to learn the essentials of Adobe AIR from the ground up.

Step-by-step instructions carefully walk you through the most common Adobe AIR 1.5 tasks.

Quizzes and Exercises at the end of each chapter help you test your knowledge of Adobe AIR 1.5.

By the Way notes present interesting information related to the discussion.

Did You Know? tips offer advice or show you alternative ways to do something.

Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.

Learn how to…

  • Utilize the AIR SDK
  • Write an AIR application with HTML
  • Write an AIR application with Flash CS3 or Dreamweaver CS3
  • Write an AIR application with PDF integration
  • Debug an AIR application
  • Distribute an AIR application
  • Use the AIR APIs
  • Leverage server-side features for AIR

Michael Givens is the CTO of U Saw It Enterprises, a Web technology consulting firm based in Spring, Texas. He is an Adobe Community Expert and an Adobe Corporate Champion known to share his experience and evangelism of all things Adobe. Certified in ColdFusion 5 and as an Advanced CFMX Developer, he has been using ColdFusion since the days of Allaire Spectra and Flex since it was known as Royale. He is the coauthor of Adobe AIR Programming Unleashed (Sams Publishing) and has written articles for the ColdFusion Developer’s Journal and the Flex Developer’s Journal. He also wrote a digital Short Cut titled Apollo in Flight for Sams Publishing. Michael blogs regularly at flexination.info.

Category: Programming/Application Development

Covers: Adobe AIR

User Level: Beginning–Intermediate

Read More Show Less

Product Details

  • ISBN-13: 9780768685732
  • Publisher: Pearson Education
  • Publication date: 12/21/2008
  • Series: Sams Teach Yourself
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 432
  • File size: 11 MB
  • Note: This product may take a few minutes to download.

Meet the Author

Michael Givensis the CTO of U Saw It Enterprises, a Web technology consulting firm based in Spring, Texas. He is an Adobe Community Expert and an Adobe Corporate Champion known to share his experience and evangelism of all things Adobe. Certified in both ColdFusion 5 and as an Advanced CFMX Developer, he has been using ColdFusion since the days of Allaire Spectra and Flex since it was known as Royale. He is the co-author of Adobe AIR Programming Unleashed (Sams Publishing) and has written articles for the ColdFusionDeveloper’s Journal and the Flex Developer’s Journal. He also wrote a digital Short Cut titled Apollo in Flight for Sams Publishing. Michael blogs regularly at flexination.info.

Read More Show Less

Read an Excerpt

IntroductionIntroduction

The Adobe Integrated Runtime (AIR) is a new product from Adobe, released in the spring of 2008. It allows web developers and web designers to use the skills they already have to build rich desktop applications. Revolutionary in many ways, AIR is a cross-operating system runtime that is light-weight yet powerful. Many naysayers might comment that AIR gives you a capability that is already covered in competing products (you can build desktop applications with other tools). But AIR excels in its easy-to-learn application programming interface (API) and in its capability to take existing web applications and add powerful desktop features that are either impossible to do from a browser or prone to browser differences, making them difficult to code. AIR applications, often called rich desktop applications, are springing up all over the Internet. Take a moment and use your favorite search engine to search "Adobe AIR applications". As of this writing, more than 159,000 results come back with these search keywords (double-quoted) on Google. AIR applications can be written in Adobe Flex, Adobe Flash, HTML, in a combination of HTML/JavaScript, or AJAX—the same skills you use today. In the next 24 hours, after reading SamsTeach Yourself Adobe AIR Programming in 24 Hours, you can start building for the desktop today. It's that easy.

This book gives you the knowledge, from a professional developer's perspective, of just how easy it is to program for AIR. From installing the AIR runtime to leveraging popular integrated development environments (IDEs), from creating your AIR applications to packaging and deploying them to end users, from debugging AIR applications to profiling them for improving performance, each hour presents you with new, important concepts, reinforced with a workshop, hands-on section at the end of each chapter.

The first 10 hours of chapters introduce you to getting started with AIR, and include the following topics:

  • In Hour 1, "Taking in a Deep Breath of AIR," you'll learn about the pieces that make up AIR, who benefits from AIR's easy-to-grasp learning curve, a short history lesson about AIR, and just how big AIR is expected to be.
  • In Hour 2, "Ready to Install AIR," safety considerations for the AIR runtime are discussed, along with differences for your operating system (Windows, Mac OS X, and Linux), and how to install the AIR runtime on the different operating systems.
  • In Hour 3, "Harnessing the AIR SDK," you learn about the AIR software development kit (AIR SDK), including using the Adobe AIR Debug Launcher (ADL), using the Adobe AIR Developer Tool (ADT), and creating a badge (seamless) installer for AIR application deployment.
  • In Hour 4, "Preparing to Build Your First AIR Application," you learn about the Adobe suite of tools recommended for building AIR applications, including Flex Builder 3, Flash CS3 Professional, and Dreamweaver CS3, as well as a third-party IDE, Aptana Studio.
  • In Hour 5, "Writing Your First AIR Application with Flex 3," you see how to use Flex Builder 3 to build an AIR application. You will walk through building a Hello AIR World application, testing it, and packaging it for deployment.
  • In Hour 6, "Writing an AIR Application with HTML," you see how HTML and HTML/JavaScript or AJAX can be used to build AIR applications.
  • In Hour 7, "Writing an AIR Application with Flash CS3 or Dreamweaver CS3," you see how to use Flash CS3 Professional and Dreamweaver CS3 to build AIR applications, test them, and package them for deployment.
  • In Hour 8, "Writing an AIR Application with PDF Integration," you learn how to add PDFs to your AIR applications and how these integrated PDFs can be controlled within the AIR API.
  • In Hour 9, "Debugging AIR Applications," you learn about debugging your AIR applications, including debugging with the Flex Builder Debugger, the Flash Debugger, the AIR HTML Introspector, and even some third-party debugging tools.
  • In Hour 10, "Distributing Your AIR Application," you see additional information about packaging and distributing your AIR applications, including suggestions on where to distribute them.

The next nine chapters introduce you to the AIR APIs and include the following topics:

  • In Hour 11, "Opening Doors with AIR," you discover how to open one or more windows for your AIR application's user interface.
  • In Hour 12, "Screening an AIR Application," you learn how to control the screens and the screen real estate that your AIR applications utilize.
  • In Hour 13, "File This API with AIR," you get a first-hand look at the AIR File API and how you can interact with the files and folders on the end user's file system.
  • In Hour 14, "Drag and Drop, Copy and Paste in AIR," you learn the capabilities of the AIR API related to drag and drop and copy and paste, two must-have capabilities for a professional desktop application.
  • In Hour 15, "AIR and the Natives," you see how to build native menus on Windows and the Mac OS.
  • In Hour 16, "Connectivity with AIR Networking," you learn how to detect an end user's connectivity to a network or the Internet and how to transition from a connected to a non-connected state in your AIR applications.
  • In Hour 17, "Local Data in an AIR Application," you discover how you can leverage a SQLite local database as an AIR application's data repository.
  • In Hour 18, "Encryption and Security in AIR," you learn about AIR's encryption and security features.
  • In Hour 19, "AIR and User Notifications," you see how AIR can access the operating system's notification capabilities to build a full-featured desktop application.

The final five chapters discuss some important development-related topics for many AIR applications as follows:

  • In Hour 20, "Leveraging Server-Side Features for AIR," you see examples of connecting an AIR desktop application to a server-side infrastructure.
  • In Hour 21, "Building an AIR Application," you see a step-by-step walkthrough of building an AIR application that can help you continue learning more about the AIR API.
  • In Hour 22, "Signing AIR Applications," you learn more about the digital code-signing of AIR applications.
  • In Hour 23, "Updating AIR Applications After Deployment," you discover strategies for updating AIR applications, including suggestions for dynamic updates using a form of pull technology.
  • In Hour 24, "Where Do I Go from Here?" you read some suggestions on how to continue learning about and improving your understanding of AIR.

Appendix A includes details about downloading an AIR Flex 3 API as an AIR application and how to re-create the most recent AIR Flex 3 API as an AIR application.

Appendix B includes a compilation of useful AIR-related links to help you continue to learn and improve your AIR applications.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Table of Contents

Introduction

Part I: Getting Started with AIR

HOUR 1: Taking in a Deep Breath of AIR

What Is the Adobe Integrated Runtime?

Who Benefits from AIR?

A Short History Lesson—From the Adobe Apollo Camp to AIR 1.5

Just How Big Is AIR Going To Be?

Workshop

Q&A

Exercises

HOUR 2: Ready to Install AIR

Safety Considerations for the AIR Runtime

Differences for Your Operating System: Windows, Mac OS X, and Linux

Installing the AIR Runtime

AIR Runtime Installation for Windows

AIR Runtime Installation for Mac OS X

AIR Runtime Installation for Linux

Installing the AIR SDK

AIR SDK Installation for Windows

AIR SDK Installation for Mac OS X

AIR SDK Installation for Linux

Components of the AIR SDK

Finishing the Job

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 3: Harnessing the AIR SDK

Using the Adobe AIR Debug Launcher

Using the Adobe AIR Developer Tool

Creating a Badge (Seamless) Installer

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 4: Preparing to Build Your First AIR Application

How to Use Flex Builder 3 for AIR Development

How to Use Flash CS3 Pro for AIR Development

How to Use Dreamweaver CS3 for AIR Development

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 5: Writing Your First AIR Application with Flex 3

Creating the Flex Project—Desktop AIR Application

Meet the AIR Application Descriptor

Assigning the Basic Application Descriptor Information

Assigning the Properties of the Initial AIR Application Window

Assigning the Installation Folder and Program Menu Folder

Defining a Custom User Interface for Application Updates

Toggling the Browser Invocation of the AIR Application

Registering New File Type Associations for Your AIR Application

The Code, Test, and Repeat Process

Meet the WindowedApplication Tag

Meet the Script Tag: Imports and Declarations

Meet the initApp() Function

Summing Up the initApp() Function

Meet the Timer Functions

Meet the startHelloTimer() Function

Finishing Up with the Script Tag

Meet the ConnectionStatus and BridgeSound Classes

Completing the UI Picture

Packaging a Release Build

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 6: Writing an AIR Application with HTML

Creating a Desktop AIR Application with HTML

Accessing the AIR Classes with JavaScript

A Few Cautionary Words About Security

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 7: Writing an AIR Application with Flash CS3 or Dreamweaver CS3

Choosing the Right IDE for the Job

Creating a Desktop AIR Application with Flash CS3

Creating a Desktop AIR Application with Dreamweaver CS3

Creating a Site with Dreamweaver CS3

Creating the Main Application with Dreamweaver CS3

Modifying the Application Descriptor

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 8: Writing an AIR Application with PDF Integration

PDF Capability Detection in an AIR Application

Loading PDF Content into an AIR Application

Limitations for PDF Content in an AIR Application

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 9: Debugging AIR Applications

Using the Adobe Flex Builder Debugger

Using the Adobe AIR Debug Launcher to Debug

Using Third-Party Tools to Debug

Using the Adobe AIR HTML Introspector

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 10: Distributing Your AIR Application

Installing an AIR Application in a One-Off Approach

Installing AIR Applications Seamlessly from a Web Page

Digitally Signing and Creating an AIR Installation File

Packaging a Release Build in Flex Builder 3

Packaging a Release Build with Dreamweaver CS3

Packaging a Release Build with Flash CS3 Professional

Packaging a Release Build with the AIR SDK and the ADT

Workshop

Q&A

Quiz

Answers

Exercises

Part II: Using the AIR APIs

HOUR 11: Opening Doors with AIR

Creating Windows Using the NativeWindow Class

Creating Windows Using the mx.core.Window Class

Creating Custom Windows

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 12: Screening an AIR Application

Introduction to Working with Screens

Determining Screen Resolution

Positioning Screens Programmatically

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 13: File This API with AIR

Introduction to the AIR File API

Meet the File Class

Meet Some Other Class Members

Working with Directories

Reading and Writing Files

Reading Files from the File System

Writing Files to the File System

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 14: Drag and Drop, Copy and Paste in AIR

Introduction to the Drag-and-Drop API

Meet the Drag Event

Leveraging the nativeDragStart Event

Leveraging the nativeDragUpdate Event

Leveraging the nativeDragComplete Event

Meet the Drop Event

Introduction to the Copy-and-Paste API

Meet the Copy Event

Deferring Creation or Rendering of the Clipboard Data

Meet the Paste Event

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 15: AIR and the Natives

Introduction to the NativeMenu Class

Meet the FlexNativeMenu Class

Working with Application Menus

Working with Window Menus

Creating Dock Icon Menus

Creating System Tray Icon Menus

Creating Context Menus

Creating Pop-up Menus

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 16: Connectivity with AIR Networking

Introduction to Connectivity

Meet the HTTPStatusEvent Class

Meet the NetStatusEvent Class

Meet the Loader Class

Meet the ServiceMonitor Class

Meet the URLMonitor Class

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 17: Local Data in an AIR Application

Introduction to Local Data Concepts

Writing Data to the File System

Meet the Local Shared Object

Meet the Local SQL Database

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 18: Encryption and Security in AIR

Storing Encrypted Data

Getting Started

Logging In

Clearing the Username Credential

Signing Your AIR Code

Timestamping Your AIR Code

Signing with a Digital Certificate

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 19: AIR and User Notifications

Creating Status Bar Notifications

Creating Taskbar Highlighting

Creating Toast Messages

Creating a System Tray Icon

Bouncing the Mac OS Dock Icon

Workshop

Q&A

Quiz

Answers

Exercises

Part III: Developing AIR Applications

HOUR 20: Leveraging Server-Side Features for AIR

Leveraging Remoting

Leveraging Web Services

Leveraging HTTP Communication

Leveraging Messaging

Workshop

Q&A

Quiz.

Answers

Exercises

HOUR 21: Building an AIR Application

Deciding on an Application

Selecting Application Features

Architecting Your Application

Coding Your Application

Initializing the Application

Searching for a Flight

Displaying the Flight Information

Displaying the Archived Flight Information

Replaying an Archived Flight

Displaying a PDF in an HTML Control

Monitoring the Internet Connection

Retrieving the Server-Side Data

Workshop

Exercises

HOUR 22: Signing AIR Applications

Meet the Certificate Authorities

Obtaining a Certificate

Leveraging a Publisher Identifier

Using a Timestamping Server

Workshop

Q&A

Quiz

Answers

Exercises

HOUR 23: Updating AIR Applications After Deployment

Using the Updater Class

Updating an AIR application

Updating AIR Applications Remotely

Workshop

Q&A

Quiz.

Answers

Exercises

HOUR 24: Where Do I Go from Here?

Using the AIR Documentation

Meet the Adobe Developer Connection

Home

Getting Started

Samples

Downloads

Community

Cookbook (Beta)

Meet the Adobe XML News Aggregator for AIR

Meet the Adobe AIR Marketplace

Workshop

Exercises

Part IV: Appendixes

APPENDIX A: AIR and Flex 3 API Reference 395

APPENDIX B: Additional Resources for AIR Developers 397

067233030x TOC 10/21/2008

Read More Show Less

Preface

Introduction

The Adobe Integrated Runtime (AIR) is a new product from Adobe, released in the spring of 2008. It allows web developers and web designers to use the skills they already have to build rich desktop applications. Revolutionary in many ways, AIR is a cross-operating system runtime that is light-weight yet powerful. Many naysayers might comment that AIR gives you a capability that is already covered in competing products (you can build desktop applications with other tools). But AIR excels in its easy-to-learn application programming interface (API) and in its capability to take existing web applications and add powerful desktop features that are either impossible to do from a browser or prone to browser differences, making them difficult to code. AIR applications, often called rich desktop applications, are springing up all over the Internet. Take a moment and use your favorite search engine to search "Adobe AIR applications". As of this writing, more than 159,000 results come back with these search keywords (double-quoted) on Google. AIR applications can be written in Adobe Flex, Adobe Flash, HTML, in a combination of HTML/JavaScript, or AJAX—the same skills you use today. In the next 24 hours, after reading SamsTeach Yourself Adobe AIR Programming in 24 Hours, you can start building for the desktop today. It's that easy.

This book gives you the knowledge, from a professional developer's perspective, of just how easy it is to program for AIR. From installing the AIR runtime to leveraging popular integrated development environments (IDEs), from creating your AIR applications to packaging and deploying them to end users, from debugging AIR applications to profiling them for improving performance, each hour presents you with new, important concepts, reinforced with a workshop, hands-on section at the end of each chapter.

The first 10 hours of chapters introduce you to getting started with AIR, and include the following topics:

  • In Hour 1, "Taking in a Deep Breath of AIR," you'll learn about the pieces that make up AIR, who benefits from AIR's easy-to-grasp learning curve, a short history lesson about AIR, and just how big AIR is expected to be.
  • In Hour 2, "Ready to Install AIR," safety considerations for the AIR runtime are discussed, along with differences for your operating system (Windows, Mac OS X, and Linux), and how to install the AIR runtime on the different operating systems.
  • In Hour 3, "Harnessing the AIR SDK," you learn about the AIR software development kit (AIR SDK), including using the Adobe AIR Debug Launcher (ADL), using the Adobe AIR Developer Tool (ADT), and creating a badge (seamless) installer for AIR application deployment.
  • In Hour 4, "Preparing to Build Your First AIR Application," you learn about the Adobe suite of tools recommended for building AIR applications, including Flex Builder 3, Flash CS3 Professional, and Dreamweaver CS3, as well as a third-party IDE, Aptana Studio.
  • In Hour 5, "Writing Your First AIR Application with Flex 3," you see how to use Flex Builder 3 to build an AIR application. You will walk through building a Hello AIR World application, testing it, and packaging it for deployment.
  • In Hour 6, "Writing an AIR Application with HTML," you see how HTML and HTML/JavaScript or AJAX can be used to build AIR applications.
  • In Hour 7, "Writing an AIR Application with Flash CS3 or Dreamweaver CS3," you see how to use Flash CS3 Professional and Dreamweaver CS3 to build AIR applications, test them, and package them for deployment.
  • In Hour 8, "Writing an AIR Application with PDF Integration," you learn how to add PDFs to your AIR applications and how these integrated PDFs can be controlled within the AIR API.
  • In Hour 9, "Debugging AIR Applications," you learn about debugging your AIR applications, including debugging with the Flex Builder Debugger, the Flash Debugger, the AIR HTML Introspector, and even some third-party debugging tools.
  • In Hour 10, "Distributing Your AIR Application," you see additional information about packaging and distributing your AIR applications, including suggestions on where to distribute them.

The next nine chapters introduce you to the AIR APIs and include the following topics:

  • In Hour 11, "Opening Doors with AIR," you discover how to open one or more windows for your AIR application's user interface.
  • In Hour 12, "Screening an AIR Application," you learn how to control the screens and the screen real estate that your AIR applications utilize.
  • In Hour 13, "File This API with AIR," you get a first-hand look at the AIR File API and how you can interact with the files and folders on the end user's file system.
  • In Hour 14, "Drag and Drop, Copy and Paste in AIR," you learn the capabilities of the AIR API related to drag and drop and copy and paste, two must-have capabilities for a professional desktop application.
  • In Hour 15, "AIR and the Natives," you see how to build native menus on Windows and the Mac OS.
  • In Hour 16, "Connectivity with AIR Networking," you learn how to detect an end user's connectivity to a network or the Internet and how to transition from a connected to a non-connected state in your AIR applications.
  • In Hour 17, "Local Data in an AIR Application," you discover how you can leverage a SQLite local database as an AIR application's data repository.
  • In Hour 18, "Encryption and Security in AIR," you learn about AIR's encryption and security features.
  • In Hour 19, "AIR and User Notifications," you see how AIR can access the operating system's notification capabilities to build a full-featured desktop application.

The final five chapters discuss some important development-related topics for many AIR applications as follows:

  • In Hour 20, "Leveraging Server-Side Features for AIR," you see examples of connecting an AIR desktop application to a server-side infrastructure.
  • In Hour 21, "Building an AIR Application," you see a step-by-step walkthrough of building an AIR application that can help you continue learning more about the AIR API.
  • In Hour 22, "Signing AIR Applications," you learn more about the digital code-signing of AIR applications.
  • In Hour 23, "Updating AIR Applications After Deployment," you discover strategies for updating AIR applications, including suggestions for dynamic updates using a form of pull technology.
  • In Hour 24, "Where Do I Go from Here?" you read some suggestions on how to continue learning about and improving your understanding of AIR.

Appendix A includes details about downloading an AIR Flex 3 API as an AIR application and how to re-create the most recent AIR Flex 3 API as an AIR application.

Appendix B includes a compilation of useful AIR-related links to help you continue to learn and improve your AIR applications.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

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

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