Delicates
09-15-2002, 04:41 PM
These are the least features I would expect of the new version of 1st Page:
1. Gecko engine support.
I understand you are creating a "runtime rendering" engine. However it still is essential to see how the page you are creating looks with different browsers. Rendering with Gecko and IE engines inside the application is the least I would expect.
2. Output valid markup.
Make it a validating editor. For example annoy users not to create documents with no DOCTYPE specified, or with <img> tags with no alt= attribute present, and so on. Either implement validation yourself (preferable but hard, gives you more flexibility) or use Tidy. Alert user (through highlighting) of deprecated features in the markup or CSS. Discourage use of proprietary browser features and favour standard *HTML, CSS, JavaScript, and DOM use. Favour use of CSS rather than markup styling. Discourage use of tables and images for layout.
3. Markup languages support.
This includes:
[EDIT] HTML 4.01 (http://www.w3.org/TR/html4/)
[EDIT] XML 1.0 Third Edition (http://www.w3.org/TR/REC-xml/)
[EDIT] XML 1.1 (http://www.w3.org/TR/REC-xml/)
[EDIT] XHTML 1.0 Second Edition (http://www.w3.org/TR/xhtml1/)
XHTML Basic (http://www.w3.org/TR/xhtml-basic/)
XHTML 1.1 (http://www.w3.org/TR/xhtml11/)
XHTML 2.0 (http://www.w3.org/TR/xhtml2/)
[EDIT] Including all the errata for them.
[EDIT] Note that the changes between XML 1.0 and 1.1 are quite significant.
Also option of default language to use for webpage creation. XHTML 1.1 for experts and XHTML 1.0 Transitional for newbies (*only* if 1st Page outputs nothing but valid code, otherwise HTML 4.01 Transitional). Also convert all markup to lowercase for HTML and CSS selectors. I wouldn't expect anything with XHTML 2.0 support yet, but at least DOCTYPE awareness is welcome, as well as strict XML rules enforcement.
4. CSS support.
This includes:
CSS1 (http://www.w3.org/TR/REC-CSS1)
CSS2 (http://www.w3.org/TR/REC-CSS2/)
CSS 2.1 (http://www.w3.org/TR/CSS21)
CSS3 (http://www.w3.org/Style/CSS/current-work#table)
[EDIT] CSS 2.1 is currently in Candidate Recommendation Working Draft state and this is the version you should target. However, you should also take a serious bite at parts of CSS3, which are already in Candidate Recommendation state.
5. Support of DOM in JavaScript.
This includes:
[EDIT] ECMAScript (ECMA-262 3rd Edition) (http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf)
JavaScript 1.5 (http://www.mozilla.org/js/js15.html)
[EDIT] DOM Level 1 Second Edition (http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/)
DOM Level 2 (http://www.w3.org/DOM/DOMTR#dom2)
DOM Level 3 (http://www.w3.org/DOM/DOMTR#dom3)
Typeahead/autocompletion of DOM functions and properties and JavaScript syntax checking. Encourage declaration of every used JavaScript variable.
6. Unicode and UTF support.
This includes:
[EDIT] Unicode 4.1 (http://www.unicode.org/versions/Unicode4.1.0/)
UTF-8
UTF-16BE
UTF-16LE
UTF-32BE
UTF-32LE
I expect UTF being the default encoding for the pages 1st Page creates. It should have no problems opening *and* saving in any of above encodings as well as recognise their respective ISO-10646-* names and aliases defined (http://www.iana.org/assignments/character-sets) by IANA. On documents marked as UTF-16 and UTF-32 (and UCS-4) it should be able to correctly (http://www-106.ibm.com/developerworks/library/utfencodingforms/#h4) detect wether it's BE or LE. You can use these testcases (http://jshin.net/i18n/utftest/) for testing your implementation. Also I expect editing of this page (http://www.columbia.edu/kermit/utf8.html) in 1st Page to be a beeze. Automatic selection of the best UTF encoding during save, depending on ammount of multibyte characters to minimise the file size.
Support for non-universal charsets is also essential. Conversion (Save As) between all of these encodings would be nice too, as well as an option to automatically add character encoding and MIME tags to markup during Save:
<?xml version="1.0" encoding="whatever"?>
or
<meta http-equiv="Content-Type" content="text/html; charset=whatever" />
Proper handling of Unicode for Clipboard exchange is also a big plus.
[EDIT] It must reject malformed UTF byte sequences and shouldn't create them itself. Use this testcase (http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt) to check your implementation.
[EDIT] There should be an option specifying wether a BOM should be put in the saved UTF documents or not.
7. Fast start-up time.
This is hard (if not impossible) to achieve for a feature rich application, but is essential. I like Notepad for being able to RightClick->Edit and having the document in front of me instantly. Do your best. :)
---------------------------
Please give feedback on all of above listed points. Your plans, implementation status, and so on.
1. Gecko engine support.
I understand you are creating a "runtime rendering" engine. However it still is essential to see how the page you are creating looks with different browsers. Rendering with Gecko and IE engines inside the application is the least I would expect.
2. Output valid markup.
Make it a validating editor. For example annoy users not to create documents with no DOCTYPE specified, or with <img> tags with no alt= attribute present, and so on. Either implement validation yourself (preferable but hard, gives you more flexibility) or use Tidy. Alert user (through highlighting) of deprecated features in the markup or CSS. Discourage use of proprietary browser features and favour standard *HTML, CSS, JavaScript, and DOM use. Favour use of CSS rather than markup styling. Discourage use of tables and images for layout.
3. Markup languages support.
This includes:
[EDIT] HTML 4.01 (http://www.w3.org/TR/html4/)
[EDIT] XML 1.0 Third Edition (http://www.w3.org/TR/REC-xml/)
[EDIT] XML 1.1 (http://www.w3.org/TR/REC-xml/)
[EDIT] XHTML 1.0 Second Edition (http://www.w3.org/TR/xhtml1/)
XHTML Basic (http://www.w3.org/TR/xhtml-basic/)
XHTML 1.1 (http://www.w3.org/TR/xhtml11/)
XHTML 2.0 (http://www.w3.org/TR/xhtml2/)
[EDIT] Including all the errata for them.
[EDIT] Note that the changes between XML 1.0 and 1.1 are quite significant.
Also option of default language to use for webpage creation. XHTML 1.1 for experts and XHTML 1.0 Transitional for newbies (*only* if 1st Page outputs nothing but valid code, otherwise HTML 4.01 Transitional). Also convert all markup to lowercase for HTML and CSS selectors. I wouldn't expect anything with XHTML 2.0 support yet, but at least DOCTYPE awareness is welcome, as well as strict XML rules enforcement.
4. CSS support.
This includes:
CSS1 (http://www.w3.org/TR/REC-CSS1)
CSS2 (http://www.w3.org/TR/REC-CSS2/)
CSS 2.1 (http://www.w3.org/TR/CSS21)
CSS3 (http://www.w3.org/Style/CSS/current-work#table)
[EDIT] CSS 2.1 is currently in Candidate Recommendation Working Draft state and this is the version you should target. However, you should also take a serious bite at parts of CSS3, which are already in Candidate Recommendation state.
5. Support of DOM in JavaScript.
This includes:
[EDIT] ECMAScript (ECMA-262 3rd Edition) (http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf)
JavaScript 1.5 (http://www.mozilla.org/js/js15.html)
[EDIT] DOM Level 1 Second Edition (http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/)
DOM Level 2 (http://www.w3.org/DOM/DOMTR#dom2)
DOM Level 3 (http://www.w3.org/DOM/DOMTR#dom3)
Typeahead/autocompletion of DOM functions and properties and JavaScript syntax checking. Encourage declaration of every used JavaScript variable.
6. Unicode and UTF support.
This includes:
[EDIT] Unicode 4.1 (http://www.unicode.org/versions/Unicode4.1.0/)
UTF-8
UTF-16BE
UTF-16LE
UTF-32BE
UTF-32LE
I expect UTF being the default encoding for the pages 1st Page creates. It should have no problems opening *and* saving in any of above encodings as well as recognise their respective ISO-10646-* names and aliases defined (http://www.iana.org/assignments/character-sets) by IANA. On documents marked as UTF-16 and UTF-32 (and UCS-4) it should be able to correctly (http://www-106.ibm.com/developerworks/library/utfencodingforms/#h4) detect wether it's BE or LE. You can use these testcases (http://jshin.net/i18n/utftest/) for testing your implementation. Also I expect editing of this page (http://www.columbia.edu/kermit/utf8.html) in 1st Page to be a beeze. Automatic selection of the best UTF encoding during save, depending on ammount of multibyte characters to minimise the file size.
Support for non-universal charsets is also essential. Conversion (Save As) between all of these encodings would be nice too, as well as an option to automatically add character encoding and MIME tags to markup during Save:
<?xml version="1.0" encoding="whatever"?>
or
<meta http-equiv="Content-Type" content="text/html; charset=whatever" />
Proper handling of Unicode for Clipboard exchange is also a big plus.
[EDIT] It must reject malformed UTF byte sequences and shouldn't create them itself. Use this testcase (http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt) to check your implementation.
[EDIT] There should be an option specifying wether a BOM should be put in the saved UTF documents or not.
7. Fast start-up time.
This is hard (if not impossible) to achieve for a feature rich application, but is essential. I like Notepad for being able to RightClick->Edit and having the document in front of me instantly. Do your best. :)
---------------------------
Please give feedback on all of above listed points. Your plans, implementation status, and so on.