You are here

Feed aggregator

DuraSpace News: Shine On–The DSpace Repository Community at OR2016

planet code4lib - Tue, 2016-05-17 00:00

Austin, TX  Are recent DSpace open source repository software advances of interest to you? Here are several opportunities to catch up on what the the DSpace community is engaged in and planning if you will attend the 11th Annual International Conference on Open Repositories Conference (#OR2016) next month, June 13-16, in Dublin, Ireland.

DSpace Developer and DCAT (DSpace Community Advisory Team) Meeting

• Monday, 13/Jun/2016: 9:00am - 11:00am

Dan Cohen: The Digital Divide and Digital Reading: An Update

planet code4lib - Mon, 2016-05-16 18:21

Last month I wrote an article for The Atlantic on the state of the digital divide, the surprisingly high rate of device (smartphone and tablet) adoption at all socio-economic strata, and what these new statistics mean for ebooks and reading. An excerpt:

According to Common Sense, 51 percent of teenagers in low-income families have their own smartphones, and 48 percent of tweens in those families have their own tablets. Note that these are their own devices, not devices they have to borrow from someone else. Among middle-income families (that is, between $35,000 and $100,000), 53 percent of tweens have their own tablets and 69 percent of teenagers have their own smartphones, certainly higher but by a lot less than one might imagine.

If we pull back and look at households in general, the gap narrows in other ways. This winter, the Joan Ganz Cooney Center at Sesame Workshop published the first nationally representative telephone survey of lower-income parents on issues related to digital connectivity. The study, conducted by the research firm SSRS, included nearly 1,200 parents with school-aged children, interviewed in both Spanish and English, via landlines and cell phones. It was weighted to be representative of the American population.

In this comprehensive survey, a striking 85 percent of families living below the poverty line have some kind of digital device, smartphone or tablet, in their household. Seventy-three percent had one or more smartphones, compared to 84 percent for families above the poverty line. These are vastly changed numbers from just a few years ago. A 2011 study by Common Sense showed that in lower-income (under $30,000) households with children, only 27 percent of them had a smartphone, compared to 57 percent for households with children and income over $75,000.

It’s worth pondering the significance of these new numbers, and how we might be able to leverage widespread device adoption to increase reading. My conclusion:

We must do everything we can to connect kids with books. Print books, ebooks, library books, bookstores—let’s have it all. Let’s give children access to books whenever and wherever, whether it’s a paperback in the backpack, or a phone in the back pocket.

[Read the full article at The Atlantic.]

Access Conference: Diversity Scholarships: Call for Applications

planet code4lib - Mon, 2016-05-16 15:28

The Access 2016 Planning Committee is pleased to announce that we will be offering Diversity Scholarships to help valued members of our community attend Access 2016 in Fredericton, NB!

Each year, Access conference planners set aside funds to support a minimum of two scholarships, but thanks to a generous donation, two additional scholarships will be available in 2016! A total of 4 scholarships, valued at up to $1000 CAD each, will be awarded to help offset the cost of registration, travel, and accommodation for Access 2016!

Each applicant must self-identify as a member of a traditionally under-represented and/or marginalized group in technology communities, including, but not limited to, those based on gender identity, race, sexuality, or physical ability. Applicants must also be unable to attend the conference without some financial assistance (student, unemployed, underemployed, or working at a company/institution that does not support professional development).

If you’ve received a Diversity Scholarship to attend Access in either of the past two years (2014 or 2015), we would appreciate it if you would hold off this year to give other under-represented members of our community a chance to participate.

For more information on the Diversity Scholarship Program, consult the scholarship plan. A more extensive, but not exhaustive, list of what we mean by a traditionally underrepresented and/or marginalized group is also available. That said, we think you’re the best person to identify if you are a member of a traditionally under-represented or marginalized group: don’t feel constrained by this list!

How to Apply:

Application Criteria:

  • You self-identify as a member of a traditionally under-represented/marginalized group (see extended list, above)
  • You are unable to attend the conference without financial assistance (i.e. you are a student, unemployed, underemployed, or lack funding for professional development).

Application Process:

  • Send an email to no later than June 17, 2016, detailing your background and interest in library technology and how you think Access will advance your professional development. No more than 300-500 words, please!
  • Please attach an updated resume or CV.
  • That’s it! We don’t need proof of your eligibility. We trust you!

How We’ll Decide

If you meet the criteria listed above and follow the application guidelines, we’ll throw your name into the hat for a scholarship. At a planning committee meeting in June, we will draw names and those people will be awarded scholarships. Successful applicants will be contacted via email no later than June 24.

LITA: LITA Forum Assessment Task Force Survey

planet code4lib - Mon, 2016-05-16 14:28

Dear Colleagues,

The LITA Forum Assessment Task Force wants your opinions about the impact of LITA Forum and how it fits within the library technology conference landscape. We invite everyone who works in the overlapping space between libraries and technology, whether or not you belong to LITA or have attended the LITA Forum recently (or at all), to take a short survey:

We anticipate this survey will take approximately 10 minutes to complete. Participation is anonymous unless you provide your email address for potential follow-up questions. The survey closes on Friday, May 27th, 2016, so don’t delay!

We will summarize what we learn from this survey on the LITA Blog after July 1st. If you have any questions or are having problems completing the survey, please feel free to contact:

Jenny Taylor ( or Ken Varnum (

We thank you in advance for taking the time to provide us with this important information.

Jenny Taylor
Co-Chair, LITA Forum Assessment Task Force

Ken Varnum
Co-Chair, LITA Forum Assessment Task Force

LITA: Transmission #4

planet code4lib - Mon, 2016-05-16 14:14

In a fun-filled fourth episode, Begin Transmission sits down with John Klima, Assistant Director at the Waukesha Public Library and LITA Blogger. Learn about Klima’s commitment to public service and steampunk expertise.

Begin Transmission will return with our fifth episode on May 31st.

D-Lib: Scientific Stewardship in the Open Data and Big Data Era -- Roles and Responsibilities of Stewards and Other Major Product Stakeholders

planet code4lib - Mon, 2016-05-16 14:13
Article by Ge Peng, Cooperative Institute for Climate and Satellites-North Carolina (CICS-NC), North Carolina State University and NOAA's National Centers for Environmental Information (NCEI), Nancy A. Ritchey, NCEI, Kenneth S. Casey, NCEI, Edward J. Kearns, NCEI, Jeffrey L. Privette, NCEI, Drew Saunders, NCEI, Philip Jones, STG, Inc, Tom Maycock, CICS-NC/NCEI, and Steve Ansari, NCEI

D-Lib: Report from the Sixth Annual DuraSpace Member Summit, March 2016

planet code4lib - Mon, 2016-05-16 14:13
Conference Report by Carol Minton Morris, DuraSpace

D-Lib: Linking Publications and Data: Challenges, Trends, and Opportunities

planet code4lib - Mon, 2016-05-16 14:13
Conference Report by Matthew S. Mayernik and Jennifer Phillips, NCAR/UCAR Library, National Center for Atmospheric Research (NCAR), University Corporation for Atmospheric Research (UCAR); Eric Nienhouse, Computational and Information Systems Lab, National Center for Atmospheric Research, University Corporation for Atmospheric Research (UCAR)

D-Lib: Institutional Repositories: Home for Small Scholarly Journals?

planet code4lib - Mon, 2016-05-16 14:13
Article by Julie Kelly and Linda Eells, University of Minnesota

D-Lib: Stewardship

planet code4lib - Mon, 2016-05-16 14:13
Editorial by Laurence Lannom, CNRI

D-Lib: Customization of Open Source Applications to Support a Multi-Institution Digital Repository Using DSpace

planet code4lib - Mon, 2016-05-16 14:13
Article by Youssef Benchouaf, Daniel Hamp and Mark Shelstad, Colorado State University

Islandora: Islandora Show & Tell: Berklee College of Music

planet code4lib - Mon, 2016-05-16 13:21

We have a particularly interesting Islandora Show & Tell this week, with the archives of the Berklee College of Music. The collection includes (of course) some pretty great music from their students, but also extends to event programs, oral histories, scrapbooks, and other products of their student's graduate projects.

They use some minor customizations of the Newspaper Solution Pack to fit it to their event programs, displaying a title per every “Islandora Newspaper Issue,” which provides more context and metadata for events. Some more involved customizations went into creating their “Highlighted Items” block, which appears on the landing page. It's done with a Drupal block module that taps into the Islandora / Tuque API with a custom web form; the team enters PIDs for the objects they want to display. There are also smaller customizations to the user interface spread throughout the site, such as navigation breadcrumbs, “page rotation” options in the OpenSeaDragon plugin, a new “viewer” module that replaces the Internet Archive Book Reader, and in the back end, heavily customized XML to create a simplified interface for non-archives staff. Once they get their configurations locked down, they have plans to share their details in the Islandora Deployments repo. 

Which is all very cool. But since I'm the one reviewing this collection, it's all about the cats. Berklee's archives (specially, their event programs), do not disappoint. Front and centre on the search results page is The Cat's Pajamas. Not to be outdone by Cats 'N Spats. Or, my personal favourite to invent a context for: Our Cat Is Sleeping On Your Back Porch

And on those notes, let's hear from Sofía Becerra-Licha and Ernie Gillis about how their collection came together:

What is the primary purpose of your repository? Who is the intended audience?

The mission of the Archives at Berklee College of Music is to preserve and provide access to institutional history as well as special collections focusing on popular music. Our audience includes Berklee faculty, staff, current students, and alumni on both campuses (Boston and Valencia) as well as a diverse array of outside researchers and casual viewers. Given the College’s emphasis on technological innovation and our very limited physical space on campus, digital access to collections has been a priority since the Archives’ establishment in 2012. 

Our online presence is divided into two parts: an institutional repository containing master’s capstone projects and digital collections consisting of both institutional records and special collections. The institutional repository  both showcase recent graduates’ work and is actively used by the graduate student body and their faculty as research and reference materials. Our digital collections include oral histories chronicling Berklee and Boston popular music history, materials relating to the Schillinger System of Musical Composition upon which Berklee’s distinctive curriculum was based, and other curricular and institutional highlights. 

Why did you choose Islandora?

This repository was a long time coming. Area requirements included an open-source solution and the ability to ably manage audiovisual assets. Originally, the Learning Resources technical team attempted to build a repository structure from scratch, resulting in several iterations over the past decade before discovering and settling on the Fedora Repository structure. Then, over the last five years, Learning Resources as a whole (including the College Archives and Berklee’s library) migrated to a Drupal-based CMS. Given these developments and the want & necessity of sticking to open source solutions, Islandora emerged as a perfect fit to both match the CMS migration to Drupal and tap into the offerings of Fedora. In short, Islandora fit our workflow management needs and open source requirements. 

Which modules or solution packs are most important to your repository?

What feature of your repository are you most proud of?

Some highlights: 

  • Using the Newspaper Solution Pack to present our campus event programs, organized chronologically by venue: 
  • Incorporating TurnJS for multi page object viewing (to replace Internet Archive Book Reader)
  • SOLR integration and configuration fine tuning

Who built/developed/designed your repository (i.e, who was on the team?)

We’re a small team of three-ish. Web development and design work was done by the Manager of Learning Resources Web Development (Ernie Gillis) and Senior Web Developer (Jaesung Song), in consultation with the College Archivist (Sofía Becerra-Licha), who assisted with content development and ingest. In the planning and implementation stages, the team had input from the Director of Library Services and the Dean of Learning Resources. 12 shared work-study students were collaboratively employed in the areas of digitization (6), graphic design (2), web development (2), and archival processing (2). 

Do you have plans to expand your site in the future?
Yes! Modules we plan to install and/or implement include OAI and Scholar. Planned improvements to local functionality development and design include: SSO rights management, implementing a (TBD) library services discovery layer, and improving responsive and mobile design interfaces for Islandora/Fedora Objects. With regard to asset management and creation, we plan to add:

  • Closed captioning for videos (such as oral histories)
  • Real time streaming for on demand audio / video (for improved control over downloads, and for better mobile or remote / low data access via adaptive bitrate) 
  • PDF to Image & image protection (to better control high quality download of certain images or graphic objects)
  • EAD / Finding Aids as Fedora Objects
  • Web technology objects (for HTML5 SVG objects, or other web animation types)

What is your favourite object in your collection to show off?
The scrapbook in the Franklin McGinley collection on Duke Ellington (BCA-004). Great illustrations, fun clippings, musician autographs, and more! 

LibUX: Why am I doing this to our users?

planet code4lib - Mon, 2016-05-16 07:00
Let’s Redesign a Web Application!

In the spring of 2015 the WVU Libraries development team was called upon by the eResources committee to redesign their legacy Databases web application, which was first started in 2010.

A screenshot of the WVU Libraries databases web application as it existed before 2015. This design wasn’t responsive, utilized a left-hand faceting system, and navigation/search elements were inherited into the web application.

I was given less than two days to design a databases web application user interface (UI) redesign and present it to the entire eResources committee. This was without any time to establish quantitative design research – analytics, usage data, server-side statistics, etc. – or to conduct any type of qualitative usability testing.

Due to the development team being in constant backlog, being extremely understaffed, and deadlines being decided without our input, it was apparent that this was a UI upgrade only – and we were going in blind. After launch I would be able to conduct summative usability testing.

Four Missed Opportunities
  1. We didn’t include the user in the process
    It was a missed opportunity not only to include the user in the process. By not including the user we couldn’t determine what worked for them, how they used the UI, and what their satisfaction and pain points were.
  2. We hadn’t established any type of quantitative research
    We didn’t have any type of quantitative research for the web application (Google Analytics, CrazyEgg, etc.). So we had no quantitative (or qualitative) data on which we could base any UI decisions.
  3. We didn’t use interactive wireframes
    I have found that without interactive wireframes stakeholders, developers, and user experience (UX) professionals have very different ideas about how a web application or design should function. Ultimately you can end up with a hybrid or compromised project that is usually subpar to a developers, stakeholder, or client’s expectations.
  4. We launched before we tested
    We didn’t conduct any type of user survey or testing on the different interface in a development environment, but instead went live with the intention of testing the live product.

Images of the proposed UI redesign for the WVU Libraries databases web application.

Despite the missed opportunities, the major features and improvements of what was designed and implemented for the web application were:

  • Being responsive
  • Having featured wikilinks for resource and type tags
  • A cleaner simpler UI
  • A faceted breadcrumb navigation system (similar to online shopping experiences) for titles and subjects.

The only differences with what was built for the WVU Libraries databases web application include moving to a tabbar-based mobile navigation, on-page help information on every view, and a slightly reduced faceting system from before.

All in all, not too many differences existed between what was proposed versus what was actually designed and built. The only differences include moving to a tabbar-based mobile navigation, on-page help information on every view, and a slightly reduced faceting system from before.

A design in context of the tabbar-based mobile navigation which contained the sort type, help, and faceting system.

TEST 1: Redesign Usability Testing Results

The committee had requested changes be made on the live product before testing, without knowing the goals and objectives to test in the first place. At this point I stressed that we had no qualitative or quantitative data to go by, and doing some summative usability testing before making any changes was critical. There was a lot of push back on this, and even though I held my ground as a UX professional, I sensed that this was the beginning in a breakdown of communication, understanding, and the user’s role in the development process.

Database Web Application Usability Testing from Tim Broadwater

The Database web application usability results report clarified the web application’s primary target audience as being 73% undergraduate students, 21 years in their average age, 80% of which having smartphones. Additionally the report clarified that 96% of the Database web application usage was from users not actually in the library.

The usability test results demonstrated that as the users spent more time in the web application, it became easier for them to navigate and use. It also indicated that the majority of error rates could be dramatically improved just by making a few UI, content, and development changes. An example of these were changing the locations of certain UI elements, changing some naming conventions, and adding a search box.

It seemed like the blind attempt of redesigning the web application by our UX professional and development team was a success, that we were pretty good, on the right path, and the UI was workable… right?

The UX Conspiracy

I couldn’t have been more wrong. First and foremost the design and UI was not what the stakeholders wanted; they stated that users wouldn’t scroll, that the faceting was too complicated, and that they weren’t happy with the web application. The development team was then questioned as to why we didn’t make the requested changes before testing, to which I responded in kind concerning the lack of user data.

Next we were told that Librarians needed to be involved with the entire Usability Testing process, and what they were seeing users do at the desk and in-person was not what we were designing and building. Finally, it was implied that the UX professional (me) was bending data to fulfill an anti-librarian agenda, push UI elements that weren’t necessary, and not listening to what the librarians thought the users wanted.

I was flabbergasted. Here we had our first insights into how the user interacted with the Databases UI, measurable data to weigh against future summative user testing going forward, and a clear pathway for improvement. However, the stakeholders were claiming data manipulation occurred, stating that users don’t know how to scroll, and exclaiming that it was better before the redesign.

The Breakdown of Communication

We ended up not being able to meet with the eResources committee for three months, during which time the development team was not permitted to make any improvements identified in the usability testing. Near the end of the year, we finally had an hour long meeting with the eResources committee in which we argued the same points, we tried to compromise, but in an entire hour the user was never mentioned or considered once. The conversation had devolved into a blame game.

Later the development team was informed that the eResources committee was possibly moving the Databases web application into another product entirely, unless we built verbatim exactly what they wanted. At this point some on our team became so disgusted with the entire process, and completely excluding the user, that they didn’t care if the eResources committee moved to another product. Simultaneously, other members of the development team who had been working on the web application for years didn’t want to throw away their work, and agreed to do what the committee wanted, even if it meant taking out the innovative and groundbreaking features of the web application (faceted breadcrumbs, wikilink tags, etc.).

During all of this time, I kept thinking “where is the user in this whole process.”

Let’s Re-Redesign a Web Application?

So the development team started work on the second redesign of the Databases web application in the same academic year, and were told that we had to get approval from the eResources committee every step of the way, and that we couldn’t go live without their approval.

This process was a grueling, disheartening, and a morale killer for our team. Mostly because we devolved into a ‘my way or the highway’ work mode, the usability test results were thrown out the window, and we were forced to work along a bulleted list of what we needed to do to get approval to go live. At this point I remembered thinking to myself, “when did I become a mouse the librarians could just click-and-drag,” and asking myself “whose job am I doing, and why am I doing this to our users.”

The re-redesigned Databases web application went live on March 7, 2016. The head of the eResources committee sent out an email to all library personnel exclaiming how the committee worked hard with the ‘web folks’ to simplify and make it easier to navigate; many library-wide congratulations followed.

TEST 2: Re-Redesign Usability Testing Results

On April 15th, 2016 we began conducting a repeat of the usability test from last year, omitting the questions that couldn’t be answered in the changed UI.

Database Web Application User Test 2 from Tim Broadwater

TechSmith Morae was used on a laptop computer to conduct usability testing of the recently revised Database web application, using test questions from the first round of testing that were still relevant to the web application.

When comparing test results from the first Database usability test from the Development team’s redesign, to the re-redesign mandated by the eResources committee, the following occurred:

  • 54% of task completion required more time in Test 2 when compared to Test 1
  • Success rates for both ‘Completed with ease’ and ‘Completed’ were largely reduced in Test 2 when compared to Test 1
  • Success rates for both ‘Completed with difficulty’ and ‘Failed to complete’ largely increased in Test 2 when compared to Test 1
  • The standard deviation of error rates have majorly increased in Test 2 when compared to Test 1

Additionally, 70% of the system usability scale responses from Test 1 to Test 2 decreased in favorable response:

  • I needed to learn a lot of things before I could get going with this system
  • I found the system very cumbersome to use
  • I thought there was too much inconsistency in this system
  • I found the various functions in this system were well integrated
  • I thought that the system was easy to use
  • I think that I would like to use this system frequently
What Went Wrong?

Data from the second round of usability testing indicated a False-Consensus Effect (from stakeholder to user), which can be seen in the average time, success rate, and error rate metric comparison. In the field of psychology and UX, a false-consensus effect is a type of cognitive bias whereby people tend to overestimate the extent to which their opinions, preferences, and habits are normal and typical of those of others. Basically, it is assuming that others act and think the same way that they do.

A false-consensus effect is the largest problem and area of concern in the field of UX. It’s the biggest factor that contributes and leads to a decrease in the quality of UX. In the context of the Databases web application, the false-consensus effect was demonstrated when the users that were tested the second time were unable to complete most usability testing tasks because the UI was too simple. The majority of the user’s results ended with a wall of text that took took much time to read through, and the user was unable to facet or filter their search results.

So basically, we redesigned the second time for what the eResources librarians thought the users wanted, and not what actually worked for our 21 year old undergraduate students. At that point I stuck my tongue in my cheek, took a deep breath, and quoted Jakob Nielsen outloud saying, “pay attention to what users do, not what they say.”

Going Forward, Ask Yourself

Now that we are back at the drawing board and looking to bring back some of the features that did work for our users, we have more perspective. We are halting everything because we have learned a valuable lesson. When we think about how we got here, it pretty simple. At every step of the way we all omitted the user from the development process, and at every step the role of the UX professional (me) was devalued and diminished. That’s it, pure and simple. Going forward, and on every project, a UX professional should ask these questions:

Where is the user?

You are not your users, the librarians are not your users, the developers are not your users, and your coworkers are not your users. Have you stopped to do a little bit of work to determine exactly who is your target audience? Once you know that then you know who to include in your testing, not librarians, not staff, and not co-workers. Include the user in the data mining process, the interactive wireframing process, and the usability testing process.

Are we ignoring data?

It’s widely said in UX that if you design for everybody you design for nobody. If you don’t have any quantitative data at all – server statistics, heat maps, analytics, etc. – your UX and usability design research will fail. Don’t blindly ignore test results, or you will blindly ignore your users.

What are we building for?

Do you ever get the feeling that you’re spinning your wheels, and wasting precious development and enhancement time? If you do, then most likely you are. Work smarter not harder by focusing all of your development for your users, and based on formative user data, not whimsical stakeholder requests. Also, if you haven’t read “Why Design-By-Committee Should Die“ by Speider Schneider, go there immediately so you don’t get overpowered by committees.

How do we get everyone on the same page?

To get everyone on the same page before you even touch code, work with interactive wireframes. Corporations and tech startups have been doing this for years, and so it’s time for libraries to do the same., Pixate, and Principle work very nicely as a collaboration/feedback tools, and Adobe Experience Design just came out for Mac!

In The End, Don’t Sweat It

Dilbert Daily Comic. Monday May 7th, 2012.

To some degree we all make mistakes, hindsight is clearer than foresight, and everybody has been guilty of false-consensus effect at one point or another due to deadlines and work constraints. The important thing is to keep good working relationships with people, constantly make a case for good usability by including your users as much as possible, and learn best practices through failure. That’s all that anyone can hope to do.

The post Why am I doing this to our users? appeared first on LibUX.

DuraSpace News: LYRASIS and DuraSpace Announce Dissolution of "Intent to Merge"

planet code4lib - Mon, 2016-05-16 00:00

Austin, TX  Following four months of formal due diligence and six months of exploration, the Boards of LYRASIS and DuraSpace have decided that a full merger is not currently the best way for each organization to achieve its long-term goals. In lieu of a formal merger, LYRASIS and DuraSpace will continue to pursue more informal collaborations that benefit members and communities of both organizations while allowing each organization to remain focused on its mission. This decision is the result of extensive investigations and good faith due diligence.

Jason Ronallo: The Lenovo X240 Keyboard and the End/Insert Key With FnLk On as a Software Developer on Linux

planet code4lib - Sat, 2016-05-14 18:24

As a software developer I’m using keys like F5 a lot. When I’m doing any writing, I use F6 a lot to turn off and on spell correction underlining. On the Lenovo X240 the function keys are overlaid on the same keys as volume and brightness control. This causes some problems for me. Luckily there’s a solution that works for me under Linux.

To access the function keys you have to also press the Fn key. If most of what you’re doing is reloading a browser and not using the volume control, then this is a problem, so they’ve created a function lock which is enabled by pressing the Fn and Esc/FnLk key. The Fn key lights up and you can press F5 without using the Fn modifier key.

That’s all well and good until you get to another quirk of this keyboard where the Home, End, and Delete keys are in the same function key row in a way that the End key also functions as the Insert key. When function lock is on the End key becomes an Insert key. I don’t ever use the Insert key on a keyboard, so I understand why they combined the End/Insert key. But in this combination it doesn’t work for me as a software developer. I’m continually going between something that needs to be reloaded with F5 and in an editor where I need to quickly go to the end of a line in a program.

Luckily there’s a pretty simple answer to this if you don’t ever need to use the Insert key. I found the answer on askubuntu.

All I needed to do was run the following:

xmodmap -e "keycode 118 = End"

And now even when the function keys are locked the End/Insert key always behaves as End. To make this is permanent and the mapping gets loaded with X11 starts, add xmodmap -e "keycode 118 = End" to your ~/.xinitrc.

Jason Ronallo: Styling HTML5 Video with CSS

planet code4lib - Sat, 2016-05-14 18:24

If you add an image to an HTML document you can style it with CSS. You can add borders, change its opacity, use CSS animations, and lots more. HTML5 video is just as easy to add to your pages and you can style video too. Lots of tutorials will show you how to style video controls, but I haven’t seen anything that will show you how to style the video itself. Read on for an extreme example of styling video just to show what’s possible.

Here’s a simple example of a video with a single source wrapped in a div:

<div id="styled_video_container"> <video src="/video/wind.mp4" type="video/mp4" controls poster="/video/wind.png" id="styled_video" muted preload="metadata" loop> </div>

Add some buttons under the video to style and play the video and then to stop the madness.

<button type="button" id="style_it">Style It!</button> <button type="button" id="stop_style_it">Stop It!</button>

We’ll use this JavaScript just to add a class to the containing element of the video and play/pause the video.

jQuery(document).ready(function($) { $('#style_it').on('click', function(){ $('#styled_video')[0].play(); $('#styled_video_container').addClass('style_it'); }); $('#stop_style_it').on('click', function(){ $('#styled_video_container').removeClass('style_it'); $('#styled_video')[0].pause(); }); });

Using the class that gets added we can then style and animate the video element with CSS. This is a simplified version without vendor flags.

#styled_video_container.style_it { background: linear-gradient(to bottom, #ff670f 0%,#e20d0d 100%); } #styled_video_container.style_it video { border: 10px solid green !important; opacity: 0.6; transition: all 8s ease-in-out; transform: rotate(300deg); box-shadow: 12px 9px 13px rgba(255, 0, 255, 0.75); } Stupid Video Styling Tricks Style It! Stop It!


OK, maybe there aren’t a lot of practical uses for styling video with CSS, but it is still fun to know that we can. Do you have a practical use for styling video with CSS that you can share?

Jason Ronallo: HTML5 Video Caption Cue Settings in WebVTT

planet code4lib - Sat, 2016-05-14 18:24

TL;DR Check out my tool to better understand how cue settings position captions for HTML5 video.

Having video be a part of the Web with HTML5 <video> opens up a lot of new opportunities for creating rich video experiences. Being able to style video with CSS and control it with the JavaScript API makes it possible to do fun stuff and to create accessible players and a consistent experience across browsers. With better support in browsers for timed text tracks in the <track> element, I hope to see more captioned video.

An important consideration in creating really professional looking closed captions is placing them correctly. I don’t rely on captions, but I do increasingly turn them on to improve my viewing experience. I’ve come to appreciate some attributes of really well done captions. Accuracy is certainly important. The captions should match the words spoken. As someone who can hear, I see inaccurate captions all too often. Thoroughness is another factor. Are all the sounds important for the action represented in captions. Captions will also include a “music” caption, but other sounds, especially those off screen are often omitted. But accuracy and thoroughness aren’t the only factors to consider when evaluating caption quality.

Placement of captions can be equally important. The captions should not block other important content. They should not run off the edge of the screen. If two speakers are on screen you want the appropriate captions to be placed near each speaker. If a sound or voice is coming from off screen, the caption is best placed as close to the source as possible. These extra clues can help with understanding the content and action. These are the basics. There are other style guidelines for producing good captions. Producing good captions is something of an art form. More than two rows long is usually too much, and rows ought to be split at phrase breaks. Periods should be used to end sentences and are usually the end of a single cue. There’s judgment necessary to have pleasing phrasing.

While there are tools for doing this proper placement for television and burned in captions, I haven’t found a tool for this for Web video. While I haven’t yet have a tool to do this, in the following I’ll show you how to:

  • Use the JavaScript API to dynamically change cue text and settings.
  • Control placement of captions for your HTML5 video using cue settings.
  • Play around with different cue settings to better understand how they work.
  • Style captions with CSS.
Track and Cue JavaScript API

The <video> element has an API which allows you to get a list of all tracks for that video.

Let’s say we have the following video markup which is the only video on the page. This video is embedded far below, so you should be able to run these in the console of your developer tools right now.

<video poster="soybean-talk-clip.png" controls autoplay loop> <source src="soybean-talk-clip.mp4" type="video/mp4"> <track label="Captions" kind="captions" srclang="en" src="soybean-talk-clip.vtt" id="soybean-talk-clip-captions" default> </video>

Here we get the first video on the page:

var video = document.getElementsByTagName('video')[0];

You can then get all the tracks (in this case just one) with the following:

var tracks = video.textTracks; // returns a TextTrackList var track = tracks[0]; // returns TextTrack

Alternately, if your track element has an id you can get it more directly:

var track = document.getElementById('soybean-talk-clip-captions').track;

Once you have the track you can see the kind, label, and language:

track.kind; // "captions" track.label; // "Captions" track.language; // "en"

You can also get all the cues as a TextTrackCueList:

var cues = track.cues; // TextTrackCueList

In our example we have just two cues. We can also get just the active cues (in this case only one so far):

var active_cues = track.activeCues; // TextTrackCueList

Now we can see the text of the current cue:

var text = active_cues[0].text;

Now the really interesting part is that we can change the text of the caption dynamically and it will immediately change:

track.activeCues[0].text = "This is a completely different caption text!!!!1"; Cue Settings

We can also then change the position of the cue using cue settings. The following will move the first active cue to the top of the video.

track.activeCues[0].line = 1;

The cue can also be aligned to the start of the line position:

track.activeCues[0].align = "start";

Now for one last trick we’ll add another cue with the arguments of start time and end time in seconds and the cue text:

var new_cue = new VTTCue(1,30, "This is the next of the new cue.");

We’ll set a position for our new cue before we place it in the track:

new_cue.line = 5;

Then we can add the cue to the track:


And now you should see your new cue for most of the duration of the video.

Playing with Cue Settings

The other settings you can play with including position and size. Position is the text position as a percentage of the width of the video. The size is the width of the cue as a percentage of the width of the video.

While I could go through all of the different cue settings, I found it easier to understand them after I built a demonstration of dynamically changing all the cue settings. There you can play around with all the settings together to see how they actually interact with each other.

At least as of the time of this writing there is some variability between how different browsers apply these settings.

Test WebVTT Cue Settings and Styling

Cue Settings in WebVTT

I’m honestly still a bit confused about all of the optional ways in which cue settings can be defined in WebVTT. The demonstration outputs the simplest and most straightforward representation of cue settings. You’d have to read the spec for optional ways to apply some cue settings in WebVTT.

Styling Cues

In browsers that support styling of cues (Chrome, Opera, Safari), the demonstration also allows you to apply styling to cues in a few different ways. This CSS code is included in the demo to show some simple examples of styling.

::cue(.red){ color: red; } ::cue(.blue){ color: blue; } ::cue(.green){ color: green; } ::cue(.yellow){ color: yellow; } ::cue(.background-red){ background-color: red; } ::cue(.background-blue){ background-color: blue; } ::cue(.background-green){ background-color: green; } ::cue(.background-yellow){ background-color: yellow; }

Then the following cue text can be added to show red text with a yellow background. The

<>This cue has red text with a yellow background.</c>

In the demo you can see which text styles are supported by which browsers for styling the ::cue pseudo-element. There’s a text box at the bottom that allows you to enter any arbitrary styles and see what effect they have.

Example Video

Test WebVTT Cue Settings and Styling


Subscribe to code4lib aggregator