Welcome!

@CloudExpo Authors: Pat Romanski, Jnan Dash, Elizabeth White, Roger Strukhoff, Liz McMillan

Related Topics: IoT User Interface, Agile Computing

IoT User Interface: Blog Post

HTML5: Media in a Flash...Without Flash!

Part Two of a 4-part primer to HTML5 development

Welcome to part two of the four part primer to HTML5 development. In this article, I will showcase some of the additions to the HTML5 tag library that we can leverage to make media-rich websites and web applications in the blink of an eye without Flash or other 3rd-party code.

HTML5-Compatible Web-Browsers
HTML5-Compatible WebBrowsers

The <AUDIO> tag:

The first tag we will look at is the <AUDIO> tag.  This new tag allows us to embed audio content in a variety of formats that the browsers will understand.  As of now the browser file format support is somewhat spotty, so it’s worth checking the chart at w3c.org and enabling multiple file formats inside the audio tag.

Lets do a quick example of the <audio> tag:


<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>

Before we had to embed a player application, then have some javascript load the object into the player, and finally, the player would play the music for us.  With HTML5 compatible browsers, we just load a new audio object with controls.

The control GUI isn’t standardized, so you may see some issues in formatting when you view with diffrent browsers, but on the whole this process is much easier.

If you wanted to have the audio play automatically, loop, or do something when it is buffering you can do that quite easily.


<audio src=”song.ogg” autoplay loop>Your browser does not support audio tags</audio>

You’ll note that there are no = signs or quotes — we don’t need them anymore! HTML5 eliminates the need for boolean attributes to have = or “”‘s. Simply put the name of the desired boolean property and it will be interpreted by the browser as being set to true. We’ll discuss this syntax change at length in the next article.

Below is the table of currently supported audio formats and the browser support for each:

Format IE 8 Firefox 3.5 Opera 10.5 Chrome 3.0 Safari 3.0
Ogg Vorbis No Yes Yes Yes No
MP3 No No No Yes Yes
Wav No Yes Yes No Yes

According to this chart from W3C (link here, we will need at least two file formats of our audio file in order to cover all major browsers.  For the example I chose Ogg and Wav formats.


<audio loop autoplay>Your browser does not support audio tags.
<source src="song.ogg" type="audio/ogg" />

<source src="song.wav" type="audio/mpeg" />

</audio>

This will allow the browsers to select the correct file type it needs with only two additional lines of code!

The <VIDEO> tag:


<video src="movie.ogg" controls="controls">
your browser does not support the video tag
</video>

We can see that the formatting is exactly the same as the audio tag.  Like audio, we can also define multiple file sources in order to supply the correct format.  All major web browsers support Ogg video and/or MP4.


<source src="movie.ogg" type="video/ogg" />
<source src="movie.mp4" type="video/mp4" />

You’ll probably need to do alot more than just display some video with some controls, though.  This is where the new HTML5 events come in.  Try a few of the selections below with some javascript at the w3c website here http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_video_simple

oncanplaythrough — play the element as soon as it is buffered.
oncanplay — play when able, even if it might have to stop for buffering.
preload — buffer the element and wait for play.
autoplay — Play as soon as page loads, don’t wait for buffering
onend — do something when the element is done (like play the next video in a set)
onemptied — do something if the buffer is used up and no more buffer remains (like from disconnections)
onerror — pretty self-explanitory.  Do something if any errors in playing the element are encountered

A full list of HTML5 events can be viewed here: http://www.w3schools.com/html5/html5_ref_eventattributes.asp

The <object> Tag:

The <object> tag takes over the loading of applications into the web browser from the <applet> tag.  It makes it easier for both programmers and machines alike to read HTML markup and determine the values and settings being passed into the loaded application.  Take this example of an embedded object:


<object classid="xxxxxxxx-xxxxxx" id="example">
<param name="code" value="test.class" />
<param name="test2" value="testing" />
<param name="fname" value="Alan" />
<param name="lname" value="Jenner" />
</object>

<object> tags have multiple ways to declare the source of the target application or plugin: URLs and windows registry items with the “classid” option, or three other src-related attributes. It doesn’t matter which you use as long as you follow this style:


<param name=”[code/src/data]” value=”[URL]”>

You can define code, src, data, or any of the other parameters in the <object> tag itself or within <param> elements.

What's with the weird tags?

You may be asking at this point why the <object> tag is structured this way.  It’s structured with these extra tags to make it easier for machines to read the code in websites, something that will be needed for the semantic web, a revolution in how the web works similar to web 2.0.

Tim Berners-Lee (the creator of the World Wide Web) defines the semantic web thusly:

I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize.

In the next article, I will go into the semantic web in depth and show examples of the syntactical changes from HTML4 to HTML5 that will facilitate the development of the semantic web.

Read the original blog entry...

More Stories By Bryan Halfpap

Bryan Halfpap is an Engineering Intern II at ARINC.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@CloudExpo Stories
"We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Keeping pace with advancements in software delivery processes and tooling is taxing even for the most proficient organizations. Point tools, platforms, open source and the increasing adoption of private and public cloud services requires strong engineering rigor – all in the face of developer demands to use the tools of choice. As Agile has settled in as a mainstream practice, now DevOps has emerged as the next wave to improve software delivery speed and output. To make DevOps work, organization...
Get deep visibility into the performance of your databases and expert advice for performance optimization and tuning. You can't get application performance without database performance. Give everyone on the team a comprehensive view of how every aspect of the system affects performance across SQL database operations, host server and OS, virtualization resources and storage I/O. Quickly find bottlenecks and troubleshoot complex problems.
Internet of @ThingsExpo has announced today that Chris Matthieu has been named tech chair of Internet of @ThingsExpo 2017 New York The 7th Internet of @ThingsExpo will take place on June 6-8, 2017, at the Javits Center in New York City, New York. Chris Matthieu is the co-founder and CTO of Octoblu, a revolutionary real-time IoT platform recently acquired by Citrix. Octoblu connects things, systems, people and clouds to a global mesh network allowing users to automate and control design flo...
"We are an all-flash array storage provider but our focus has been on VM-aware storage specifically for virtualized applications," stated Dhiraj Sehgal of Tintri in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
With 15% of enterprises adopting a hybrid IT strategy, you need to set a plan to integrate hybrid cloud throughout your infrastructure. In his session at 18th Cloud Expo, Steven Dreher, Director of Solutions Architecture at Green House Data, discussed how to plan for shifting resource requirements, overcome challenges, and implement hybrid IT alongside your existing data center assets. Highlights included anticipating workload, cost and resource calculations, integrating services on both sides...
Unless your company can spend a lot of money on new technology, re-engineering your environment and hiring a comprehensive cybersecurity team, you will most likely move to the cloud or seek external service partnerships. In his session at 18th Cloud Expo, Darren Guccione, CEO of Keeper Security, revealed what you need to know when it comes to encryption in the cloud.
"We're a cybersecurity firm that specializes in engineering security solutions both at the software and hardware level. Security cannot be an after-the-fact afterthought, which is what it's become," stated Richard Blech, Chief Executive Officer at Secure Channels, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
According to Forrester Research, every business will become either a digital predator or digital prey by 2020. To avoid demise, organizations must rapidly create new sources of value in their end-to-end customer experiences. True digital predators also must break down information and process silos and extend digital transformation initiatives to empower employees with the digital resources needed to win, serve, and retain customers.
"We are the public cloud providers. We are currently providing 50% of the resources they need for doing e-commerce business in China and we are hosting about 60% of mobile gaming in China," explained Yi Zheng, CPO and VP of Engineering at CDS Global Cloud, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
The WebRTC Summit New York, to be held June 6-8, 2017, at the Javits Center in New York City, NY, announces that its Call for Papers is now open. Topics include all aspects of improving IT delivery by eliminating waste through automated business models leveraging cloud technologies. WebRTC Summit is co-located with 20th International Cloud Expo and @ThingsExpo. WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web co...
Between 2005 and 2020, data volumes will grow by a factor of 300 – enough data to stack CDs from the earth to the moon 162 times. This has come to be known as the ‘big data’ phenomenon. Unfortunately, traditional approaches to handling, storing and analyzing data aren’t adequate at this scale: they’re too costly, slow and physically cumbersome to keep up. Fortunately, in response a new breed of technology has emerged that is cheaper, faster and more scalable. Yet, in meeting these new needs they...
When it comes to cloud computing, the ability to turn massive amounts of compute cores on and off on demand sounds attractive to IT staff, who need to manage peaks and valleys in user activity. With cloud bursting, the majority of the data can stay on premises while tapping into compute from public cloud providers, reducing risk and minimizing need to move large files. In his session at 18th Cloud Expo, Scott Jeschonek, Director of Product Management at Avere Systems, discussed the IT and busin...
The Internet of Things (IoT) promises to simplify and streamline our lives by automating routine tasks that distract us from our goals. This promise is based on the ubiquitous deployment of smart, connected devices that link everything from industrial control systems to automobiles to refrigerators. Unfortunately, comparatively few of the devices currently deployed have been developed with an eye toward security, and as the DDoS attacks of late October 2016 have demonstrated, this oversight can ...
What happens when the different parts of a vehicle become smarter than the vehicle itself? As we move toward the era of smart everything, hundreds of entities in a vehicle that communicate with each other, the vehicle and external systems create a need for identity orchestration so that all entities work as a conglomerate. Much like an orchestra without a conductor, without the ability to secure, control, and connect the link between a vehicle’s head unit, devices, and systems and to manage the ...
"Once customers get a year into their IoT deployments, they start to realize that they may have been shortsighted in the ways they built out their deployment and the key thing I see a lot of people looking at is - how can I take equipment data, pull it back in an IoT solution and show it in a dashboard," stated Dave McCarthy, Director of Products at Bsquare Corporation, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at Cloud Expo, Robert Cohen, an economist and senior fellow at the Economic Strategy Institute, provideed economic scenarios that describe how the rapid adoption of software-defined everything including cloud services, SDDC and open networking will change GDP, industry growth, productivity and jobs. This session also included a drill down for several industries such as finance, social media, cloud service providers and pharmaceuticals.
In IT, we sometimes coin terms for things before we know exactly what they are and how they’ll be used. The resulting terms may capture a common set of aspirations and goals – as “cloud” did broadly for on-demand, self-service, and flexible computing. But such a term can also lump together diverse and even competing practices, technologies, and priorities to the point where important distinctions are glossed over and lost.
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at Cloud Expo, Ed Featherston, a director and senior enterprise architect at Collaborative Consulting, discussed the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
All clouds are not equal. To succeed in a DevOps context, organizations should plan to develop/deploy apps across a choice of on-premise and public clouds simultaneously depending on the business needs. This is where the concept of the Lean Cloud comes in - resting on the idea that you often need to relocate your app modules over their life cycles for both innovation and operational efficiency in the cloud. In his session at @DevOpsSummit at19th Cloud Expo, Valentin (Val) Bercovici, CTO of Soli...