CustomBrowser, Inc.
Creating Gecko Centric Web Applications

Agenda
Company Overview
About CustomBrowser
Products
Building a Customized Web Application with Gecko
Gecko: Best Practices
Summary

About CustomBrowser
Custom Browser, Inc. offers a suite of products that allow home users and corporate users alike to customize and brand their Internet browser to better server their needs.
Custom Browser is currently marketing itself as a technology provider to Internet service providers, both local and national. Several large Internet service providers could benefit from the branding of their own product through the use of Custom Browser.
Custom Browser is also marketing itself to existing Internet content providers that could leverage the Custom Browser application to link into their large content reserves. This would create a true Internet based client-server application suited to the exact needs of the end user while locking them into a particular Internet content provider at the same time.

Products
CustomBrowser develops custom browser solutions for home and corporate users.  These applications use an html layout component, which displays the web page, and any UI built around the layout component.  Currently these applications use both Internet Explorer’s layout component and “Gecko’s” layout component (in the form of an ActiveX Control).

Agenda
Company Overview
Building a Customized Web Application with Gecko
Using Gecko: Key Success Factors
Adding Features and Functionality to Gecko
Integrating and Deploying the Final Application
Gecko: Best Practices
Summary

Using Gecko: Key Success Factors
The key to developing successful web applications is utilizing Gecko technology such that a context is applied to the resulting browser based application.
The user interface and underlying functionality of the web application must allow the browser to differentiate itself from standard off the shelf products.
The end result is that the user’s experience is vastly facilitated by the browser. The browser should be able to conform to the user’s tasks and help structure the content being delivered to the end user whether it is standard HTML from the Internet or XML formatted data.

Adding Features and Functionality to Gecko
Graphical User Interface Components
Extending the DOM
API 1 (Theater Mode)
API 2 (Printing)

Graphical User Interface
Using a layout component allows us to build custom GUIs around it.  Allowing us to add common Windows features, to a browser using Gecko.  Features such as Toolbars, Chevron List Bars, Combo Box Integration, and MDI Implementations.

Extending the DOM
CustomBrowser can extend the DOM, by adding a Custom Object Model implementation.  This is achieved by using variables and Object Models within the application.

API 1 (Theater Mode)
CustomBrowsers can add functionality to the layout component, such as a Theater Mode, using the Windows API.

API 2 (Printing)
Custom Browsers can also take advantage of printing functionality.

Integrating and Deploying the Final Application
The advantages of using Gecko as opposed to Internet Explore are most noted in final file sizes. Instead of a 40+MB download (including IE), a browser made with Gecko could be a comfortable 4-5MB download.
Application Executable must be located in a bin directory along with any Gecko DLLs.

Agenda
Company Overview
Building a Customized Web Application with Gecko
Gecko: Best Practices
Using the Registry to Maintain State with Gecko
Using ADO
Utilizing XML
Versionless Software
Summary

Using the Registry to Maintain State with Gecko
Store Gecko related property values in the registry
Default home pages.
Links
Passwords
Settings
User Profiles

Using ADO
Advantages
Adds strong Database support to Gecko based web applications.
Use databases to store encrypted passwords, store and index data coming from the Internet and also data entered by the user on the client side.
Disadvantages
Increases final deployment size.
Compatibility Issues and additional requirements.
Microsoft Centric Data Access Technologies

Utilizing XML
CGI scripts allow structured XML data to be sent to the client, which can then be parsed with an HTTP based XML parser.
Client side data can be stored in XML rather than the unstructured *.ini format.
Integration with ADO 2.1 can make even more powerful applications.

Structured XML Document
<favorites>
<favorite>
<name>Mozilla.org</name>
<description>Open Source!</description>
<url>http://www.mozilla.org/</url>
</favorite>
<favorite>
<name>Custom Browser</name>
<description>Browsers</description>
<url>http://www.custombrowser.com/</url>
</favorite>
</favorites>

Versionless Software
Create Functions in the Applications that can receive parameters from HTML pages and then be executed by the application.
This is accomplished through the extended DOM.
Everything except layout component and extended DOM is based on dynamically created XML from the server, allowing the application to do virtually anything.

Summary
CustomBrowser is developing custom solutions based on Gecko technology.
What’s coming…
Messaging System
Based on Gecko XML parsing, Gecko Layout engine and Editor, and Jabber.org.
Fully Customizable Browser
Accomplished with Gecko, CDOM, and XML