Chris Graham

Member for

9 years 4 months

I am the lead developer for Composr CMS. Composr is a feature-rich website engine, optimized for ambitious folks who fall somewhere between newbie and coder.

Latest Posts

Rehabilitating Google AMP: My failed attempt

Back in February I wrote an article saying how I believed Google AMP has been imposed on the web by Google as a ‘standard’ for developing fast webpages, and my dismay about that. Google apparently developed this as an internal project without any open collaboration, and avoiding the W3C standardization processes. Google made implementation of Google AMP a requirement to show at the top of the search results for common news searches.

To many of us open web folk, Google’s AMP violated the widely held principle of search engines not putting bias into search results, and/or the principle of web standards (take your pick – it would not be bias if it was a standardized approach that the wider web community had agreed upon).

My question to Mozilla: Whose web is it anyway?

Mozilla, the makers of Firefox, just announced that they are looking to block in-page popups (also known as overlays). These are the kind of things that commonly interrupt you to ask you to sign up to newsletters or to 'Like on Facebook'. In-page popups are very different to the traditional (and much more intrusive) popups which all popular browsers now all block, something that isn't at all controversial.

Divided we fall

Social media is the perfect platform for turning important discussions into shallow memes. A place where we all live in echo chambers, the cliquiest of all cliques.

In November 2017 Sean Parker, co-founder of Facebook, admitted:

...we need to sort of give you a little dopamine hit every once in a while. It's a social-validation feedback loop...exactly the kind of thing that a hacker like myself would come up with, because you're exploiting a vulnerability in human psychology

Chris Graham: Why Google AMP is a threat to the Open Web

Like others in the IT community, I have become increasingly concerned with Google's behavior with their AMP technology.

For those who aren't really aware what AMP is, it's Google's proprietary solution for speeding up mobile pages. Webmasters implement AMP, which is a kind of Google-sanctified and Google-code-driven version of your webpage. It works very well and solves an important problem. Often when you search Google on a mobile device it will show AMP articles at the top of the results, so you get access to fast content first, which is reasonable in and of itself. and HTML5 in ocPortal 7.1 Beta

The ocPortal development team is pleased to announce that ocPortal 7.1 has now entered beta.

ocPortal 7.1 brings full support for HTML5 and for the meta-data initiative that Google/Yahoo/Bing jointly announced on Thursday 2nd June. This article explains how we have received, and how we have implemented it into ocPortal.

We feel that is a very important project, and is perfectly aligned with the goals and nature of ocPortal, so we have scrambled to release a solid implementation (achieved within 3 days).

Not only should support enhance the Search Engine Optimization of ocPortal websites, it really opens up new interoperability possibilities. For example, look at how Microsoft have been using 'tiles' in  Windows Phone, and the recent Windows 8 demo. This is a great example of how semantic markup can be used to create rich interfaces from website data. Because ocPortal now provides this data automatically, in the standardized microdata format, ocPortal webmasters need not do anything to enable these kinds of interoperabilities.

Specifically, we have implemented the following into ocPortal from HTML5:

  • Use of the XHTML5 doctype
  • Use of HTML5 semantics tags: header, footer, aside, nav, article, time, output
  • upgraded/changed HTML4 functionality that is no longer valid HTML5
  • workarounds to make Internet Explorer display pages reliably when HTML5 tags are present
  • (We already supported, and continue to support, HTML5 video)
  • (We already supported, and continue to support, HTML5 drag and drop upload)

And the following from

  • WebPage (the default, and we properly support marking up elements such as breadcrumbs, and what the prominent navigation links are)
  • ProfilePage (authors, member profiles)
  • ContactPage (various contact blocks, support tickets)