As I begin to work on using Koype as my sole "gateway" to the social Web, I'm seeing how much of the corporate Web is blocked off from community-grown standards. I wrote a bit about my difficulty to just credit content correctly in a open fashion and now I'm really going to just go on a limb and ask people to do something a few things here.
- Optimize for people over machines.
- Keep things reachable via the Web.
- Use fallback solutions more often than never.
What is "Web Friendly"?
Before I continue, I'll preface this by saying that I'm not some expert or author at the W3C or WHATWG. I haven't released a project that led to 100,000 stars on GitHub or BitBucket. My most notable interaction that people seem to know me for on the Web was when Google marked my friend as a gorilla. Not even for work I've done but for me calling out another company during the BET Awards show. I will say that I've been tinkering with the Web for over a decade and I've legitimately seen the Web go from something anyone could use and experience to a machine driven by fewer companies that aim to monetize a already-tricky transport layer.
I see a page being Web friendly by embracing the following things:
- The content on the page is visible wholly in the source code of the page.
- There's no drastic difference of the content when you fetch it using a different tool.
If a page suffers from the things above, what does one do to remedy the situation?
Optimize For People Over Machines
I'd point my finger at big publications and their use of corporate-led outlining of Web content but they're just trying to make sure people can find them in silos. Which is important to their bottom line. I'm not asking them to stop that (not completely). I'm asking for (more) markup that aligns with tooling that's Web friendly. We have Microformats that gives you freedom over how content is designed and still making the page hyper relevant to the user viewing. This post is rendered using Microformats. You don't have to worry about SEO if that's a concern; reasonable search engines are capable of parsing Microformats. There's also HTML Microdata though I'd avoid going with a corporate-backed standard before using one pushed by the community - it's company practice to extend, embrace and extinguish. Microdata is also overly verbose in its definitions. Schema's another contender backed by large search engine companies. The site provides examples of what markup looks like for RDF-A, Microdata and JSON-LD.
I'd push for Microformats since it encourages you to think about the content you'll be presenting on the page versus dumping as much as you can with no real objective (or to conform to some arbitrary remote test). This means the designer of the markup will also consider what the needs and use-case of the visitor will be and provide alternative rendering when necessary. JSON-LD and the likes encourage big dumps of information; aiming to (under)optimize against the user and for the companies scraping their site for views.
Keep Things Reachable via the Web
Let's go back to https://prerender.io/. When I do a request from the console for the page, I get the following:
Use fallbacks more often.
As Web developers; we have a responsibility to users to make actions explicit, avoid dark UX and deliver content to visitors of our services. This post isn't meant to berate developers; in fact, it's a hope to spur more discussion on how we can provide value to users without selling them out to companies. We're already losing the venue points to get people into the game and now we're actively threatening the ability for the Web to be visible by people first. There's methods to counteract this work. I'm down to talk about options and routes.