throbber
Language Learning & Technology
`http://llt.msu.edu/vol9num2/emerging/
`
`
`May 2005, Volume 9, Number 2
`pp. 8-12
`
`EMERGING TECHNOLOGIES
`Ajax and Firefox: New Web Applications and Browsers
`
`Robert Godwin-Jones
`Virginia Comonwealth University
`Five years ago (May, 2000), this column dealt with "Web Browser Trends and Technologies." Ten years
`ago marks the arrival of several major Web players including Yahoo, eBay, and Amazon. It was also in
`1995 that the red-hot Netscape IPO ignited the start of the tech bubble in the U.S. Stock Exchange that
`burst in 2000. Given the anniversaries, it seems like a good time to revisit the topic of Web technologies,
`especially since some significant changes are underway. Alternative browsers are gaining significant
`market share, and both Apple and Microsoft are releasing OS upgrades which portend some interesting
`changes in Web development. Of particular interest for language learning professionals may be new
`developments in the area of Web browser based applications, particularly using an approach dubbed
`"Ajax."
`
`New Browser Wars?
`In the spring of 2000, Netscape had just released the beta of Netscape 6, to a largely indifferent Web
`community. This spring, Netscape has again released a beta, this time of Netscape 8, which uses a
`dramatically different approach, based largely on a popular new browser, Firefox. In 2000, several
`browsers had been newly released: Opera and iCab. Today Safari (from Apple) and the open-source
`Firefox (from Mozilla) are the new players and are attracting considerable interest. The increasing
`popularity of Apple's Safari is understandable, given Microsoft's decision not to update the aging IE for
`the Mac, while Apple regularly updates its browser with new features and capabilities. It is Firefox,
`however, that has made the biggest splash in the media, with a cover story, for example, in a recent issue
`of Wired Magazine. This is largely because for the first time the number of users of Microsoft's
`überbrowser, Internet Explorer (IE), has begun to decline, in response to wider use of alternative
`browsers. One statistical count points to a current browser market share of IE at 84%, down from a high
`of 94%.
`The decline in IE use does not just derive from the availability and attractiveness of new browsers but
`perhaps more from problems users have encountered in using the Windows version of IE. A new
`development since 2000, which users would gladly forego, is the increasing annoyance of non-requested
`and unwanted information and programs invading ones computer in the form of pop-up advertisements,
`automatically installed mini-programs commonly called spyware or adware, and installed scripts that
`redirect the browser to pornography or other undesirable sites. Microsoft has been slow to upgrade IE to
`deal with these problems, although the recent Windows XP Service Pack 2 upgrade has added a number
`of security fixes to IE and Windows generally.
`Firefox has features (like not supporting activeX controls) which make it more secure than Microsoft's
`browser (although it, too, has had security issues), and this has been a major ingredient in its popularity.
`But its attractiveness is also due to features not found in IE such as integrated newsfeeds, advanced
`tabbed browsing, and customizable contextual menus. One of the more popular features of Firefox is its
`flexibility; many extensions are available to expand its functionality, such as controlling iTunes playback,
`playing card games, or integration of a variety of dictionaries. Firefox has also garnered publicity due to
`its origins. It was begun by teenage prodigy Blake Ross, who started writing code for the open-source
`Mozilla project at age 14. He and others felt that Mozilla (and Netscape) were suffering from feature bloat
`and started a new development path that featured a stripped-down and faster, yet expandable, browser.
`The first release of Firefox came in the Fall, 2004, with updates continuing to be released on a regular
`basis. Microsoft has responded to the sudden popularity of Firefox. Originally IE was not scheduled to be
`
`Copyright © 2005, ISSN 1094-3501
`
`8
`
`APPLE 1041
`
`1
`
`

`

`Robert Godwin-Jones
`
`
`Emerging Technologies: Ajax and Firefox
`
`upgraded until the release of the next version of Windows, code-named Longhorn, scheduled for release
`in 2006, but recently Microsoft announced that it will release IE 7 before Longhorn. If it is indeed the
`case that significant numbers of users are viewing Web pages in non-IE browsers, this presents an
`interesting new situation for Web authors, many of whom have been coding exclusively for optimal
`display in IE.
`
`Standards and Compatibility
`One of the complaints about Microsoft's approach in IE is the lack if support for Internet standards (as
`propagated by the W3C) and its insistence on the use of proprietary implementations of others. Firefox
`and other alternative browsers generally have better support for standards, such as CSS 2 (cascading style
`sheets, level 2), which is notoriously quirky in IE. However, since IE has been the dominant browser by
`far, many Web sites have been designed to display well in IE, standards or no standards. This has raised a
`hotly debated issue in the Web browser community, over whether the alternative browsers should support
`official Web standards only or what David Hyatt of Apple calls "real-world standards," that is, the de
`facto standards imposed by IE. Hyatt argues that one should not have a purist approach to standards, but
`take into consideration how the vast majority of Web sites on the Internet are coded, namely using some
`of Microsoft's proprietary tags or non-standard implementation of CSS. This is how Hyatt explains, for
`example, Apple's decision to support the proprietary Microsoft "contenteditable" property (which allows
`in-browser editing of text). Understandably, Microsoft also argues for "real-world" standards (i.e., what is
`in IE) versus official standards.
`Both Apple and Microsoft have been criticized over their plans to include proprietary approaches to Web
`development in their operating system updates. Apple's recently released 10.4 version of Mac OS X
`(code-named Tiger) includes Safari 2.0, which supports new proprietary HTML tags. The most attention
`has been directed at "Dashboard," which allows creation of mini-applications (e.g., Sticky Notes,
`Calendar, Calculator, Airline Scheduler). Dashboard "widgets" are written in HTML, Javascript, and CSS
`and can be viewed on the desktop. To accomplish this, Apple has introduced new HTML tags, including
`"canvas" (for graphics display) and "slider"/"search" (for forms). Meanwhile, Microsoft is endorsing an
`implementation of XML called XAML (eXentisble Application Markup Language), which will be
`incorporated into Longhorn, along with the new graphics system called Avalon. Microsoft is touting
`XAML/Avalon as a way to create more sophisticated Web applications, but it is also designed to create
`stand-alone Windows applications. In fact, Langhorn is designed (as is, to some extent, Mac OS 10.4) to
`blur the distinction between Web and desktop applications. At least initially, both Apple's Dashboard and
`Microsoft's XAML apps will only run in their respective operating systems, not a hopeful direction for
`those favoring a universal approach to Web authoring.
`One of the interesting issues related to browser development has been the use of XML. In early 2000,
`XHTML had just been released by the W3C as an XML successor to HTML, while HTML 4 was slated
`to fade away from existence. The vast majority of pages today, however, are still coded in ordinary (and
`often badly written) HTML, not in valid XHTML (which mandates a "doctype" declaration, end tags,
`lower case). Browser makers have seen themselves obliged to be backwards compatible enough to display
`existing Web pages. In fact, Microsoft has used this situation as a reason for not having updated their
`browser to be more standards-compliant. Many Web developers have wanted Microsoft to improve style
`sheet support and its implementation of the document object model (DOM), the way in which objects on
`the page such as text or images can be accessed and changed through scripting. Microsoft has responded
`that changed and improved implementations of CSS and DOM in IE would break many existing Web
`sites. It has been pointed out, however, that Microsoft could improve standards support for pages having a
`valid "doctype" declarations while maintaining backwards compatibility with the 80 to 90% of Web pages
`that are not valid XHTML. This "doctype switching" (first introduced in IE for Mac 5.5) allows Web
`developers to take full advantage of advanced Web design standards while allowing plain and quirky
`
`Language Learning & Technology
`
`9
`
`2
`
`

`

`Robert Godwin-Jones
`
`
`Emerging Technologies: Ajax and Firefox
`
`HTML to be continued to be used. This is, in fact, the case for alternative browsers such as Opera, Safari
`and Firefox. The recent beta of Netscape 8.0 (for Windows) goes even further in striving for
`compatibility. It is based on Firefox, which uses the "Gecko" rendering system created by Mozilla, but it
`also includes IE mode which displays the page as it would appear in Microsoft's browser.
`In 2000, a draft specification had just been released for a new way to use forms on the Web, Xforms, a re-
`writing of form tags in XML (to be used in XHTML). Today, however, Xforms is not supported in
`current browsers and there has been intense debate about whether it should be implemented as written. An
`alternative approach called Web Forms 2.0, has been endorsed by a group called WhatWG (Web
`Hypertext Application Technology Working Group) which is comprised of representatives of browser
`makers (except Microsoft). This approach is designed to be backwards compatible with existing forms,
`which Xforms is not. It also relies on field validation (whether a user has entered a legitimate value in a
`form field) through Javascript (as in existing browsers) rather than through checking for XML
`declarations. For the time being, the W3C is staying with Xforms, but it is too early to know which
`approach will be implemented in browsers. There is much riding on this development, as forms are vitally
`important on the Web, supporting as they do all kinds of transactions and interactions.
`The reservations over Xforms signals a general unease with proceeding to the vision embraced in 2000 by
`the W3C of a Web based entirely on XML. Some argue that it is in fact the ease of creating HTML and its
`forgiving nature that has led to the Web's explosive popularity and that XML threatens the populist and
`democratic essence of the Web. In fact, there have even been calls for an extension of life for HTML,
`possibly even a new HTML 5. This indicates an unwillingness to move away from the error-forgiving
`nature of HTML to a standard, rule-based XML with its insistence on well-formed code. In fact, Apple's
`"Dashboard" widgets, implemented in the new OS 10.4, use HTML, not XML, in large part, according to
`Apple, to allow non-technical folks to create widgets. On the other hand, one XML implementation just
`getting started in 2000, has become a run-away success. RSS or "Rich Site Summary" is a way to create
`XML descriptions of Web content which become subscribable "channels" in RSS readers or in browsers
`with RSS support (such as Firefox or Safari 2.0). Another implementation of XML, SVG (Scalable
`Vector Graphics) has also garnered considerable support, although it is not yet universally supported in
`browsers. On the whole, however, XML has unfortunately not proved to be the Web technology that leads
`to universal standards in all browsers and platforms.
`
`Ajax and Web Applications
`One of the more promising uses of XML is the ability to connect Web pages to back-end databases and
`applications. While Microsoft's announced approach of using XML for Web applications will be
`restricted to Windows user running Microsoft software, there has been intense interest recent in a
`different approach which is cross-platform and cross-browser. This has been named Ajax by Jesse Garett
`(of adaptive path), which stands for Asynchronous Javascript + XML. It describes a way to write dynamic
`Web pages that interact in the background with resources located on a server. This has been possible for a
`while now using an approach usually called "Remote Scripting," mostly using a Javascript library written
`by Brent Ashley called JSRS (Javascript Remote Scripting) or Microsoft's approach, which uses ASP
`(Active Server Pages) and Java.
`What is new in the Ajax approach is the addition of XML, pages being encoded in XHTML and data
`exchanged through XML formatted files. The core of Ajax, however, is something with the ungainly
`name of XMLHttpRequest. This is a function first created by Microsoft in IE 5 for Windows as an
`ActiveX object. It was subsequently implemented as a Javascript object in Mozilla/Firefox and Safari.
`Similar functionality to XMLHttpRequest is in the proposed "Load and Save" DOM specification from
`W3C, which means this functionality is not likely to go away anytime soon. What it does is to allow
`retrieval of XML-formatted data in the background, which is converted to HTML objects that can be
`displayed through CSS and the DOM to the reader, updating information on the page without the need for
`
`Language Learning & Technology
`
`10
`
`3
`
`

`

`Robert Godwin-Jones
`
`
`Emerging Technologies: Ajax and Firefox
`
`reloading. This is different from the traditional way in which server resources are retrieved, namely
`through returning an entire HTML page. To get an idea of how this works, one can take a look at how the
`zoom feature works in Google Maps. Scrolling around within a map happens almost instantly because the
`data has been pre-loaded from the server and is waiting and available to be displayed to the user.
`Google in fact has been making extensive use of Ajax to create Web applications such as Gmail (email
`service), Google Suggest (suggest as you type search function), Orkut (social networking service), and
`Google Groups. It is also used in Flickr (photo sharing service), Amazon's A9.com (search service) and in
`the queue function in Netflix (DVD rental service). Apple has an interesting demo, using XML data from
`iTunes RSS feeds. The reason for the strong developer interest in this approach is that it uses non-
`proprietary technologies that are well established and is fully cross-platform and cross-browser.
`Developers have been searching for some time for a good way to maintain a connection to a server which
`would allow constant, but hidden, updating of content. This has been a challenge given the stateless
`nature of HTTP server requests (i.e., no connection "state" maintained between server and browser).
`Awkward solutions such as hidden frames and faceless Java applets have been used, but Ajax works
`much more smoothly. It also seems to scale well, so that it can accommodate large and small Web
`applications. Obviously, it is most appropriate in contexts where there is XML data residing on a server
`(or data that can be transformed into XML) which a user might want to exchange for information already
`loaded on a Web page. Clearly there are compelling opportunities in Ajax for language learning
`applications. One could envision, for example, text annotations or other comprehension aids pre-loaded
`on a page and ready for when they might be requested by the user. Another example is the construction of
`vocabulary flashcards (Chinese-English example) or quizzes from a list of items kept in an XML file.
`Examples of other uses of Ajax are likely to suggest many more possibilities for language learning.
`
`RESOURCE LIST
`Web Browsers and Trends
`• OneStat.com browser usage statistics
`• Once upon a time 10 Year Anniversary of Yahoo, Netscape (Newsweek)
`• Yahoo 10th Anniversary
`• WebSideStory: Firefox Gains Beginning to Slow browser trends and statistics
`• Mozilla Chairman Mitch Kapor Speaks Out discussion of browser competition
`• Browser battle shakes Net apps concerning different standards for new Web forms
`• Rise of the Underdog Browser
`• How Firefox works from Howstuffworks
`• Firefox Extensions from Mozilla
`• Browser Wars: Who's Winning, Who's Losing
`• Netscape 8 information from Slashdot
`• Review of Netscape 8 from blogspot.com
`•
`IE7 From IEBlog
`• The Gillmor Gang conversations about Web browsers (audio)
`
`Standards and Compatibility
`• Surfin' Safari Safari news and updates -- blog by David Hyatt
`• Web Hypertext Application Technology unofficial group advocating a different new Web forms
`standard
`• The Web Standards Project project promoting adoption of Web standards
`• Extending HTML about Apple's new tags
`• Surfin' Safari cComments from David Hyatt on Apple's proprietary tags
`• Dashboard information about new feature in Mac OS 10.4 (Tiger)
`
`Language Learning & Technology
`
`11
`
`4
`
`

`

`Robert Godwin-Jones
`
`
`Emerging Technologies: Ajax and Firefox
`
`• Dashboard: Apple's ActiveX? by Todd Dominey
`• Dashboard: Benevolent Pragmatism about Safari's new proprietary Dashboard feature
`•
`IE and Standards from Chris Wilson, one of the IE developers at Microsoft
`• Position is Everything site dedicated to dealing with CSS bugs in browsers
`• A Standards-based Look at XAML's Features from devX.com
`• Doctype switching and standards compliance: An overview good explanation of standard versus
`"quirks" mode in browsers
`
`Ajax and Web Applications
`• Remote Scripting good overview
`•
`JSRS Select Box Filling Demo example of remote scripting
`• Remote Scripting with IFRAME from Apple Developer
`• CSS3 good introduction with examples
`• State zip demo example of remote scripting using iframe
`• Guide to using XMLHTTPrequest tutorial by Bill Bercik
`• Ajax: A New Approach to Web Applications by Jesse James Garrett
`• Dynamic HTML and XML: The XMLHttpRequest Object from the Apple Developer Connection
`• Map of Switzerland using Ajax
`• Weblications about using Ajax to build Web applications
`
`Language Learning & Technology
`
`12
`
`5
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket