Programming Flash Communication Server
I have been trying hard to read all the chapters of Programming Flash Communication Server but have never been able to finish off all 800+ pages of the book. I have finally finished reading almost the entire book. Now, that I would rather use the book as a complete reference for Flash Communication Server Application development, its time to write a review! The authors are those whom I have, well we all have, looked upon as the best in the industry, especially with Flash and related technologies. Well before the book hit shelves, I knew that this was going to be THE book for Flash Communication Server. With authors like Peldi and Brian Lesser, there can be no mistake in saying that this is the must-have book if you are into application development for Flash Communication Server.
The Preface has some important introductory material to help you understand Flash Communication Server and get the most out of the book, including tips on getting the code examples working. It also has important overviews of video streaming and other aspects of FCS like hosting options.
The Forward by Macromedia’s own Flash Communication Server Architect, Pritham Shetty, starts to show the book’s worth right away. As I finished the Forward, I was already referring to Pritham Shetty as the Father of Flash Communication Server. His story of heading the FlashCom team, their study of the market, technologies and finally their decision to come up with a real-time communication infrastructure to take Flash and Macromedia into a new, profitable business in the telecommunication world was not just interesting but very inspiring. Their idea of supporting a range of real-time applications like classroom, company meeting, front door cam, customer service, car race, remote presence led them to implement base features: audio, video or data as streams, real-time and on demand and data synchronization was a tantalizing read. It tickled my brain buds not just for the technical acrobatic stunts but for the innovation that went into the making of this cool software.
While in development the server was code named Tincan after the simple toy which children can make to create a simple mechanical telephone. Two cans with a small hole in each one connected by a piece of string that is drawn through the hole and secured with a knot inside the can. One kid talks into one while the other listens. If the cans are pulled away from each other so that the string is tight the vibration is carried down the string from one can to the other. Tincan was released in 2002 as the Flash Communication Server 1.0. Then interestingly enough, I was able to speak a Japanese word for communication in the next beta which let loose wild ideas and innovations among developers. Shortly afterwards Flash Communication Server 1.5 was released in 2003. If you are interested in the history of Flash Communication Server, then the Forward from Pritham Shetty is a must read. He is literally the man behind Flash Communication Server.
I have to say sorry that I don’t have much to say about Part I of the book as I skipped over a lot of it. But then here is the short teaser, “If you are new and starting off with Flash Communication Server Application Development, read this part carefully so that you will know what you are dealing with, what each term means where each fits in. It gives gives a good foundation for understanding the remainder of the book, including your first sample application. Bottomline, make sure you skim Part I if you are already familiar with Flash Communication Server; but read it carefully if you are a novice or beginner.
Once you get cleared with the basics in Part I, Part II treats you to the inner depths about Streams; Audio, Video, ActionScript Data and their related technicalities. This part isn’t that lengthy but gives you subtle insights into Audio, Video and Data Streams. One of the parts which you can take a detailed look is the last chapter on Media Preparation and Delivery. The Media Preparation and Delivery chapter gives us the much needed knowledge, information, tips and tricks for the Flash Communication Server Developers who come from a programming background - more coders than Video/Audio enthusiasts. You will learn details about the various terms, terminology, information about Audio, Video, Codecs, that Constant Bit Rate (CBR) compression is for Live Streaming while a recorded Video Stream can enjoy a Variable Bit Rate (VBR) etc. I could be called an Audio/Video novice but this chapter made me confident about dealing with Flash Video and I’m not kidding here.
Part III is where the fun begins. The description of Shared Objects at length was really appreciated though I wish (my personal take) that the section on Proxied Shared Objects could be a bit extended and elaborated than just the few paragraphs and one example. Then there are of course chapters on Flash Remoting for Flash Communication Server, and Remote Methods. I am not sure if that was purely intentional to put a small piece of ColdFusion complementing Flash related technologies here; my particular interest was the write-up of a ColdFusion example for an FTP-Server class, and another for Stream Management. That really gave some idea of the possibilities we can do with the combined power of Macromedia Technologies.
The Server Management API chapter reminded me of a funny anecdote when our team first saw the codes of the FlashCom Admin Console that is being used in Flash Communication Server. Some code is present that was authored with the intent of being fault-tolerant and user-friendly, and consequently may not be the best illustration of the most efficient way of writing Flash Applications. Eh!
If the fun started with Part III, then Part IV is the climax. As you get down to this part, you are likely to exclaim, “Oooh! Server-Side Components.” As I near the later part of the book, I began to think if the chapters were carefully chosen to fulfill the proverbial “keep the best for the last”. Get yourself pampered with the chapter on the Component Framework, it is a real treat.
And Ah! the portion on Design Patterns and Best Practices serves well as the spiced Masala just like the much needed condiment of an Indian cuisine. Don’t miss the “delegating updates” and “building facades on the server” sections in particular.
Topics in the “Building Scalable Applications” chapter such as Scalability and Load Balancing was one topic which I am sure everyone will find valuable especially after reading how many people have had to come up with their own Flash Communication Server Load Balancing solutions. I would like to thank the book authors again here, the book came as a boon just in time for a project our team was involved with.
The book finally closes its chapters with some good information on Network performance (latency and bandwidth), and the three As of securing a Flash Communication Application: Authentication, Authorization, and Accounting.
About the Authors
Actually I went straight off to this part after the Forward from Pritham Shetty to read about few of my favorite idols. Nothing much to read there, nothing funny, nothing out of the ordinary but that they are amazingly good developers, iconic digeratis that I admire.