Home Home | Current issue Current issue
Login: Password: Forget password? / Register New User
Games Graphics & Design MP3 & Audio Internet & Networks System & Utilities Home & Education Business WebDev SoftDev
Issue: July 2008 > Internet & Networks > Article "Mozilla: Firefox is our RIA platform"
Advertisement on Onekit.com Software Magazine

Mozilla: Firefox is our RIA platform (Mozilla: Firefox is our RIA platform)  Mozilla: Firefox is our RIA platform

Internet & Networks
"This is where we think the future of the Internet is going -- you can start to see these applications breaking out of the confines of the browser space, and try to move onto the desktop," a key Mozilla engineer told BetaNews.

The term "rich Internet application" is almost becoming a misnomer; there truly is no worthy Internet application that, in at least some respect, isn't rich. The original idea of "richness" was in describing a function that justifies the use of technology above and beyond what is typically used for laying out HTML Web pages. Any more, if you're using AJAX, Flash (especially with Adobe's AIR), or Microsoft's Silverlight to develop your application, you've automatically crossed into the zone of "rich."

But the question Web services architects are asking is this: In so doing, do we leave the browser behind? Specifically, if a rich Web application can be run from the desktop, then does the browser's purpose become more relegated to something on the side that you use to check the blogs, read BetaNews, and keep up on world events?

These are questions that the Mozilla organization is exploring, literally, from both sides. Its Mozilla Labs is working simultaneously on two projects: one called Prism which enables you to run some Web services or JavaScript-based applications from the desktop as though they were stand-alone apps, and another called Weave whose aim is to give Web applications a more feature-rich mechanism for connecting to the browser.

In a recent interview, BetaNews talked with Mozilla's own staff "phenomenologist" (that's literally his job title), Mike Beltzner, and its director of engineering, Damon Sicore, about how their organization intends to be intentionally evolving Firefox into an RIA platform in its own right -- one which itself is written in JavaScript.




    MIKE BELTZNER, Phenomenologist, Mozilla: The entire mission of the Mozilla Corporation is to promote innovation and choice and development of modern Web applications, and we've got these fundamental beliefs that a Web application can be as interactive and as immersive and as functional as any desktop application. So JavaScript is a full-featured language, and the browser being written in JavaScript is a point of proof. I don't think anybody would believe that the browser that they're using is any less responsive than any other application on their system.

    So I think there's a bit of fear, uncertainty, and denial about interpreted languages being as fast as compiled languages. What we're seeing is that that's not necessarily true, and that JavaScript can be just as fast as things like Java, which is top-down, byte-code compiled. I don't think at any point it feels like we're limiting ourselves by working in JavaScript. I think what it does is, it pushes us to make sure that JavaScript is better.

    DAMON SICORE, Director of Engineering, Mozilla: Interpreters have come a long way, and there are real-world applications...Even if you look at the Java world, Eclipse -- which is an IDE that developers use day in and day out, and it's very, very snappy -- it's the same type of concept that we use within Firefox. The language has really reached a level of maturity of implementation...it's snappy enough that we can build some exciting Internet applications with it.

    But I think the proof is in the pudding, because Gmail's built in JavaScript. If you look at it now, especially within Firefox, it's so much faster, you're seeing instant response times. I think that really proves that JavaScript has reached a level that it needs to be to build exciting applications.

    SCOTT FULTON, BetaNews: Mike, you said it was a fundamental belief of the Mozilla Organization that a Web application can be as functional as any desktop application. There's a lot of people who would agree with you there. One of them would be Adobe. As you know, Adobe is building their own functional application platform based on AIR and Flash. If they have things their way, they'd be able to sidestep the browser [to] develop a Web application [framework] that functions and communicates on its own without the overarching framework of a Web browser. If Web applications evolve in that direction, as time goes on, what do you gentlemen think is going to be the justification for maintaining that "File|Edit|View|History|Bookmarks|Options" framework of the Firefox Web browser?

    MIKE BELTZNER: This is where we think the future of the Internet is going --you can start to see these applications breaking out of the confines of the browser space, and try to move onto the desktop. There's already a couple of players that have released their own proprietary, closed technology stacks to help people do this, and they require that the user download a runtime [framework]. Really, you can almost think of that runtime as another version of the browser; it's just that you never see the frame, it doesn't come with bookmarks, it doesn't come with history, and it's also not based on standard Web technologies that millions of developers are already trained on, and that millions of people can actually help improve and iterate on.

    So what we believe is, the same sorts of things that you can accomplish with the AIR platform or Silverlight, or any of these rich Internet applications platforms, you can also do with standard Web technologies: SVG, Canvas, JavaScript, DOM, HTML -- all of these technologies [that] exist today have very, very rich and engrained cultures of development, [and] have rich online resources for helping people develop these applications. So the real question then is, how do they break out of that browser frame?

    That's something that we're experimenting with to a project that's available on Mozilla Labs, called Prism. What Prism does -- it's available as a stand-alone [component] or as an add-on to Firefox -- is allow you, when you get to any one of these applications on the Web, to just click a button and say, "I want to make this an application on my desktop." You'll get an icon on your desktop, and you'll be able to interact with it through Alt-Tab like anything else, but it will actually just be this Web site.

    Now, there's a little way to go with Web technologies. You need offline support, you need to be able to use that application when you're connected or when you're not connected. So one of the things that we've done in Firefox 3 is, we've built in support for a new HTML standard for offline applications.


n a recent demonstration for BetaNews, Mozilla staff phenomenologist Mike Beltzner showed us how Firefox 3 enables the use of a Web standard to which Mozilla is a heavy contributor, called XUL. Its purpose is to enable any Web-based application the freedom of going offline -- even a mail app. Rather than a page-based model of layout, it offers something more comfortable to conventional applications developers. It also offers a safe way for applications to store data and transactions locally, and then re-synchronize those transactions automatically with the server once the application goes back online again.



    MIKE BELTZNER, Phenomenologist, Mozilla: The primitives are all there now within Firefox for a Web application developer to make it so their application can work online or offline, and we actually experimented with the open source e-mail client Zimbra. It took somebody about a week -- and he wasn't really familiar with the Zimbra code -- to modify Zimbra so that it would work like an offline e-mail application. So he could take his browser offline, and then while he was on the bus or an airplane, or in an Internet cafe where he didn't want to pay the $10/hour to get connected, he could still write his e-mail back and forth, and the next time he got connected, it would just synchronize it all with the server.


    This is an example of another step we're taking to help these applications get an equal footing with desktop applications when you're offline.

    SCOTT FULTON, BetaNews: If what you're saying is really the trend of how things are going...you could describe Firefox in an entirely new way: as a JavaScript platform with a built-in Gecko rendering engine that has the convenient add-on feature of being able to render Web pages.

    MIKE BELTZNER: What I would say is, these technologies that we've developed are equal to any other technology for building a rich, interactive, functional application. The advantage [is that it adheres] to Web standards, that it doesn't need a computer to run -- [instead], it needs any sort of computing device and platform. So as we move our engineering effort into the mobile world, all of a sudden, you can see something where your mail application works on the desktop, on your mobile device, and it's your full mail application. It's not some small version, some midlet that you've sent to your mobile device. It is a full mail app, and you're just viewing it differently.

    Of course, your ability to interact through a smaller device is a little more limited in terms of the screen size, so you will probably not do as much writing there. But you still get the full functionality.

    SCOTT FULTON: You find a way to use the network to distribute the processing, and the client as just a renderer of the finished process.

    MIKE BELTZNER: Yea...and then the client does some processing; the client-side JavaScript UI stuff. But you can outsource the heavy processing.

    There's an online video editing application now where you can upload your MP4 video, and you can do things like complex digital effects. And it sends all that complex digital effects rendering out to a render farm, and shows you little low-fi clips on the Web page. Then when you're ready to do the final render, it sends you back the big MP4 file. So once again, you've benefitted from the distributed processing.

    You asked earlier what this means for the browser...I think the browser still has a place on the desktop, and on anybody's desktop, because it's the thing you use to browse. When you build this open source, open standard technology stack, what we have seen is an explosion in innovation and participation online. What we've seen is, you get cool applications and mashups and new things, and there still needs to be a way to find those applications. And the browser is that; it is the thing you use to go around, connect with different people, different bits of information.

    What Prism allows you to do is literally reflect some of those applications through a prism down to your desktop, where they become different things -- full-fledged applications. Going over to the mobile side, you can see applications that you can download from the Web to your mobile phone, so you can go to Google Maps and say, "You know what, I want Google Maps to be on my phone. I don't need to download a mobile application; I just need to browse to the Web page, present it down to my phone, and my phone runs all these things -- JavaScript and DOM and HTML."

    SCOTT FULTON: If we start implementing a kind of a model where online publishers become, in a sense, much more applications providers than Web page providers, will we start to see a diminishing, over the years, of the need for the kind of HTML Web page that currently defines a publication such as BetaNews, for instance, and more of a need for a unique application model where CNN becomes an application, BetaNews becomes an application, Time.com, BBC, all of these are programs that work in their own unique way?

    MIKE BELTZNER: I'm not sure. We're getting into predictions, and the fun part about predictions is that I'll be able to look back in three years and see just how wrong I was.

    I think you're going to get special-case applications for -- and this is me talking more as a user experience person -- specific tasks, for things like the banking that I'm going to do, or plotting my route on a subway. I think reading news and getting information, and especially interacting with different people's opinions, you might have agents that help direct you to those resources, but I think those resources will remain as HTML just because it's so easy to publish them. I think what you're going to continue to see, though, is an uptick on the explosion of information and the freedom of allowing anybody to write and to publish this information and aggregate it, and especially a new, post karma-based system where people with strong, good opinions will end up being just as notable as famous journalists.

    SCOTT FULTON: I don't know whether that means I'm in trouble or not.

    DAMON SICORE, Director of Engineering, Mozilla: I think the thing to keep in mind there, and what's absolutely critical, is, whatever we do to build those applications, no matter how complicated they are, they have to be based on open standards to allow innovation by the common man -- not locked into a proprietary technology to build these exciting, brand new, far-fetched applications.


July 8, 2008 Author: Scott M. Fulton, III
There are no users' comments | Post your comment

Related Links:
Advertisement Advertisement
about / contact us | Copyright 2003-2009 - Software Magazine, onekit.com, Legal Notices