Adobe Spark Video

One of many activities I do at school is help other teachers better understand how to employ technology in their classes. One tool which I have been promoting for some time is Adobe Spark (video, post, page). I thought it might be helpful to others to share the fundamentals of how to use Adobe Spark (video). Here is a quick overview (done in Spark Video, of course).

Adobe Spark Video Overview from Mark DuBois on Vimeo.

Let me know if you were aware of this tool (and if you found this overview helpful).

ARIA again

I recently provided some base information concerning Accessible Rich Internet Applications (ARIA). I wanted to expand on the topic a bit more. For those who are participating in our monthly Central Illinois Web Professionals meetings, I have been covering this topic in those meetings as well. Before delving into a few more details, I thought it might be helpful to review what makes a web page accessible.

First, one should use semantic markup. If an item is a button, use the proper HTML element; don’t use a <div> and style it to look like a button. I know that seems obvious, but many frameworks ignore this simple approach. Assistive technologies are built to work with semantic content.

Next, provide alternate content as needed. This means a lot more than just alternate text on images. Where possible, the page should be linear (so assistive technologies can process the content). Style the page as desired with CSS, but keep the content available to every visitor. This also helps with search engine rank since most bots scanning a page are looking for valid and semantic HTML.

Read more »

Ricoh Theta Image Editing

I purchased a Ricoh Theta S in late July and provided an overview of the camera capabilities and my initial experiences. Now that I have worked with the camera a few months, I thought it time to share some additional information and tips. Probably the most important tip is that the device can be affected by extreme heat (and likely cold). It can become unresponsive (which means you can’t turn the camera off and can’t access any of the functions). The best way to get around this is to hold the power button for more than 8 seconds. This forces a reset and the camera is then back to its “normal self.” Let’s examine a bit more about the camera, especially the editing of images created using this device.

Read more »

ES6 question

A couple of weeks ago, I posted a quick introduction to ES6 (aka ECMAScript 2015). I indicated that I would include more discussions in future weblog posts. Before I do so, I wanted to get some feedback from readers. Specifically:

What ES6 feature/ improvement do you wish was available today?

There are many new features. A quick overview of these can be found at the ES6 compatibility site. I am always curious to learn which features are of most interest. I look forward to your comments.


Since I am teaching the CMWEB 150 (Web Accessibility) class this semester, I thought it appropriate to focus on selected tools which can be used when testing web pages for accessibility. Yes, these tools also can be used to assist those with a disability (such as low vision). One tool which I find helpful is ChromeVox. This only works with the Chrome browser (or the Chrome OS). For our purposes, let’s focus on the Chrome browser extension.

In a nutshell, ChromeVox allows you to navigate a web page using the keyboard. It will read the contents to you as you navigate through the page (or to different pages). Read more »

ES6 Fundamentals

Although ES6 (aka EcmaScript 2015) is not yet widely supported in browsers, I thought it might be helpful to provide some base information to help readers (particularly my students) better understand how to work with ES6 (and discuss a couple of the features). I got this idea from taking the course Up and Running with ECMAScript 6 at However, as I worked through the examples provided, I quickly discovered that a new version of Babel has come out since the course was developed (oh sure, that never happens in my classes… oh… wait… every semester). Again, my purpose is to introduce you to the extreme fundamentals of working with ES6. I plan to provide a number of added posts in coming months delving into much greater detail. Read more »

ARIA fundamentals

It has been a while since I focused on accessibility in these weblog posts. I thought it might be helpful to readers of this weblog to review some of the fundamentals of ARIA (Accessible Rich Internet Applications). Many of the web pages we create employ sophisticated interfaces. Unfortunately, we often assume that every visitor to the site can clearly see and understand these controls. For example, I routinely backup Moodle courses (for archival purposes and migration to other environments). I am often presented with information like that shown on the snippet below.

Progress bar during Moodle course backupFor those with vision, it is obvious that the course is being backed up (the backup will be finished in 9.45 seconds – in Moodle time) and is nearly 90% complete).

But, what if we could not see the screen and had to rely on an assistive device (like a screen reader). How would we know the status of the progress of this task (or if the backup had stalled)? This is where ARIA comes into play.

Read more »


I recently learned about JS++. Although it is presently only available for Windows and Linux systems, it looks interesting. Essentially, JS++ is a compiler which takes code and generates JavaScript. However, resulting JavaScript is much more structured than one would normally write. There is a fair amount of documentation (however, these pages indicate they are presently out of synch with the current implementation).

The following description is taken directly from their website (and is why I think this implementation has possibilities).

JS++ expands the original JavaScript language with types, classes, and other new features. Thus, if you already know JavaScript, you already know JS++; just pick and choose which features you want to “add on” to your existing code. One of the unique features of JS++ is its ability to perform sound type checking. In other words, when you declare types for your variables in JS++, the types are guaranteed to always be correct at compile time and runtime. A variable declared as int will always remain an int at both compile time and runtime, a variable declared as unsigned short will always remain an unsigned short at compile time and runtime, and a variable declared as an Employee class will always remain an Employee object at both compile time and runtime. Previous systems could not guarantee your types would not transform at runtime, and there could be instances where a string could “morph” into a number, function, null, or any other type during application execution.

Ok, let’s learn a little more about JS++. Note that I am just scratching the surface in this weblog post. If enough readers express interest in more in depth analyses, I may include that in the future. Read more »

Fall, 2016 semester

The fall, 2016, semester started this Monday, August 15. As we start each school year, I take a moment and reflect on accomplishments (both last academic year and this summer) and think about the future. After all, the reason I teach web design and development is precisely because of the future. Sure, I could earn a lot more money working in the private sector, but I think it is more important to give back to the community. As Executive Director (and previously Director of Education) for, I have observed a significant need for sustainability. History echos unless we learn from the past. There is a significant need for quality and current content in education for the areas of web design and development. This is why I teach (and why I strive to keep my classes up to date with emerging trends). It is also why I have never taught the same class twice (sure, same title, but the content is always updated). Read more »

Productivity tips – Google Calendar

As we start another semester, I thought it might be appropriate to include another of my “productivity tips.” For reference purposes, I have already addressed the following topics:

This is my continuing attempt to help readers “work smarter, not harder.”

I know may readers have a number of meetings (and other important activities each day). We use our calendar to track these and even set reminders so we can be present at the appropriate time. For those who know I am a professor as well as Executive Director of and an Adobe Education Leader, you may suspect my calendar is often very full. One of the features I particularly like is the ability to receive a quick view of all events planned for a given day (even if there are many, many events). This is how I accomplish that. Read more »


During my summer of travels, I encountered a number of apps for smartphones and tablets. Since many of these were new to me, I thought I would provide an overview of some of the ones others mentioned (during various conversations at events this summer). Here is a quick list of the ones I will discuss further below:

  • MiMedia
  • 123D Catch
  • Motion Stills
  • Prisma
  • Brushstroke
  • Hooked
  • Microsoft Pix

If any of these apps are new to you, I encourage you to try them out (most seem to be available for either iOS or Android platforms). Let’s get started… Read more »

Ricoh Theta

I recently returned from the Adobe Education Leader Summit (held in New York City this year). Several colleagues were taking a number of photos using their new cameras. After further investigation, I had to get one of these puppies myself. It is the Ricoh Theta model “S.” It takes 360 degree photos which you can embed. The camera itself is very small and lightweight. Here is one example of what you can do with this camera. This was taken at the Henry Gleason Nature Preserve in Mason Co., Illinois. Yes, we have natural sand dunes in Illinois.

Illinois: Mason Co. Henry Gleason Nature Preserve. Overview of habitat. Some plants/ animals found here also found in SW US. #theta360 – Spherical Image – RICOH THETA

If you move around the image, you will be able to change your viewpoint – you can view the location in mostly 360 degrees. Just use your cursor and click and drag to change the view – or use your finger if you are on a mobile device. You can also zoom in. Personally, I think this is pretty impressive.

For those who are interested in learning  a bit more about this camera… Read more »


I recently became aware of the Koken Content Management System (CMS). Essentially, it is a content management system for photographs (and essays if desired). Given that I take a lot of photographs, I thought this might be worth investigating. I also discovered it integrated with Adobe Lightroom. Like most CMS, there are themes you can apply. You can also customize the interface with CSS. Since Koken allows for integration with Lightroom, I can rapidly publish an album from Lightroom directly to my Koken CMS. Yes, I still have to make some minor changes once the photos have been uploaded. Also, this is a one direction integration. I can publish from Lightroom. If I make changes in the Koken CMS, those changes re not directed back to Lightroom. Let’s see how we can use this CMS. Read more »

Visual Studio Code

In preparation for our fall, 2016, CMWEB 240 class on developing web pages using the .Net environment, I have been briefly reviewing Visual Studio Code (version 1.3). This is a different product from the traditional Visual Studio and has a significantly UX/UI experience than Visual Studio. You can download a copy here. As far as I can tell, this more experimental version is presently free. One aspect I particularly like about the tool is that you can run it on a number of operating systems (Windows, of course; also Mac [OS X], Debian, Ubuntu, RedHat, Fedora, and CentOS). Let’s investigate the interface a bit.

Read more »

National web design contest – time lapse videos

I used my GoPro camera throughout our recent national web design contest in Louisville, KY. For fun this week, I thought readers might enjoy watching a few of the time lapse videos I put together. I have included videos detailing the contest setup (many thanks to the SkillsUSA Courtesy Corps for their help with this process), the secondary contest (June 22) and the post-secondary contest (June 23).

During each competition, we hold a briefing where competitors can ask questions (and questions of the actual client) near the start. This happens after the contest work order has been distributed. After the contest concludes that day, we also hold a de-briefing session. Competitors can ask questions and are also provided with some initial insights from those of us who have observed their work. Comments from judges are posted on our Web Design Contest site (after the event). Read more »

Next Page »