Conference Presentation: Web Standards and The Future of The Web
I had the opportunity to speak at the Meet The Makers conference in San Francisco recently. The subject of the panel discussion was Web Standards and the Future of the Web. Though the format of the discussion was more an open "interview" style discussion, I put together a few slides showing some of the future directions in browsing technology from mozilla.org and Netscape. The goal was to assemble material that could be easily shared in around 5 minutes.
Below are some of the broad themes of my talk.
Look How Far We've Come
Early in the talk, I discuss how far along the implementation of standards has come. The adherence of major browsers to the W3C DOM lends itself well to a world in which web applications can be written using the standards and expect to run well on standards compliant browsers. I showed a demo of one such web application.
SOAP: Web Services and User Agents
Netscape 7 already offers a
low-level Web Services API
You now have a SOAPCall object (and you can make invocations of the sort
var access = new SOAPCall( )). What does Web Services mean in the
context of a web browser? I present a demo of an imaginary
web application of a status reporting tool, which makes calls via the
low-level SOAP API to a well known Web Service -- the
Google Web Service for spell checking.
We see such SOAP calls as an innovation in web browsing. Such APIs give us
a chance to make lightweight data-driven connections to backends. A
data-driven connection is not hampered with presentational information, and
can be lightweight and fast.
The presentation doesn't go into details about the actual code used. Far more instructional references on the SOAP API in Mozilla can be found in the references section.
Google's web services API give you an ascii invocation key that's bound to an e-mail address. I'm making a key public just so that you can see the demo up and running right away, but you're permitted only a 1,000 accesses a day per key. Be sure to request your own key if you're going to make such client-side invocations!
The demo page mentions how you'll have to change your prefs.js file to skirt a security restriction concerning cross-domain script access. APIs such as
Namespaces and User-agents
Lastly, I presented the notion of how XML allows formats useful to a variety of other people to be rendered by capable user-agents. This part of the demo requires the CrocZilla browser on Windows, which is a build of the Mozilla browser that supports both inline SVG (Scalable Vector Graphics) and inline MathML (Mathematics Markup Language). Note that Netscape 7 supports MathML, but not SVG. The demo running in CrocZilla shows HTML, MathML, SVG, and even CML (Chemistry Markup Language) existing in one document. The CML support on parade here comes to us via CrocZilla's support for SVG, XBL (XML Binding Language), and CSS. The point here is the potency of SVG's dynamic rastering capabilities, and the future that this allows in terms of various formats in meaningful XML, which can then be styled with the standard XML styling mechanisms (CSS or XSLT) and manipulated via DOM. Observe how the image of the lion scales on the client side -- it's all markup! This image is thanks to Steve Bowen's innovations on the skeeter-s site.
You can view the HTML based slide presentation I used. You can find navigation hyper links to move between slides on the bottom of each slide. These slides are composed of Valid HTML and CSS and were designed to be shown using a browser which fully supporting CSS positioning (especially the right and bottom CSS properties on absolutely positioned elements).
- XML Central on DevEdge
- CSS Central on DevEdge
- W3C DOM Specification (Level 1)
- SOAP 1.2 Specification
- XML Extras in Mozilla
- SOAP Scripts in Mozilla
- Bypassing Security Restrictions by Modifing your prefs.js file
- Security Central on DevEdge.
- Apple's write-up on the Mozilla SOAP API
- Scott Andrew's exposition on Mozilla SOAP API and Google
- The Google Web Service API Release
- SVG (Scalable Vector Graphics) 1.0 Specification
- MathML Specification
- Chemistry Markup Language (CML)
- XBL (XML Binding Language)