Slashdot Mirror


Creating Applications with Mozilla

Peter Wayner writes "The book Creating Applications with Mozilla did not set out to capture the essence of modern open source software development in a few hundred pages, but it comes closer to that unreachable goal than almost any other book I can imagine. Everything is there: the proliferation of acronyms, the funky names, the endless layers, the earnest collaboration, the unstoppable yearning for customizability, and, of course, plenty of source code. The book is just supposed to be teaching us how to turn Mozilla into a front end for everything, but it's really a distilled exhibit of all that is hip and now in code creation." Peter's review continues below. Creating Applications with Mozilla author David Boswell, Brian King, Ian Oeschger, Pete Collins & Eric Murphy pages 454 publisher O'Reilly rating 9 reviewer Peter Wayner ISBN 0596000529 summary How to use the Mozilla APIs to do anything.

On the first and most obvious level, the book is just the typical, thorough treatment of the important APIs that we've come to expect from O'Reilly. There are chapters addressing all of the important layers of the Mozilla platform and plenty of examples that show you how to customize the platform. Some may want to change the icons and others may want to add more robust features. The range of possibilities is surprising and coders are creating one-to-one communications enhancements, add-on widgets, and even games. There are certainly some things missing, and some areas that could use more detail or more complicated examples, but the book is already 454 pages long.

On another level, this book is also one of the first finished documents that explains what the Mozilla group has really been up to for the past five years. Some have abandoned the project, and others have attacked it as fundamentally misguided. This book shows why it took so long by demonstrating all of the cool features added during the long march to a new, thoroughly extensible architecture.

Are the results enough to justify the time and the effort? Some note that the features may be a bit overhyped, because building your own browser with the Mozilla API is like making a pizza with $15 and a telephone. While there's a large part of the book devoted to the work you can do to change the look and feel of the buttons on your browser, the book and the project offer much more. The Mozilla project is one of the biggest threats to simple tools like Visual Basic to come down the pike in some time. The various layers offer many ways to provide good, customizable interfaces to databases, the web, and much more. I can see how many corporate development shops may want to start making Mozilla the platform for a license-free front-end, simply because it's a straightforward tool without extra costs or restrictions.

At the most abstract level, the book is a great way to get a taste of modern software development. Computer scientists sometimes fix problems by adding more and more layers of indirection. This may not solve anything, but at least there are hooks for a real solution to use some time in the future if some one ever does figure out how to make the box do it. The Mozilla browser is one of the most extreme examples of this philosophy to ever emerge. Emacs was something special, but this is even more insane. Everything can be changed around by rewriting some XML and Javascript and most people don't need to juggle the pointers in grubby C to do amazing things. I realize it's not as beautiful as Lisp to some, but it's got a clarity and level of abstraction that's stunning to behold. Lisp was just procedural, while XML is more like logic programming.

This relentless customizability embodies one of the deepest reasons for the success of open source. Technology is inherently complicated and the only way we can use it is if we can look under the hood. You can say all you want about CVS trees and bazaars filled with competing code, but opening up the interface is one of the most powerful themes of open source. It's not about teaching people to build their own VCR or PVR from scratch, getting the VCRs for free or even debugging the VCR's source code -- it's just about making them easy enough to program.

The book illustrates how Mozilla opens up the API to create a relatively easy language for people to use. The real open source is not the C in the tar ball, but the XML interface spelled out in the book. Many people feel that the most important thing that the first browser designers did was make it easy for people to see the HTML tags marking up the document in front of them. The new Mozilla takes this transparency to a new high.

If you look at the book at all of these levels, you can see that this is one of the most important documents to emerge from the open source community in some time. At first glance, it's just another set of APIs for us to wiggle. I realize it's not fair to credit the Mozilla team or the book authors with creating the browser or XML ex nihilio -- they just jumped on some of the most popular bitwagons propagating across the Net. But the result is a stunning completion of a very important and cohesive vision. The book doesn't crackle with bleeding-edge novelty, but shines with the certainty of a job well-done.

Peter Wayner is the author of Translucent Databases , Disappearing Cryptography , and a number of other books. You can purchase Creating Applications with Mozilla from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

8 of 240 comments (clear)

  1. Re:Standards anyone ? by veddermatic · · Score: 5, Insightful

    Let's see... can I embed IE into my web app?
    Nope.

    Can my IE web app run on almost every platform out there?
    Nope.

    Can I modify IE in case I need additional functionality?
    Nope.

    There's the tip of the iceberg in differences...

    --
    Department of Homeland Security: Removing the rights real patriots fought and died for since 2001
  2. Re:Standards anyone ? by JordanH · · Score: 5, Insightful
    I think the point is not to develop web applications with Mozilla, but more generally to use the plugin architecture and the customizability of Mozilla to develop generalized local applications.

    An example of this kind of thing would be Komodo, an IDE for Perl/Python/Tcl/ development.

    I seem to recall that some use MSIE as a component architecture to develop generalized applications in much the same way, but I can't think of any examples of this right now.

  3. The real problem here by Jack+Wagner · · Score: 4, Insightful

    Isn't so much about standards, it's more about de-facto standards and their general tendancy to change. I couldn't see devoting 5 or 6 months to develop a custom application specifically for Gnu/Mozilla when one year down the road they may decide to alter the XUL "standard" and totally screw me.

    This is why stuff like TCP/IP and "C" took off, because they were in the hands of a standards body who were responsible and considerate of issues like this.

    The Gnu/Open Source community needs to take into consideration that since they are working their way into the mainstream they *must* begin to be more proffesional and intelligent in matters of "standards" or they risk alianating the commercial development community.

    That would be a serious mistake on their end, serious indeed.

    Warmest regards,
    --Jack

    --


    Wagner LLC Consulting Co. - Getting it right the first time
  4. Re:Current Applications? by DrXym · · Score: 4, Insightful
    Aside from all the extensions and skins for Mozilla (of which there are hundreds already in places such as in MozDev.org), the various apps that comprise the Netscape/Mozilla suites (browser, mail/news, chatzilla, dom, js debugger, aim etc.), you also have browsers such as Phoenix & Beonix, and entire new applications such as Komodo. and Crocodile Clips. Then there are the numerous 'embedded' applications which use the Gecko engine (little or no chrome) to host content in the likes of Compuserve, Galeon, Chimera, and more.


    In short anywhere which requires a web-oriented application (preferably cross-platform) would do very well to evaluate Mozilla as a development platform. I expect database and server-side apps will ship in due course with applications based on Mozilla to do form design and other administrative tasks in a cross-platform manner.

  5. Re:Standards anyone ? by IamTheRealMike · · Score: 5, Insightful
    It seems Mozilla is working closer and closer to being an OS than just a browser. Kinda funny if you think about it, where MS has windows which was supposed to be an OS and is now including a browser.

    What is doubly amusing is that when Microsoft attempted to kill (perhaps did kill) Netscape, they did so because they were scared the browser would turn into a platform that would let you write kickass apps making Windows irrelevant. In a way, this became a self-fulfilling prophecy, as if Netscape hadn't been taken over by AOL and left to do its own thing, would Mozilla (a platform as well as a browser) exist today?

    I doubt that one day all desktop apps will be written using Mozilla. But it's an intriguing possibility, I look forward to the GRE with much interest.

  6. Re:My Review by Dalcius · · Score: 4, Insightful

    Hiyas, Pave! Good trolling!

    Folks, this is a rip of the preface of the book.

    Have a look for yourself and then mod this troll down.

    --
    ~Dalcius
    Rome wasn't burnt in a day.
  7. So it gets a 9, big suprise by LoRider · · Score: 4, Insightful

    But is the book any good. All I got from the "review" was that the reviewer thinks Mozilla is cool. What about the book? Was the book good? Was it well written? What did the reviewer like about the book, not the subject, that warrants a 9? Why not a 10, what didn't he like about the book?

    --
    LoRider
  8. This is NOT a book review by Dalroth · · Score: 4, Insightful

    This isn't even close to a book review. He does nothing but glower over how great Mozilla is (which we all agree on), but says nothing about the quality or content of the actual book.

    The book itself *IS* good (at least that which I have read so far). You'd never be able to tell from this review though....