Dublin Library

The Publishing project

Asm.js and Web Assembly

I've been hearing about Web Assembly and its predecessor, ASM.js for a while. The idea is that we can bring C and C++ code into the web and use it directly on the browser without having plugins get in the way. This would also make it easier to port high end games and other C/C++ code to Javascript and leverage existing APIs and features Asm.js > Asm.js is a subset of JavaScript that is heavily restricted in what it can do and how it can operate. This is done so that the compiled Asm.js code can run as fast as...

Continue reading →

Intersection Observers: Making it easier to lazy load content

What I love about Paul Lewis' Developer Diaries is that he points me to new technologies and better ways to work with web content. In this case video below he clued me into a new API: Intersection Observers. The idea behind Intersection Observers is that we don't really need to load content until it comes into the viewport it's visible in the browser's window. We can configure the action that happens when the selected object comes into view. The best example of Intersection Observers I can think of is to lazy load images only when the image in question appears...

Continue reading →

Speech Synthesis API: you talk to the computer

Speech Recognition only works in Chrome and Opera. Firefox says it supports it but it doesn't work and returns a very cryptic error message. The second part of the Speech Synthesis API is recognition. Where in the prior post we used the Speech Synthesis API to have the browser talk to use when there was a problem on the form; in this post we'll use a \demo from Mozilla\demo from Mozilla to illustrate a potential use of speech recognition to make the browser change the background color of the page based on what the user speaks in to a microphone....

Continue reading →

Speech Synthesis API: computer talks

Accidentally I discovered a new API that makes it easier to interact with your site/app using your voice. The Speech Synthesis APIhttps://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html provide both ends of the computer conversation, the recognition to listen and the synthesis to speak. Right now I'm more interested in the synthesis part and how we can include it as additional feedback on our sites and applications as an additional cue for user interaction. Synthesis The Speech Syntthesis API gives us a way to "speak" strings of text without having to record them. These 'utterances' in API speak can be further customized. At the most basic...

Continue reading →

Converting Markdown to Slides

If you've seen some of my earlier posts about Markdown you know that I love the flexibility of writing Markdown and then generate other formats. Using my starter kit I can generate HTML and PDF from the same Markdown source. I found out a project to convert Markdown to Google Slideshttps://www.google.com/slides/about/ using a modified Markdwon parser and the Slides APIhttps://developers.google.com/slides/ to generate complete presentations. In this essay I'll look at tree aspects of this process: How to run the tool inside a Gulp build process The md2gslides specific syntax for different types of slides The code for some of the...

Continue reading →

Local apps versus hosted tools

Rachel Andrew's It’s more than just the wordshttps://rachelandrew.co.uk/archives/2017/01/05/its-more-than-just-the-words/ triggered a reflection that I want to share with you. Does anyone remember when the only way to get a site online was to get your school if you were so lucky to provide you space for your web presence. Then came Geocities and other 'mass' host providers and we saw the birth and proliferation of the "weird" web... either one was the place where most of us began to play with the web. !Example Geocities Pagehttps://i.kinja-img.com/gawker-media/image/upload/s--xJ-WV4WZ--/cfit,flprogressive,q80,w636/18edh1t46fw0spng.png !Example Geocities Pagehttp://blog.geocities.institute/wp-content/uploads/tumblrmlk9sgmvAC1rlkewbo112801.png !Example Geocities Pagehttp://cdn0.dailydot.com/cache/0e/e3/0ee32ed1e94e79d7d53d7be26bec7aa1.jpg Then some of us moved to private commercial hosting....

Continue reading →

Adding AMP to a Wordpress blog

Introduction I love AMP as a technology. As restrictive as it is I think it's so for a reason. We've let the web grow fat and we need a way to work around that until technologies like Promised IndexedDB, ServiceWorkers and other client-side caching and application like functionality are fully implemented across browsers. I will never implement an AMP parser by hand and fortunately I don't have to : Automattic, the company behind wordpress.comhttps://www.wordpress.com/ and Wordpress VIPhttps://vip.wordpress.com/ has created an AMP pluginhttps://wordpress.org/plugins/amp/ that I use in all my Wordpress blogs. Once the plugin is installed and activated it will dynamically...

Continue reading →

Revisiting video encoding: DASH

Although DASH is designed for both on-demand and live streaming events, I'll concentrate on on-demand content. Also important to note. Even though EME is part of DASH we will not work with EME extensions as I don't believe they should be part of the web platform. Because our ecosystem for playing video on the web has changed considerably and now smaller devices phone, tablets access our content over unreliable networks subject the way we deliver video has changed. We need to account for these elements in how we deliver our video. We'll work with two specs for streaming video for...

Continue reading →

Revisiting Video Encoding: MP4 and WebM

Introduction When HTML first introduced the video tag I was pumping my fist in joy. No more plugins to play video content. It was as simple as creating marlup like the one below to play and video in an MP4/ACC container with Egnlish and Swedish subtitles that can be changed as needed. markup But it wass never as simple as it looked. Because there was no standard video format for HTML5 video, different browsers supported different container formats and different audio and video codecs. So the video turned into something like this: markup Your browser doesn't support HTML5 video tag....

Continue reading →

Creating printable content from the web

Creating printable content from the web All the stylesheets are written in SCSS and converted to CSS through the build process. In early 2015 I played with the idea of creating a custom XML vocabulary and the associated style sheets XSLT, CSS and CSS Paged Media to convert it to HTML, EPUB and PDF. It worked, the files were fairly easy to work with at least for me who created them and it was a good way to learn how to write XML schemas, XSLT style sheets and hone my skills with CSS. The repositoryhttps://github.com/caraya/xml-workflow is available While it works...

Continue reading →