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 »

National Web Design Contest Software

We just concluded our 13th national web design contest in Louisville, KY (June 21 – 25, 2016). Although I plan to post additional information about the judge’s observations on our site soon, I thought it would be appropriate to discuss some observations and insights I made regarding the tools being used by competitors.

Each state provided a team (one web designer and one web developer). There were a total of 27 states represented in the competition for secondary (high school) students. We held a separate competition for post-secondary students and 10 states were represented in that competition. Each team had to win first place in their respective state in order to compete in our national contest. Read more »

National Web Design Contest

As you are reading this, our national web design contest is happening in Louisville, KY. This will be the 13th consecutive year we have held this competition. We hold this in conjunction with the SkillsUSA national competitions. We provide a contest for secondary students and a separate contest for post-secondary students. Those participating have won first place in state web design competitions. Every 2 years, there is an opportunity for one of our winners to be selected to represent the US at WorldSkills. That event will next happen in 2017 in Abu Dhabi.

For those reading this, I thought you might like to learn a little about what happens “behind the scenes.”Let’s take a look. Read more »

Kentucky caves

My wife and I took our grandsons on a tour of selected caves in Kentucky (and a natural history stop near Louisville). I thought readers might be interested in some of these spots. I used my GoPro camera and created a series of time lapse videos for various aspects of the trip. I provide links to 6 different videos. Enjoy… Read more »

Next Page »