If.Net

Before starting If.Net, I spent much of my previous year as Executive Producer of Times Mirror Multimedia researching and analyzing the Internet phenomenon and studying emerging Internet technologies. I realized from firsthand experience that there was a great need and demand for networking-related engineering and design services and so after TMM folded, I decided to go into business for myself doing networking projects for clients.

In October 1995 I co-founded If.Net with my friend Clayton Crawley (biz dev / technical) and my brother Dan Thorman (financial / operations).

A few of the most interesting If.Net projects are detailed here.

Macromedia product-registration system (1995 to 1996)

Macromedia approached If.Net to create a comprehensive end-to-end product registration system starting with encrypted serial number protection across the entire product line and ending with the insertion of completed customer registrations in the company’s new unified customer database (then under simultaneous development).

If.Net created all of the following components:

  • Macromedia serial number scheme, a design for serial numbers that are easy for users to type, easy to verify, and difficult to deceptively generate. The scheme combines non-opaque product codes and version numbers with opaque sequence numbers and checksums.
  • “Brando” registration library, a C-language library of source code implementing a unified serial number verification, application personalization, and user registration experience across the entire range of Macromedia desktop applications — both Mac and Windows. Allows registration via Web, modem, fax, and e-mail. Most elements still in use today.
  • SNGen serial number generation application, a tool to centralize the creation of serial numbers for manufacturing, and to define and register (in a history database) the combinations of serial numbers and product codes already in use to ensure no duplicate number ranges are ever created.
  • Backend registration processing, an automated Unix-based system that decodes, parses, validates, logs, and feeds incoming registration events from all sources (Web, modem, fax, and e-mail) to a centralized customer database.
  • Online registration forms, a set of multi-page web-based forms that enabled registration of Macromedia products via the Web site, whether linking from a desktop application registration screen or initiated via the Web. All forms designed for complete localization in multiple languages: French, German, Spanish, Italian, Japanese, and others.

International Fund for Animal Welfare web site (1996)

IFAW had gathered shocking video footage showing that the Canadian government’s alleged legal protections of seal pups were being ignored by seal hunters and government agencies alike. IFAW hired If.Net to create a web site documenting the abuses in narrative, photographs, and video using downloadable QuickTime clips (a new technology back then). The site had to: have a flexible design, be regenerated with regular updates as the campaign progressed, include both static pages and interactive letter-writing applications, and, significantly, be localized in two languages: North American English and Canadian French.

Solution: To address this challenge, we built the first version of the If.Net sitegen system: using Perl and Linux on the backend and FileMaker Pro on the front end, we built a sophisticated database-driven website-generation system that married a macro capability to standardize common graphical and layout elements with a multilingual localization database to generate a site that allowed users to switch from English to French or back again while on any page of the site, without having to return to the top of the site. By using a database, we were able to outsource the localization work to a third party. The table of localized files was simply e-mailed to the translators and then dropped into place for each build.

Our in-house Web designer, knowing nothing about programming or Unix, was able to work entirely on a Macintosh, using Photoshop, FileMaker, and a Web interface linked to the site-generation system via AppleScript to initiate and test builds of the site.

During the years 1996 to 1998, If.Net also developed several other client Web sites (and its own sites as well) using the sitegen system.

Macromedia Shockwave Download Center (1996)

In 1996 Macromedia released Shockwave, which rapidly became the most-downloaded installer on the entire Internet — with a sustained average rate of 11 downloads per second, year after year. Macromedia needed a way to make it easy for customers to get right to the correct version of the download for their operating system, localized language, and so on. The company also needed to gather user information such as name, e-mail address, and subscription signups with minimal impact on the users. Finally, the download center had to be completely customizable and administrable by a non-programmer.

Solution: To streamline the SDC, If.Net created a CGI application using its proprietary CGIS Web application toolset. The SDC was driven by an exported FileMaker table of available configurations. Pages were generated from HTML-based templates created by the administrator, with internal meta-logic interpreted by CGIS, and drawing from a second FileMaker-based table of localized strings. In addition to allowing complete flexibility to locate any available download, the application was able to select the correct download for most users in most cases, with absolutely no input beyond automatic browser-detection, allowing for a single-click download experience. The resulting solution was in use for at least 5 years, making it possibly one of the most-run applications on the Internet.

Macromedia Web Statistics System (1997)

By 1997, the Macromedia Web site was ranked as the 10th most visited Web site on the entire Internet. The site generated 10 GB of log data every week — so much that, even compressed, it barely fit on a CD.

The Web team was deluged with requests for statistical analysis from every department in the company. They tried several third-party commercial Web log analysis packages, and none of them could come close to handling the volume of data. Most also lacked the required flexibility in querying and reporting, as well.

Macromedia asked If.Net to design and implement a mechanism to solve these problems.

Solution: If.Net developed a two-tiered Unix-based approach (developed on Linux and delivered on SunOS). First, each day’s web logs were merged (with source logs coming from several different web farm servers) and then pre-analyzed several different ways using the non-HTML modes of the popular analog program. This had the effect of compressing several gigabytes of daily data into a few hundred kilobytes of raw daily statistics.

Then, each day’s raw statistics were placed in a custom-designed database built using a collection of DBM-style index files. This allowed a few hours of automated nightly log processing to fully populate the database for future queries.

Then, a command-line tool was built in Perl that could slice the data many dozens of different ways (e.g. date range; section of site; sources; internal/external referrals, etc.), and produce sorted, summarized, and length-limited reports based on custom templates allowing output in e-mail (text-only), Excel, and HTML formats. Most queries required only a second or two to complete, almost without regard to the size of the date ranges to be summarized.

Finally, the query tool served as the basis for automated reporting as well as Web-delivered interactive queries. Dozens of nightly automated reports were generated using the Unix cron facility, with resulting files uploaded to file and web servers or e-mailed directly to users. Then, a Web-based interface was created to expose the full query capabilities of the underlying tool, allowing users from any department to customize their own queries, which could then be converted by the Web team into automated nightly reports.

This system remained in place for 4 years before a commercial alternative was found whose capabilities exceeded the one If.Net built.

Church Publishing, Inc. electronic publications (1996-2001)

Church Publishing, Inc., the publishing arm of the Church Pension Fund of the Episcopal Church, USA, wished to make electronic versions of a number of very large liturgical publications (originally created and published prior to the advent of desktop publishing) available to priests and other liturgists around the country.

Solution: If.Net developed processes to automate the re-typesetting thousands of pages of liturgical publications. After painstaking comparison with the originals, the resulting documents were converted to PDF format for publication in the form of commercial hybrid CD-ROMs for Mac and Windows. These products have been updated repeatedly in subsequent years. Some of the electronic files have since served as the master source files for subsequent print editions of the original works.

Church Publishing, Inc. — The Rite Song (1999)

CPI wished to publish an interactive CD-based database of hymns and liturgical music. Called The Rite Song, the product needed to serve the needs of students, parish liturgists, those preparing service leaflets containing musical graphics, and people with limited music reading skills who needed to learn the musical repertoire. The product had to run from CD-ROM without minimal or no installation and had to run on low-end configurations.

Solution: If.Net created a product requirements analysis, specification and interface design, and evaluated cross-platform development tools. Eventually, Macromedia Director was settled upon, and If.Net developed all of the underlying databases and the application itself.

First, If.Net designed and supervised a yearlong project to digitally re-typeset all 1,500 Episcopal hymns from 3 original books, none of which were previously available digitally. Then, partially automated processes and Unix-based compilers were developed to convert the 2,000 resulting pages of typeset music files to multiple EPS, TIF, MIDI, QuickTime, V12 database, RTF, and TXT formats suitable for exporting and in-application display. In addition, several other databases of meta-data, including copyright holders, musical data, and other types of data, were also developed and corresponding compilers built.

The end result was a set of databases and master files, independent of the product itself, which CPI now uses to maintain the product’s metadata for publishing in any format, and a corresponding set of compilers and build tools that can be used to re-build the data at any time to create an updated version of the product.

The product runs from a single CD-ROM or hard drive, contains over 40 hours of music and 1.5 GB of exportable data, and works equally well on Macintosh and Windows.

In addition to creating the product itself, If.Net created the detailed 32-page User Guide and ran the Beta testing program.

The product has proven quite profitable for the client.

First shipped in 1999, the original 1.0 continues to sell well and has not yet required an update.

Church Publishing, Inc. — The Rite Stuff (2001)

CPI wished to follow the Rite Stuff hymn database with a comprehensive liturgy planning utility for Macintosh and Windows. The new product was to completely integrate data from over 50 sources — including the entire Rite Song predecessor product integrated as a hymn-picker and hymn-browser interface.

Solution: If.Net created a product requirements analysis, specification and interface design, and evaluated cross-platform development tools.

A 3-year project was launched to develop the strategic approach and the data models that would make the project possible. A liturgical expert was hired and a process developed to allow the creation of over 80 customizable liturgy templates in an XHTML format — a total of over 500,000 lines of XHTML-based source code. A meta-language was developed to control the interactive modification of the formatted templates by the end-user, and dozens of compilers, syntax-checkers and other development tools were created in Perl on Linux to enable the creation, testing, and error-correction. The result was an expert-system template base with literally not a single character, space, or tab out of place.

A sophisticated formatting engine was created to allow immediate review of the templates in HTML format using style sheets, compilation into an intermediate meta-format for easy real-time manipulation, and the ability to then customize and generate output in either letter-perfect RTF format or HTML format. The RTF output was created to be compatible with the RTF text-display features of Macromedia Director as well as with all versions of Microsoft Word, and many versions of other RTF-aware programs, on both Mac and Windows.

Many other sophisticated technologies were developed and included in the product: for example, the ability to embed musical selections directly in the resulting RTF document.

A new 30-screen user interface design was created over the period of a year with numerous improvements in response to feedback from liturgical experts and beta testers.

The net result is a sophisticated cross-platform data-driven application program, developed using Macromedia Director and delivered on a hybrid CD-ROM, that allows a liturgy preparer to generate a 98% complete service bulletin for weekly church services, with reasonable defaults for literally hundreds of choices and dozens of complex weekly-changing data chosen and inserted automatically, retaining all past overridden customizations and preferences, with literally just a few mouse clicks — replacing a task that took most preparers at least 4-8 hours per week in the past.

The resulting program shipped in December 2001. It sells for $795 and is expected to be profitable for the client and to free up dozens of person-years of time every year for end-users in time-strapped parish ministries.

Most importantly, a “side effect” of the project that eclipses the long-term value of the retail product itself was the conversion to database and/or XHTML format of literally dozens of formerly non-electronic Church data sources — a foundation that will underlie all future interactive and non-interactive liturgy publications for the client for decades to come.