AdvancED Flash On Devices
chuckbatfuturewaredc writes "Flash's ubiquity is in its presence on the vast majority of PC desktops, laptops and netbooks. It is also in a surprising, and growing, percentage of mobile devices. Software developers who want to tap this rapidly expanding market face many challenges that have not existed in the PC world for quite some time. This book is virtually encyclopedic in its review of the pitfalls and dangers for mobile development and how they can be avoided, even for the iPhone. It provides rich information detail on how to address mobile software development now, along with a preview of how it can be done more easily when what is in the oven finishes baking." Keep reading for the rest of chuckbatfuturewaredc's review.
AdvancED Flash on Devices: Mobile Development with Flash Lite and Flash 10
author
Scott Janousek, Thomas Joos, Elad Elrom
pages
744pp
publisher
Apress
rating
8/10
reviewer
chuckbatfuturewaredc
ISBN
1430219041
summary
covers both mobile and device development with Flash Lite, as well as upcoming Flash 10 for smartphones and other non-PC devices.
AdvancED Flash On Devices is really four books in one, each dealing with various aspects and ways of applying Flash to mobile devices, which not surprisingly consists of more than just cell phones. The authors provide a good introduction by reviewing the mobile system landscape, which has one noticeable characteristic: It is highly fractured, with several unusual bottlenecks that constrain software development and wider adoption, as well as innovation.
There are two major reasons for this fracturing: The mobile device manufacturers themselves working to protect product differentiation, and the communications providers, primarily the telephone companies. The authors use the euphemism of 'walled gardens' to describe these limitations, but the reality is that they have been around for some time for all sorts of reasons, and are not likely to disappear soon.
Software developers for PCs benefit from a very large set of standards based practices and technical methodologies to develop products for markets that in aggregate make for a reasonably frictionless ecosystem. These do not (yet) exist or cannot be applied to the mobile marketplaces. Flash's ubiquity can be exploited to help establish and expand a common design approach for specific mobile markets, and this book outlines specifically how this can be done. It is also perhaps the best integrating review of the mobile systems market from a software perspective generally, and exploiting Flash particularly.
As the authors clearly demonstrate, a unified code base cannot exist in this arena. Instead, Flash has to be adapted in various ways to accommodate the many device manufacturers. This book shows how that is done, either with overviews, sample code, or using third party tools that, in many cases, are described in some detail. This has resulted in several Flash 'flavors', collectively given the covering name of Flash Lite. All of these use varying subsets of ActionScript2; ActionScript3 is not yet available for mobile devices.
Developing a mobile software product is best done initially with an emulator, of which there are several. All of the major ones are reviewed with details that are most welcome, including screen shots and step by step procedures. Products are then moved to the actual target mobile devices after they work on the emulator, which is the only practical way to validate the design and code. Testing on a device is usually a demonstration of the Heisenberg Uncertainty principal, and the authors provide tips and techniques on how to prepare for and handle problems when in the device's closed environment.
PC developers seldom have to concern themselves with performance or power issues: Memory is plentiful and cheap, disks are cheaper, processors have more than one core, and power is plentiful. None of these are the case in a mobile device, and careful attention has to be paid to resource management and processor demands. The authors outline ways to reduce draining batteries and exhausting memory, as well as tools to help profile performance to optimize resource utilization.
Testing mobile software is addressed in some detail. Mobile devices, particularly cell phones, can't have their hoods opened as readily as can be done with regular PCs, resulting in some unusual testing constraints. Test driven development may be a catch phrase for some, but it is a necessity for mobile software development, and the authors outline specific methods to make sure this is done right.
One interesting aspect of mobile device usage is that they typically are upgraded (i.e., replaced), particularly cell phones, at a much smaller rate than PCs are. Thus, creating better user experiences and richer mobile applications will be applicable for small initial market segments, mainly the high end smart phones and their like. Still, increased horsepower for all mobile devices is inexorable. The authors move the Adobe curtain a bit to show what is being developed for Flash 10, particularly as these improvements relate to mobile devices of all kinds. There is a learning curve in learning how to develop mobile software, and some of this experience cannot be carried forward directly, such as trying to use ActionScript2 conventions in an ActionScript3 environment. Knowing about these will help the prepared to be ready when the parade catches up to them.
One last item is using Flash in the iPhone. Apple's high "Not Invented Here" mentality officially bans Flash from the iPhone. But there is a way to project Flash content in the iPhone, and the book outlines how it is done. That alone is worth the price of this four in one book.
This book is highly recommended for anyone who wants to be successful in exploiting Flash in a mobile environment. It has specific and detailed here and now information that can be used and applied immediately, outlines development, testing, packaging and deployment processes and procedures, and points to a future, based on the proven Flash ecosystem, that will very likely happen sooner than later.
Example code, including complete projects that can be used as design templates, and additional reference material is available on the book's website for download, organized in chapters. Additionally, the publisher maintains a forums section on their website for this and other related books.
This is a large technical book with many topics that are covered in varying levels of detail. It is not light reading, and in some places the writing is a bit rough.
You can purchase AdvancED Flash on Devices: Mobile Development with Flash Lite and Flash 10 from amazon.com. Slashdot welcomes readers' book reviews — to see your own review here, read the book review guidelines, then visit the submission page.
There are two major reasons for this fracturing: The mobile device manufacturers themselves working to protect product differentiation, and the communications providers, primarily the telephone companies. The authors use the euphemism of 'walled gardens' to describe these limitations, but the reality is that they have been around for some time for all sorts of reasons, and are not likely to disappear soon.
Software developers for PCs benefit from a very large set of standards based practices and technical methodologies to develop products for markets that in aggregate make for a reasonably frictionless ecosystem. These do not (yet) exist or cannot be applied to the mobile marketplaces. Flash's ubiquity can be exploited to help establish and expand a common design approach for specific mobile markets, and this book outlines specifically how this can be done. It is also perhaps the best integrating review of the mobile systems market from a software perspective generally, and exploiting Flash particularly.
As the authors clearly demonstrate, a unified code base cannot exist in this arena. Instead, Flash has to be adapted in various ways to accommodate the many device manufacturers. This book shows how that is done, either with overviews, sample code, or using third party tools that, in many cases, are described in some detail. This has resulted in several Flash 'flavors', collectively given the covering name of Flash Lite. All of these use varying subsets of ActionScript2; ActionScript3 is not yet available for mobile devices.
Developing a mobile software product is best done initially with an emulator, of which there are several. All of the major ones are reviewed with details that are most welcome, including screen shots and step by step procedures. Products are then moved to the actual target mobile devices after they work on the emulator, which is the only practical way to validate the design and code. Testing on a device is usually a demonstration of the Heisenberg Uncertainty principal, and the authors provide tips and techniques on how to prepare for and handle problems when in the device's closed environment.
PC developers seldom have to concern themselves with performance or power issues: Memory is plentiful and cheap, disks are cheaper, processors have more than one core, and power is plentiful. None of these are the case in a mobile device, and careful attention has to be paid to resource management and processor demands. The authors outline ways to reduce draining batteries and exhausting memory, as well as tools to help profile performance to optimize resource utilization.
Testing mobile software is addressed in some detail. Mobile devices, particularly cell phones, can't have their hoods opened as readily as can be done with regular PCs, resulting in some unusual testing constraints. Test driven development may be a catch phrase for some, but it is a necessity for mobile software development, and the authors outline specific methods to make sure this is done right.
One interesting aspect of mobile device usage is that they typically are upgraded (i.e., replaced), particularly cell phones, at a much smaller rate than PCs are. Thus, creating better user experiences and richer mobile applications will be applicable for small initial market segments, mainly the high end smart phones and their like. Still, increased horsepower for all mobile devices is inexorable. The authors move the Adobe curtain a bit to show what is being developed for Flash 10, particularly as these improvements relate to mobile devices of all kinds. There is a learning curve in learning how to develop mobile software, and some of this experience cannot be carried forward directly, such as trying to use ActionScript2 conventions in an ActionScript3 environment. Knowing about these will help the prepared to be ready when the parade catches up to them.
One last item is using Flash in the iPhone. Apple's high "Not Invented Here" mentality officially bans Flash from the iPhone. But there is a way to project Flash content in the iPhone, and the book outlines how it is done. That alone is worth the price of this four in one book.
This book is highly recommended for anyone who wants to be successful in exploiting Flash in a mobile environment. It has specific and detailed here and now information that can be used and applied immediately, outlines development, testing, packaging and deployment processes and procedures, and points to a future, based on the proven Flash ecosystem, that will very likely happen sooner than later.
Example code, including complete projects that can be used as design templates, and additional reference material is available on the book's website for download, organized in chapters. Additionally, the publisher maintains a forums section on their website for this and other related books.
This is a large technical book with many topics that are covered in varying levels of detail. It is not light reading, and in some places the writing is a bit rough.
You can purchase AdvancED Flash on Devices: Mobile Development with Flash Lite and Flash 10 from amazon.com. Slashdot welcomes readers' book reviews — to see your own review here, read the book review guidelines, then visit the submission page.
I thought they had drugs for that?
I seem to remember a subtle commercial with a gray haired man throwing a ball through a hole.
See, its a book for Flash Programmers.
Slashdot is full of programmers.
Slashdot hates Flash.
So while I'm sure this book might apply to a few people here on this site, I'm sure most of us will just come around shouting the same old anti-adobe stuff until we get the next "Here's a vulnerability!" adobe-news posting.
Three devices I have with Flash runtimes on them are my MacBook Pro, my Wii, and my Chumby. And there is very little content that will work completely properly on any two of those devices, let alone all three.
No, I think it is about the fact that Flash is dog slow on OS X (and devices based on OS X), as Apple has mentioned before, resulting in a crappy user experience and very poor battery life.
Slashdot will tell you it's all about preventing competition with the app store, despite alternate ways to deploy apps and games on the iPhone that still exist and predate the store, and Apple's promotion of HTML5 as a replacement for flash which would also provide competition (but they'll then say that 'they don;t see it as a threat because it is not as mature' or some other further excuse to avoid Occam's Razor: that flash just plain blows goats on top of OS X and iPhone OS.
I was so happy about a detailed book (700+ pages) on a 'flash on devices' book. I've been wanting to know more about the intricacies of flash chips before I put them on my dev boards. Embedded development gets far less attention regarding literature than web programming. ... and then I was let down. :) A book on flash chips (NAND, NOR, XIP, various voltages and tricks) will have to wait for a better day.
I hate flash.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
Adobe wasn't able to produce a decent player for OS X in terms of security and performance. Do you think they are going to keep up with iPhone updates? They won't, but they don't care either, because anything special on one device, can't be ported to another. And their intention is to get a piece of the mobile market cake, not just to run on the iPhone. So the expected result will be applications featuring the lowest common denominator of all devices. So it's basically, you let me get to a position of power over your platform and I will give you sub standard applications in return. Not a good deal.
So foreseeing that, Adobe used the cry baby Lee Brimelow to create public opinion against Apple. Example: Flash is slow because evil Apple won't provide accelerated h264. That's a lie, you have accelerated video using the Quicktime API (which they finally use in the next Flash player), but don't expect a security nightmare like the Flash player to get direct hardware access just because you are Adobe. Not even if you really really want the chance to control the video codec to keep your options open.
And then there is the "work for a more ethical company", and "screw you Apple". No Adobe, YOU go be ethical creating a decent player for OS X, and forcing your tools into someone else's platform.