Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
LiveCode Mobile Development Cookbook
LiveCode Mobile Development Cookbook

LiveCode Mobile Development Cookbook: 90 practical recipes for creating cross-platform mobile applications with the power of LiveCode

Arrow left icon
Profile Icon Dr. Edward Lavieri Jr.
Arrow right icon
€8.99 €32.99
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.5 (11 Ratings)
eBook Sep 2014 256 pages 1st Edition
eBook
€8.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Dr. Edward Lavieri Jr.
Arrow right icon
€8.99 €32.99
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.5 (11 Ratings)
eBook Sep 2014 256 pages 1st Edition
eBook
€8.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€8.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

LiveCode Mobile Development Cookbook

Chapter 2. Human-computer Interfaces

In this chapter, we will cover the following recipes:

  • Creating a new main stack
  • Displaying web pages in your app
  • Masking user passwords
  • Including glow effects on buttons
  • Including state graphics on buttons
  • Getting an object's properties
  • Setting custom properties
  • Aligning interface objects
  • Dynamically displaying interface objects
  • Getting the user input
  • Recording user actions
  • Restricting the user input
  • Using mobile keyboards
  • Using a date picker
  • Using a time picker
  • Using effects between cards
  • Using buttons for navigation

Introduction

In this chapter, you will learn how to create and control human-computer interface objects. These objects include buttons, cards, input boxes, dialog windows, and geometric shapes. You will learn how to mask passwords and how to read, create, and change an object's properties. In addition, you will learn how to allow users to navigate between your app's cards.

Creating a new main stack

One of the most fundamental tasks in LiveCode is to create a new main stack. Every LiveCode app has a main stack, at least one card, objects, and code. In this recipe, you will learn the steps required to create a new main stack.

How to do it...

To create a new main stack, follow these steps:

  1. Open LiveCode.
  2. From the pull-down menu, select File, and then select New Main Stack.
  3. You now have a new main stack that you can start using for your mobile app. The next step is to set the stack's size properties to match the mobile environment your app will support. Using the property inspector, select Size & Position, and make the necessary adjustments based on the following table:

    Target device

    Resolution

    iPhone 3GS

    320 x 480

    iPhone 4S

    640 x 960

    iPhone 5

    1136 x 640

    iPad (1st and 2nd Gen)

    1024 x 768

    iPad (3rd Gen)

    2048 x 1536

    iPad Mini

    1024 x 768

    Android (Small screen)

    426 x 320

    Android (Normal screen)

    470 x 320

    Android (Large screen)

    640 x 480

    Android...

Displaying web pages in your app

If you need to display a live web page in your mobile app, then this recipe is for you. In this recipe, you will learn how to create a display area in your app, retrieve web data, and display that data.

How to do it...

Follow these steps to display web pages in your app:

  1. Create a new main stack.
  2. Select the stack's card and drag an image area to display the web information.
  3. Select the image and then select the Group icon on the toolbar to make the image a group.
  4. Select the group and set the following properties:
    • Name: Browser
    • Width: 312
    • Height: 390
    • Location: 160, 225
  5. At the card level, enter the following code:
    local browserID
  6. Create a preOpenCard handler with the following code:
      on preOpenCard
        mobileControlCreate "browser"
        put the result into browserID
        mobileControlSet browserID, "visible", \
              "true"
            mobileControlSet browserID, "url", \
              "http://www.packtpub.com"
          end preOpenCard...

Masking user passwords

When users enter their password, it should not be visible to anyone who might happen to be looking over the user's shoulder. This is an expected level of security. As shown in the following screenshot, not masking the password is unacceptable. This recipe shows you a method of masking the user's password as it is entered.

Masking user passwords

How to do it...

To accomplish our task, we will create two labels (one for the username and one for the password), three text entry fields (one for the username, a second for the unmasked password, and the third for the masked password). The masked password is the one we want displayed on the screen:

  1. Create a Username: label for content.
  2. Create a Password: label for content.
  3. Create a text entry field and name it fldUsername.
  4. Create a text entry field and name it fldMaskedPassword.
  5. Create a text entry field and name it fldUnmaskedPassword. Set this field's visible property to false.
  6. Add the following code to the fldMaskedPassword field:
    on keydown...

Including glow effects on buttons

Adding glow effects to buttons is a good way of calling attention to them and differentiating them from other buttons on your app's interface.

How to do it...

To include glow effects, perform the following steps:

  1. Drag a button to your card.
  2. Right-click on the button and select Property Inspector.
  3. On the property inspector, select Graphic Effects from the pull-down menu (Basic Properties is the default selection).
  4. Select the type of glow you desire (inner or outer).
  5. Set the properties associated with the outer glow as detailed in the following table:

    Property name

    Property reference

    Options

    Color

    color

    Color palette

    Blend Mode

    blendMode

    Normal, Multiply, or Color dodge

    Opacity

    opacity

    0 – 255

    Filter

    filter

    Gaussian, Box (1, 2, or 3 passes)

    Spread

    spread

    0 – 255

    Size

    size

    0 – 255

    The following screenshot gives you an overview of these properties:

    How to do it...
  6. Set the properties associated with the inner glow...

Introduction


In this chapter, you will learn how to create and control human-computer interface objects. These objects include buttons, cards, input boxes, dialog windows, and geometric shapes. You will learn how to mask passwords and how to read, create, and change an object's properties. In addition, you will learn how to allow users to navigate between your app's cards.

Creating a new main stack


One of the most fundamental tasks in LiveCode is to create a new main stack. Every LiveCode app has a main stack, at least one card, objects, and code. In this recipe, you will learn the steps required to create a new main stack.

How to do it...

To create a new main stack, follow these steps:

  1. Open LiveCode.

  2. From the pull-down menu, select File, and then select New Main Stack.

  3. You now have a new main stack that you can start using for your mobile app. The next step is to set the stack's size properties to match the mobile environment your app will support. Using the property inspector, select Size & Position, and make the necessary adjustments based on the following table:

    Target device

    Resolution

    iPhone 3GS

    320 x 480

    iPhone 4S

    640 x 960

    iPhone 5

    1136 x 640

    iPad (1st and 2nd Gen)

    1024 x 768

    iPad (3rd Gen)

    2048 x 1536

    iPad Mini

    1024 x 768

    Android (Small screen)

    426 x 320

    Android (Normal screen)

    470 x 320

    Android (Large screen)

    640 x 480

    Android...

Displaying web pages in your app


If you need to display a live web page in your mobile app, then this recipe is for you. In this recipe, you will learn how to create a display area in your app, retrieve web data, and display that data.

How to do it...

Follow these steps to display web pages in your app:

  1. Create a new main stack.

  2. Select the stack's card and drag an image area to display the web information.

  3. Select the image and then select the Group icon on the toolbar to make the image a group.

  4. Select the group and set the following properties:

    • Name: Browser

    • Width: 312

    • Height: 390

    • Location: 160, 225

  5. At the card level, enter the following code:

    local browserID
  6. Create a preOpenCard handler with the following code:

      on preOpenCard
        mobileControlCreate "browser"
        put the result into browserID
        mobileControlSet browserID, "visible", \
              "true"
            mobileControlSet browserID, "url", \
              "http://www.packtpub.com"
          end preOpenCard

    Note

    The preOpenCard message is sent to...

Masking user passwords


When users enter their password, it should not be visible to anyone who might happen to be looking over the user's shoulder. This is an expected level of security. As shown in the following screenshot, not masking the password is unacceptable. This recipe shows you a method of masking the user's password as it is entered.

How to do it...

To accomplish our task, we will create two labels (one for the username and one for the password), three text entry fields (one for the username, a second for the unmasked password, and the third for the masked password). The masked password is the one we want displayed on the screen:

  1. Create a Username: label for content.

  2. Create a Password: label for content.

  3. Create a text entry field and name it fldUsername.

  4. Create a text entry field and name it fldMaskedPassword.

  5. Create a text entry field and name it fldUnmaskedPassword. Set this field's visible property to false.

  6. Add the following code to the fldMaskedPassword field:

    on keydown pKey
      put...

Including glow effects on buttons


Adding glow effects to buttons is a good way of calling attention to them and differentiating them from other buttons on your app's interface.

How to do it...

To include glow effects, perform the following steps:

  1. Drag a button to your card.

  2. Right-click on the button and select Property Inspector.

  3. On the property inspector, select Graphic Effects from the pull-down menu (Basic Properties is the default selection).

  4. Select the type of glow you desire (inner or outer).

  5. Set the properties associated with the outer glow as detailed in the following table:

    Property name

    Property reference

    Options

    Color

    color

    Color palette

    Blend Mode

    blendMode

    Normal, Multiply, or Color dodge

    Opacity

    opacity

    0 – 255

    Filter

    filter

    Gaussian, Box (1, 2, or 3 passes)

    Spread

    spread

    0 – 255

    Size

    size

    0 – 255

    The following screenshot gives you an overview of these properties:

  6. Set the properties associated with the inner glow as detailed in the following...

Including state graphics on buttons


Buttons have six states in LiveCode: enabled, highlighted, disabled, visited, armed, and hover. Each of these states can have an associated icon to help us communicate with our users. In this recipe, you will learn how to include state graphics on your buttons.

How to do it...

To include graphics on buttons, perform these steps:

  1. Create a new main stack.

  2. Drag a button to the stack's card.

  3. Select, with a single click, the button you want to modify.

  4. Right-click on the button and select Property Inspector.

  5. Using the property inspector, select, Icons & Border. This will bring up the interface shown in the following screenshot:

  6. Select the button state you want to modify. An explanation of each state is in the following table:

    Button State

    Graphic reference

    This state exists when…

    Enabled

    Icon

    The button is available for use.

    Highlighted

    Hilite icon

    The button is being depressed.

    Disabled

    Disabled icon

    The button is not available for use.

    Visited...

Getting an object's properties


LiveCode's development environment comes with several basic types of objects: button, checkbox, tab panel, label, field, data grid, menu, progress and scrollbar, slider, image, and graphic. For some of these basic types, there are several subtypes (for example, for menus, there is: dropdown, option, pop-up, and combo box). It is often necessary to obtain specific properties for evaluation in our apps. This recipe shows us how this is done.

How to do it...

Perform the following steps to get an object's properties:

  1. Use the get command in LiveCode to obtain an object's property. For example, use the following code to get a button's label:

    get the label of btn "myButton"
  2. To use a property, you can put it into a temporary variable for later use:

    local tText
    put the label of btn "myButton" into tText
  3. You can also get an object's property as part of a conditional statement such as in the following example that evaluates a button's label:

    if the label of btn "myButton" is...

Setting custom properties


LiveCode's objects come with an impressive number of properties that help us control how they look and function. We can also add our own properties to objects called custom properties. This provides us with a tremendous amount of flexibility.

How to do it...

Follow these steps to set the custom properties:

  1. Create a main stack.

  2. Drag any object onto the stack's card (for example, a button).

  3. Select an object that you wish to add custom properties to.

  4. Right-click on the object and select Property Inspector.

  5. Using the property inspector, select Custom Properties. You should see an interface similar to the one displayed in the following screenshot:

  6. Click on the plus sign to add a new custom property:

  7. Enter a name for the custom property and click on OK. For example, you might want to use a button to represent a book in a game. Add the custom properties, bookTitle, bookYear, bookAuthor, bookPublisher, until your display matches the following screenshot:

  8. Next, we will add content...

Aligning interface objects


The mobile apps we develop can have several objects on the screen simultaneously. It is important that these objects line up and not look haphazard. LiveCode provides us with tools to make aligning our objects relatively easy.

How to do it...

Perform the following steps to align interface objects:

  1. Create a new main stack.

  2. Drag two or more objects on the stack's card. For example, drag two button objects to the card.

  3. Select the objects you want to align. To do this, click on the first object, and then, while holding the Shift key, click on the remaining objects you want to align. When you are finished selecting the objects, release the Shift key.

    Note

    When selecting multiple objects to align, it is important that you ensure the first object you select is the one you want to use as a reference. For example, you might want to align selected objects by the left ledge of the first object you selected.

  4. Click on the icon on the toolbar. This will bring up the property inspector...

Dynamically displaying interface objects


Oftentimes, we will create interface objects and only have them appear on the screen when appropriate. For example, you might have a graphic indicator that the user has unread system messages. If the value is 1 or higher, then you might have the graphic visible; otherwise, you might hide it. This recipe shows you how to accomplish this task.

How to do it...

Perform the following steps to dynamically display interface objects:

  1. Create a new main stack.

  2. Drag a button to the stack's card.

  3. Change the name of the new button to testButton.

  4. To make an object, such as a button, visible, use the following syntax:

      set the visible of <object type> <"object name"> to true

    So, for example, if you have a button named testButton, your code will be as follows:

      set the visible of btn "testButton" to true
  5. To hide the example button from step 4, enter the following code:

      set the visible of btn "testButton" to false
  6. To toggle a button's visibility, add the following...

Getting the user input


We want users to interact with our mobile apps. This means that we must provide the opportunity for the user to provide input, we must capture that input, and we must process it. This recipe focuses on capturing the user input via the mobile keyboard.

How to do it...

The following steps will help you get the user input:

  1. Create a new main stack.

  2. Drag a new button to the stack's card.

  3. Assign the following code to the new button:

    on mouseUp
      ask "What is your name?" with "Type here" \
        titled "getting your input" 
    end mouseUp
  4. Execute the code to see the results.

How it works...

We used the ask command to provide the prompt (What is your name) and default text (Type here). The results are put into the it variable. This provides us the opportunity to evaluate and manipulate the user's input. If the user selects the Cancel button, no value is put into the it variable. You can test this by using the if it is empty line of code.

Recording user actions


Some applications are better served when you record the user's actions. In this context, a user action refers to an in-app behavior such as clicking on/touching a button or moving a slider. In this recipe, we will create a user action log and program a button to record user actions.

How to do it...

To record user actions, perform the following steps:

  1. Create a new main stack for a mobile application.

  2. Add three buttons across the top named Safe, Secure, and Restricted.

  3. Add a button named Reset Log at the bottom-center of the card.

  4. Create a scrolling text field named fldLog to fill the remainder of the card.

  5. Set the background color of the fldLog field to black.

  6. Set the foreground color of the fldLog field to yellow. This will be the color of the text entered into the log.

  7. Set text size of the fldLog field to 14.

  8. Set the traversalOn property to false (deselect the Focusable checkbox in the Basic Properties section of the property inspector).

  9. When you complete steps 1 to 5, your...

Restricting the user input


There is an old saying: garbage in and garbage out. This refers to users entering invalid data into a computerized system. Fortunately, we have some control over what users can input. This recipe shows you how this is done.

How to do it...

To restrict user input, perform the following steps:

  1. Create a new main stack.

  2. Drag a text input box to the stack's card.

  3. Add the following code to the text input box:

    on keyDown theKey
      if theKey is in "abcdefghijklmnopqrstuvwxyz" then
        pass keyDown
      else
         beep
        end if
      end keyDown

How it works...

By evaluating the user's input prior to allowing it to pass to the next level in the message chain, we can selectively accept or reject it.

There's more...

In this recipe, we intercepted messages from the keyboard using our on keyDown handler. In LiveCode, messages are triggered by events such as the mouseDown message being sent when the user selects/clicks on an object. In this example, the event was the clicking of the object and...

Left arrow icon Right arrow icon

Description

If you are a LiveCode mobile developer looking to improve your existing skills, add efficiencies to your code, or want a better understanding of LiveCode’s capabilities, then LiveCode Mobile Development Cookbook is a must-have for you. The reader should at least have a basic understanding of LiveCode and mobile application development.

What you will learn

  • Build humancomputer interfaces that result in immersive app experiences
  • Set up and configure your development environment for iOS and Android OS
  • Use loops and timers to make your mobile apps more robust
  • Manipulate and manage text to supercharge your apps
  • Integrate social media into your mobile applications
  • Read, write, and edit external data to extend the capabilities of your mobile apps
  • Understand how to use LiveCode externals and plugins to leverage their power in your apps

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Sep 12, 2014
Length: 256 pages
Edition : 1st
Language : English
ISBN-13 : 9781783558834
Vendor :
LiveCode Ltd.
Category :
Languages :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Sep 12, 2014
Length: 256 pages
Edition : 1st
Language : English
ISBN-13 : 9781783558834
Vendor :
LiveCode Ltd.
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 121.97
LiveCode Mobile Development Cookbook
€41.99
LiveCode Mobile Development Beginner's Guide (2nd Edition)
€41.99
LiveCode Mobile Development Beginner's Guide
€37.99
Total 121.97 Stars icon
Banner background image

Table of Contents

11 Chapters
1. LiveCode Mobile Basics Chevron down icon Chevron up icon
2. Human-computer Interfaces Chevron down icon Chevron up icon
3. Loops and Timers Chevron down icon Chevron up icon
4. Managing Text Chevron down icon Chevron up icon
5. Communications Chevron down icon Chevron up icon
6. Data Structures Chevron down icon Chevron up icon
7. External Media Chevron down icon Chevron up icon
8. Using MobGUI Chevron down icon Chevron up icon
9. Using Animation Engine Chevron down icon Chevron up icon
10. Miscellaneous Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.5
(11 Ratings)
5 star 27.3%
4 star 36.4%
3 star 9.1%
2 star 9.1%
1 star 18.2%
Filter icon Filter
Top Reviews

Filter reviews by




Engr. Stephen ezekwem Jan 05, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is one of the better books on LiveCode and how to quickly script functionalities with it, having said that, this is definitely for those who already have a basic knowledge of writing codes (scripting) in LiveCode. New comers to the platform will stumble about a bit, but this will set such comers right if you backed it up with the online tutorials available on LiveCode website.This book also mentions about third party plugins(externals) I.e. MobGUI and animationEngine, both do have free trial versions with a trial window(or GPL license which side steps the trial windows), you should have a knowledge of installing externals (plugins) in LiveCode IDE in other to use these tools mentioned in the book, hence my point on it being a better fit for people who already have a basic working knowledge of LiveCode platform.Other than the above, well written and with guides on how to set up and script all examples used in the book, literally a watch me do it and do like I do approach which is invaluable to newcomers.
Amazon Verified review Amazon
Jeffrey H. Feb 26, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Well written book with many examples
Amazon Verified review Amazon
Jean Marc QUERE Oct 17, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I use LiveCode since it’s open source. It’s a great programming tool to do every type of applications for desktop or mobile environment. But you don’t handle both the same way. So you will have to investigate the available documentation for hours to make the good choices… or speed up the process with this Cookbook.You can read it from the beginning to the end (and learn LiveCode) or pick up some knowledge to do a particular task (if you’re already skilled). The author explains how to set up a productive environment to build applications for iOS and Android devices. The samples are complete and include a precise description of each device (phone, tablet) to manage it the better way. You will find useful informations : screen resolutions, how to access of all features (use of the camera in less than 6 lines of code).The chapter 8 is dedicated to MobGUI, the famous LiveCode library dedicated to the user interface management. With it you can build professional looking apps. There ‘s always a subject to explore. Personally, I discover the Animation Engine (chapter 9) and how to easily move item on the screen using paths (without having to program everything by hand).The samples are simple enough to be comprehensive but complete and well documented. They are really useful and their code can be used as snippet.Beginners will find in this book a smart way to learn LiveCode, experimented developers will use it as a reference book. In a word: helpful.
Amazon Verified review Amazon
Michael Mandaville Oct 16, 2014
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The Live Code Mobile Development Cookbook is a great start for the aspiring Live code programmer. I have been working with Live Code on and off for a few years. The challenge is that I am not a professional coder. Live Code is allowing me relatively easy access with a sophisticated response. In the tech world (like film and video), the coding process is becoming more and more accessible so that the hard coders of C+++, etc., are becoming a pretty unique breed. For people like myself who transit a couple worlds, Live Code and its constant updates don't always require me to play catch up, especially with this Cookbook.The book is organized in solid categories where I can easily build up skills. In addition, the layout of the book allows me to drill down into what I'm trying to accomplish to find the right task. That's essential to get up and running fast. I think that any Live Coder will certainly want this book on their virtual shelf to find the right 'recipe.'
Amazon Verified review Amazon
John Iglar Nov 23, 2014
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
LiveCode is an easy and very useful program for developing both mobile apps and computer programs. As an open source project, it's free to download and use and works on any computer system, producing programs for Windows, Macintosh OSX, Linux or Android or iOS.This cookbook provides a number of easy to follow and helpful "recipes" which take you step by step through many common tasks. As an intermediate LiveCode programmer, I found it a very useful book. It would be good for any beginner, although I would recommend that an absolute beginner supplement this cookbook with a more traditional beginner's guide (there are free ones on the LiveCode website) to provide a more holistic overview of what LiveCode is and how it works.The book is organized very well, starting with installation & setup and working from basic tasks up to more advanced topics. I found it easy to read all the way through, as well as being able to skip around to pick recipes for tasks that I wanted to accomplish. The chapters on MobGUI and Animation Engine, extensions to LiveCode, were particularly interesting to me as they are very useful in building for mobile devices but since they are extensions their workings aren't typically found in LiveCode references.I found this to be a very useful book, and one which I will use repeatedly.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.