SSC issues

SSC is pre–alpha software. It doesn’t do what it’s supposed to do, and what it’s supposed to do is wrong.

image: escher blummen

  • SSC is built based on my understanding of various standards. My understanding is certainly wrong. I will have misread some of the text, and misunderstood what I read correctly;
  • I had to make a number of compromises when building the code. Quite a lot of the checks are incomplete or even entirely missing;
  • I put my emphasis on standards that are actively followed, and put little effort, beyond the basics, into those that were never properly implemented;
  • I built an evolving product, reflecting evolving standards: biological evolution made the dodo, linguistic evolution made ‘hippopotamus’, I made SSC;
  • The code was built to get something working. In many places, it is horrible. A great deal of refactoring could take place, had I the time.
  • No attempt was made to write secure code. It should only be run on trusted data. In particular, a great weakness of much software is the parser, and the parsers in SSC were handmade using hopeless optimism and bizarre ideas.
  • No attempt was made to write multi–threading code;
  • The unicode support is token, it needs integrating properly;
  • The tests are very much incomplete. Emphasis is placed on HTML 5, but even those tests suffer from a lot of missing content.

Furthermore, SSC is incomplete. In particular, it is missing analysis of:

  • newer versions of SVG, as required by HTML 5;
  • the full evolution of WhatWG HTML 5, specifications that have most certainly formed the basis of many contemporary websites;
  • RDF, and so schema.org that uses RDF;
  • XHTML 5;
  • microformats structures that use WhatWG HTML microdata;
  • many other microdata standards;
  • many other XHTML and HTML extensions.

Note that github hosts a list of known issues.