The Code Style site has evolved by gradual refinement and accumulation of features and content. This review is part of a fully backdated site log and archive that sheds light on when, why and how particular features were implemented.
This log is sometimes updated several times per week, sometimes with a long overdue backlog of items. Many log entries refer to the Code Style Java package that delivers the servlet services and utilities used to manage this site.
Subscribe to the news feed for this log:
Completed a range of modifications to the site home page to improve user orientation and highlight site content, including a new tagline in place of the site URI: "Web font statistics, media stylesheet guide and open standards design". Also re-phrased the page standfirst to outline the objectives of the site, and new "Action points" and "Featured articles" headings for deep links into site content. Reorganised the "At a glance" boxout to highlight the site subject index and contents index, with a new "About Code Style" heading and links.
Added Dublin Core Description.Abstract link metadata elements to the site contents index and subject index and standfirst links between both. Extended the general site link navigation to include the subject index.
Trimmed the standfirst on the site statistics page and added a note on seven day cache expiry. Reinstated links to the relevant survey results pages for each of the Code Style font sampler and survey pages and added Dublin Core Description.Abstract link metadata elements.
Created a single version of the standard Footbar div element to include into each respective page footer for improved modularity and changed the date format for all server side include footers:
<!--#config timefmt="%A %e %B %Y at %I:%M:%S %p %Z" -->
This formats the last modified time as: "Saturday 25 May 2002 at 11:05:24 AM GMT Daylight Time" where %A is the full day name, %e is the date, %B is the full month name, %Y is the four digit year and %I, %M and %S are hours (of twelve), minutes and seconds respectively. The %p code is for am or pm and %Z is for the local timezone on the host.
Started adding date based fragment anchors to site log entries for future reference:
<a name="date-2002-05-25"
id="date-2002-05-25">
25<sup>th</sup> May 2002
</a>
Moved the user comment field to the top of the Code Style font survey email notification for improved visibility.
Re-worded the standfirst on the site contents index and changed the div container for the page navigation to a MenuBox class to run the FAQ boxout alongside.
Created a new version of the information icon,
, with a transparent background for use against different coloured backgrounds.
Added several new terms to the site subject index based on site search queries.
Changed markup used for SQL statements on this page and the April 2002 site log page to contain all within an SQL class div element (view source for examples).
Added the #Content .SQL selector to the grouped selector for the wide margin-right style in the layout stylesheet CSStdLayoutStrict.css (and equivalent in workaround CSStdLayoutIE4.css) to match pre element styling:
#Content P, #Content OL, #Content UL,
#Content DL, #Content PRE, FIELDSET,
.MenuBox, #Content .SQL{
margin-right: 31%;
}
And override the wide margin for the nested p elements in the common layout stylesheet CSStdLayoutCommon.css:
/*
Don't compound the margins for nested
elements!
*/
#Content OL OL, #Content UL UL,
#Content OL P, #Content UL P,
#Content DD P, #Content DD OL,
#Content DD UL, #Content DD PRE,
#Content DD DL,
#Content .MenuBox UL,
#Content .MenuBox OL,
#Content TD UL, #Content .SQL P{
margin-right: 0;
}
Adjusted the font-size value for the .SQL P selector in CSStdLiveryCommon.css to match the pre element:
PRE, .SQL P{
font-size: 0.9em;
}
Added DROP statements for the new notify and browser tables to the "build" script, fonts_drop_tables.sql, for the codestyle_fonts database.
Found one case where a notification request was duplicated between the submission and notify tables, so added a SELECT statement to the survey validation script to report any cases:
SELECT s.email, s.realname, s.survey_id, n.email, n.realname, n.survey_id FROM submission s, notify n
WHERE s.email = n.email
AND s.survey_id = n.survey_id
AND s.notify = true;
Added the INPUT[type='reset'] selector to the grouped selectors for font-size, line-height and padding in CSStdLayoutCommon.css and CSStdLiveryCommon.css respectively:
/*
Make Mozilla submit buttons more
like Opera and IE.
*/
INPUT[TYPE='submit'],
INPUT[TYPE='reset'],
INPUT[TYPE='button']{
padding: 0em 0.8em;
line-height: 1.3em;
}
/*
Make Mozilla form elements more like
Opera and IE.
*/
INPUT[type='submit'],
INPUT[type='reset'],
INPUT[type='button'],
INPUT[type='text'],
SELECT{
font-size: 0.8em;
}
Added a white-space: pre; declaration to the pre selector in the Netscape 4 livery stylesheet, CSStdLiveryNN4.css, to work around the loss of formatting bug:
PRE{
background: #EEE;
color: #039;
border: none;
white-space: pre;
}
Added the debugged notify table creation script to the codestyle_fonts database build script, fonts_create_tables.sql.
Added a transaction to the validation script for the codestyle_fonts database to INSERT simple notification requests to the new notify table and DELETE them from the main submission table.
BEGIN WORK;
INSERT INTO notify(realname, email, survey_id, date, time, browserstring, host)
SELECT realname, email, survey_id, date, time, browserstring, host FROM submission
WHERE reported = 0 AND notify = true;
DELETE FROM submission WHERE reported = 0 AND notify = true;
COMMIT WORK;
Cleaned up some invalid email notification details and sent Windows font survey results and Unix family font survey results update notifications with full results directly from text formatted database output. (Subsequently cleaned up bounced email records from submission and deleted affected notify records).
Added foundry and font table entries for the Esselte Corporation version of the Papyrus font for Windows.
Wrote an SQL script to create a temporary status table for the codestyle_fonts database as the basis for new font frequency calculations. This table is populated with a snapshot of the start and end dates for all fonts that have appeared in the surveys and the number of valid submissions received over the relevant period for each font.
Also wrote a set of three table join scripts to select these "rolling" statistics from the status, submission and dataline tables for each current survey. This combination allows percentage frequencies to be calculated per font rather than per survey, and comparison with fonts recently added to the surveys.
Added a new notify table to store simple notification requests for the Code Style font survey results updates, essentially a paired-down version of the submissions table, and compiled an SQL script to populate the table with legacy data.
Set the notify value to false for some submission records where the email field is null.
Also added a new browser table to the codestyle_fonts database to store and analyse information about the browser versions and operating systems contributing to the surveys. Wrote a further SQL script, fonts_update_browser.sql, to initially populate the browser table from the submission table and periodically update the classification of user agent strings by browser name, version, operating system.
Initially, two distinct user agent strings cannot be classified by operating system; the X11 system is operating system independent.
Mozilla/5.0 (X11; U; Galeon; 0.12.2; 590848)
Mozilla/5.0 (compatible; Konqueror/2.1.2; X11)
Extended the pre-check and validation scripts for the Code Style Windows font survey to include an additional system identifier for Windows NT submissions and added a SELECT statement to report any user agent strings that are not matched.
Added the debugged browser table creation script to the general database build script, fonts_create_tables.sql. Corrected the platform values in the survey table, which were all set to "Windows" and applied the changes to the database population script, fonts_populate.sql.
The addition of the new fields to the submission table of the codestyle_fonts via a temporary table using renaming resulted in the table being dropped at the end of the session! Adjusted the conversion script to use a permanent table and rebuilt the database. Reduced first draft font statistics SQL scripts to just report the font name and percentage frequency.
Concatenated all draft validation scripts for codestyle_fonts database submissions into a single file, fonts_validate_submissions.sql.
Added new surveyed and reported columns to the submission table of the codestyle_fonts database for easier selection of submissions based on the number of fonts included in the survey at the time of submission compared with the number reported. Wrote a script to implement these changes via a temporary table, with UPDATE statements to COUNT the relevant values from the surveyline and dataline tables, then rename and replace the original submission table.
Also wrote a range of SQL scripts to check browserstring field values against specified survey platforms and validate submissions. Amended draft scripts for calculating font frequency statistics to sort by percentage in descending order and by font name in ascending order to match the published format. Completed the first Code Style font survey results update based on the codestyle_fonts database, transcribing the results manually for the time being.
Amended the standard build script, fonts_create_tables.sql, to include the new surveyed and reported fields in the submission table. Concatenated all the debugged survey submission scripts for legacy data into a single fonts_populate_submission_legacy.sql file.
Reduced the number of fonts included in the Mac font sampler and survey to 40 by removing the seventeen least commonly reported fonts and adding the Microsoft core Web font, Arial Black. Extended the number of fonts included in the Unix family font sampler and survey to include all Microsoft core Web fonts and the Postscript names of some existing fonts: Bookman, Helvetica Narrow, Palatino and Zapf Chancery. Amended database records accordingly.
Corrected a badly formed SQL statement in the new Code Style font survey submission templates and added UPDATE statements for the new surveyed and reported fields. Added a missing semi-colon after the INSERT statement for the Baskerville font and a new entry for the Unix font Avantgarde (no spaces). Added Avantgarde to the Sampler.css stylesheet.
These backdated pages record detailed changes to the Code Style Web site since July 2000, when development first got underway. Some pages may refer to documents or features that have since changed or are no longer part of the site, but the archive is checked to ensure there are no dead links.
For a summary overview, see the annotated site log contents.