Aug 12 2019
Aug 12

Like many companies in our technology-enabled, globally connected environment, Promet Source operates with clients and team members all over the world. This reality creates a challenge for communications. The truth is, the more we put into our interactions, the more we get out of them.

I’ve been working with distributed teams for a long time. Even though I got very accustomed to joining video calls, until recently, I had opted to not turn my camera on. I guess it started a while back when I had my first virtual interactions with teammates. Probably due to shyness or my lack of knowledge of virtual communications, I tended to avoid the camera component. That's changed.

Eye-Opening Experience

Lately I’ve started using more face-to-face open communications with clients, collaborators and internally. It brings a higher level of empathy, honesty and receptiveness to the conversations. It’s been like going from a gray-scale image to a sudden, colorful world, and has provided an important step toward building trust and strengthening ties.

A couple weeks ago, I was on a call with a collaborator and a team member with whom I’ve been working for more than two months.

That day, I turned on my camera, and the dynamic quickly changed. We started having a candid conversation between the three of us. 

As I we were chatting, my co-worker felt encouraged and also turned on his camera. We were able to see each other's faces for the first time in more than two months of working together. It made a difference.

Next, our collaborator followed suit and turned his camera on. The conversation was instantly raised up to another level. Once one of us opened up, others felt empowered to do the same. It was like a chain reaction or “Domino Effect.”

A New Dimension

We could comment about our surroundings, our clothes, our hair, what was going on in our lives and in our parts of the world!  We were able to get talking and build rapport so much more easily.

The collaboration on the call became alive and we got more out of it than if we had not had the advantage of video.

Looking back on this conversation, it would be easy to say that it was video that made the difference, but that was only one aspect. It was empathy that drove the emotional connection. 

The cameras helped. We were also willing to open ourselves up to a more honest dialog, sharing something personal, becoming available and responsive to each other. 

The Key: Trust

Trust your teammates. Trust your clients. Trust your collaborators. Trust that there is value in what you have to share.

Here’s what I’ve concluded are the keys to successful interactions even when working across multiple time zones.

Lead by Example

Be confident and share honestly. Let other people see you and hear you. Let your emotions shine through your expressions (facial expressions, expressions through the tone of your voice, the words you choose, etc.) 

Open up and people will trust you, and they will be more likely to open up too.  The Domino Effect can be very exciting.

Leverage Human Interaction

Promet Source is a leading practitioner of human-centered design. We know what it means to design for humans and we facilitate human-centered design workshops all over the country to enhance effectiveness and outcomes.

Just as we consistently emphasize that we are designing for humans, we are careful to not lose sight of the fact that we are designing by humans.

Strengthen Teams through Sharing

Too often, the left brain, technology-driven environment in which we operate ignores the powerful impact of the human element in all of our engagements. Even when separated by borders and time zones, efforts to connect on a personal level pays off in ways that are often unanticipated.

Have you found this to be the case? Share your thoughts in the comment section below on why and how connecting on a human level can drive better outcomes.

Sharing your thoughts and experiences can go a long way toward a greater sense of connection and community in our dispersed, digital world.
 

Aug 09 2019
Aug 09

At Promet Source, conversations with clients and among co-workers tend to revolve around various aspects of compliance, user experience, site navigation, and design clarity. We need a common nomenclature for referring to interface elements, but that leads to the question of who makes this stuff up and what makes these terms stick?
 
I asked that recently, during an afternoon of back-to-back meetings. In separate contexts, “cookies,” “breadcrumbs,” and “hamburgers” were all mentioned as they pertain to the sites we are building for clients. But I got to wondering: what is it about the evolving Web lexicon that seems inordinately slanted towards tasty snacks?
 

One Theory

As we all know, devs and designers work very hard, with incredible focus for long hours at a stretch. Are we trying to inject some fun language that evokes touch, taste, and smell to a web that can feel rather flat sometimes when we are in the trenches?


I couldn’t help but wonder about a potentially unifying theme to cookies, breadcrumbs and the buns that provide the top and bottom horizontal lines of the increasingly ubiquitous hamburger icon. That sparked my curiosity and a bit of research.

Data/Cookie Jar

Let’s start with cookies -- a term that refers to the extraction and storage of user data such as logins, previous searches, activity on a site, and items in a shopping cart.  Almost all Websites use and store cookies on Web browsers.

a stack of chocolate chip cookies

Generally speaking, cookies are designed to inform better and more personalized Web experiences, but they do, of course, give rise to all sorts of privacy and security concerns. 
 
Potential cookie constraints for Websites developed in the United States for a U.S. audience are moving in an uncertain direction. Up to this point, it’s essentially been the Wild West, with few restrictions governing their usage. 
 
In the European Union, it’s a different story. Assorted rules and regulations, collectively known as the “Cookie Law,” have been in place for nearly a decade -- forbidding the tracking of users’ Web activity without their consent. 
 
As is the case with U.S.-based Websites that need to ensure accessibility, compliance with the Cookie Law can be complicated -- requiring rewriting and reconfiguration of code, followed by careful testing to ensure that the site’s code, server and the user’s browser are aligned to prevent cookies from tracking user behavior and collecting information. And another issue that accessibility and cookies have in common: there’s more at stake than compliance. To an increasing degree, users avoid engaging with Websites when they believe that their activity is being tracked by the use of cookies and there’s no question that overall levels of trust appear to be on the decline as privacy concerns increase. This is among the reasons why many websites are starting to give users the option of just saying no to cookies and still allowing them access to the site.

Connecting the Crumbs

Considerably newer to the Web lexicon than cookies, a breadcrumb or breadcrumb trail is a navigational aid in user interfaces designed to help users track their own activity within programs or websites, providing them with a sense of place within the bigger picture of the site. 
 
Breadcrumbs can take different forms. Generally speaking, a breadcrumb trail tracks the order of each page viewed, as a horizontal list below the top headers. This provides a guide for the user to navigate back to any point where they’ve previously been on the site. Think about Grimms’ story of Hansel and Gretel.
 
Breadcrumbs can be very helpful on complex, content-heavy sites. Who among us hasn’t found themselves frustrated in an attempt to navigate back to a page that seems to have temporarily disappeared?

On the Table

Unlike cookies, which for better or for worse, are stored behind the scenes and consumed in a manner that’s usually not known to the user, a breadcrumb trail is out in the open -- right upfront for the user to see and follow. Breadcrumbs are designed solely to enhance the user experience, functioning as a reverse GPS on complex Websites.  
 
As more and more users come to count on breadcrumbs as a navigational aid, we can expect that the demand for them will increase. At the same time, we can expect that usage of cookies will come under increased scrutiny along with a trend toward escalation of privacy concerns and a growing skittishness about how personal information is being shared. At Promet, we consider cookies to be a must-have on any site.

Time for Some Protein

As for the third item in our list of tasty Web terms, the hamburger is essentially all good. This three-line icon that’s started to appear at the top of screens serves as a mini-portal to additional options or pages.

Actual hamburger on the left. A web hamburger icon on the right.

What’s not to love about this feature that takes up so little space on the screen, but opens the door to a trove additional navigation or features for apps and Websites? Fact is, UX/UI trends are constantly evolving, and users vary widely in the pace in which they pick up what’s new and next. The hamburger icon has a lot going for it and it’s not going away.

 

Meet the Search Sandwich

There’s a item on the table and we were just introduced to it by one of our UX savvy clients. As far as I know, it doesn’t have an official name yet, so we affectionately refer to it as the “search sandwich.” It’s an evolved hamburger combined with a search icon to indicate to users that both the navigation menu and the search bar can be accessed from this icon. It looks a bit like a ham sandwich with an olive on top and might make an appearance on a website soon. Stay tuned.
 
So there you have it. Key factors in our Web design world. -- possibly a reflection of a desire to take our high-tech conversations down a notch, with these playful metaphors for elements that we must all learn to identify with whether a designer, developer, or just a web user. They remind us that the Web is a rapidly evolving environment of UI/UX trends -- created and consumed by humans. 
 
Interested in serving up a tasty web experience? Contact us today

Aug 09 2019
Aug 09

At Promet Source, conversations with clients and among co-workers tend to revolve around various aspects of compliance, user experience, site navigation, and design clarity. We need a common nomenclature for referring to interface elements, but that leads to the question of who makes this stuff up and what makes these terms stick?
 
I asked that recently, during an afternoon of back-to-back meetings. In separate contexts, “cookies,” “breadcrumbs,” and “hamburgers” were all mentioned as they pertain to the sites we are building for clients, and I got to wondering: what is it about the evolving Web lexicon that seems inordinately slanted towards tasty snacks?
 

One Theory

As we all know, devs and designers work very hard, with incredible focus for long hours at a stretch. Are we trying to inject some fun language that evokes touch, taste, and smell to a web that can feel rather flat sometimes when we are in the trenches?

And then, I couldn’t help but wonder about a potentially unifying theme to cookies, breadcrumbs and the buns that provide the top and bottom horizontal lines of the increasingly ubiquitous hamburger icon. That sparked my curiosity and a bit of research.

Data/Cookie Jar

Let’s start with cookies -- a term that refers to the extraction and storage of user data such as logins, previous searches, activity on a site, and items in a shopping cart.  Almost all Websites use and store cookies on Web browsers.

a stack of chocolate chip cookies

Generally speaking, cookies are designed to inform better and more personalized Web experiences, but they do, of course, give rise to all sorts of privacy and security concerns. 
 
Potential cookie constraints for Websites developed in the United States for a U.S. audience are moving in an uncertain direction. Up to this point, it’s essentially been the Wild West, with few restrictions governing their usage. 
 
In the European Union, it’s a different story. Assorted rules and regulations, collectively known as the “Cookie Law,” have been in place for nearly a decade -- forbidding the tracking of users’ Web activity without their consent. 
 
As is the case with U.S.-based Websites that need to ensure accessibility, compliance with the Cookie Law can be complicated -- requiring rewriting and reconfiguration of code, followed by careful testing to ensure that the site’s code, server and the user’s browser are aligned to prevent cookies from tracking user behavior and collecting information. And another issue that accessibility and cookies have in common: there’s more at stake than compliance. To an increasing degree, users avoid engaging with Websites when they believe that their activity is being tracked by the use of cookies and there’s no question that overall levels of trust appear to be on the decline as privacy concerns increase. This is among the reasons why many websites are starting to give users the option of just saying no to cookies and still allowing them access to the site.

Connecting the Crumbs

Considerably newer to the Web lexicon than cookies, a breadcrumb or breadcrumb trail is a navigational aid in user interfaces designed to help users track their own activity within programs or websites, providing them with a sense of place within the bigger picture of the site. 
 
Breadcrumbs can take different forms. Generally speaking, a breadcrumb trail tracks the order of each page viewed, as a horizontal list below the top headers. This provides a guide for the user to navigate back to any point where they’ve previously been on the site. Think about Grimms’ story of Hansel and Gretel.
 
Breadcrumbs can be very helpful on complex, content-heavy sites. Who among us hasn’t found themselves frustrated in an attempt to navigate back to a page that seems to have temporarily disappeared?

On the Table

Unlike cookies, which for better or for worse, are stored behind the scenes and consumed in a manner that’s usually not known to the user, a breadcrumb trail is out in the open -- right upfront for the user to see and follow. Breadcrumbs are designed solely to enhance the user experience, functioning as a reverse GPS on complex Websites.  
 
As more and more users come to count on breadcrumbs as a navigational aid, we can expect that the demand for them will increase. At the same time, we can expect that usage of cookies will come under increased scrutiny along with a trend toward escalation of privacy concerns and a growing skittishness about how personal information is being shared. At Promet, we consider cookies to be a must-have on any site.

Time for Some Protein

As for the third item in our list of tasty Web terms, the hamburger is essentially all good. This three-line icon that’s started to appear at the top of screens serves as a mini-portal to additional options or pages.

Actual hamburger on the left. A web hamburger icon on the right.

What’s not to love about this feature that takes up so little space on the screen, but opens the door to a trove additional navigation or features for apps and Websites? Fact is, UX/UI trends are constantly evolving, and users vary widely in the pace in which they pick up what’s new and next. The hamburger icon has a lot going for it and it’s not going away.

 

Meet the Search Sandwich

There’s a item on the table and we were just introduced to it by one of our UX savvy clients. As far as I know, it doesn’t have an official name yet, so we affectionately refer to it as the “search sandwich.” It’s an evolved hamburger combined with a search icon to indicate to users that both the navigation menu and the search bar can be accessed from this icon. It looks a bit like a ham sandwich with an olive on top and might make an appearance on a website soon. Stay tuned.
 
So there you have it. Key factors in our Web design world. -- possibly a reflection of a desire to take our high-tech conversations down a notch, with these playful metaphors for elements that we must all learn to identify with whether a designer, developer, or just a web user. They remind us that the Web is a rapidly evolving environment of UI/UX trends -- created and consumed by humans. 
 
Interested in serving up a tasty web experience? Contact us today

Aug 06 2019
Aug 06

Drupal is certainly not only the open-source CMS game in town, but when consulting with clients about the best solution for the full range of their needs, it tends to be my go-to.

Here’s why: 

  • Architecture
  • Scalability
  • Database Views
  • Flexibility
  • Security
  • Modules
  • Search
  • Migration  

Architecture

Drupal 8 is built on modern programming practices, and of course, the same will be true for June 2020 release of Drupal 9. 

A Development – Test – Production environment is the default assumption with a Drupal 8 site. Too often, other CMS sites are managed as a single instance, which is a single point of failure. 

Also, Drupal comes with a built-in automated testing framework. Drupal 8 supports unit integration and system/functional testing using the PHP Unit framework. Drupal is built to be inherently extensible through configuration, so every data type can be templated without touching code to achieve fully customized, structured data collection.

Scalability

Drupal has proven to be scalable at the most extreme traffic levels. Weather.com, as just one example, is a Drupal site. Many of the Federal cabinet-level agencies using open source have built their web infrastructures on Drupal. Drupal has built-in functionality, such as a robust caching API and JS/CSS minification/aggregation to optimize page load speed.

Database Views

Drupal Views, which is in Drupal 8 core, is a powerful tool that allows you to quickly construct database views, with AJAX filtering and sorting included. This allows you to quickly construct and publish lists of any data in your Drupal site, without needing a developer to do it for you.

Flexibility

There are several components of flexibility. 

Drupal 8 was built as an API-first CMS, explicitly supporting the idea that the display layer for content stored in a Drupal CMS may not be Drupal. The API first design of Drupal 8 also means that it is easier to integrate Drupal with third-party applications, as the API framework is already in place.

Customers vary widely in the ways in which they currently consume content. We assume that new ways will emerge for consuming content in the future, and even though we may not be in a position to predict right now what that will look like, Drupal is well poised to support what comes next.

Security

The only totally secure CMS is the one installed on a server that is sitting at the bottom of the Mariana trench, with no connectivity to anything!  However, Drupal has been tested in the most rigorous and security-conscious environments across government and industry. With a dedicated security team managing not just Drupal core but also many popular modules, and the openness inherent in open source, Drupal is a solid, secure, platform for any website.

Modules / Extensions

Drupal modules are created and contributed to the community because they solve a problem. If you have the same or similar problem to solve you may be a simple module install away from solving that problem. Also, all Drupal modules are managed and accessible through a single repository at Drupal.org, providing a critical layer of vetting and security.

Search

Current versions of Drupal come with  powerful and unparalleled out-of-the-box search functionality. Also, SOLR integration is plug-and-play with Drupal, allowing you to extend the capabilities of search to index documents, or across multiple domains, or to build faceted search results to improve the user experience.

Migration

Face it: migration is not fun with any CMS. However, the Drupal 8 migration (and the same will be true for Drupal 9) API is highly capable of importing complex data from other systems. Simpler CMS platforms tend to offer simple migration for out-of-the-box content types (posts and pages), but not so much for complex data or custom content types.

Summary

Settling on the right CMS platform is often not an obvious choice. Weighing the relative benefits of every option can take time and calls for expert consultation. In instances where complexity increases, and there’s a need to integrate the CMS with outside data sources, I’ll admit to a Drupal bias. This is based on my experience of Drupal as a CMS framework that was designed specifically for the challenges of a mobile-first, API driven, integrated digital environment.

Looking for further exploration into the relative merits of your open source CMS options? Contact us today for an insightful, informative and fully transparent conversation.


 

Jul 29 2019
Jul 29

Conversations concerning accessibility of digital assets tend to fall into one of two categories: the carrot or the stick. 

The carrot is the host of business benefits associated with ensuring a great and accessible experience for all users. All too often, though, it’s the stick -- the threat of a lawsuit or actual legal action filed in federal court under Title III of the ADA -- that drives organizations to begrudgingly take steps toward getting their digital assets into compliance with WCAG 2.1 and ADA Section 508. 
 

Accessibility Claims Climb

Let there be no doubt, that the stick is real, and gaining momentum at a rapid pace. Lawsuits based on claims that a disabled person could not access a website because it was not coded to work with screen readers, or other assistive technologies, continues on a sharp upward trajectory. In 2018, we witnessed a threefold increase in accessibility lawsuits over 2017 -- from 814 to 2,285. The year-over-year increase in accessibility lawsuits filed during the first quarter of 2019 is more than 30 percent higher than the first quarter of 2018.  

The Southern and Eastern District of New York are battling the majority of these claims, followed by Pennsylvania and Florida, but the current geographic concentration cannot be viewed as any indicator of what’s next. The fact is, any organization that has a consumer-facing website that is not accessibility compliant, risks legal action.

There are no shortage of statistics such as these pertaining the “stick”-- the need for urgent and in-depth action to ensure accessibility compliance. I find conversations concerning the carrot to be far more fruitful, though. 
 

Accessibility is Good for Business

It should come as no surprise that the recent surge of accessibility-related lawsuits parallels the radical shift toward ecommerce. People of all physical and cognitive abilities are now counting on websites to buy what they need online, and retailers who are proactive about the accessibility of their sites are at a significant advantage for more reasons than simply staying out of court.

Any time a client is unable to complete a transaction or has a sub-par online shopping experience, that’s a lost opportunity. Chances are slim that a frustrated shopping experience will lead to a lawsuit, but there’s a significant likelihood that the client will look elsewhere -- possibly never returning to the site that was perceived to be problematic. This is among the reasons why it is so essential that we take a holistic view of online accessibility -- looking beyond the legal mandates and sharpening the focus on the needs and expectations of the users of your site. 

Vast and Varied Market

Recent Census Bureau statistics reveal that 56.7 million Americans, close to 20 percent of the population, have some form of disability.

Specifically:  

  • 3.3 percent of the population are visually impaired, which can include color blindness or require that they use a screen magnifier or a screen reader.
  • 3.1 percent have a hearing impairment for which they need to rely on captions for audio and visual media. 
  • Another 6.3 percent of the population have some sort of cognitive, mental, or emotional impairment which could impede their ability to complete a transaction without clear and consistent navigation and prompts.
  • And 8.2 percent have difficulty lifting or grasping, which could challenge their ability to use a mouse or navigate a keyboard. 

Accommodations and Awareness

Remediating a site to ensure accessibility will enhance the experience and enable commerce for differently abled users, while also attracting more users to the site.  A huge and seldom discussed advantage of online accessibility is its impact on SEO. Consider the analogy of how difficult it can be to find what you need on a cluttered desk stacked up with unmarked files. A well-ordered site that is tagged appropriately, with images that are accurately described, is not only key to accessibility compliance, it’s essential for modern browser searches. And don’t overlook PDFs. Information that is locked in an inaccessible PDF won’t be found by search engines -- a critical competitive disadvantage in the current market. 
 
A holistic and heartfelt approach to accessibility results in a blurring of the lines between user experience and ADA mandates. Much of this is accomplished during a Promet Source Human Centered Design workshops that take a deep and consensus-building inquiry into user needs and opportunities for growth. A holistic approach to accessibility is about ensuring a great user experience. It’s an investment in your brand and a profound opportunity for growth.

Looking for help with defining your audience and ensuring an accessible user experience that exceeds expectations? Contact us today.

Jul 22 2019
Jul 22

“Is it worth it?”
 
This summer, I’ve been asked a lot of questions concerning Promet Source’s commitment to sponsoring Drupal Camps, as well as our eagerness to lead training events and be present at them in every way that we can. 
 
I get that at any given moment, most of us have more on our plates than we can handle. It’s difficult to justify throwing travel and a two or three day camp or convention into the mix.  
 
That said, my answer to the “Is it worth it” question is an enthusiastic, “YES.”
 
Here’s why:

1. It’s good for business

Key among my objectives is the opportunity to connect with a new client or two, but regardless of the expectation that I have walking into an open-source event, I always learn something new or gain a new perspective or solidify a relationship in an expectation-exceeding kind of way. The basic maxim, “You don’t know what you don’t know,” rings very true during Drupal training events, and I’ll add to that, “You don’t know who you don’t know.”
 

2. You owe it to the community

The defining feature of any open source product is not the technology, it's the people. Open source thrives or dies based on the community that supports it. Any company that depends on open source has a responsibility to give back to the community. Giving back can come in many forms.

  • Contribute code back to the project, update documentation and other traditional "technical" facets of open source
  • Sponsor the project financially, either by funding critical work or by sponsoring events that bring the community together
  • Provide, content, programming, and volunteer labor to the events
  • Just show up

If your company is built on open source, consider all of the above as goals. 

3. Jobs

This one should be obvious. If you need to hire open source savvy people you will find no greater concentration of them than at a camp or convention. Likewise, if you are looking for a job in the open source world, or simply to network among the movers and shakers, you can usually count on the most connected players participating in and sponsoring open source events.
 

4. You get smarter

It's probably impossible to attend a Drupal Camp or DrupalCon and not come out of it smarter. The sessions are led by passionate and really smart people sharing interesting ideas and technical solutions to complex problems. Product pitches are usually prohibited, so the presentations are actually useful. And the conversations you end up in on the "hallway track" are often the most interesting of all.

5. It is fun

Get 25 to 2,500 open source advocates together in one place and shenanigans will result. Decorum, and maybe a statute of limitations, prohibits me from going into too much detail here. And a lot of activity is actually very tame. Trivia contests, dinner meetups, and coffee exchanges are regular occurrences.
 

6. The people

Hey, it's a bonus 6th reason. Oh, the people you'll meet. This should probably be reason #1.

Drupal GovCon starts tomorrow, July 24, 2019, in Bethesda, Md., and runs through July 26. I would love to count you among the people I meet at this event. Contact me and let’s work out a good time to connect.

Jul 10 2019
Jul 10

The countdown for the June 2020 Drupal 9 release has begun. As the Drupal community awaits this next big thing, here are the two burning questions on the minds of Drupal Devotees: 

  • What can we expect from Drupal 9?
  • What should we do between now and next June?

As the Business Development lead for Promet Source, with the added perspective of an Acquia Certified Drupal 8 Site Builder, I’m in the trenches everyday helping organizations to unpack questions such as these. Here are some of the concerns that I hear most often, along with my thoughts on how to most efficiently prepare for the transition.

Q. What are the most exciting/game-changing features of Drupal 9?

The most exciting thing about Drupal 9 is that there aren’t any game-changing features! No new features will be added after Drupal 8.9. Drupal 9 will remove any depreciated code or APIs that are still in Core. If your site works great on Drupal 8.9 and you are not relying on any depreciated APIs, the upgrade to Drupal 9 should be just like going from Drupal 8.8 to Drupal 8.9.

Q. To what extent does Drupal 9 reflect the evolution of the Drupal community?

Many of us know about the pain of migrating from Drupal 7 to 8. In fact, it is so painful that 750,000 Drupal 7 sites still haven’t upgraded. Drupal 9 represents the cumulation of the vision implemented with the complete overhaul that resulted in Drupal 8. For all practical purposes, Drupal 8 is a different CMS than Drupal 7. However, Drupal 8 was built with the idea that future major version upgrades would be incremental, not evolutionary changes. Drupal 8 is a enterprise-ready CMS built to support engaging digital experiences over the long term.

Q. Do you anticipate that Drupal 9 will draw in new types of users?

I don’t expect Drupal 9 to be a major event at all, and that is a good thing. It’s simply what comes after Drupal 8.9. Some changes in Drupal 8 over its lifespan, particularly the Layout Builder features that enables very powerful drag-and-drop page building capabilities, should make Drupal more appealing to distributed organizations that want to distribute content creation and management throughout the organization.

Q. Why would we migrate from Drupal 7 to Drupal 8 at this point when another migration is around the corner?

Change is inevitable. You can’t avoid it. Drupal 9 is really just the next update after Drupal 8.9. In fact, it will have feature parity with Drupal 8.9. Migrating from Drupal 7 to Drupal 9 will be no more or less complicated than migrating from Drupal 7 to Drupal 8. Also, Drupal 7 and 8 will both hit end-of-life status at the same time, in November 2021. So staying on Drupal 7 or Drupal 8 won’t really be an option after November 2021.

The Drupal community won’t be maintaining Drupal 7 or 8 after Nov. 2021, although a  commercial vendor will likely seize the opportunity to provide a commercial support option. 

But really, just upgrade. Drupal 8.9 is so much better than Drupal 7 in many ways. Email me if you want to set up a call to discuss the differences.

Q. Practically speaking, could you compare a D7 to D8 migration, vs. a D8 to D9?

Imagine you drive a Toyota Camry and fortune smiles on you and are gifted a 2019 Ferrari 488 Pista. It’s still a car, but you will basically need to relearn how to drive. That is D7 to D8 from the developer perspective. The content editor/writer perspective is more like going from the Camry to a BMW. It’s just a nicer version of what you already had.

D8 to D9 will be like taking the Ferrari in for a tune-up.

Q. We’ve already migrated to Drupal 8 and it meets our needs. Any reason why we can’t just leave it at that and stay with Drupal 8 indefinitely?

Drupal 9 is just the update that comes after Drupal 8.9. For all practical purposes, you are staying on Drupal 8. It's just that Drupal 8 is constantly evolving, and because we are out of single digit number to the right of the decimal point at 8.9, the next update gets called Drupal 9.0. Also, that change in digits is a convenient place to clean out the depreciated code in the code base that you should have stopped using by now anyway.

We at Promet Source are here to help with any Drupal-related questions that you might have. Contact us anytime.


 

Jul 02 2019
Jul 02

The majority of communications regarding digital accessibility tend to focus on websites only. Too often, it’s overlooked that PDFs  are also required to be accessible. Here are some guidelines to help in the review and remediation of existing documents, along with guidance for ensuring accessibility of PDFs as they are created.  

PDF Maps

  • For larger, more detailed maps:
    • Upgrade to the latest version of ERSI.
    • Use ESRI for all large/detailed maps from departments such as Zoning, GIS, and Public Works.
    • Link to these larger maps in meeting agendas and minutes.
       
  • Options for simpler maps:
    • Convert to Google Maps whenever possible
    • Keep it as a PDF document but make it accessible by following these steps:
      • Run the PDF map through the Acrobat accessibility checker tool.
      • Address all accessibility issues revealed.
      • Note: This process is more time-consuming as it will involve tagging each of the images or image hot-spots.

Scanned and Inaccessible PDFs

If the PDF document is not accessible (i.e. scanned document), there are a few options for how to deal with it:

  • Convert scanned PDFs to instantly editable text using automatic OCR software in Acrobat Pro.
  • Create an accessible alternative version of the document in one or more of the following formats:
    • Google Maps
    • ESRI GIS
    • Large Print
    • CD
    • Braille
    • Audio
  • List it on the site as a historical document where your users can contact you to get access to it in various forms that can include:
    • Electronic copy
    • Printed copy
    • Reading it aloud for users who are blind
  • Important note: If one of these three options cannot is not possible, then the document should be completely removed from the site to avoid litigation and confusion.

Static and Fillable PDFs

Decide whether the PDF should be:

  • Converted to an online HTML form (recommended)
  • Made to be an accessible PDF

If you decide to convert it to an online HTML form:

  • Create an online HTML form based on the fields in the fillable PDF. If there are any fields that aren’t necessary, remove them.
  • Test the form to make sure that it meets all WCAG Level A/AA standards

If you decide to make it an accessible PDF:

  • Run the fillable PDF through the Acrobat accessibility checker tool
  • Fix all accessibility issues using the Acrobat accessibility checker tool
  • Offer alternative formats. In order to give your users more accessible alternatives, content within PDFs should also be available in the following formats:
    • Google Maps
    • ESRI GIS
    • Large Print
    • CD
    • Braille
    • Audio

When creating new documents

  • Always start from a source document (i.e. Word, Excel).
  • Make the source document accessible by using its accessibility checker tool.
  • Convert the source document to PDF format using the recommended steps.
  • Check the new PDF file with the accessibility checker tool.
  • Address all accessibility issues using the Acrobat accessibility checker tool.

Consider the above guidelines to be a start, and most importantly, a reminder that document accessibility is not an option but a requirement.

For help or further guidance with the full range of your online accessibility issues, Promet Source offers expert, targeted expertise and support. Contact us and let us know how we can help with ensuring the accessibility of your digital assets.

For a deeper dive:

Jun 10 2019
Jun 10

Smart business decisions tend to be equated with cutting costs and saving money.
 
Over the past decade or so, “Better! Faster! Cheaper!” has become the rallying cry for business process reengineering and new initiatives within every sector. As a developer and former business owner, I get this. Efficiency is essential.
 
I tend to look favorably on the fastest, most streamlined solution, and as such, I have a lot of empathy for clients who are seeking fast fixes to ensure that their websites and all of their digital assets get into compliance with WCAG 2.1 for ADA accessibility.
 
But as a developer, my focus is, first and foremost, on solving problems, and I can state unequivocally that overlays can't be counted on to solve the challenges associated with digital accessibility.
 
A recent web accessibility legal case, Haynes vs. Hooters set the precedent that organizations are required to remediate their actual code and not rely on band-aid dashboards or overlay solutions that appear to represent a quick fix that requires seemingly little hands-on maintenance.

Here are 4 key challenges inherent to overlays:

  1. Visually impaired users don't typically use them. They tend to have their own tools with their own voice and reader settings with which they are comfortable and proficient based on their experience and ability level. Your goal is to make your code available to whatever tools and devices they prefer using, not force them to use your overlay tool that has pre-selected settings and options.
  2. Visually impaired users typically have their own stylesheets and ways to access the web. They don’t tend to use presets from widgets because widgets complicate the experience for them and the inability to disable or override them can be frustrating.
  3. Overlays simply don't work well with mobile devices unless a significant expenditure is invested in customizing them to the individual site.
  4. Overlays basically amount to putting a line of Javascript code that pulls preloaded information onto your site. So even if the overlay has been customized as part of your package, to make it fully compliant it's nearly impossible to keep it that way, because accessibility issues can re-emerge with any subsequent change to your site.

 

Sustainable Website Compliance Solutions

Promet Source serves as an accessibility partner, committed to real and lasting accessibility solutions.
 
We conduct both automated and manual testing holistically, from the perspective of the entire spectrum of disabled users and available Assistive Technology -- recognizing that there is no one-size-fits-all fix. This list of automated testing tools, recognized by the World Wide Web Consortium (W3C), demonstrates the wide range of testing options and the need for focused expertise. 
 
Our clients interact closely with both accessibility and developer certified experts throughout engagement and have the opportunity to ask questions and seek clarification every step along the way.
 
After guiding clients through the remediation process of actually fixing code to conform to WCAG 2.1 standards, we provide tools and resources to ensure that your development team has the training and knowledge to maintain your sites conformance.
 
We look forward to consulting with you about your specific accessibility objectives and working toward a solution that best addresses your needs.
 

Jun 07 2019
Jun 07

Business is hopping. You’re hiring Drupal developers with varied backgrounds and skill sets. 

When working in Drupal, there are often many ways to achieve the same outcome, and quite often, Drupal developers find themselves on different pages. How do you determine whose way is the 'best' way and proceed with optimal efficiency?

There are two perspectives to consider:

  • A team executing best practices, and
  • The process(es) needed to get best practices into place.

 

Best Practices

When defining the best practices that your Drupal development team will follow, you need to consider the following areas of development:

  • Foundational Strategies
  • Common Feature Configuration Options
  • Standard Methods for Selecting Contributed Modules
  • Custom Coding Standards
  • Development Environment
  • Workflow Methodologies
  • Testing and Quality Assurance

Foundational Strategies

All Drupal sites have a set of features that are the same. For instance, most, if not all, sites: 

  • Use content types to create content pages
  • Have a search functionality
  • Need a custom theme
  • Must meet WCAG 2.1
  • Should be usable

Before the discovery phase of a project, where requirements are confirmed and refined, create a set of configuration and coding defaults that allow you to deliver a quality product, and enable non-developers to easily use the site.
 

Common Feature Options

There are multiple ways to develop features in Drupal; some good and some not so good. Although there might be exceptions to this rule, choosing one way to develop a feature across your projects will help ensure your product is the best it can be.

Start with consistent configuration strategies and contributed modules. Consider the following:

  • Low maintenance is key to sustaining a site and continued services.
  • End user processes and skills take precedence over what’s easy for a developer to do.
  • Security can be in jeopardy with custom solutions. 

When collecting requirements, compare what’s needed with the one or more strategies you have placed in your company toolbox. Use only an approved strategy unless the requirements can’t be met.

Standard Methods for Selecting Contributed Modules

When a requirement can’t be met with a feature configuration option already in your toolbox, it’s time to go looking for options within the many contributed modules. This is a time when your sought-after best practices can go out the window if you aren’t careful.

Evaluating contributed modules in an effort to meet requirements should be a consistent process. It should be a process that not only helps configure the appropriate solution, it should also yield a configuration option for future projects.

New “best practices” should consider the following:

  • The common features considerations suggested above
  • Pros and cons of each module that meets your needs, maturity, flexibility, and coding standards
  • The history of the contributed module developer(s) and their ability to maintain the module
  • Whether your team is ready to take up the mantle of maintenance if needed
  • The interaction the module(s) could have with other features on the site

Custom Coding Standards

You have exhausted options using Drupal’s core and contributed modules and still have requirements that need to be met. This is where custom code comes in. 

The Drupal community has shared numerous standards for code development for Drupal. You don’t have to reinvent this wheel. However, you do need to establish a process that ensures:

  • Decisions to use custom code are appropriate
  • Drupal coding standards are being followed

Establish a set of criteria that must be met before custom code is cut. Asking questions such as the following can kick off your evaluation process:

  • Which modules (core and contributed) have been assessed as a means of meeting the requirement?
  • Why won’t existing modules work?
  • Can existing modules be modified to meet the need?
  • Does the client want this specific custom solution or do they want to adjust the requirement?
  • What are the potential security and maintenance issues associated with the custom code that can surface during the life-cycle of the website?

Development Environment

Before you can use the above best practices, you need a development environment. 

Drupal can run in many different web server configurations, but there are server settings that maximize Drupal’s performance. Invent your own server or use a service designed specifically for Drupal, that’s your choice.

In order to develop a website that can be hosted by your client, you need to know what their server environment will look like. If it varies from the solution you have selected, you will need a process that allows for:

  • Best practice configuration and coding that can be executed
  • The solution to be tested on the client’s server environment
  • Multiple developers to participate in development without creating issues

Workflow Methodologies

None of the above will matter if you don’t have a workflow that supports the best practices you have set forth for your team. If your developers don’t have time to evaluate their options, consult with each other, or document their solutions, they will do what they can in isolation.

Workflow is about establishing a consistent way of working, while taking into consideration tested and tried software development methodologies. You don’t have to use what others are promoting. You can mix it up, or adjust to meet your needs.

Whatever the workflow you define, consider allowing time to:

  • Identify and create best practices
  • Test new practices for coding standards
  • Verify requirements have been met
  • Provide quality foundation configurations, those your client assume you will deliver

Testing and Quality Assurance

Testing and QA are part of a defined workflow. However, they are worth mentioning separately as each process can overlook issues if not done incorrectly. Therefore, when creating a workflow, ensure you have best practices in place, particularly those accepted by the software industry.

Such testing and QA processes should consider:

  • Automated and manual testing of accessibility
  • User acceptance testing
  • Common software testing such as unit, integration, system, sanity, smoke, interface testing, and regression

 

Getting Best Practices into Place

Are you sold? Do you see the logic in the above best practice categories? Great. The next question you might have is how to implement it. 

There is no one way. However, there are basic steps you can take to get started. Remember, change isn’t going to happen over night. Incremental change is an option, unless radical improvement is needed now. If this is the case, re-engineering is your best option.

One way to kick off the process of change is to perform the following tasks:

  1. Get your developers into one room
  2. Make a list of the most common feature requirements
  3. Identify strategies for meeting the common features
  4. Rank the strategies by the requirements met
  5. Document the strategies 
  6. Train your staff
  7. Meet regularly to learn from each other, to add new options, and improve existing strategies
     

Conclusion

This idea of consistent process improvement to help ensure a quality standard that has its rooms in the Capability Maturity Model Integration (CMMI), which dates back to 1987.  CMMI is a process level improvement training and appraisal program and might be of assistance as you set goals for your organization.

Whatever you choose to do, change for the sake of quality improvement can only lead to:

  • Continued business growth
  • Happy customers
  • Employee job satisfaction

Promet Source offers a depth and breadth of Drupal development expertise. Contact us today to schedule a workshop or for information and insights to ensure that the agility and reach of Drupal is being fully leveraged.

Jun 03 2019
Jun 03

Astute marketers have stepped up to the concept of the Buyer’s Journey.  Taking the time to understand the full range of client personas and to gain empathy for the distinct phases that clients progress through as they explore and compare solutions, is now a key component of the marketing mix.

Let’s look at the potential for applying the concept of the Buyer’s Journey to a new leadership model that can serve as an essential resource for setting employees up for success.

First: a review of how understanding the Buyer's Journey is at the core of marketing effectiveness.

The exercise of mapping out the Buyer’s Journey produces insights that equip marketers to craft the right messages for the right media at the right time. The Buyer’s Journey also takes into account that not only do clients continue to have choices after the purchase, they now have a social media megaphone for broadcasting their experiences, and as such, there can be dire consequences for not continuing to pay attention after the purchase.  

While there are different models and different terminology to describe the Buyer’s Journey, the table below represents a snapshot of the distinct phases and the general types of marketing and messaging associated with optimizing impact within each. 

Buyer's Journey Snapshot

Phase Strategy Messaging/Media Awareness of need Focus on pain points / gain mindshare Industry-focused content that emphasizes empathy / Social media and sponsorships Consideration of solutions Education / help determine purchase criteria / Offer insight into what it’s like to work with you Emphasize scope and superiority of your offering / Content-rich blog posts, checklists, white papers, webinars, speaking engagements, case studies, trial offers Decision to purchase Validate decision Ease of implementation / training, support, webinars, user guides, community engagement Evaluation / advocacy Continuous added value Superior support, ongoing education and updates, closed Facebook groups, exclusive invitations, surveys, loyalty programs

 

Functional Model

Clearly, the days of the one-size-fits-all marketing campaign is a thing of the past. The bar has been raised and expectations are high for both messaging and solutions that are relevant to and resonate with clients’ specific needs. 

The concept of the Buyer’s Journey has gained traction because it makes sense and it works. It’s built upon genuine empathy and a sharpened focus on human centeredness in the design and delivery of both messaging campaigns and the solutions that they represent. 

Next Frontier: The Talent Journey

Imagine the impact if business leadership applied a similar model to the recruiting and retention of talent.  

Clearly, employees progress through distinct phases as they: 

  • Decide to search for a new job
  • Evaluate their options
  • Prepare for an interview
  • Participate in the interview process
  • Agree to join forces
  • Get onboarded
  • Become proficient in their new role
  • Evaluate the job and the company against initial expectations, 
  • Grow within the organization, and 
  • Evaluate future options.

Essentially these above phases fall within four basic categories:

  • Search
  • Sign on
  • Onboard
  • Empower

The following is a framework for the Talent Journey that mirrors the four phases of the Buyer’s Journey -- recognizing that this is simply a skeletal overview that needs to be refined and fleshed out to factor in the makeup of your team and the requirements of your company.

Talent Journey Snapshot

Phase Strategy Actions Search
Maximum positive exposure

Consistent social media posting, clear social media guidelines for current employees, presence at industry events, networking, incentive programs to encourage current employees to recruit to their sphere

Sign on Clarify expectations
Behavioral assessments that can be validated at the outset to help launch positive working relationships, detailed job descriptions and clarity concerning expected challenges, thorough information concerning benefits and company policies Onboard Set up for success

Frequent check-in along with a formal 30-day, 60-day, and 90-day program that sets goals and encourages issues and obstacles to be dealt with quickly

Empower Encourage stretch goals, remove obstacles, create a path for growth

Training, memberships in industry organizations, participation in industry events, open communication, employee surveys, 360 degree reviews, recognition programs

 

Talent Optimization

Leaders who adopt a Talent Journey mindset commit to paying attention and always being mindful of where team members are on the journey, within the framework of an intentional, empathetic model for connecting. As is true for the Buyer’s Journey, outcomes are optimized when there’s a recognition that different kinds of outreach are best suited for different phases of the journey.

Too often though, once talent has been hired and onboarded (insofar as such a process exists) they’re expected to merge with the culture, meet whatever demands come their way, and suck up any frustrations about the degree to which the actual job is out of alignment with their original expectations. 

To those who are thinking, “That’s too bad. This is business. The focus needs to be on innovation, attracting clients and maximizing profits--not coddling employees…” consider the cost of constant turnover, losing top talent to your competition, or frustrated employees operating at sub-par levels.

Talent Magnets = Great Leaders

A decade ago, when unemployment was teetering around 10 percent, leadership might have gotten away with more cavalier attitudes about cultivating talent. 

In the current economic climate, competing for talent is as critical of a success factor as competing for customers, and here’s the critical point: The competition is not won on the day that they agree to join forces. 

It’s no secret that turnover in tech is rampant. Talent knows their worth. They are mobile, well-connected, want top dollar for what they have to offer. According to Spicework’s recently published 2018 IT Career Outlook, more than one third of IT professionals in the United States are currently on the lookout for a new opportunity. Within your current team, can you accurately identify this 33 percent? Do you know who would be subject to being poached by a competitor if they got a better offer. Do you know who is frustrated and how that’s having an impact on their performance? 

Just as the Buyer’s Journey calls upon marketers to sharpen proficiency in multiple areas in order to optimize targeted effectiveness, the Talent Journey challenges leaders to be firing on all cylinders as they set talent up for success and help to remove obstacles for growth. The Talent Journey is both a model and a mindset that brings a richer dimension to our professional lives, deepening both relationships and the bottom line.

We’d love to hear from you! Do you view the Talent Journey as a workable model? What kinds of successes have you had in applying various components of it? Add your comments below or contact us today for a workshop on a leadership model that serves the specific needs of the talent journeys within your organization.
 

May 21 2019
May 21

When you’re surrounded by a team of awesome developers, you might think that a statement such as, “Great Websites are Created before the First Line of Code is Written,” isn’t going to be met with a lot of enthusiasm.

As it turns out, our developers tend to be among the greatest supporters of the kind of Human-Centered Design engagements that get all stakeholders on the same page and create a roadmap for transformative possibilities. 

The point of the above statement, which is also the title of a presentation that Promet’s Chris O’Donnell has been delivering at DrupalCamp events all over the country, is not to downplay the importance of the impeccable coding that makes great websites work. No one doubts that. Our point is that when web development is fueled from a foundation of: 

  • collaborative problem solving, 
  • elimination of  assumptions,
  • deeper knowledge transfer, 
  • empathy for users, 
  • early stakeholder alignment, and 
  • excitement about what’s possible,

everyone benefits and work is a lot more fun.

Getting it right at the start makes sense for a lot of reasons. Teams are happier and work proceeds with a higher degree of efficiency. At the same time, the impact on cost is a factor that is seldom acknowledged to the degree that it needs to be. Consider the following observation from noted software engineer Tom Gilb:

“Once a system is in development, correcting a problem costs 10 times as much as fixing the same problem in design (concept). If the system has been released, it costs 100 times as much…”

The Luma Institute graphic below powerfully illustrates the difference in the relative cost of getting it right in the concept phase, vs. fixing during the build phase, vs. fixing after release.

Pyramid that depicts the cost difference between getting software right during the concept phase vs. making a change during development vs. making a change once it has hit the market

Human Centered Design vs. Agile Development

Questions concerning “agility” frequently emerge in our conversations with clients, and offer an excellent opportunity to clarify some important issues. Human-Centered Design initiatives focused on getting it right, right from the start, are in no way at odds with the idea of agile development. 

The clear vision and collaborative energy that emerges from Human-Centered Design activities often helps to inform and enhance agile development. 

An all-to-common misunderstanding about agile development is that it’s about avoiding the discipline of an actual plan. Not true. Agile development is a real-world development methodology that does not close off the possibility for mid-course refinement. An agile plan plays out within a series of sprints. Each sprint is reviewed before moving on to the next one. If the review reveals an oversight or issue, it can be quickly addressed. 

Prioritization is key with Agile for sprint planning, and Human-Centered Design helps gain consensus on what is important.

The world’s most agile process, however, is up against an uphill battle in trying to reset the course of a project that was based on inadequate or faulty information from the start. Ensuring that projects get off to an excellent start is at the core of what Human-Centered Design is all about.

Going Wider, Digging Deeper 

The activities within a Human-Centered Design workshop continuously build upon knowledge collected and insights gained for purposes of:

  • Identifying stakeholders
  • Prioritizing stakeholders
  • Identifying strengths, problems, and opportunities in current system
  • Grouping strengths, problems and solutions within agreed-upon categories 
  • Identifying solutions 
  • Prioritizing solutions

Let’s take a look at a few components  of a Human Centered Design workshop.

Stakeholder Mapping

Stakeholder mapping results in what is essentially a network diagram of people involved with or impacted by the website. Typically, there are a lot more stakeholders than the obvious end users and stakeholder mapping evaluates all the possible users of a system to then identify the key target audiences and prioritize their needs and expectations. 
 
Stakeholder mapping is an excellent activity for:

  • Establishing consensus about the stakeholders,
  • Guiding plans for user research, and
  • Establishing an empathetic focus on people vs. technology.
An illustrated example of stakeholder mapping for a Drupal siteAn example of a stakeholder mapping exercise for Promet's upcoming web redesign illustrating people with an interest in the project.

Persona Development

The next step following stakeholder mapping is the creation of persona information in order to understand the range of differing needs from the site for purposes of tailoring solutions accordingly. 
 
Defining the distinct personas for whom the website is being designed serves to clarify the mindset, needs and goals of the key stakeholders. Giving each persona group a name provides a quick reference of key stakeholders and serves as a constant anchor for conversations moving forward.

Drupal-Specific Rose-Thorn-Bud

Adopted from a Luma Institute collection of exercises, the goal of Rose-Thorn-Bud is to quickly gather a significant amount of data in response to a specific question or the current system in general. During a Rose-Thorn-Bud activity every individual’s opinion ranks equally as responses are gathered on colored Post-it Notes for labeling attributes as positive (rose), potential (bud), or problems (thorns).

The Post-it Notes are gathered and grouped on a white board according to identified categories. The collection and organization of large amounts of data in this manner serves to highlight prevalent themes and emergent issues, while facilitating discussion. 

During Chris O’Donnell’s “Great Websites are Created before the First Line of Code is Written” presentation at Drupaldelphia, attendees were invited to respond to the following problem statement: 

Drupal 8 as a viable CMS for small business / small organization needs.

Each participant was encouraged to contribute ideas to 10 Post-its -- within any of the three color categories. All of the contributions were then  “voted up” in order to poll attendees and achieve a level of consensus among the group. Results of that exercise can be found here

Drupal-Focused Statement Starter

Statement Starters are evocative phrases to ignite problem solving within teams and challenge teams to restate the problem from differing perspectives within a framework of “We could …” and “We will …” 
 
The way a statement starter is worded is important. It needs to be an open-ended question that requires more than a yes or no answer. Effective statement starters such as, “How might we…”, “In what ways might…”, “How to…”, and “What might be all the …” help to encourage the generation of explicit problem statements.
 
Conversely, closed-ended statement starters such as: “Should we…” and “Wouldn’t it be great if… tend to yield a yes or no answer” or less specific responses.

The statement starter presented to attendees at the Promet-led Drupaldelphia event, was:

How can we increase Drupal 8 adoption outside of the “enterprise” space?

Their responses are recorded here.

Importance / Difficulty Matrix

Inevitably, some of the ideas that emerge will spark excitement for the strategic leap forward that they could represent. The required time and resources to move forward with them, however, might exceed current capabilities. Other ideas might fall into the category of Low Hanging Fruit -- initiatives that can be achieved quickly and easily.

Plotting every idea on an Importance / Difficulty Matrix is an essential group activity that sparks conversation and accountability concerning Who, How, and When -- transforming good ideas into action items.

Illustration of an Importance/Difficulty Matrix


Why Human-Centered Design?

In the current environment, organizations tend to be defined by their digital presence. The stakes for getting it right are high and the margin for error is low. Optimizing ideas and perspectives at the outset, and continuing to iterate with feedback creates a strong starting point that serves as a superior foundation for web solutions that are capable of heavy lifting over the long haul. 

Interested in learning more about the possibilities for a Human-Centered Design workshop in your organization? Contact us today.

May 16 2019
May 16

“Never doubt that a small group of thoughtful, committed citizens can change the world; indeed, it's the only thing that ever has.”
        - Margaret Mead

Today marks the 8th annual Global Accessibility Awareness Day.

GAAD was inspired by a blog post written in November 2011 by Joe Devon, a Los Angeles based web developer who was frustrated about an overall lack of awareness about accessibility. He called for a day devoted to building a more inclusive digital world. 

About six months later, on May 9, 2012, the first Global Accessibility Awareness Day occurred with about a dozen virtual and in-person events. 

Today, there will be hundreds of GAAD 2019 events celebrated in every corner of the world. 

It’s wonderful that digital accessibility is inching it’s way into mainstream thinking, but too often, the time and resources associated with making sites and apps accessible is viewed as a burden -- a legal requirement that would gladly be avoided, if possible. The fact is, expanding digital accessibility represents a profound opportunity to take a more expansive, empathetic, and inclusive view of our world and that always leads to good.

Into the Light

Digital accessibility is emerging from a code-related "have-to" that happens behind the scenes. We need to talk about it more and see it as an opportunity. 

We are living in a digital world that shuts out or limits the ability to engage for an estimated 15 percent of the population -- customers, constituents, audiences. 

This translate into business. The disabled represent $490 billion in buying power. And millennials, who value inclusivity and social responsibility more than any generation that preceded them represent $3.28 trillion in buying power. 

Once we get it -- that ensuring digital accessibility is not only a legal requirement, it’s the smart thing to do and the right thing to do -- our passion for accessibility moves up several notches. And just as accessible ramps at entrances to public buildings serve far more than the wheelchair bound, it’s helpful to understand that accessibility is not just for the “disabled.”  Let’s consider some ways that accessibility modifications make digital experiences more engaging and flexible for people of all abilities.

  • Logical layouts and engaging designs are not just pleasant to look at. Any user can get annoyed when needed information is difficult to find and interactions are complicated, but users who have cognitive difficulties or limited computer skills can be frustrated beyond all measure. Be sure to evaluate the user experience from multiple perspectives and angles. 
  • Adequate color contrast is essential for enabling users with a wide range of visual impairments, such as color blindness, to read, navigate, or interact with a site. Low-contrast sensitivity becomes more common with age, but good contrast also ensures accessibility in low-lighting conditions and for users who could be experiencing any number of temporary visual challenges. 
  • Video captions are, of course, essential to enable the hearing impaired to understand the meaning of a video. They also enable videos to be accessible to viewers who are in particularly loud environments, or in settings where silence is required. 
  • Alternate text for photos makes a site more accessible for the visually impaired. It can also bring additional context and clarity to digital experiences.
  • Technology that converts text to speech is viewed as a requirement for the visually impaired. It’s also helpful for dyslexic users, people who prefer not to read, as well as people who want to multi-task. Coding websites and apps to convert text to speech has the added benefit of helping search engines to detect content.
  • Customizable text capabilities enable users to adjust the size spacing and color or text without loss of function or clarity. There are a wide range of visual impairments that make small text unreadable, and difficulties in reading small type inevitable accompany the aging process for everyone. 
  • Clear language is key to accessibility. Industry jargon and acronyms always need to be explained. Run-on sentences and paragraphs can frustrate users of all abilities and in particular those who have cognitive impairments or learning disabilities. In the current environment, there is no patience or inclination for unraveling complicated text. 

This is a lay person’s look at digital accessibility -- an issue in our modern world that’s inherently tied to the common good. 

Do you agree? Join the conversation and let us know how you have discovered digital accessibility to be a means to broaden outreach and build bridges.   

May 13 2019
May 13

Having a process to follow when it comes to website planning and development is essential. The following considerations factor into successful development. 

 

Choosing a Method

Choosing the one method that fits your project can be a daunting task. If you have your own development team, you have control how the process proceeds. If you are hiring a vendor, you need to ensure that you still have a say in the process.

With insight into the planning and development processes, you can help ensure your interests are protected.

 

Planning and Development Goals

Some goals reflect perfect-world scenarios. It’s important, however, to be prepared with a flexible and acceptable plan when the project falls short of perfection.

Perfect World

In a perfect world, you know every detail about the website you want built and can convey those requirements clearly and completely. In a perfect world, all those requirement details are correctly understood by the developers on your project and they quickly create a solution without any issues.

Reality Check

Unveiling every detail regarding the requirements before development starts, however, isn’t necessary to initiate the process. Document all you can. Sketch what you are envisioning: pencil and paper are fine. Be sure to convey requirements that are critical for you to accept the end product.

When you hand your list to your development lead, understand that the development team will already have strategies in mind as they listen to what you say. This can mean 

  • a speedy and efficient development process or
  • it can mean they are hearing what they want to hear and missing details that can suggest their past experiences might need to be adjusted.

Open and frequent communication between you, the site owner, and the development team is a key success factor.

Choosing a Methodology

Often, a proposal from a development vendor will communicate the process they will follow to deliver your site. Given the recent trends, you will likely see the word Agile in their text. Or, maybe your own people are eager to jump on this new way of executing the development process.

If the developers are well trained in one of the many Agile methodologies, this might be fine. However, that is often not the case. One of the most common misunderstandings about Agile methodologies is that detailed planning is not needed.

What are your options? Become informed. Recognize that 

  • development methodologies can be influenced;
  • methodologies can be tweaked to fit your needs; and
  • you are not limited to just one methodology.

Influencing Development Methodologies 

Over the last several decades, some developers focused on the best steps to programming a solution, while others focused on creating programming languages that would make development easier and faster. Together, these two paths have created opportunities in the software development world. Among them:

  • Rapid application development using object-oriented languages and reusable functions that no longer rely on a developer to write and rewrite the code for frequently used website functionality. 
  • Creation of frameworks that, with specific coding functions, allow for the development of common and unique website applications.
  • Development of prepackaged systems designed to meet common website requirements out-of-the-box, requiring less experience and less time to stand up a site.

Each scenario is open to the use of Agile development processes that can flex, depending on the language, system, and/or requirements.

Will your project be developed from scratch or will your team use an out-of-the-box solution? Ask what the chosen strategy means for your process.

Tweaking Methodologies

Let’s take a brief look at what this means. Agile refers to a manifest of software development principles. There are several Agile methodologies that have been designed based on these principles, but they are not all the same or all-inclusive.

If any methodology does not fit your needs, you can make adjustments: add in tasks of another methodology, rearrange steps. Look at the development process being proposed and simply change it fit your resources, your requirements, and/or the way your team works.

Mixing Things Up

Sometimes tweaking isn’t enough.

Have you ever built a house? If not, you can probably imagine a few of the details such as the need for an approved architectural plan. In other words, a blueprint. The blueprint goes beyond requirements. It conveys how the requirements will be met.

There are reasons why the process used to construct of a house works.

  • Pre-approved plan
  • The ability to identify resources and estimate cost
  • A means to create a construction schedule

These three reasons help prevent scope creep and cost overruns. However, the delay of implementation of the requirements this can cause can has been troublesome for many. For instance, it can cause outdated technology to be used when coding finally starts--hence, the need for a development methodology that can start sooner and flex with changing technology.

Mixing it up means, taking the best aspect from the process used by the construction industry, which is a Waterfall approach and combining it with an agile development strategy.

Waterfall the What

Given the options in software today -- reusable functions, frameworks, pre-packaged systems -- it’s easier to identify a coding strategy for a website before the requirement details are identified. Returning to the house construction example, it’s like planning your new house based on pre-defined and pre-built modules that can be put together to create the house of your dreams.

A website is no longer a totally unique product from other websites. Starting with a blank page as if it has never been done before can be a waste of time. This means, using a waterfall approach to collect detailed requirements and design is a viable option.

Create a blueprint of exactly what you need. Participate in decisions regarding the various modules available to implement the features you need. Don’t rely on blind faith that the development team is going to choose an implementation or coding strategy that works best for you.

Agile the How

Next, implement the blueprint. An agile development methodology is still an appropriate choice, given our Waterfall beginnings. Let’s explore this switch in methodology.

The Agile-based Scrum methodology is used frequently. It utilizes Sprints where portions of the website are developed and then reviewed before proceeding to the next Sprint. With this approach to implementing the blueprint, three things are made possible:

  • The development team can plan how to implement the blueprint.
  • They have an increased chance of creating the correct solution.
  • If a review reveals an issue or something was missed during the creation of the blueprint, there is still time to make an adjustment in the development process to accommodate.

With this mixed approach, you don’t have to wait until all requirement details are in place. Assuming the use of a pre-packaged system such as a content management system, the development team can get started with some of the primary functionality identified early in the requirements and design steps such as:

  • E-commerce
  • Multilingual
  • Multi-site (e.g., more than one site using the same code-base)
  • Third-party system integration
  • Multiple levels of content access.

Given the nature of today’s coding options, take the time to plan the details of your website to help reduces surprises and restarts later. Then, be flexible. There is always a chance that a review of the development process can reveal required changes.

Conclusion

All methodologies have their strengths and weaknesses, especially when, for instance, trying to apply a methodology designed for hand-coded project versus a methodology designed to take advantage of pre-existing code bundles, such as content management systems.

Promet Source offers a depth and breadth of expertise in collaboratively determining the best methodology, based upon your distinct goals and circumstances. Our workshops are an excellent opportunity to understand the impact of process of design and to ensure that your project is positioned for success. 

Contact us to learn more about Promet’s distinct approach to ensuring successful implementations or to schedule a workshop.

May 07 2019
May 07

In a world where global positioning systems appear to have a handle on every square inch of the roads we’re traveling on, doesn’t it seem like there should be automated website accessibility testing tools that function as well as -- if not better -- than manual testing? 

The fact is ... it’s complicated.

There are efficient automated testing systems that reveal important findings -- many of which you can easily access and apply to your site. But the web accessibility testing landscape is littered with offers of automated testing solutions that claim to provide fast fixes for the full spectrum of your digital assets. You might have already received an offer based on an unsolicited test of your site, alerting you that your site is a prime candidate for a website accessibility lawsuit. 

If that notification and offer does not include a comprehensive web accessibility testing checklist, it’s likely to be laden with pitfalls. One unsolicited finding, based on automated accessibility testing, does not reflect how your site is faring on all accessibility metrics. Automated accessibility testing tools simply cannot detect every potential issue that would cause your site to be noncompliant. Nor does an automated test provide adequate information for web accessibility remediation or mitigate your legal risk.

Avoid Unintended Consequences

Too often, overlay accessibility solutions create a scenario in which one fix leads to unintended consequences in your code and results in the need for further fact-finding and fixes. Subsequent changes to your site’s UI tend to break the overlay, setting in motion a constant cycle of diagnostics and fixes. 

Keep in mind that many automated ADA web accessibility testing tools are free to use and can produce relatively robust results. It might be just as easy for you to conduct this kind of test on your own, and gain a cursory understanding of accessibility issues affecting your site. Consider giving a web accessibility testing tool such as Code Sniffer a try.

Automated accessibility testing tools overlook critical information -- especially when the testing has occurred without your knowledge by someone with whom you have not had a conversation about your objectives and the full scope of your digital assets.
 

Get it Right the First Time

Promet serves as an ADA accessibility partner that conducts both automated and manual testing holistically from the perspective of the full spectrum of disabled users and available Assistive Technology. We guide clients through the remediation process, actually fixing the code to conform to WCAG 2.1  guidelines. We also provide tools and resources that enable your team needs to maintain your site in conformance moving forward

Our ADA accessibility testing tools and processes go deeper and wider than what automated testing can reveal. We explore a range of issues that require hands-on, manual testing. We look into the unique features of your site, and we take your organization’s mission into account. 

During our engagement process, we start with the development of your scorecard, which reports on our analysis of your site from several different angles. 
 

Understand Your Options

The scorecard is not intended to serve as a thorough report or to provide formal recommendations. It functions instead as a high-level overview for purposes of starting the conversation that will help you to choose the best path.

For example, we might find that you are using a content management system that is designed to adhere to ADA accessibility requirements, but that your content developers aren't using appropriate techniques when posting. Fixing existing content issues without understanding the reason the issues exist, simply means your site will quickly fall back into noncompliance. A simple process change might be all that’s needed to fix this situation. 

Other fixes, however, might require a fundamental overhaul of your site. If your site was created on a platform that is out of sync with ADA accessibility guidelines, it might be more cost effective to rebuild rather than to launch a series of workarounds. 


As experts in this field, we are clear on the fact that quick fixes, which sound too good to be true, usually are. Our objective is to create real accessibility solutions that enable you to move forward with the confidence that your site is accessible to all people with or without disabilities and that you reduce your risk of being faced with a lawsuit due to noncompliance. 

Leverage Expertise

The decision process associated with web accessibility remediation can feel overwhelming. It is outside of the core competency of most organizations. That's why it’s important to work with a trusted web accessibility consultant. 

The scorecard that we offer as part of your remediation process serves as a critical starting point for helping others in your organization to get an overview of your site's noncompliance and the level of effort that will be involved in the remediation. 

We find that when all stakeholders have an understanding of the process and are vested in the importance of doing the right thing, remediation comes into focus.

We are happy to review with you any emails concerning non compliance that you may have gotten by surprise -- or any unsolicited emails full of dire warnings about a potential lawsuit. 

As a leading expert on web accessibility testing tools, we’ve witnessed untold versions of quick fixes that have given rise to a whole host of complications. If you are looking to get it right the first time with the added benefit of value-added solutions, contact us today.

Apr 26 2019
Apr 26

At DrupalCon2019 earlier this month, Promet Source tapped the collective brainpower of attendees with a Human-Centered Design activity that asked this question:

“What are the key advantages, the main challenges, and the emerging opportunities of Drupal as an Information delivery platform?”

Within the context of a Human-Centered Design workshop, big questions such as this one are positioned within a “Rose-Thorn-Bud” framework. Participants are given brightly colored Post-It notes and asked to write everything that they view as an advantage or a plus on a pink (Rose) Post-It. Challenges or downsides are to be written on a blue Post-It (Thorn). Green Post-Its are for collecting input on potential or emerging for opportunities (Bud). 

15 Minutes of Focus

A setting such as DrupalCon, in which participants are needing to constantly shift their attention as they take in tons of information from all sides, is vastly different from a Human-Centered Design Workshop, in which the attention of all participants is laser-focused on a series of activities that build upon the insight and information gathered. DrupalCon, however, represented such a high degree of energy and enthusiasm, that we were able to count on considerable contributions throughout the event. 

The first phase of the Rose-Thorn-Bud activity is simply collecting input. The next phase, called “Affinity Clustering,” is for purposes of reordering and analyzing the input according to agreed-upon groupings. The use of different colored Post-Its is particularly useful in revealing that within a particular category there might be a mix of Roses, Thorns, and Buds, or primarily one or the other, or in some cases, participants may differ as to whether the same issue constitutes a Rose, a Thorn, or a Bud. 

This is an excellent exercise for revealing patterns, surfacing priorities, bringing order to disparate complexity, and sparking productive conversation.

DrupalCon Participants Rank Drupal

Let’s look at the input gathered during the first phase of this activity where we collected responses to the question concerning of key advantages (Rose), main challenges (Thorn), and emerging opportunities (Bud) of Drupal as an information delivery platform.

Rose Thorn Bud Ease of development Documentation (2 Post-Its) Templates for quickly building mini-sites Ease of extension (modules for everything) Too many options Migration to D8 Cutting edge Security is really hard for small projects Decoupled architecture opportunities Connecting and referencing data and content with Taxonomy Admin UI is not intuitive to content editors Accessibility! Adoption of Symphony Admin UI Improving documentation Lots of interchangeable pieces/modules Composer vs. Tar install; mismatched workflow Media integration Flexibility (3 Post-Its) Scattershot dev -- unified direction GraphQL in Core Accessibility out of the box Address low-hanging fruit (media integration) Menu System APIs Content modeling Media integration JSON API with Content Moderation Trusted information can be pushed out programmatically and systematically Content Editor Experience Layout Manager Simple to use Layout tough to perfect   Drupal makes information pretty Flexibility   Allows for all sorts of content types High Learning Curve                (3 Posts-Its)   Quick publication of new information Drupal requires a lot of back-end work to make performance better. It’s heavy and slow.  

 

Next Step: Affinity Clustering

Without context and categorization, excellent input tends to never make it beyond words on a page -- or Post-Its. That’s what Affinity Clustering moves us toward. This is a visually graphic exercise that allows for the assimilation of large amounts of information.

Affinity Clustering is a collaborative activity, that occurs within a facilitated Human-Centered Design Workshop, with all participants contributing their thoughts on how and where to categorize the Rose-Thorn-Bud input. Since it was not feasible to move to this phase from the confines of the Promet Source booth at DrupalCon, we sought the expertise of our in-house Drupal experts and came up with the following categories

Back End Front-End Design Content Ease of development - Rose Accessibility out of the box - Rose Connecting and referencing data and content with Taxonomy - Rose Ease of extension (modules for everything) - Rose Lots of interchangeable pieces/modules - Rose Content modeling - Rose Adoption of Symfony - Rose Flexibility (2 Post-Its) Rose Quick publication of new information - Rose Simple to use - Rose Drupal makes information pretty - Rose Content Editor Experience - Thorn Trusted information can be pushed out programmatically and systematically - Rose Allows for all sorts of content types - Rose Flexibility - Thorn Documentation - Thorn (2 Post-Its) Layout tough to perfect - Thorn High Learning Curve - Thorn Too many options - Thorn High Learning Curve - Thorn Admin UI is not intuitive to content editors - Thorn Security is really hard for small projects - Thorn Templates for quickly building mini-sites - Bud Admin UI - Thorn Composer vs. Tar install; mismatched workflow - Thorn Layout Manager - Bud JSON API with Content Moderation - Bud Scattershot dev -- unified direction - Thorn Accessibility! - Bud   Address low-hanging fruit (media integration) - Thorn Menu System APIs - Bud   Media integration - Thorn     Improving documentation - Bud     Migration to D8 - Bud     High Learning Curve - Thorn     Cutting edge - Rose     Drupal requires a lot of back-end work to make performance better. It’s heavy and slow. - Thorn     Decoupled architecture opportunities - Bud     Media integration - Bud     GraphQL in Core - Bud    
Three groups of pink, blue and green post-its to illustrate affinity clustering


 

To summarize, the front-end category had a lot of roses indicating that the overall sentiment is positive, despite a few challenges. This is the kind of revelation that would be readily apparent to participants in a Human-Centered Design workshop -- simply due to a preponderance of pink Post-Its. The content category, on the other hand, was dominated by thorns. In a workshop, the majority of blue Post-Its would quickly clarify the relative dissatisfaction concerning content. The back-end category resulted in a true mix of Roses, Thorns, and Buds, a fact that would certainly spark continued conversation among participants.
 

This is just a start! 

For those of you who were not able to attend DrupalCon 2019, or who did not make it over to the Promet Source booth or who have had new thoughts subsequent to your participation:

  • What would you add to the above Rose-Thorn-Bud list? 
  • Are there categories that you would like to add to the Affinity Clusters? 
  • How does the above align or not align with your experience?

Indicate your comments below or contact us today for a conversation about leveraging Human-Centered Design techniques to Ignite Digital Possibilities within your organization. 

Apr 25 2019
Apr 25

At DrupalCon2019 earlier this month, Promet Source tapped the collective brainpower of attendees with a Human-Centered Design activity that asked this question:

“What are the key advantages, the main challenges, and the emerging opportunities of Drupal as an Information delivery platform?”

Within the context of a Human-Centered Design workshop, big questions such as this one are positioned within a “Rose-Thorn-Bud” framework. Participants are given brightly colored Post-It notes and asked to write everything that they view as an advantage or a plus on a pink (Rose) Post-It. Challenges or downsides are to be written on a blue Post-It (Thorn). Green Post-Its are for collecting input on potential or emerging for opportunities (Bud). 

15 Minutes of Focus

A setting such as DrupalCon, in which participants are needing to constantly shift their attention as they take in tons of information from all sides, is vastly different from a Human-Centered Design Workshop, in which the attention of all participants is laser-focused on a series of activities that build upon the insight and information gathered. DrupalCon, however, represented such a high degree of energy and enthusiasm, that we were able to count on considerable contributions throughout the event. 

The first phase of the Rose-Thorn-Bud activity is simply collecting input. The next phase, called “Affinity Clustering,” is for purposes of reordering and analyzing the input according to agreed-upon groupings. The use of different colored Post-Its is particularly useful in revealing that within a particular category there might be a mix of Roses, Thorns, and Buds, or primarily one or the other, or in some cases, participants may differ as to whether the same issue constitutes a Rose, a Thorn, or a Bud. 

This is an excellent exercise for revealing patterns, surfacing priorities, bringing order to disparate complexity, and sparking productive conversation.

DrupalCon Participants Rank Drupal

Let’s look at the input gathered during the first phase of this activity where we collected responses to the question concerning of key advantages (Rose), main challenges (Thorn), and emerging opportunities (Bud) of Drupal as an information delivery platform.

Rose Thorn Bud Ease of development Documentation (2 Post-Its) Templates for quickly building mini-sites Ease of extension (modules for everything) Too many options Migration to D8 Cutting edge Security is really hard for small projects Decoupled architecture opportunities Connecting and referencing data and content with Taxonomy Admin UI is not intuitive to content editors Accessibility! Adoption of Symphony Admin UI Improving documentation Lots of interchangeable pieces/modules Composer vs. Tar install; mismatched workflow Media integration Flexibility (3 Post-Its) Scattershot dev -- unified direction GraphQL in Core Accessibility out of the box Address low-hanging fruit (media integration) Menu System APIs Content modeling Media integration JSON API with Content Moderation Trusted information can be pushed out programmatically and systematically Content Editor Experience Layout Manager Simple to use Layout tough to perfect   Drupal makes information pretty Flexibility   Allows for all sorts of content types High Learning Curve                (3 Posts-Its)   Quick publication of new information Drupal requires a lot of back-end work to make performance better. It’s heavy and slow.  

 

Next Step: Affinity Clustering

Without context and categorization, excellent input tends to never make it beyond words on a page -- or Post-Its. That’s what Affinity Clustering moves us toward. This is a visually graphic exercise that allows for the assimilation of large amounts of information.

Affinity Clustering is a collaborative activity, that occurs within a facilitated Human-Centered Design Workshop, with all participants contributing their thoughts on how and where to categorize the Rose-Thorn-Bud input. Since it was not feasible to move to this phase from the confines of the Promet Source booth at DrupalCon, we sought the expertise of our in-house Drupal experts and came up with the following categories

Back End Front-End Design Content Ease of development - Rose Accessibility out of the box - Rose Connecting and referencing data and content with Taxonomy - Rose Ease of extension (modules for everything) - Rose Lots of interchangeable pieces/modules - Rose Content modeling - Rose Adoption of Symfony - Rose Flexibility (2 Post-Its) Rose Quick publication of new information - Rose Simple to use - Rose Drupal makes information pretty - Rose Content Editor Experience - Thorn Trusted information can be pushed out programmatically and systematically - Rose Allows for all sorts of content types - Rose Flexibility - Thorn Documentation - Thorn (2 Post-Its) Layout tough to perfect - Thorn High Learning Curve - Thorn Too many options - Thorn High Learning Curve - Thorn Admin UI is not intuitive to content editors - Thorn Security is really hard for small projects - Thorn Templates for quickly building mini-sites - Bud Admin UI - Thorn Composer vs. Tar install; mismatched workflow - Thorn Layout Manager - Bud JSON API with Content Moderation - Bud Scattershot dev -- unified direction - Thorn Accessibility! - Bud   Address low-hanging fruit (media integration) - Thorn Menu System APIs - Bud   Media integration - Thorn     Improving documentation - Bud     Migration to D8 - Bud     High Learning Curve - Thorn     Cutting edge - Rose     Drupal requires a lot of back-end work to make performance better. It’s heavy and slow. - Thorn     Decoupled architecture opportunities - Bud     Media integration - Bud     GraphQL in Core - Bud    
Three groups of pink, blue and green post-its to illustrate affinity clustering


 

To summarize, the front-end category had a lot of roses indicating that the overall sentiment is positive, despite a few challenges. This is the kind of revelation that would be readily apparent to participants in a Human-Centered Design workshop -- simply due to a preponderance of pink Post-Its. The content category, on the other hand, was dominated by thorns. In a workshop, the majority of blue Post-Its would quickly clarify the relative dissatisfaction concerning content. The back-end category resulted in a true mix of Roses, Thorns, and Buds, a fact that would certainly spark continued conversation among participants.
 

This is just a start! 

For those of you who were not able to attend DrupalCon 2019, or who did not make it over to the Promet Source booth or who have had new thoughts subsequent to your participation:

  • What would you add to the above Rose-Thorn-Bud list? 
  • Are there categories that you would like to add to the Affinity Clusters? 
  • How does the above align or not align with your experience?

Indicate your comments below or contact us today for a conversation about leveraging Human-Centered Design techniques to Ignite Digital Possibilities within your organization. 

Apr 23 2019
Apr 23

The ever increasing complexity and functionality of Drupal sites does not need to translate into increasingly steeper development costs.

In the past, Drupal sites were relatively homogeneous with the occasional multi-domain or multi-site implementation. Today, as sites become more complex, with features such as headless integration with non-Drupal software, the overhead of reproducing an environment locally can become very costly.  Docker was created to bridge the gap between a homogeneous Drupal implementation and a complex integration with non-Drupal software.  

Rather than running a full virtual machine locally, Docker emulates a given environment but still uses your operating system for better efficiency. This is done via "containers" for things like MySQL and PHP, enabling you to do things such as set a given PHP version for each site rather than system-wide. As a result, the process of increasing a site’s complexity has less of an impact on onboarding time.

To build on the benefits of Docker, Expresso PHP was created. Expresso PHP is an open-source Docker setup geared toward PHP development, including Drupal. To illustrate the benefits of Docker and Expresso PHP, let’s walk through setting up a local Drupal environment in Drupal 8 using macOS Mojave.

Software Versions Used

  • macOS Mojave 10.14.4
  • Drupal 8.6.14
  • Docker 18.09.3
  • Docker Compose 1.24.0-rc1
  • Expresso PHP v1.1.0

Setting up Drupal using Expresso PHP

1.

The first step is cloning the Expresso PHP Git repo and doing some initial setup.  This installation assumes you are installing docker sites in a "docker" directory within your local environment's home directly.  In the directions for this example,  the site in question is called "my-site."

cd ~/docker
git clone https://github.com/expresso-php/expresso-php.git my-site
cd my-site
git checkout nginx-php

2.

After cloning the repo, specify the desired PHP version here:

~/docker/my-site/docker/php/Dockerfile

The first line will look something like this:

FROM php:7.2-fpm

3.

Next, clone the Drupal site's Git repo or otherwise add the site.  This example assumes the repo will be cloned within a directory called "my-site", so its location would be

~/docker/my-site/my-site

4.

Replace the existing "web" directory with a symlink to the document root:

rm -rf ~/docker/my-site/web
cd ~/docker/my-site
ln -s my-site/docroot web

This example assumes the document root is "docroot" but it could be "www" or something else.

5.

Copy the settings.php file from default.settings.php

cd ~/docker/my-site/my-site/docroot
cp sites/default/default.settings.php sites/default/settings.php
cd sites/default

6.

Edit settings.php and replace

$databases = array();

with the following

$databases['default']['default'] = [
  'database' => 'expresso-php',
  'username' => 'expresso-php',
  'password' => 'expresso-php',
  'host' => 'db',
  'port' => '3306',
  'driver' => 'mysql',
  'prefix' => '',
  'collation' => 'utf8mb4_general_ci',
];

7.

Edit settings.php and replace

$settings['hash_salt'] = '';

with

$settings['hash_salt'] = 'expresso-php';

8.

A local domain can be used to update the host’s file..  You will need to use sudo to edit /etc/hosts and add the following:

0.0.0.0 my-site.test

9.

Optionally, create a directory for a copy of the site's database and place a *.sql of the database into this directory:

cd ~/docker/my-site
mkdir ref_db
cd ref_db


This is only needed if a Makefile or build script will be used, which is recommended; otherwise, DB import could be done via drush.

Note - The designated location for the reference database may be different for a given Makefile or build script.

10.

Add the Drupal files directory here and modify permissions if needed:

cd ~/docker/my-site/my-site/docroot/sites/default

11.

Build the Docker containers; this is only needed during setup:

cd ~/docker/my-site
docker-compose up -d

12.

The next step is importing the Drupal database.  Ideally this would be done via a Makefile or build script.

Alternatively, the DB import can be done via drush:

cd ~/docker/my-site/docroot
docker-compose exec -T php_nginx drush sql-cli < ../ref_db/ecoDB.sql

13.

Once the DB is imported, check the port needed to access the site:

docker-compose ps

It will use the port associated with my-site_nginx_1; for example 32768.

14.

Access the local website to confirm it works; for example, if the IP is 32768 then the site's URL would be:

http://my-site.test:32768
 

Commonly used Commands

To use Drush:

docker-compose exec php_nginx drush cr

To SSH in to the nginx container:

docker-compose exec php_nginx /bin/bash

To restart services:

docker-compose restart
docker-compose ps

"docker-compose ps" is included here since restarting services resets the port used to access the site.

To uninstall the site:

cd ~/docker/my-site/my-site/docroot

docker-compose down -v
cd ~/docker
rm -fr ~/docker/my-site

That's all there is to it.  When a build script or Makefile is used, a new environment can be set up in a matter of minutes. The main, limiting factor is time needed to copy in the Drupal files/ directory and import the database.
    
Expresso PHP and Docker are excellent tools that enable you to maintain a straightforward setup process, even as complexity increases -- serving as another clear indicator of the inherent agility of Drupal.

Looking for further insights on leveraging Drupal to achieve specific outcomes? Contact us today.

Apr 16 2019
Apr 16

Success with Drupal development often depends as much on knowing what NOT to do as much as what to do.

If you are not “Thinking in Drupal," you are likely to develop a Drupal site using strategies that are not conducive to a:

  • Drupal-friendly site that allows changes to be made to configuration without writing code;
  • Site that is as accessible as it could be; and/or
  • A low-maintenance coding strategy.

Let’s take a look at common Drupal development practices that do not reflect “Thinking in Drupal.”

Data Structures

The first category of “Don’ts” we want to share has to do with data structures. Content is the foundation of your site. 

Don’t use the body field to create the webpage vs. regions and blocks.

In order to create a content page in Drupal, you fill out a form called a Content Type. By default, the form includes a title field and body field. If this feature is all you use, technically, you could use traditional HTML strategies and the body field to create the page you need.

For example, copying the code from an HTML page and pasting it into the body field. If that code includes structural elements and supplemental content, that practice is defeating the purpose of using Drupal and limits content reuse.

Don’t forget to use fields to structure content.

This next example overlaps a little with the example above. Assume for a moment that you are using content blocks to place various bits of content in the page sidebars on your content page. Congratulations. You’re “Thinking in Drupal.”

However, if you don’t take the next step and structure your content into more than just the title and body field, you are not setting up your site for easy content reuse. An easy way to explain this issue is with an event content page.

You can use the body field to enter the event description, date, time, location, audience, price, etc. Or, you can add fields to the content type for each bit of content. This strategy helps you create a consistent presentation of data and sets you up for the next issue.

When you split your content into bits of data, you take the next step towards “Thinking in Drupal” and are able to take advantage of the database query and display feature called Views.

Don’t forget to use Views to create dynamic lists of content.

The next step in “Thinking in Drupal” is querying the database to reuse the bits of content you have placed in fields. 

It is true that you can type a list into the body field of a page and make the list a set of links, just as you would do on hand-made HTML pages. However, that defeats the purpose of using a content management system. Enter it once, reuse it many times over. 

Views is the tool that lets you grab data from fields and display them in blocks and pages. Then, in the event the data source is updated, every instance of that data display is also updated automatically.

Don’t miss out on the power of Views.

Styling 

Your data has been stored and queried using Drupal-friendly strategies. Now’s the time to apply your look and feel to your content.

There is no getting around the fact that presentation of content is important to every site owner. Drupal ships with features that allow you to layout both content fields and supplemental blocks of data. It also includes what we call a theme that helps manage the look and feel of the site.

Although it is likely that you will use a theme that is customized to your branding, one needs to be careful not to prevent configuration settings from being overwritten. 

Don’t forget to use semantic HTML and WAI-ARIA.

With the arrival of HTML5, meaningful elements such as <article> and <header> came into play, among others. That doesn’t mean there haven’t been other meaningful elements. The <p> element tells the reader the content is a paragraph. The <h1> through <6>, <blockquote>, <code> and <em> elements also carry meaning.

The most common non-semantic HTML element is <div>. Used to create sections on web pages, it often includes an ID that describes the sections: main, header, nav, and footer. Unfortunately, human ID’s aren’t recognized by assistive technology because, for example, “main” could also be written as “main content” or “content”. Then there are the various formats for “nav” such as “navigation”, “menu”, or “main menu.”

If you want to describe the semantic element, consider using ARIA rules. For example, <header role=”banner”> indicates that this instance of <header> is the banner on the page and not the header for some content.

How does this apply to Drupal? The theme templates and content entered by content authors. Although Drupal 8 uses HTML5, theme developers don’t always use it when customizing the look and feel of the site. When creating templates and content, think beyond Drupal and include strategies that make your pages accessible. 

Don’t avoid using Drupal build features to manage the page layout.

When you were creating your blocks of content, be it manually or with Views, you placed them in regions defined by the theme. 

It is possible to create theme templates that manually render fields and blocks via the same strategies used by other content management frameworks. However, in doing so, you prevent the use of Drupal’s configuration interface from having any influence on that template.

Imagine you have five fields for a content type. By default, you can configure Drupal to display all five using the default templating strategies. Assume you add a field at a later time, or want to hide one of the existing fields, you can do so via the configuration interface.

However, if you deviate from the default and manually render the five fields, changes in configuration will not be realized on the page until the code is updated in the template.

This practice, unfortunately, is one that creates problems for site owners who believe they are receiving the flexibility that Drupal promises. Confusion and frustration ensue. If you are a site owner, insist on a configuration-based page/field layout strategy versus a hard-coded approach.
 

Customization

You can create complex sites without one line of custom code outside the appropriately coded custom theme you may need. However, when you have exhausted all configuration options, including using pre-existing features contributed by the Drupal community, you might have to write some custom code.

Adding or editing features in a Drupal site require developers to follow Drupal coding standards and practices. This means, a coder might not be able to follow the same practices used in other frameworks. Unfortunately, this is sometimes not understood.

Here are just a couple of examples of coding for Drupal.

Don’t forget to use patches to track code changes.

Given the numerous contributed modules available on Drupal.org, it’s likely your site will use one or more. There might be times when a contributed module offers, for instance, 95% of what you need, with a minor tweak of the code and it will do the job nicely.

The best practice is to create your own custom module with code that hooks into the contributed module in question. Your custom module makes the change the Drupal way and will be executed with calls to the site.

Unfortunately, not all contributed modules are coded with hook options. Although “hacking” contributed modules is not a recommended practice, sometimes it’s the best course of action for minor changes. However, this introduces a maintenance problem if not done correctly via patching. 

What is a patch? Simply put, a fix to the code. As issues are reported to the module project lead, recommended coding fixes are often shared as well for the next version of that module. Meanwhile, your site might need that patch so you take the new code and “fix” the module versus waiting for the next module release.

This same practice of patching can be used to keep track of minor code tweaks you need to make in the contributed module. Again, all efforts should be made to use existing code. If not possible, create your own custom module. Then, if tweaking the functionality of a contributed module is what you choose, track the changes you made with a patch.

Lastly, store all your patches (fixes and tweaks) in a file on the server. For example, here sites/all/patches/PATCHES.txt.

Don’t forget the admin interface for your custom module.

If you need a custom module to complete your site’s functionality, does the custom module need variables with values assigned? For example, you create a custom module that allows you to integrate an external service with your site. In order to access the external service, you need to pass a key to the service to gain access.

For some, the first thought might be to put that key into the code, with the assumption that the key will never change. This is a “hard coding” practice and hard coding is never recommended. 

The better approach is to separate the key from the code. Store the key in the database, separate from the code. How? Via an administrative interface. In Drupal 8, entities are stronger than ever. A unique admin interface isn’t necessarily required. In some instances, you can create a content type to collect the data needed to store the key and other configuration options.

Be sure to provide clients with the means to manage custom features versus relying on code edits.


Conclusion

The above are just the basics when it comes to “Thinking in Drupal” and avoiding long-term issues in development and maintenance on your site.

If you are a developer, don’t assume that the coding practices that work in other frameworks are the best approach to developing in Drupal. If you are a site owner, don’t assume your development team will choose strategies that will allow you to easily change and maintain your site without making that request specifically. Make it a point to "Think in Drupal."

Contact us today to continue the conversation about Drupal best practices that achieve distinct goals and create new possibilities.

Apr 07 2019
Apr 07

I couldn’t be more excited about the fact that DrupalCon is in my town this year. I’ve lived in Seattle for more than 25 years and during that time, I’ve discovered some amazing places. 

So if you are looking to avoid the typical, touristy hot spots that cater to conventioneers (and I know that you are) and fast track your knowledge of where the in-the-know locals go, this list is for you. 

 

Drinking and Dining

Knee High Stocking Company

There’s a reason why the Knee High Stocking Co., is at the top of my list. Patterned after a Prohibition-era speakeasy Knee High stirs up some superior libations. Among my faves is the Cup of Awesome. One of these offers some insight into why the crazies, back in the day, thought that they needed to make liquor illegal. I’ve also been known to enjoy the Love and Violets--not currently on the cocktail menu, but if you ask nicely, I’m sure they’d be happy to mix one up for you. The full menu with a Filipino flair has has proven to be a perfect sidekick to some of the best cocktails in town.
Reservations are recommended. Call ahead to “get on the list.” In true speakeasy style, you’ll need to ring a doorbell for someone to invite you in.
1356 East Olive Way
206-979-7049

The Pink Door

Fabulous, fresh, classic, seasonal Italian fare is just the beginning. With a burlesque, cabaret vibe, the Pink Door has basically reinvented the restaurant experience. Delighting all five senses, and then some--the artwork, the lighting, the view of Elliot Bay, the element of surprise, entertainment that includes trapeze, cabaret, music and tarot--the Pink Door is a world unto itself that doesn’t take itself too seriously. What’s even more amazing to: it’s located right along the quaint Post Alley at Pike Place Market.
1919 Post Alley
306-443-3241  Reservations recommended

Dahlia Lounge

Another one of my favorites, Dahlia Lounge is viewed by many as a quintessential Seattle restaurant experience, and I couldn’t agree more. A pioneer of Seattle’s local, sustainable, and organic food movement, Dahlia features world-class wine and fresh-daily  Seafood. The menu feels completely original. The atmosphere is comfortable and casual. In other words, Dahlia Lounge is combines everything there is to love about Seattle in one delightful experience that's only a half mile from the convention center. My team was thrilled to discover that this was my pick for our DrupalCon kickoff dinner.
2001 4th Ave
202-682-4142 

Marrakesh Seattle

IMHO, Moroccan deserves a seat at the table of the world’s finest cuisines. Marrakesh Seattle promises a “True Moroccan Experience” and that includes extreme hospitality, a Sultan’s tent atmosphere, belly dancing Thursday through Sunday, a Hookah Lounge open from 9 p.m. to Midnight, AND dishes that combine a perfect mix of the most fabulous spices--cinnamon, turmeric, ginger, coriander, and cumin--along with culinary ingenuity that dates back many centuries. 
2334 2nd Ave.
206-956-0500 

Queen City Seattle

Located where many claim to be the site of the oldest bar in Seattle, Queen City is a first-class neighborhood bar and restaurant that’s just about a mile from the convention center. The classic black leather and dark wood interior has the feel of a storied spot where ordering a martini just seems like the right thing to do.
2001 First Avenue
206-402-5095

IL Bistro  

In the heart of the Pike Place Market, IL Bistro is authentic, Northern Italian, and there’s nothing not to love about that. While you are there, check out Pike Place Flowers, where you can pick up a phenomenal bouquet for a mere $10--not a bad idea to stop in on your way out of town.
93A Pike Street
206-682-3049

Lowell’s Restaurant

With a tagline of “Almost Classy Since 1957,” Lowell’s is a Seattle institution whose loyal customers (myself among them) are perfectly happy with things staying just the way they always have been. Seafood is delivered fresh daily and incorporated into hearty and delicious breakfast, lunch and dinner menus. What else? Five unique bloody mary creations, a “market mule” that takes the Moscow mule to a new level, three floors of seating with each one offering views of the Olympic Mountains, Puget Sound, and the Port of Seattle. Never will there be a need to change a thing at Lowell’s. 
1519 Pike Place
206-622-2036

Beecher’s Handmade Cheese

The world needs more institutions that use words like Dedication, Passion, Commitment, and Ardent Skill, in reference to their Cheese-Making Mission. Beecher’s Handmade Cheese is a cheese shop and a cheese-focused cafe where you can witness the miracle of cheese making, learn about cheese, taste cheese, buy cheese, and order dishes with cheese as the star ingredient.
1600 Pike Place
206-956-1964

 

Coffee

The Original Starbucks

It all started in Seattle--the elevation of coffee from something you percolated at home to an experience with a vibe that of course included WIFI. The first Starbucks opened in Seattle in 1971. Five years later it moved to this First and Pike Street location in Pike Place. While Starbucks is a few decades away from being considered off the beaten path, a visit to this location is recommended--if for no other reason than to get a glimpse of what LEED® gold certification is all about. Practically the entire interior is constructed from recycled or upcycled materials.  
1002 Pike Street

Caffe Ladro

Seattle takes its coffee very seriously. We are all required to have a favorite coffee place and to have strong opinions about it. For me, it’s Caffe Ladro. No question. With 15 distinct locations throughout Seattle, I am luckily never too far from a Caffe Ladro. The closest one to the convention center is to at
801 Pine St.
206-405-1950

Beyond Food and Drink

UPS Garden Waterfall Park

Hardly among the “secrets” but definitely worth seeing, Waterfall Park is just a little over a mile South of the convention center. Built to commemorate James Casey, the founder of UPS, Waterfall Park features a 22-ft. artificial waterfall--amazing--and a monument to Postal Service workers.   
219 2nd Ave. S
206-624-6096

Freeway Park

Nowhere in the world is there anything like Seattle’s Freeway Park and the excellent news for us at DrupalCon is that it connects to the Convention Center. The 5.2 acre Freeway Park bridges over Interstate 5 and a city-owned parking lot. Brilliant and right in the heart of Seattle.
700 Seneca St.
206-684-4075

Gum Wall

From the sublime to the ridiculous ... Seattle’s Gum Wall is a brick wall covered in used chewing gum. It’s A local landmark, in an alleyway under Pike Place Market, and a popular spot among both non-germaphobe tourists and locals to get their picture taken. 
1428 Post Alley

Apr 06 2019
Apr 06

Having engaged in Human-Centered Design Workshops for web development with amazing clients from every sector, our overarching discovery is this: great websites are made before a line of code is ever written.
 
Human-Centered Design work lays the groundwork for a vast expansion of transformative possibilities.

In its simplest terms, Human-Centered Design is a discipline directed toward solving problems for the people who actually use the site. The focus on the end user is a critical distinction that calls for everyone on the project to let go of their own preferences and empathetically focus on optimizing the experience for the user. 
 
When we engage in Human-Centered Design activities with clients, it becomes very clear very early into the process that getting rid of assumptions and continuous questioning about users and their needs, eliminates blind spots and opens doors with new insights about the concerns, goals, and relevant behaviors of the people for whom we are developing sites. 

And while Human-Centered Design is generally viewed as a discipline for solving problems, we find it to be much more of a roadmap for creating opportunities.
 
Here’s our 7-step Human-Centered Design process for creating optimal web experiences.

1.    Build empathy with user personas

The first and most essential question: For whom are we building or redesigning this site? We work with clients to identify their most important personas. Each persona gets a name and that’s helpful in keeping us constantly focused on the fact that real people will be interacting with the site in many different ways. 

Following the identification of the key persona groups, we proceed to dig deep, asking “why” and “how” concerning every aspect of their motivations and expectations.

2.    Assess what user personas need from your site

Understanding of and empathy for user personas dovetails into an analysis of how they currently use the site, how that experience can be improved, and how enhancing their experience with the site can drive a deeper relationship. 

We continue to refine and build upon these personas during every phase of the development process, asking questions that reflect back on them by name as we gain an increasing level of empathy. As a result, our shared understanding of the needs and concerns of our persona groups helps to direct development and design with questions such as:

  • “Will this page navigation be clear enough for Clarence?”
  •  “How else can we drive home the point for Catherine that we are an efficient, one-stop-shop for the full spectrum of her financial needs? 

This level of inquiry at the front end might feel excessive or out of sync with what many are accustomed to. Invariably, however, establishing a shared language streamlines development moving forward, while laying the groundwork for solutions that meet the needs of users. 


As Tom Gilb, noted in Principles of Software Engineering Management, getting it right at the beginning pays off. According to Tom, fixing a problem discovered during development costs 10 times as much as addressing a problem in the design phase. If the problem is not discovered until the system is released, it costs 100 times as much to fix. 

3.    Map their journey through the site to key conversions

Just as your user groups do not all fit the same mold, what they are looking for from your site will vary, depending on what phase they are in relative to their relationship with your organization – what we refer to as the user journey. 

Too often, website design focuses on one aspect of the user journey. It needs to be viewed holistically.

For example, if the purchase process is complicated and cumbersome, efforts to successfully provide users with the right information delivered in the right format at the start of their journey runs the risk of unraveling. 
 

4.    Identify obstacles in their path

Next step: identify challenges. We map user journeys through every phase, aiming for seamless transitions from one phase to the next.

This step calls for continuous inquiry along with a commitment to not defend or hold on to assumptions or previous solutions that may not be optimal.

  • What have we heard from clients? 
  • Where have breakdowns occurred in conversions and in relationships?
  • How can we fix it with the messaging, design, or the functionality of the website?  

 

5. Brainstorm solutions

Participants are primed at this point for an explosion of ideas. Mindsets are in an empathetic mode and insights have been collected from multiple angles. 

Now is the time to tap into this energy.

We Invite all participants to contribute ideas, setting the basic ground rules for brainstorming. 

Good ideas spark more good ideas and spark excitement about new possibilities.

6. Prioritize Solutions 

No bad ideas in brainstorming, but in the real world of budgets and time, questions such as “how,” “what’s the cost,” “where to begin,” and “what will have the best impact,” need to be considered. 

As ideas are synthesized, these answers will begin to take shape.  

Real world prioritization happens as we clarify whether a client’s objectives will be best met with the development of a new site or revisions to an existing site. Do we want to move forward with “Blue Sky” development that is not grounded in any specific constraints, or a “Greenfield” project that it not required to integrate with current systems?

What does the playing field look like?


7. Create a Roadmap for Development

Too often, web design and development begins at this step. 

With Human-Centered Design many hours, if not days, of research, persona development, empathetic insights, journey mapping, solution gathering, collaborative energy, and excitement about what’s to come have already been invested when we get to this point. 

As a result, clients have the advantage of moving forward with a high degree of alignment among stakeholders, along with a conviction of ownership in an outcome that will be new, and enhance both the experiences and relationships with the humans who rely on the site. 

Want to ensure that humans are at the center of your next design or development project? That’s what we do (among other things). Contact us today

Better yet! If you are at DrupalCon this week, come over to booth 308. We'll be engaging in a human-centered design activity and you'll have the chance to witness human-centered design in action. I look forward to meeting you!


 

Apr 01 2019
Apr 01

For those who don’t work in the trenches of digital accessibility, the guidelines can seem confusing or overwhelming. The fact is, it’s not necessary to know the details associated with the 73 individual Web Content Accessibility Guidelines (WCAG) 2.1 success criterion in order to make design decisions and ultimately contribute to a website planning session. 

Options for Learning About WCAG 2.1

Before we share the seven perspectives, we want to acknowledge that the World Wide Consortium has organized the WCAG criterion into four principles. You can read the principles, their guidelines; however, it might be hard to imagine their true impact without further investigation into the criterion. 

The four WCAG principles are:

  • Perceptionable - “Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language.”1
  • Operable - “User interface components and navigation must be operable.”1
  • Understandable - “Information and the operation of user interface must be understandable.”1
  • Robust - “Content must be robust enough that it can be interpreted by a wide variety of user agents, including assistive technologies.”1

Another way to shuffle the criterion deck is with the following proposed perspectives:

  1. Physically Interacting with a Web Page;
  2. Understanding the Context of a Web Page
  3. Seeing the Text on a Web Page;
  4. Understanding the Text on a Web Page;
  5. Interpreting Media via the Web;
  6. Controlling Media on a Web Page; and
  7. Using Forms on the Web Page.

1. Physically Interacting with a Web Page

When you visit a web page, you scroll or swipe to move the page through the browser window. When you find a link you want to follow, you click or tap. If you couldn’t do either, what would you do? Perhaps you would:

  • Use keyboard keys,
  • Use mouth sticks, or
  • Use voice recognition.

In order to make these other options possible, you need to give users the ability to ”touch” the page and for their assistive technology to understand your code. For example, you need to:

  • Enable a visitor to skip to the most important aspects of the page right from the start;
  • Plan the path that the tab key on the keyboard will follow;
  • Ensure a visitor knows where they tab has landed;
  • Provide alternatives to common mobile finger gestures such as zoom; and
  • Allow site visitors to choose their own input mechanisms.

One way to imagine these concepts is to picture yourself in a maze. You can only “see” what is in front of you. Where do you go? Once you learn the path to the center of the maze, you can visit it anytime. However, what would happen if someone changed the layout of the maze from day-to-day? You would have to start  over, learn the path to the center again and again.

Consistent page layouts provide consistent in-page navigation. Sometimes layout creativity from page-to-page can cause issues versus offering visitors a new experience.

2. Understanding the Context of a Web Page

With eyes that see, you can discern information from a web page without consciously thinking about it. You take in the layout (e.g, portrait or landscape) of the page and quickly identify the:

  • Header and information about the site owner;
  • Title of the page and if it is a topic landing page or one of your many articles;
  • Menus that provide insight into the information architecture of the site; 
  • Search functionality as well as other ways to find the content you need;
  • Sidebars that contain various items such as lists with purposeful links; and 
  • The main content and its article, event, etc.

When you scroll down the page, you might find that the content is organized into subtopics, allowing you to quickly discern whether the blog post will be of interest.

Then, as you dive deeper into the site, past the homepage, to a landing page, to a bit of content, there might be hints to remind you where you are. With a well-planned site, you will see consistent layouts, allowing you to anticipate which section of the page contains objects with which you want to engage.

WCAG 2.1 provides guidelines and criterion designed to  deliver a similar experience for those who can’t rely on eyesight to navigate a page.

3. Seeing the Text on a Web Page

There are two common visual challenges to which many of us can relate: the need for glasses and color blindness. Even with corrective lenses there might be times when they aren’t enough.  Or, even if you aren’t color blind, there might be times when you cannot read some text sitting on top of an image or color background. 

There are WCAG 2.1 criterion focused on helping you enable visitors to make adjustments to your text so that they can see it. As for color (images or styled), the objective is to ensure enough contrast. 

A contrast example that is easily overlooked is that of links. Blue link works well on a white background; however, that color might not work when it appears on top of a block of color. So, some planning will have to take place regarding the styling of links across the multiple sections of your page or else, some of your links might visually disappear.

4. Understanding the Text on a Web Page

There are two perspectives to the idea of understandable text: the meaning of words and interpreting meaning from the way it is displayed. 

Interpreting the Meaning of Words

We don’t need WCAG 2.1 to motivate us to write well. However, on occasion, even the best writers forget some of the basics such as: 

  • Using unusual words (e.g., regional terms better understood by the locals);
  • Abbreviating without providing insight as to the meaning of the abbreviation;
  • Forgetting the reading level of your audience (e.g., writing to subject matter expert versus someone less schooled);

Then, there are writing aspects that are easy to overlook such as the use of heteronyms. The one that often gives me pause is lead. 

  • Lead, pronounced LEED, means to guide. 
  • Lead, pronounced LED, means a metallic element.

It’s also important to, declare the language of your content. Even if you drop a foreign language into the middle of your content, you need to let the reader know.

Interpreting Meaning from the Display 

What if you couldn’t see visual cues concerning relationships among headers and sub-sections? How would you know there were parent/child relationships?

That’s where header elements versus <strong>, come into play.

Visual and/or auditory cues are just one way to convey meaning. Often times, the order in which content is presented carries meaning. Imagine you have two blocks of content: step one and step two. They appear next to each other in order. 

Here’s the test. Strip away the styling so that they do not appear next to each other. Are they still in the right order? Make sure they are.

5. Interpreting Media via the Web

Images and video are probably the first types of media to come to mind when media is mentioned. There are also shapes (e.g, CSS-based checkmark), animations, and audio files.

Bottomline when it comes to non-text items: anything that is not text needs to be explained or declared as decorative. 

Images

An image might be worth a thousand words, but you can no longer rely on images to convey meaning. If you are using the image to convey 500 out of the 1,000 words, include the 500 words on the page. You have two strategies: a separate “long description” block of text or simply include the information in your narrative.

Video

As for video, you need closed captions at a minimum, be it pre-recorded or live broadcast. Since you have the text, include it in a transcript. Here is an example of an accessible video experience from the World Wide Web Consortium.

Audio

If you upload a podcast to your site, you need to include a transcript. In both video and audio transcripts, you need to include speaker identification if there is more than one, as well as any sounds that convey meaning.

6. Controlling Media on a Web Page

In addition to video and audio player controls, you need accessible controls for items that blink, scroll, or move. There are several “if this, then that” conditions governing where, when, and how controls need to be implemented. 

If you have plans for anything with sound or movement on your page, you need to spend some time to ensure your page is accessible.

7. Using Forms on Web Pages

When you visit a page, it’s likely that the first form you see is a search field. Add a contact form and/or a newsletter signup form, and there is a chance that multiple accessibility issues are lurking.

There are three considerations when adding forms to your site:

  • Labels
  • Instructions
  • Error management

When a label can be ambiguous, instructions can clarify. However, mistakes happen, so your forms need to help users correct their data entry. There are some behind the scenes coding requirements that make these perspectives accessible, but these considerations will get you started.

Conclusion

Making a website accessible isn’t just about code. It calls for a high degree of awareness each time content is added. Maintenance and auditing processes are essential to ensuring accessibility. Need further explanations or insights into accessibility? Contact us today.

Mar 19 2019
Mar 19

In preparation for DrupalCon 2019, Chris O’Donnell, Digital Strategist, for Promet Source shared his views on the vibe of this annual conference, as well as Drupal’s current standing within the ecosystem of enterprise-level CMS platforms.  
 

What are you looking forward to at DrupalCon Seattle?

One of the best parts of DrupalCon for me is the community. It’s an opportunity to connect with people who I might only get to see once a year -- colleagues from other Drupal development companies, previous clients, current clients, and like-minded people from all over the country. There’s a ton of training and all of the sessions are driven by community involvement -- people who are just sharing their knowledge for the fun of it, or as a way to give back to the community.

Last year at DrupalCon, there was a proprietary software company exhibiting for the first time. They seemed really confused by a world where a development company was on the stage with some of its best customers. Why would anyone share great information with potential competitors? They were really confused by the entire thing - competitors coming together to openly share knowledge just didn't compute for them.

How would you explain it?

DrupalCon is more like a Drupal community celebration than a tech industry trade show. 

I think it was President Kennedy who said, “A rising tide lifts all boats,” and the same principle applies within the Drupal Community, or any open source community. The more brain power that goes into it, the better it is for everybody. As an open-source CMS, the Drupal community is driven by the community and the needs of users. Anything that anyone does to improve or add to Drupal is freely available to all. 

I joined the Drupal community in 2014, and I love being among hundreds of thousands of people around the world who contribute to the community in various ways. 


What are your observations on how DrupalCon 2019 has evolved?

There has been a pretty big shift this year as the Con has been organized around specific tracks. Drupal 8 ushered in an orientation toward more of an enterprise-level focus, and that’s been reflected in the kind of training that’s offered and an expanded sphere of people who are attending.

With so much going on, what's your advice for attendees for getting the most out of DrupalCon 2019?

Use the schedule builder feature on the DrupalCon website to build a DrupalCon Seattle schedule for yourself of sessions you want to be sure to catch. Don’t forget to look at the Birds of a Feather events, which tend to be smaller and more informal. And don’t schedule yourself so tight that you miss out on the hallway track. My most interesting conversations at DrupalCon usually happen in the hallways and at evening social events.
 

How would you characterize Drupal’s position today within the world of web content management platforms?

Drupal is an enterprise-level content management platform that delivers much of the functionality you would expect from some of the million dollar proprietary CMS platforms, while still retaining the freedom and flexibility inherent in its open-source roots.
 

What are your thoughts on when, why or how Drupal has achieved this status?

I think it was a coordinated effort related to the Drupal 8 rollout. D8 was a total rewrite of the CMS, with the goal of producing an enterprise-grade CMS that would be on par with the established and expensive proprietary platforms. The momentum is now really strong for Drupal as an enterprise CMS.

What sets Drupal apart from other web content management platforms?

The freedom, flexibility, and lack of license fees that come with open source set it apart from all the proprietary options. It’s different from any other open-source CMS in that it has strong corporate sponsorship, a dedicated security team, and an enterprise heavy install base.


What will the extent of your participation in DrupalCon Seattle?

I’m excited about attending the GovSummit on Monday, April 8, and will be presenting in the Builder Track at 3:15 on Wednesday, April 10, in Room 608. Otherwise, I’ll be in and out of sessions and at the Promet Booth (#308) for the rest of the event. This is Promet’s 12th year as an attendee and 11th year as a sponsor. Once again, we’ll be all over DrupalCon. The entire senior leadership team will be there, along with some of our senior developers and our entire sales and marketing team. I’m particularly excited about the addition of Mindy League to our leadership team this year. The Human Centered Design team that she is heading represents an exciting expansion for Promet. I definitely recommend that anyone who is interested in the very latest in design thinking for digital experiences make it a point to grab some time with Mindy. 


How would you characterize Promet’s client base for whom Drupal proves to be the right solution?

Very much in line with what Dries Buytaert, the founder of Drupal said at DrupalCon two years ago: “Drupal is for organizations that are looking to build ambitious digital experiences.” It’s not so much about the size of the company or the team, it’s about the reach and impact that the site needs to have. 

The fact is, I spend very little time selling Drupal websites. I sell e-commerce solutions that will generate more revenue. I sell accessibility, more streamlined user experiences, sites that are better targeted to the needs of customers, and sites that more effectively reflect an organization brand image.

Be sure to stop by booth #308 at Drupalcon in Seattle, April 8-12 to visit with us, or Contact us today for a conversation about how Promet can create an ambitious digital experience for your organization. 

Photo credit: Michael Cannon

<

Mar 19 2019
Mar 19

In preparation for his fourth DrupalCon, Chris O’Donnell, Digital Strategist, for Promet Source shared his views on the vibe of this annual conference, as well as Drupal’s current standing within the ecosystem of enterprise-level CMS platforms.  
 

What are you looking forward to at Drupalcon this year?

One of the best parts of DrupalCon for me is the community. It’s an opportunity to connect with people who I might only get to see once a year -- colleagues from other Drupal development companies, previous clients, current clients, and like-minded people from all over the country. There’s a ton of training and all of the sessions are driven by community involvement -- people who are just sharing their knowledge for the fun of it, or as a way to give back to the community.

Last year at DrupalCon, there was a proprietary software company exhibiting for the first time. They seemed really confused by world  where a development company was on the stage with some of its best customers. Why would anyone share great information with potential competitors? They were really confused by the entire thing - competitors coming together to openly share knowledge just didn't compute for them.

How would you explain it?

DrupalCon is more like a Drupal community celebration than a tech industry trade show. 

I think it was President Kennedy who said, “A rising tide lifts all boats,” and the same principle applies within the Drupal Community, or any open source community. The more brain power that goes into it, the better it is for everybody. As an open-source CMS, the Drupal community is driven by the community and the needs of users. Anything that anyone does to improve or add to Drupal is freely available to all. 

I joined the Drupal community in 2014, and I love being among hundreds of thousands of people around the world who contribute to the community in various ways. 


What are your observations on how DrupalCon has evolved?

There has been a pretty big shift this year as the Con has been organized around specific tracks. Drupal 8 ushered in an orientation toward more of an enterprise-level focus, and that’s been reflected in the kind of training that’s offered and an expanded sphere of people who are attending.

With so much going on, what's your advice for attendees for getting the most out of DrupalCon?

Use the schedule builder feature on the DrupalCon website to build yourself a schedule of sessions you want to be sure to catch. Don’t forget to look at the Birds of a Feather events, which tend to be smaller and more informal. However, don’t schedule yourself so tight that you miss out on the hallway track. My most interesting conversations at DrupalCon usually happen in the hallways and at evening social events.
 

How would you characterize Drupal’s position today within the world of web content management platforms?

Drupal is an enterprise-level content management platform that delivers much of the functionality you would expect from some of the million dollar proprietary CMS platforms, while still retaining the freedom and flexibility inherent in its open-source roots.
 

What are your thoughts on when, why or how Drupal has achieved this status?

I think it was a coordinated effort related to the Drupal 8 rollout. D8 was a total rewrite of the CMS, with the goal of producing an enterprise-grade CMS that would be on par with the established and expensive proprietary platforms. The momentum is now really strong for Drupal as an enterprise CMS.

What sets Drupal apart from other web content management platforms?

The freedom, flexibility, and lack of license fees that come with open source set it apart from all the proprietary options. It’s different from any other open-source CMS in that it has strong corporate sponsorship, a dedicated security team, and an enterprise heavy install base.


What will the extent of your participation in DrupalCon be this year?

I’m excited about attending the GovSummit on Monday, April 8, and will be presenting in the Builder Track at 3:15 on Wednesday, April 10, in Room 608. Otherwise, I’ll be in and out of sessions and at the Promet Booth (#308) for the rest of the event. This is Promet’s 12th year as an attendee and 11th year as a sponsor. Once again, we’ll be all over DrupalCon. The entire senior leadership team will be there, along with some of our senior developers and our entire sales and marketing team. I’m particularly excited about the addition of Mindy League to our leadership team this year. The Human Centered Design team that she is heading represents an exciting expansion for Promet. I definitely recommend that anyone who is interested in the very latest in design thinking for digital experiences make it a point to grab some time with Mindy. 


How would you characterize Promet’s client base for whom Drupal proves to be the right solution?

Very much in line with what Dries Buytaert, the founder of Drupal said at DrupalCon twy years ago: “Drupal is for organizations that are looking to build ambitious digital experiences.” It’s not so much about the size of the company or the team, it’s about the reach and impact that the site needs to have. 

The fact is, I spend very little time selling Drupal websites. I sell e-commerce solutions that will generate more revenue. I sell accessibility, more streamlined user experiences, sites that are better targeted to the needs of customers, and sites that more effectively reflect an organization brand image.

Stop by booth #308 at Drupalcon in Seattle, April 8-12, or Contact Us Today for a conversation about how Promet can create an ambitious digital experience for your organization. 
 

<

Mar 14 2019
Mar 14

Are you concerned about web accessibility issues that might be hidden within your pages?

We recently gathered input from the Promet accessibility team concerning digital accessibility issues that are most often in need of remediation, and we came up with a Top 12 List of web accessibility mistakes and oversights. They pertain to:

1.  Alt text
2.  Color contrast
3.  Forms
4.  Headings
5.  iFrames
6.  Keyboard accessibility
7.  Landmark roles
8.  Links
9.  Lists
10. Semantic markup
11. Tables
12. File attachments

1. Alt Text

An image might be worth a thousand words, but if someone can’t see the image, then what? So, what’s up with the images on your site? Make sure that they are not missing: 

  • The alt attribute and descriptive text,
  • Enough description in the alt attribute, or 
  • A null alt attribute (alt="") indicating that the image is decorative and thus has no meaning.

If the image is a chart, alternative text that briefly describes it might not be enough. Complicated charts and graphs will require extra effort. The use of the longdesc attribute can be used if the narrative of your content doesn’t already include the information communicated by the image. 

2. Color Contrast

This one can be problematic if you’re heavily invested in your branding. If a color contrast checker reveals that your branding colors don’t create sufficient contrast, there are minor fixes you can employ to achieve accessibility. The two issues we see most often are insufficient color contrast:

  • Between text and background colors and 
  • Between text and UI components (i.e. button) or background image(s).

This type of problem can be headed off at the pass with a well-planned design and teaching your content authors how to incorporate accessibility into the creation of their colored charts and graphs.
 

3. Forms

Forms perform different duties. You have the search box on every page. That’s a form. That “Sign up for our Newsletter” on your homepage is a form. And, let’s not forget “Contact Us.” That’s three forms and we haven’t gotten to the comment forms, e-commerce forms, or event sign up forms. So, you can see, accessible forms require considerable attention.  

Now, add in the long list of issues we see to understand why your forms might be your most vulnerable objects on the page.

  • Form fields found with missing labels.
  • Form labels found with "for" attribute not matching another element’s ID.
  • Select element’s option doesn't have value available.
  • Select element doesn't have initially-selected option.
  • If this selection list contains groups of related options, they should be grouped with optgroup.
  • Checkboxes/Radio Buttons should be contained within a fieldset.
  • Fieldsets must contain a legend element.
  • Form is missing a required submit button.
  • Button elements missing value and/or content.

These are fixable offenses. For example, if your button elements are missing value and/or content, this is what that means.

Inaccessible
<input type=”submit” />

Accessible
<input type=”submit” value=”Submit Form” />

As you can see, the fix is simple. However, the tricky part can be gaining access to the site in such a way that the solution can be applied. If you’re using a third-party plug-in or a content management system, you might not have access to the code that generates your forms. 

4. Headings

Headings in HTML are defined via the <H1>, <H2>, <H3>, etc. elements. 
So often content is chunked in an article by using sub-headers styled with <strong> versus <H2>, for instance. This is not considered accessible. 

When Promet Source audits website pages, we often find:

Heading tags without content, and 
Heading structure that is not logically nested.

What does logically nested mean? Let’s take a look.

Inaccessible 
<h1>About Us</h1>
<h4>Our History</h4>
<h6>Our Future</h6>

Accessible
<h1>About Us</h1>
<h2>Our History</h2>
<h2>Our Future</h2>

This example makes it look like the content is the problem and it might be. However, this kind of issue can creep up in the presentation of page objects that reside outside the main content. 

5. iFrames

iFrames are used to display content on your web page from an external source. In this scenario, you need to think about two things: the iFrame on your page and the external content source, or third-party.

Start with ensuring your iFrame has a title, as shown in the sample code below. Then, ensure that the external content is accessible, which might not be easy if you don’t have an agreement with the source to provide accessible content. Remember, just because it came from someone else, that doesn't mean you are responsible.

Inaccessible
<iframe src=”/images/maine-beach-home.png” width=”...” height=”...” />

Accessible
<iframe title=”Maine beach home” src=”/images/maine-beach-home.png” width=”...” height=”...” />

6. Keyboard Accessibility

You scroll the browser window to see what’s hidden below. You place your cursor on a link or in a form field using your touchpad or mouse. Swiping and screen taps have become actions we take for granted on mobile devices. What would you do if you couldn't click or tap?

The most common keyboard accessibility issues we see are:

Elements that are not keyboard accessible;
Elements that are not visible when it gets focus (e.g., show a dotted border); and 
Forms that cannot be navigated using the keyboard and other accessibility tools. (i.e. accordions).

Let’s consider the first issue. Helping a user navigate to non-link and non-form elements is often overlooked. If your page is divided into sections, allowing the user to tab through the sections can be helpful.

Inaccessible
<div>Complementary content region</div>

Accessible
<div tabindex=”0”>Complementary content region</div>

7. Landmark Roles

So far we’ve talked about aspects of web pages that you are likely aware. This next topic has to do with the W3C’s Accessible Rich Internet Applications Suite (ARIA), and the roles and attributes that you can assign to your HTML elements. 

The W3C says, “With WAI-ARIA, developers can make advanced Web applications accessible and usable to people with disabilities.” However, it can also create issues if you apply ARIA’s roles and attributes incorrectly. For instance:

  • Elements missing required landmark roles, and 
  • Landmark role "presentation" is applied improperly on an element because its child elements contain semantic meaning.

Let’s consider the application of roles and semantic meaning.

Inaccessible
<div class=”promet-logo” role=”presentation”>
    <img src=”/images/promet-logo.png” />
</div>

Accessible
<div class=”promet-logo”>
    <img src=”/images/promet-logo.png” />
</div>

Sometimes a role assignment makes things worse, not better.

8. Links

When it comes to accessible links, you have two perspectives to consider: code and content. Before we look at the coding issues for accessible hyperlinks, let’s consider content. 

Links such as “Click here” and “Read more” appear often on the internet, but they’re not accessible because they lack purpose. 

Imagine listening to assistive technology reading out the links on a page, “Read more. Read more. Read more.” Read more what? In order for the link to be purposeful it needs to indicate what you would be reading more about. For example: “Read More about Weather Patterns.”.

Regarding coding issues, we see five coding issues on a regular basis.

  • Anchor elements found with valid href attribute but no link content.
  • Anchor elements found with missing href attributes.
  • Broken links to 404 (page not found) pages (e.g., a link to google.co versus google.com).
  • Back to top anchor link doesn't exist.
  • “Skip to main content” link is missing.

The ‘skip to main content’ link accommodates success criterion 2.4.1 Bypass blocks, enabling a user of the page to bypass listening to the menu and any other blocks of content that stand in the way of them hearing the main content. Below is some code that illustrates the problem.

Inaccessible
<body>
     <header></header>
     <main id=”main-content”></main>
</body>
     <a id=”skip-link”>Main Content</a>

      Accessible
<body>
    <a href=”main-content” id=”skip-link”>Skip to Main Content</a>
<header></header>
<main id=”main-content”></main>
</body>
 

9. Lists

f you are familiar with HTML, you might find it hard to believe that bulleted lists are, at times, not created using the <ul> and <li> elements. Just because a list visually appears as such, that doesn’t mean assistive technology will read as that way.

So, remember that:

  • List elements should be marked up as a navigation list, and 
  • Ordered/unordered/definition lists should include list items.

What do we mean by “should include list items?” See the example below.

Inaccessible
<ol>
     <div>Link 1</div>
     <div>Link 2</div>
     <div>Link 3</div>
</ol>

Accessible
<ol>
     <li>Link 1</li>
     <li>Link 2</li>
     <li>Link 3</li>
</ol>
 

10. Semantic Markup

Semantic markup has to do with meaning. If something is a paragraph, use <p>, not <span> or <div>, for instance. Other examples include <form>, <table>, and <article>. These HTML elements are descriptive and carry meaning. Semantic html matters.

We often see:

Duplicate ID attribute values found on pages, and
Semantic markup used for emphasis or special test (i.e. don’t use <font>).

Let’s take a look at the ID attribute that can be assigned to an HTML element. In this example, a web page has three unique forms and they each have the same ID. 

Accessible
<form id=”search”>
<form id=”search”>
<form id=”search”>

Inaccessible
<form id=”search-header”>
<form id=”search-content”>
<form id=”search-footer”>

The ease with which such fixes can be applied rely on how your website is created and if you have access to the code.
 

11. Tables

Tables are not as responsive as you will need them to be. So, if you don’t need to use a table, don’t. If you need to use a table, note that the following accessibility issues are often found.

  • Table is missing caption elements.
  • Table headers are missing the <th> element.
  • The relationship between <td> elements and their associated <th> elements is not defined.

The last example is easy for content authors to overlook as HTML editor buttons do not insert ID and header attributes. Notice how the data cell references the table header cell that is applicable.

Inaccessible
<table>
    <thead>
        <th>One</th>
<th>Two</th>
<th>Three</th>
</thead>
<tbody>
    <td>Column 1 content</td>
<td>Column 2 content</td>
<td>Column 3 content</td>
</tbody>
</table>

Accessible
<table>
    <thead>
        <th id=”col1” headers=”blank” scope=”col”>One</th>
<th id=”col2” headers=”blank” scope=”col”>Two</th>
<th id=”col3” headers=”blank” scope=”col”>Three</th>
</thead>
<tbody>
    <td headers=”col1” scope=”row”>Column 1 content</td>
<td headers=”col2”>Column 2 content</td>
<td headers=”col3”>Column 3 content</td>
</tbody>
</table>

12. File Attachments

Accessibility is not just about the HTML page. PDFs are commonly uploaded to a page for purposes of download. They, and other files such as MS Word and Powerpoint files, are required to be accessible.

PDF accessibility requirements that we see most often pertain to the following issues:

  • Untagged content,
  • Missing alternative text for images, and
  • Incorrect reading order.

The process to fix non-web files varies, depending on the source document. 

Conclusion

As the above examples demonstrate, accessibility compliance calls for close attention to a wide range of details.

One of the most challenging aspects of making a site accessible tends to be of fixing the technology used to create it. If your site was created from individual HTML pages, you can edit the markup and fix many, if not all of your issues. If not, a site rebuild might be in order.

Before you build a new site, make sure that the content management system is designed to produce accessible pages and forms. It’s also essential that you audit your current pages to identify accessibility issues before they are migrated into the new site. 

Promet Source offers a path to achieving accessibility compliance for your websites, web applications and technical products. With flexible testing and remediation options, we can partner with you to ensure that you are adhering to WCAG 2.1 guidelines.  

Contact us today for a conversation on the level of training or support that best fits your needs.

Mar 06 2019
Luc
Mar 06

You may have heard: Google+ is game over.

Officially, this is directly related to a leak of data that potentially impacted 500,000 Google+ accounts.

Businesswise, the attempts of Google to build a social media platform was not successful. If you had a personal account on Google+ and want to download your data before the shutdown, you can download it here.

The shutdown will happen in two phases:

Your website can be impacted by the shutdown of the Google+ API. This API was used by many providers and libraries to be able to login to a website using Google.

Hybridauth on Drupal 7

If your Drupal site is using Google to log n, it's possible that you are still using the Google+ API. A very popular module in D7 to log in using social media is called Hybridauth (to log in with LinkedIn, and Facebook, as well Google). You need to update that library and your Google key.

Here are the steps to keep your Hybridauth working in D7:

Mar 05 2019
Mar 05

Promet's acquisition of a team focused on user experience and strategy, has sparked a new spectrum of conversations that we are now having with clients. 

The former DAHU Agency’s Human-Centered Design expertise has given rise to many questions and within a relatively short span of time, has driven the delivery of expectation-exceeding results for clients from a range of sectors. 

As the name suggests, Human-Centered Design occurs within a framework for creating solutions that incorporate the perspectives, desires, context, and behaviors for the audiences that our clients want to reach. It factors into every aspect of development, messaging and delivery, and calls for:

  1. A deep and continuous questioning of all assumptions,
  2. A willingness to look beyond the “best practices” that others have established,
  3. An eagerness to find inspiration from anywhere and everywhere,
  4. The involvement and ideas of multiple stakeholders, from different disciplines, along with a process for ongoing testing, iterating and integration of feedback, and
  5. Constant emphasis on the concerns, goals and relevant behaviors of targeted cohort groups.


Within less than a year, this specialized approach has become fundamentally integrated into the ways that Promet thinks, works and engages with clients. We intentionally practice design techniques that combine inputs from our UXperts, the client, and the end user--bringing empathy and human experience to the forefront of our process.

How Does this Approach Differ?

In contrast to traditional product-centered design, where the appeal, color, size, weight, features and functionality of the product itself serves as the primary focus, Human-Centered Design creates solutions that understand audiences from a deeper perspective.  We try to meet more than the basic needs of a captivating design. To do this, we must fulfill greater and more engaging purpose and meaning expressed within the designs we create.


Among the approaches that we’ve found particularly useful is that of Abstraction Laddering, in which we guide interdisciplinary teams through the process of stating a challenge or a goal in many different ways, continuing to answer “how” and “why” for purposes of advancing toward greater clarity and specificity. 


Human-Centered Design fuels simplicity, collaborative energies, and a far greater likelihood that launched products will be adopted and embraced. When practiced in its entirety it helps to ensure success. As such, it benefits everyone and is perfectly aligned with Promet's User Experience (UX) Design practice.

Design that Delivers

As we engage with clients in the process of deepening our understanding of their customers, we draw upon the expertise of our highly skilled and creative team members, and leverage expertise at the leading edge of the digital landscape.


The addition of this new Human-Centered Design team to the Promet Source core of web developers has helped us to proactively approach new websites with a holistic mindset combining our technology expertise with great design and function, along with an essential empathy of how humans interact with technology.  

Contact us today to schedule a workshop or to start a conversation concerning Human-Centered Design as a strategy to accelerate your business goals. 

Mar 05 2019
Mar 05

Promet's acquisition last year of a team focused on user experience and strategy, has opened an exciting new sphere for the types of conversations that we are having with clients. 

The former DAHU Agency’s Human-Centered Design expertise has sparked a many questions and within a relatively short span of time, has driven the delivery of expectation-exceeding results for clients from a range of sectors. 

As the name suggests, Human-Centered Design occurs within a framework for creating solutions that incorporate the perspectives, desires, context, and behaviors for the people whom our clients want to reach. It factors into every aspect of development, messaging and delivery, and calls for:

  1. A deep and continuous questioning of all assumptions,
  2. A willingness to look beyond the “best practices” that others have established,
  3. An eagerness to find inspiration from anywhere and everywhere,
  4. The involvement and ideas of multiple stakeholders, from different disciplines, along with a process for ongoing testing, iterating and integration of feedback, and
  5. Constant emphasis on the concerns, goals and relevant behaviors of targeted cohort groups.


Within less than a year, this specialized approach has become fundamentally integrated into the ways that Promet thinks, works and engages with clients. We intentionally practice design techniques that combine inputs from our UXperts, the client, and the end user--bring empathy and human experience to the forefront of our process.

How Does this Approach Differ?

In contrast to traditional product-centered design, where the appeal, color, size, weight, features and functionality of the product itself serves as the primary focus, Human-Centered Design creates solutions that understand audiences from a deeper perspective.  We try to meet more than the basic needs of a captivating design. To do this, we must fulfill greater and more engaging purpose and meaning expressed within the designs we create.


Among the approaches that we’ve found particularly useful is that of Abstraction Laddering, in which we guide interdisciplinary teams through the process of stating a challenge or a goal in many different ways, and continuing to answer “how” and “why” for purposes of advancing toward greater clarity and specificity. 


Human-Centered Design fuels simplicity, collaborative energies, and a far greater likelihood that launched products will be adopted and embraced. When practiced in its entirety it helps to ensure success. As such, it benefits everyone and is perfectly aligned with Promet's User Experience (UX) Design practice.

Design that Delivers

As we engage with clients in the process of deepening our understanding of their customers, we draw upon the expertise of our highly skilled and creative team members, and leverage expertise at the leading edge of the digital landscape.


The addition of this new Human-Centered Design team to the Promet Source core of web developers has helped us to proactively approach new websites with a holistic mindset combining our technology expertise with great design and function, along with an essential empathy of how humans interact with technology.  

Contact us today to schedule a workshop or to start a conversation concerning Human-Centered Design as a strategy to accelerate your business goals. 

Feb 27 2019
Feb 27

With the increased number of accessibility lawsuits for inaccessible websites, it's no wonder that offers for quick fixes are a hot commodity. Unfortunately, the saying, “You get what you pay for” may not apply to accessibility overlay solutions.

So, what do you do? First, let’s take look at how quick-fix web accessibility overlay solutions actually work.

 

What are Web Accessibility Overlays?

Imagine your HTML web page on your web server. It can be an actual HTML file or a cached version of the page that your content management system creates on your behalf. Now, imagine a Javascript being added to the file and that script makes changes to the HTML rendered in that HTML file.

Tada! That Javascript change is the fix you need and your web page is now accessible. Or, is it? That depends.

  • It depends on what’s wrong on your page.
  • It depends on whether a Javascript can actually fix the issue.
  • It depends on whether the cached HTML page has changed and if the Javascript still works.

 

Are Accessibility Overlays for You?

With all the depends-on-this and depends-on-that scenarios that can come up, we can’t say definitively one way or the other. Therefore, we are going to walk you through a process where you can decide what’s best for your site.

The following four-step process sounds simple, but in the long run, it might not be. We’re sorry, but it’s the nature of the beast.

  1. Find the issue.
  2. Identify the required fix.
  3. Implement a solution.
  4. Test the solution.

1. Find the Issue.

The short description of this step is to conduct an audit, using both automated tools and manual testing. If you don’t have the in-house skills to identify all your potential issues, Promet Source is here to help. 

Common web page accessibility issues that can be caught by automated testing include:

  • Missing Alt text for images
  • Insufficient color contrast
  • Label issues in your forms (there are other types of form issues as well)
  • Incorrect application of headings
  • Missing titles for iFrames
  • HTML elements are missing landmark roles
     

Other issues that are better identified with manual testing include:

  • Insufficient alternative text for images
  • Lists that are not coded as lists
  • Attached non-web content, such as PDFs, are not accessible for one or many reasons
  • Missing media captions and/or transcripts

2. Identify the Required Fix.

So, how do you fix the issues? As you can imagine, given the list above, not all fixes are code based. Let’s look at a few examples.

  • Missing Alt text. It takes a human to see an image and describe it. You would need a Javascript that could apply all the unique descriptions that are missing. 
  • Label issues in forms. Given there are numerous issues associated with this topic, you would need a Javascript for each type of issue. Of course, like Alt text, some labeling requires a human decision as to which fix renders the correct solution.
  • Keyboard focus not visible. In order to see where a user’s tab key has landed, the object needs to change. For example, a border is applied. Borders are managed in the CSS files, not the HTML file. You would need a Javascript that could apply an inline style of your choosing for each tab-able object on the page.

3. Implement a Solution.

Fix the source code or go with an Accessible Overlay solution. This is where a couple more “depends” questions come into play.

  • Depends on whether the cost to locate and configure the Javascripts to fix your pages’ issues is less than the cost to fix the source.
  • Depends on your plans for updating your site.

And, let’s not forget the “depends” questions already asked. Is there a Javascript solution for your issue? If not, fixing the source code might be your only option. 

This is where things can get complicated. Not all systems allow you access to resolve the issue. Therefore, you might have to switch to a system that supports accessibility or allows you to make the appropriate changes.

4. Test the Solution.

Just because a Javascript solution looks like it will work, that doesn’t mean you don’t have to test it. Remember, if your site is running off of a content management system, you might find that the cached HTML page that gets “fixed” by the overlay solution, no longer has the exact same broken code as it did a few hours ago.

So, test, test, test. And then, keep watch. 

Next, remember that new accessibility issues can creep up over time. For instance:

  • Content author introduces a data table in a blog post that is not accessible.
  • Functionality from an external source changes, and not for the good.
  • A security patch is applied and it’s just enough to confuse the overlay you have in place.

Continued monitoring is a must when dealing with quick-fix solutions.

 

Conclusion

Accessibility overlays can serve a purpose. However, before you commit to an overlay solution, perform a cost-benefit analysis. 

  • Is the cost of obtaining a quick fix higher or lower than the cost to fix the source? 
  • Is the cost of monitoring and reapplying the overlay solution less costly than fixing the source? 
  • Is the cost of a lawsuit for an inaccessible page, where your overlay solution has stopped working, worth the quick fix?

At Promet Source, we are serious and passionate about accessibility. We’re here to help you evaluate your options and make decisions that are sustainable and strategically sound. Contact us today 
 

Feb 21 2019
Feb 21

“But I don’t want to think about Drupal 9 yet!”

Adulting sometimes means doing things we don’t want to do, like thinking about CMS version upgrades. 

We can help.

For now, here’s what you need to know about Drupal 9.

1. Drupal 9 is targeted for a June 2020 release.  

Eighteen months following the release of Drupal 9, in November of 2021, Drupal 7 and 8 will both hit EOL status. This means that you will have a little more than a year to move your site from Drupal 7 or 8, following the June 2020 release date of Drupal 9. 

The normal schedule would dictate that Drupal 7 hit EOL shortly after the Drupal 9 launch. However, because so many sites are still on D7, and at this point, many may just skip D8 completely, the decision has been made to extend D7 support for an additional year. As a result, D7 and D8 will both lose support at the same time.

The November 2021 date is significant because that is also when Symfony 3, which is a major dependency for Drupal 8, will lose support.

What this means for you as a D7 or D8 site owner is that you should have a plan to be on Drupal 9 by the summer of 2021.

2. The transition from Drupal 8 will not be painful.

Unlike Drupal 8, which for practical purposes was a new CMS sharing the Drupal name, Drupal 9 is being developed on Drupal 8. That means if you are up to date with Drupal 8.9 the move to Drupal 9 should be relatively easy. It probably won’t be Drupal 8.4 to 8.5 easy, but it should be nothing close to the level of effort of moving from Drupal 7 to Drupal 8. In a lot of ways, Drupal 9 is just the next six-month update that comes after Drupal 8.9, with the added complication of being the version that we use move depreciated code and APIs out of the codebase.

My recommendation if you are still on Drupal 7: migrate to Drupal 8 when it's convenient. As stated above Drupal 9 is really just Drupal 8.10.1. So you kind of are migrating to Drupal 8, even it’s called Drupal 9 at that point. You won’t save any effort by waiting until Drupal 9 is out, you’ll just be on the outdated D7 codebase longer.

Concerning modules: as long as modules aren’t depending on any APIs that are being depreciated in D9, contributed modules should continue to work with both D8 and D9. 

3. Promet Source can help with a readiness audit

The good news if you are on an updated version of D8 the transition to D9 should be smooth. If you are on D7 you are essentially doing the same thing whether you migrate to Drupal 8 or Drupal 9.

We’re here to help! If you want to talk in more depth about what Drupal 9 has in store, and start to make a plan for the transition, contact us for information on our Drupal 9 readiness audit.
 

Feb 21 2019
Feb 21

You're probably thinking, “But I don’t want to think about Drupal 9 yet!”

Well, adulting sometimes means doing things we don’t want to do, like thinking about CMS version upgrades. 

We can make this easy.

For now, here’s what you need to know about Drupal 9.

1. Drupal 9 is targeted for a June 2020 release.  

Eighteen months following the release of Drupal 9, in November of 2021, Drupal 7 and 8 will both hit EOL status. This means that you will have a little more than a year to move your site from Drupal 7 or 8, following the June 2020 release date of Drupal 9. 

The normal schedule would dictate that Drupal 7 hit EOL shortly after the Drupal 9 launch. However, because so many sites are still on D7, and at this point, many may just skip D8 completely, the decision has been made to extend D7 support for an additional year. As a result, D7 and D8 will both lose support at the same time.

The November 2021 date is significant because that is also when Symfony 3, which is a major dependency for Drupal 8, will lose support.

What this means for you as a D7 or D8 site owner is that you should have a plan to be on Drupal 9 by the summer of 2021.

2. The transition from Drupal 8 will not be painful.

Unlike Drupal 8, which for practical purposes was a new CMS sharing the Drupal name, Drupal 9 is being developed on Drupal 8. That means if you are up to date with Drupal 8.9 the move to Drupal 9 should be relatively easy. It probably won’t be Drupal 8.4 to 8.5 easy, but it should be nothing close to the level of effort of moving from Drupal 7 to Drupal 8. In a lot of ways, Drupal 9 is just the next six-month update that comes after Drupal 8.9, with the added complication of being the version that we use move depreciated code and APIs out of the codebase.

My recommendation if you are still on Drupal 7: migrate to Drupal 8 when it's convenient. As stated above Drupal 9 is really just Drupal 8.10.1. So you kind of are migrating to Drupal 8, even it’s called Drupal 9 at that point. You won’t save any effort by waiting until Drupal 9 is out, you’ll just be on the outdated D7 codebase longer.

Concerning modules: as long as modules aren’t depending on any APIs that are being depreciated in D9, contributed modules should continue to work with both D8 and D9. 

The good news if you are on an updated version of D8 the transition to D9 should be smooth. If you are on D7 you are essentially doing the same thing whether you migrate to Drupal 8 or Drupal 9.

We’re here to help! If you want to talk in more depth about what Drupal 9 has in store, and start to make a plan for the transition, contact us for information.

Feb 14 2019
Feb 14

A commercial came on the radio recently advertising a software application that would, basically, revolutionize data management and enable employees to be more efficient. My first thought was, “How can they possibly promise that when they don’t know their customers’ data management processes?” Then, it became clear. The business processes would have to be changed in order to accommodate the software.

Is that appropriate? Is it right that an organization should be required to change the way it conducts business in order to implement a software application? 

Sometimes yes. Sometimes no. 

The following four factors can serve as an essential guide for evaluating the need for change and ensuring a successful transition to a new solution. 

  1. Process Analysis
  2. Process Improvement
  3. Process Support
  4. Change Management

1. Process Analysis

Before committing to the latest and greatest software that promises to revolutionize the way you do business, make sure you’ve already documented current processes and have a clear understanding of what’s working well and what can be improved. Over the last few decades, several methodologies have been created and used to analyze and improve processes. Key among them: Six Sigma, Lean Manufacturing, and Total Quality Management (TQM).

How to Streamline Process Analysis

In simple terms, document the way you create, edit, and manage your data. Task-by-task, step-by-step, what does your team do to get the job done? If you see a problem with a process, keep documenting. Improvements, changes, redesigns come in the next step.

Steps to Document Processes

At the core of all process documentation is the process flowchart: an illustration with various boxes and decision diamonds connected with arrows from one step to the next. Collect as much data and as many contingencies as possible to make this flowchart as meaningful and robust as possible.

Diving Deeper

Integrated Definition (IDEF) methods look at more than just the steps taken to complete a task within a process. IDEF takes the following into account:

  • Input - What is needed to complete the steps in the task? Understanding this information can highlight deficiencies and can highlight flaws in effective completion of a particular step. 
  • Output - What does the task produce? Is the outcome what it needs to be?
  • Mechanisms - What tools are needed to perform the steps in the task? Can new technology make a difference?
  • Controls - What ensures that the steps within the task are being performed correctly?

Swimlane or Functional Flowcharts

In addition to the four items from IDEF data, knowing who performs a task is also important. As you draw the boxes and connect them with arrows, place them in a lane that represents the “Who” of process. Knowing who does what can reveal possible over-tasking and/or bottleneck issues in production and efficiency.

Getting Started

Whiteboards and Post-it can be an easy place to start process documentation. With today’s high definition smartphone cameras, you can sketch flowcharts, take a picture, and then share with stakeholders for their review and input. Once you have collected all relevant information, tools such as Visio or Lucidchart can make complicated process flows easier to create and visualize. 

2. Process Improvement

When you know how your current processes are performed, you can start to make improvements--whether incremental or a complete redesign (A.K.A reengineering). 

Low-hanging Fruit

Some needed improvements will likely be obvious. For example, someone on the process team says, “I didn’t know that you were doing that? I do it, too.” Duplication of effort doesn’t require metrics to be collected to determine that steps can be taken to enhance efficiency.

However, most processes require some form of metric collection to determine where improvements can be made. Metrics can include research costs, development time frames, quality assurance oversights, or frequency of downtime.

Knowing What to Change

If the needed improvement isn’t obvious, metrics can help guide the decision-making process. For example, how much time does it take to complete a process today? Could that be improved? Brainstorm ideas on how to shorten the time. Test the change and remeasure. 

Too often, data is collected with the intent of measuring the success of the process, but the data being collected is does not reflect objectives. For example, if the goal of a website or a particular page is to teach, metrics concerning the number of page visits does not indicate the degree to which that goal is being achieved. A more telling metric would be the amount of time a visitor spends on the lesson pages. Even more revealing would be the number of quizzes passed after a visitor engaged with the lessons.  

Before choosing metrics to be collected, understand your goal, determine the level of improvement you want to see, then start measuring that which will actually inform your goal.

3. Process Support

Key to process improvement is an analysis of how technology is can enhance productivity and efficiencies. 

For example: “We can cut three days worth of effort for three employees if we integrate the XYZ software into our process.” This kind of statement sounds like a worthy goal, assuming the cost to transition doesn’t exceed the long-term savings it can help realize. 

Calculating the Cost of Change

Open source software applications start out with a great price tag: Free. However, unless you use the application as is, there is always a cost associated with turning it into what you need. There are many more factors to consider than the upfront cost of the software. 

Costs can include:

  • Training on new processes
  • Training on the new software application acquired to support the new process
  • A drop in productivity and efficiency until the new process/application is adopted and accepted by your staff
  • Technology needed to support the new application
  • Keep in mind: The list of ancillary costs that are involved in the transition are unlikely to appear at the top of the salesperson’s brochure.

Return on Investment

ROI assessments will vary. Two values are needed to make this computation: cost and benefits. 

Once you've computed the short-term and long-term costs, you need to determine the benefits you gain. In a situation where investment directly translates into profit, this calculation can be straightforward.

However, sometimes the benefits are cost savings: “We used to spend this. Now we spend that.” When this is the case, instead of a cost/benefit ratio, a breakdown calculation might be required to determine how long it will take to recoup costs. 

The most complicated analysis will result from benefits such as an increase in customer satisfaction in which the benefit does not have a direct monetary value.

4. Change Management

When a team cannot see the benefit or resists change, new initiatives face an uphill battle. That’s why circling back to the process analysis phase and ensuring the buy-in of those who are being counted on to use the new application is a critical success factor.

Keep in mind that employees may not have access to the big-picture business goals that management sees, but change has the greatest chance of being realized if those who will be required to support it are informed as to why it needs to happen and included, at some level, in the decision-making process. 

Indeed, change management doesn’t start when the new application is ready to be implemented. Change management starts when:

  • All the costs of change are considered;
  • The full scope of process changes are identified;
  • Training is planned and delivered; and 
  • The campaign for change acceptance is designed and initiated.

Conclusion

You might be the boss. You might believe that the software application just discovered is what  your company or your department needs. As much as that matters, you need buy in. You need the support of the people who make your business possible. You also need to engage in a disciplined analysis of the processes that will be impacted, along with anticipated improvements and the level of support that will be deployed.

From ensuring that clients’ entire online presence is compliant with ADA accessibility guidelines to web solutions that optimize impact in the ever-evolving digital environment, we at Promet Source serve as a powerful source of transformative digital possibilities. Contact us today to learn what we can do for you.

Jan 23 2019
Jan 23

Besides Title, the most common field label found on a content type form is Body. Of course, this is where you place the body of your content. It’s your blog post, your how-to instructions, or maybe an event description. You know exactly what needs to be provided in this field because you are the trained author. What happens when the scenario includes many authors with varied skills?

Without clearly visible instructions for the form and the form fields, content authors can make mistakes. There are four default features in Drupal 8 that provide instructions for content authors.

Help

Body field configuration interface

When configuring a field, all fields except Title, you can include help text. The help text appears under the field, just like you see here on the configuration form where the help text for the help text field says, “Instruction to present to the user below this field on the editing form.”

Pros

The label of a field might not communicate the full intent or purpose of the field, so adding instructions in the help field can go a long way to ensuring an author uses the field correctly. 

For example, the Tags field on the Article content type provides default help text: Enter a comma-separated list. For example: Amsterdam, Mexico City, "Cleveland, Ohio" This provides instructions for entering tags correctly. 

However, if you need to add additional instruction regarding the context of the tags, you can include a statement like, “Do not use terms already offered in the Topics field.” 

Cons

The common placement of instructions below a field isn’t always noticeable. For example, the screenshot below shows the body field with help text below. Is it eye catching? Obvious?

Body field on the Add node page.

The size of a field can make providing easy to see instructions a challenge. And, if you need to make an accessible content type, the help text feature needs a little work to make it WCAG compliant. 

Placeholder

Configuration options for Body field on the Manage form display

Using placeholder text inside the field is another option. Although this feature is not available for all field types, it does enable you to include 128 characters of instructions. Located on the Manage Form Display tab for the content type, it’s just one configuration option available.

Pros

As mentioned in the Help section above, the Title field doesn’t have a help text option. However, the placeholder feature is available to provide tips on title strategies. Or, if the instruction is short and simple, such as a date format of MM/DD/YYYY can help users quickly understand the sequence of the date parts.

Cons

It’s only 128 characters and if the field size is less that that, not all of the instructions will be visible. On the topic of visibility, the Placeholder feature is not read by a screen reader. And, unless you do some browser specific CSS overrides, the contrast of Placeholder text might not meet WCAG color contrast criterion.

Lastly, when a user clicks in the field to enter data, the placeholder text disappears.  

Default Values

Body field default content configuration interface

The default value feature for fields is a great way to speed up data entry when the same entry is expected frequently. However, it can also be used to communicate instructions to the content author. You can go as far as providing a content template where the appropriate formatting has already been applied. 

Pros

Uniformity. Clarity. An experienced author will have their own way of conveying their thoughts, but that way isn’t always what’s best for an organization. Or, a newbie writer might need a little help to get started.

Notice the instructions for the often forgotten Summary feature. If you require a summary, include instructions like those shown in the example above and the Summary field will be open and ready when the content author uses the content type.

Also, unlike the Placeholder option, clicking in the field does not make the instructions disappear. 

Cons

The content author needs to remember to delete the instruction text. A small price to pay.

Content Type Explanation/Guidelines

Submission field settings for the content type

According to the Form Instructions tutorial provided by W3C, “Where relevant, provide overall instructions that apply to the entire form.” Each content type has the option to include a form explanation or submission guideline, as the field label suggests. 

Pros

Content add form with submission guidelines sample text.

The form explanation appears just above the Title field and outside the <form> element, which is needed for accessibility. You can also include HTML elements to format your instructions. 

Cons

If you need to format your form instructions, you will need to enter your own HTML as there is no HTML editor bar.

Conclusion

Not all forms are self-explanatory. Not all field purposes can be easily deduced. Drupal provides several options for providing guidance to your content authors, each with their own pros and cons. 

As you plan the way your finished content will be presented to site visitors, remember to plan your content type forms. Just because a content author receives training when the site is delivered, that doesn’t mean they will remember everything they learned. Form instructions help.
 

Jan 17 2019
Jan 17

Promet and Drupal go way back. We were at some of the first DrupalCons. We were an Acquia partner back when nobody had heard of Acquia. Most of our work today is building large, complex Drupal sites. (We are branching out though. Feel free to talk to us about Wordpress or other web development needs!) We love Drupal, and we’ve used it to build everything from simple to very complex websites.

However, Drupal 8 has changed the Drupal ecosystem. Drupal 8 is designed for engaging digital experiences. What does that mean? Mostly it means complex or mission-critical web applications. You can be a 2-person company working out of a basement, but if your website is everything to the business, there may be a good argument to build that site on Drupal 8. 

Drupal 7 was a swiss army knife. You can effectively do anything from a small blog site to the largest most complex sites online with it. Drupal 8 is more like a finely sharpened carbon steel Chef’s knife. It still does a lot, but you really shouldn’t use it to peel an apple.

Was that analogy too tortured? Anyway, we are still a Drupal first agency. However, there are definitely use cases where Drupal 8 is not the answer. Compare your project to the examples below to get an idea if Drupal 8 may be the right CMS for your website.

A small 5-10 page “brochure” site that may be updated once a quarter, if that.

This should not be a Drupal 8 site. Wordpress is probably the most common recommendation in this situation, however, I would recommend a different route. If you truly won’t be doing more than the occasional quarterly update, I’d recommend a static site generator (SSG) such as Pelican or GatsbyJS. Wordpress still comes with the overhead of keeping a database-backed web application updated and secure. For a few pages updated a few times a year, I would generate that site with the SSG and push the resulting HTML pages to a web server. With just HTML exposed on the server, your only security concern is if somebody compromises your server account. There is no database or CMS to hack. Your hosting costs are minimized this way too.

A small 50-250 page website that is updated frequently.

On the small end of this spectrum, Wordpress is the most common recommendation. As you get to the 250-page end there starts to be an argument for Drupal 8, especially if you are dealing with some more complex content types. Be careful though. A cheaper Wordpress shop will buy a $30 theme and tweak it to fit your needs. This can work fine, as long as the theme they buy was well constructed based on Wordpress best practices. Often those purchased themes are kind of a mess at the code level. 

If the site is small with static content that is highly trafficked, you can do something really interesting by using the GatsyJS SSG as a front end to Drupal. You can manage the content via Drupal, but publish it as static HTML pages via Gatsby to minimize hosting overhead and improve performance.

A large site with hundreds or thousands of pages that are updated rarely.

Drupal 8 will be the normal recommendation here, and it’s a perfectly valid recommendation. Drupal will allow you to publish structured content across the entire site, plus use taxonomy to relate content. If you need to manage user permissions about who can do what with the content, Drupal 8 becomes a great answer.

But what if you are publishing documentation that will almost never change? Do you really need the overhead of an enterprise-grade CMS that will get used rarely once the site launches? I think the static site generators are a really interesting solution to this use case. Pelican, to reference the SSG I’m most familiar with, can implement tags to relate content, and can identify different authors if it is a multi-author scenario, It has no concept of user permissions though. I’m not aware of any major sites that have been done this way, but it seems like a very low overhead answer to the publish a lot of content once and then mostly forget about it scenario. If you have a project like this let’s talk!

You have a large complex site that has a variety of content types that integrate with 3rd party systems, and it’s crucial to your business that the site stays available and performant.

This is the Drupal 8 wheelhouse. This is what Drupal 8 does best. You can think of Drupal 8 as a box of standard Lego bricks. What you build with it is only limited by your imagination, time and resources. (How big is that box of Lego bricks?) A few of the scenarios that Drupal excels at include:

  • Multi-author websites where you need granular control of publishing and editing permissions by either individual users or groups. This extends to workflow issues where you need a publishing workflow for editorial oversight.
  • E-commerce applications where you are generating significant revenue from the website.
  • Integrated solutions where the website needs to share or sync data with other business systems such as a CRM or AMS.
  • Multi-site applications where you need to manage dozens to hundreds of websites that will all share common elements while allowing for localized control of specific content elements on specific websites.
  • Multi-output applications (decoupled Drupal!) where you need to deliver the same content to disparate devices such as web browsers, mobile apps, digital signage,  voice-activated devices such as an Amazon Echo or Google Home device; and future devices we might not have thought of yet. I can see us interacting with websites via voice activation in our cars in the not too distant future, if it's not already being done. 
  • Multi-lingual websites where you need to manage translated content.

Hey Chris, you didn’t mention SquareSpace, Wix and similar services for smaller sites.

That is correct, I didn’t. Promet is an open source consulting firm, and personally, I’m an open source advocate. I avoid proprietary solutions when an open source option exists. That said, if you need to publish a small static website and want to take the path of least resistance with SquareSpace or similar, I don’t think it’s a particularly bad idea.  If your content got locked up in one of those services the site is presumably small enough that starting over won’t be that painful. But I’m not going to recommend those services, at least not in writing ;)

If you have any questions about what to do with your website please get in touch.
 

Dec 19 2018
Dec 19

Imagine if you will, you have an Events link on your main menu. Someone clicks on it and the Events landing page is loaded in their browser. How was this page built? With Drupal, you have several options. 

If you are the kind of person who likes to have a say in the way things are done, be it from a previous bad experience or idle curiosity, the following will help you engage in the planning aspects of your Drupal site. So, let’s look at five recipes for building landing pages in Drupal.

  • Node page
  • Node Plus View Block
  • A View Page Plus a Block
  • Panel Page
  • Custom Theme Page

Node Page

Content pages in Drupal are called nodes. You fill out a form (e.g., a content type) online, save, and you have an article or event or some other kind of page. This page has a URL. That’s important to remember. Every page in a website has to have a URL. 

How

Using Drupal’s default Basic Page content type, you fill out the form. Give the page a title of About Us. Fill in the body field with information about you or your company. Add it to the main navigation menu with a check of a box. Lastly, you create an URL alias. Instead of the default format of /node/3, you want /about-us. Save and you see your new landing page.

Yes, it’s boring, but we’re just getting warmed up. 

Why

Simple page. Simple technique. Easy to create and edit. Easy to translate in a multilingual site. And let’s not forget the other cool things you can do with a node.

Node Plus a View

Building on the previous example, let’s build an Events landing page. Obviously, this kind of page is going to be a little more complicated. Here are the requirements: a title, some introductory text, and a list of Events that you created using an Events content type. You will have many events so using a manual approach to creating and updating a list of events is not a fun idea.

How

With this scenario, you use the Basic Page content type and create a node titled Events. Using the body field, you add some text that describes your events. Like before, check the box to add this node to the main navigation. Give your page the URL alias of /events. Save and the first part of the configuration is complete.

The next step in the configuration process is a little more complicated, but it’s the concepts you need, not the details at this time.

Drupal has a module called Views. It’s an incredible tool that lets you create an SQL query on the database and then create a display for the results of that query. For this landing page, you need events for the future, not the past, so you filter accordingly.

Given we already have a Drupal feature with its own URL (the event node), we don’t need another. That means you will create a block display for the SQL query results. Blocks can be small bits of information or larger, more complicated displays. They can even hold forms. What they don’t have is a URL. They only show up because a page is there to host them.

Without going into all the particulars, you will place the block so it appears under the body field. If you want to know more about how this done, please join us in a Drupal 8 Site Building Best Practice training class.

When you go to the yoursitename.com/events URL, you will see the Events node and the view block that lists the upcoming events. With some styling, you can make the two features (node and view) appear as one, seamless page.

Why

Some will argue that you could have made a View page versus using this two-step process. And, in the next example, you will. In this scenario, you looked ahead and saw that the introduction text would not be a fixed blurb. You will change it from one season to another and your staff will not have the skills to edit a View.

So, this scenario worked nicely for your business process and staff.

A View Page Plus a Block

Let’s change up the requirements as a means of introducing another build option. You need a list of events, but instead of some introduction text, you need an image banner. There are several ways to accommodate this new image requirement, including adding to the previous scenario. In this example, we will use a View page and a block.

How

Create an SQL query, grabbing all the events scheduled for the future. Instead of displaying the list of events in a block, you create a page with a URL of /events and place it on the main navigation menu.

Next, create the block that will display your image banner. Like with most requirements, Drupal provides several alternatives to meeting them. For this scenario, assuming you are using Drupal 8, create a new block type called Image Banner. Add an image field to the new block form and set the field display to show only the image.

Create a block, using your new block type. Upload the image you need for the Events landing page. This process is very similar to creating a node. The input form looks similar as well. 

Place the banner image block either above or below the page title block to match your design. This is a quick and easy way to insert an image above the title of the page if that is your choice. 

Why

A View page isn’t like a node. It doesn’t have fields. You can add a header and footer text, but it’s not the same as adding a field to a node. Bottom line, a View show the results of a query - typically that of nodes. So, if you need to display information other than the query results, you might need to use methods like described above, by adding blocks or combining a node with a view.

Another reason for mixing and matching features to create a landing page is display. By default, a Drupal page - node or view - is broken into two parts: Title block and Main Page Content block. If we had chosen to add an image to the available header text box in the view, the image would appear below the page title. Yes, you can do some template coding and rearrange things a bit, but why would you if you could simply place a block and accomplish the same goal.

The point of all this is, remember that content comes in parts in the Drupal world, and quite often, a simple mix and match strategy is all that needed.

Taxonomy View Page

A technique that can be overlooked is the use of the default taxonomy term page. A term is a word or phrase used to describe the content in the node. By default, a term page displays when someone clicks on a term link shown on a node. The page provides a list of nodes tagged with that term. 

Let’s see how this default feature might be used to create landing pages by changing our focus from Events to types of content.

How

Imagine that you have three types of content that will be placed in a body field: How-to Lessons, News, and Blogs. Instead of creating three separate content type forms, you add a field that assigns terms to the content, declaring it a How-to Lesson, for instance.

By default, the How-to Lesson term has its own landing page. In Drupal 8, the term page is a View page and can be modified to meet your display layout needs.

Let’s take this scenario one step further. It’s come to your attention that you need a banner image and introduction text to appear above the list of nodes tagged as How-to Lesson. In this scenario, you can add an image field to the term and use the description field for your introduction text.

The results are very similar to what we have created in the previous scenarios: a page title, and image, some text, and a list of nodes. Place the page URL on the main menu and you have a landing page. 

Hopefully, this demonstrates the need to think about your processes before choosing a configuration strategy. There are several steps involved but it’s actually quite easy to learn how to do in a Drupal training class.

Why

Websites can be complex and that might mean multiple content types. However, imagine that one of your staff is blogging the latest insight on gardening strategies and it morphs into a how-to lesson. If they created the blog post in the Blog content type, they would need to move that content to the How-to Lesson content type instead. 

If this is something that might happen, create one content type for narrative content and use terms to distinguish between them. If you do, you can then take advantage of the term’s default pages, as demonstrated in this example.

Panel Page

So far, our examples assumed simple displays. What if you want to create a landing page whose content is built solely from blocks. Basic text blocks. View blocks. Blocks from other modules. Again, there are several ways to make this happen, especially if your theme (that bundle of code that controls the look and layout of your site) has the appropriate regions to organize your blocks in the way you need.

For now, let’s assume you need something unique.

How

Panels is a module that you can add to Drupal. It provides a graphic user interface (GUI) and allows you to create a page with its own URL that can be assigned to the main menu. Remember, if you need a page in Drupal, it has to come from something that can have its own URL. You can also create a custom layout to display blocks.

The process to complete this task is too complicated to step through here, but it can be learned in a Drupal training class.

Why

Some will say that you should create the theme regions you need versus using Panels, and they would have a valid point. However, if by now you are intrigued with the build process and are wondering if you might be able to do it yourself, then a tool such as Panels doesn’t require you to know how to customize a theme. 

Of course, with training, a custom theme is something you can manage. In fact, let’s consider one way of using a custom theme to create a page on your site.

Custom Theme Page

Let’s take a moment to consider the Drupal theme. Without going into all the details of theme development, at a minimum, you need to know that the theme defines the regions (header, navigation, sidebars, content, footer, and more) used to organize and display blocks. It also manages the templates used to say what gets rendered in the region.

For example, there is a page template. This renders the region if there is a block assigned to show in said region. You can add as many regions you want in order to accommodate the various block layouts you need.

You can also create a template for a single page. Let’s consider this strategy for a moment. 

How

Assume that you created a node using the Basic Page content type and titled it Resources. In the theme, you create a template specific to this node. At this point, it’s all about hand coding. You create a template that renders all the blocks you have created to display on this page. Then, with some CSS, you style the blocks in a layout of your choosing.

With the Resources node assigned to the main navigation menu,  you have the page you need because its custom template is hard coded.

Why

To be honest, although this blogger has seen this approach used, it is not conducive to making quick changes to the page. Why is it listed as an option? Because, depending on who you hire to create your site, you might end up with a vendor that uses this technique. Be it on purpose to gain maintenance business from you or just from lack of Drupal building experience, you could end up with a site that does not take advantage of Drupal’s flexibility.

Make sure you are specific in your requirements regarding the use of custom code if this is a concern.

Planning and Promet

The five options conveyed here are not the only options you have available. Moving forward, consider taking an active role in the development strategies chosen to create your site to ensure you receive a solution you can manage. 

Remember to build in time in your schedule to have development strategies discussed before they are implemented. If your developer is reluctant to let you in on their plans for meeting your requirements, they might not be the vendor for you. 

If you still have questions, check out Drupal 8 Makes it Easier and The Path to Migration to learn more about your options and considerations for your project.

Promet offers a unique planning engagement that we call our Architecture Workshop. This workshop is a customized engagement that engages all of your stakeholders in the Discovery Process. We do a 3-5 days of intensive onsite exercises with stakeholders (for your busy C-level folks we customize the agenda to bring them in where they are needed during this onsite). Then the team goes away and produces a set of deliverables that includes a full-field level Architecture Blueprint of the website(s). Whether you choose to use a waterfall or agile development methodologies - you have everything you need to build the website everyone has agreed upon. 

Not building your site and stressed out about getting an accurate quote? Investing in this kind of Workshop will make sure that you get the right Partner, and the best price.

For more planning information email [email protected].

Dec 19 2018
Dec 19

Have you ever tried logging in or registering to a website and you were asked to identify some distorted numbers and letters and type it into the provided box? That is the CAPTCHA system.

The CAPTCHA helps to verify whether your site's visitor is an actual human being or a robot. Not a robot like you see in the Terminator movie but an automated software to generate undesired electronic messages (or content). In short, CAPTCHA protects you from SPAM.
 

Distorted texts and numbers, for example, could not be recognized by bots so by providing this we are sure that only a human can log in or register.


This works! But there are some downfalls to this. For one, it's not user-friendly to visitors who are visually impaired. Reading distorted numbers and letters can be annoying to regular users, how much more to a user with a visual disability. The last thing we want from our visitors' is form abandonment, that is, leaving without even the chance to enter.
 

The solution? reCAPTCHA!
 

Drupal's reCAPTCHA module uses the Google reCAPTCHA to improve the CAPTCHA system. The reCAPTCHA module is a very efficient addon to the original CAPTCHA module.

With reCAPTCHA, we have the choice to provide a simple checkbox that asks our users if they are a robot or not. this is so much easier than asking our users to read distorted characters. We can also provide several random images and ask our users to check a specific image. This kind of test could not be passed by a robot, but we humans can!

Why trouble with bots? You may ask. The CAPTCHA system provides security, including but not limited to:

                -  Preventing Comment Spam in Blogs.
                -  Protecting Website Registration.
                -  Protecting Email Addresses From Scrapers.
                -  Online Polls.
                -  Preventing Dictionary Attacks.
                -  Search Engine Bots
                -  Worms (malware computer program) and SPAMs (undesired messages/content).

So how do we set up reCAPTCHA for our forms? Read along for an easy and detailed guide in setting up reCAPTCHA for your forms. this tutorial provides screenshots of every of every step of the way.
 

Install
 

Download and install CAPTCHA and reCAPTCHA module.

Using your favorite installation mode the Drupal UI, copy/paste from drupal.org, Drush, or Composer. Just remember that to use reCAPTCHA, you need the CAPTCHA module.

If your site is set using the PHP dependency manager called composer (like we do at Promet Source), add reCAPTCHA and the CAPTCHA module will be added automatically as dependencies:

$ composer require drupal/recaptcha


 

Enable
 

With Drush, you can enable the reCAPTCHA module by running the command in your terminal.

$ drush en recaptcha

Drush is fantastic to interact with Drupal and work faster. Learn more: Drush Made Simple).

You can also enable the module in the UI at "/admin/modules".

Search for Recaptcha, Click the checkbox and click 'install'.
 

Enabled reCAPTCHA module


Configure
 

Go to "admin/config" and choose CAPTCHA module settings.
 

CAPTCHA module settings


In the form protection default challenge type drop-down, choose reCAPTCHA from module reCAPTCHA. Don't forget to click 'Save configuration'.
 

CAPTCHA settings


After saving, click the reCAPTCHA tab.
You will be asked for the 'Site key' and 'Secret key'.
Click on the link Register for the reCAPTCHA, you will then be automatically redirected to Google.

Register your website for reCAPTCHA

Write your domain name in 'domains'.
 

A screenshot of the form where the site has to be registered for reCAPTCHA


You will be provided with the site key and secret key. Go back to "admin/config/people/captcha/recaptcha" and fill up the "Site key" in the general settings.

Click save.
 

CAPTCHA keys

Then go to CAPTCHA Points.

Choose which form you would like to use your reCAPTCHA.

TEST!!

To test, simply open your website and try visiting the form where you enabled the reCAPTCHA.

In this tutorial, the form that I choose to use reCAPTCHA is the login form.

reCAPTCHA displayed in a login page

Additional step: For local testing ONLY

If you want to do the above steps in your local environment, you have to disable the domain name validation in your reCAPTCHA configuration in google.com

Click the Advance settings and disable the domain name validation.
 

CAPTCHA for local testing


Don't forget to test by accessing your form in an incognito browser.

And there you have it, reCAPTCHA configured! Your Drupal 8 project is now protected by Google's reCAPTCHA system.

Say no to bots, yes to human...

Questions?
Drop them in the comments section below this article :)

Special thanks to Luc Bezier for contributing to this post before publication.

 

Nov 15 2018
Nov 15

Did someone test your website for accessibility conformance without your knowledge and then inform you that your organization is prime for an accessibility lawsuit? Are they offering to help you fix the issues found on your website? 

That notification and offer might be valid, but it also might not be the entire picture. One free test grade might not reflect how your site is doing in all its accessibility subjects because automated testing tools can't find all the problems. We believe in assessing all topics of accessibility before recommending a sit down to discuss your options on how to proceed.

How do we do it? 

We don't rely on automated testing to reveal the true nature of a website's issues. We manually test it as well. We look at what makes your website unique and try to understand its mission before creating a scorecard you can use in your decision-making process.

This card reflects several perspectives including the issues anyone with an automated testing tool can see, including you. Many are free to use and quite robust in their feedback. Give one a try. For example, Code Sniffer.

But don't stop there. Our scorecard also reflects a sample of other accessibility issues not seen by the tool.

Last but not least, we look at how you are delivering your website. This part of the review is critical to understanding whether fixing or rebuilding the site is going to be your most cost-effective solution.

Website Grade

Just like the report card you got as a kid, we use grades to convey the accuracy and quality of your work, or in this case, your website. As you can see below, there are degrees of quality: A through D. No F, for failure. We assume no site is that bad.

A – Accessible & modern platform, main issues residing solely in the content
B – Accessible & modern platform, but issues with template items such as menus, sidebars, and in-line styling
C – Accessible & modern platform, but many features need to be replaced or reworked to achieve compliance
D – Antiquated platform, non-responsive, easier to rebuild vs. fix

The Scorecard is not intended to act as a thorough report or formal recommendation, simply a high-level overview. It's our tool to facilitate a conversation with you and help you choose the best path to remediation.

For example, we might find that you are using a content management system tuned to meet the accessibility criterion, but your content developers aren't using appropriate techniques when posting. Fixing existing content issues without “fixing” the reason the issues exist just means your site will continue to have problems.

Or, the example could be far worse. We hate to say it in this day of accessibility lawsuits, but there are still platforms out there that don't follow the rules. If your site was created using an antiquated approach, it might be more cost effective to rebuild rather than create workarounds in your current system.

Our Passion

Here at Promet Source, we are passionate about accessibility. We offer an array of services and remediation options that can be shaped to fit your needs. But, be warned, we are not a quick fix/band-aid company. We believe in enabling you to move forward knowing that you have a fully accessible site and the means to keep it accessible.
 
The decision process associated with such an undertaking can feel overwhelming. That's why we offer the scorecard as part of your remediation process. It's your tool to use in helping others in your organization to understand the level of effort you are facing by moving forward. 

We find that when all stakeholders have an understanding and are vested in doing the right thing, the future of a website is easier to envision. 

We look forward to talking to you about that phone call you got by surprise or that unsolicited email full of ill tidings. Don't worry, we can help you understand and make informed decisions.
 

Nov 15 2018
Nov 15

Did someone test your website for accessibility conformance without your knowledge and then inform you that your organization is prime for an accessibility lawsuit? Are they offering to help you fix the issues found on your website? 

That notification and offer might be valid, but it also might not be the entire picture. One free test grade might not reflect how your site is doing in all its accessibility subjects because automated testing tools can't find all the problems. We believe in assessing all topics of accessibility before recommending a sit down to discuss your options on how to proceed.

How do we do it? 

We don't rely on automated testing to reveal the true nature of a website's issues. We manually test it as well. We look at what makes your website unique and try to understand its mission before creating a scorecard you can use in your decision-making process.

This card reflects several perspectives including the issues anyone with an automated testing tool can see, including you. Many are free to use and quite robust in their feedback. Give one a try. For example, Code Sniffer.

But don't stop there. Our scorecard also reflects a sample of other accessibility issues not seen by the tool.

Last but not least, we look at how you are delivering your website. This part of the review is critical to understanding whether fixing or rebuilding the site is going to be your most cost-effective solution.

Website Grade

Just like the report card you got as a kid, we use grades to convey the accuracy and quality of your work, or in this case, your website. As you can see below, there are degrees of quality: A through D. No F, for failure. We assume no site is that bad.

A – Responsive & modern platform, main issues residing solely in the content
B – Responsive & modern platform, but issues with template items such as menus, sidebars, and in-line styling
C – Responsive & modern platform, but many features need to be replaced or reworked to achieve compliance
D – Antiquated platform, non-responsive, easier to rebuild vs. fix

The Scorecard is not intended to act as a thorough report or formal recommendation, simply a high-level overview. It's our tool to facilitate a conversation with you and help you choose the best path to remediation.

For example, we might find that you are using a content management system tuned to meet the accessibility criterion, but your content developers aren't using appropriate techniques when posting. Fixing existing content issues without “fixing” the reason the issues exist just means your site will continue to have problems.

Or, the example could be far worse. We hate to say it in this day of accessibility lawsuits, but there are still platforms out there that don't follow the rules. If your site was created using an antiquated approach, it might be more cost effective to rebuild rather than create workarounds in your current system.

Our Passion

Here at Promet Source, we are passionate about accessibility. We offer an array of services and remediation options that can be shaped to fit your needs. But, be warned, we are not a quick fix/band-aid company. We believe in enabling you to move forward knowing that you have a fully accessible site and the means to keep it accessible.
 
The decision process associated with such an undertaking can feel overwhelming. That's why we offer the scorecard as part of your remediation process. It's your tool to use in helping others in your organization to understand the level of effort you are facing by moving forward. 

We find that when all stakeholders have an understanding and are vested in doing the right thing, the future of a website is easier to envision. 

We look forward to talking to you about that phone call you got by surprise or that unsolicited email full of ill tidings. Don't worry, we can help you understand and make informed decisions.

Email us for help!
 

Nov 13 2018
Nov 13

Partnership combines comprehensive UI design, UX, and digital strategy, with web development proficiency, to produce a holistic experience for clients.

Chicago, Illinois — November 13, 2018 — In September 2018, Promet Source acquired DAHU Agency, a strategy-focused, user experience and design agency that enhances the services offered to its clients. By expanding their services in UX and UI, and bringing new offerings in-house for digital strategy, WordPress development, messaging, and branding –  Promet aims to better serve their clients evolving needs as marketing and web technologies continue to converge and the need to provide functional, dynamic websites increases.

 

In his vision for Promet to be a strong digital agency focused on creating great user experiences through meaningful web applications, Andy Kurcharski, President of Promet, seeks to accelerate growth and innovation by providing comprehensive digital services to his clients.  Andy has more than 20 years of technical leadership experience from startups to Fortune 50 firms with industry experience in banking, telecommunications, government, and association technology management. Andy’s e-commerce experience dates to 1998 with the implementation of highly scalable enterprise solutions.

 

“In today’s technology landscape, we are seeing that our clients and their customers expect more from their websites” Kurcharski expressed. “Our addition of a new team to our existing core of web developers will help us to proactively approach new websites with a holistic mindset combining our technology expertise with great design and function to ultimately increase client success online.”

 

DAHU Agency, based in Dallas, Texas, not only provides Promet with an office central to service their clients in the Southwest region but also brings expertise in design and digital strategy to help optimize user experience within an organization’s website.

 

Mindy League, CEO, and founder of DAHU Agency offers a highly thoughtful and adaptive approach to constantly evolving technologies and user behaviors. Her experience in building solutions for clients such as HP, Emerson, IBM, and Home Depot, contribute to a depth of perspective into the challenges and opportunities faced by top global brands. Mindy will join Promet as the Director of User Experience and Design.

 

DAHU’s distinct approach to engaging with clients has been described as “radical empathy” and it is this philosophy and mindset that complements Promet’s dedication to delivering groundbreaking results to their clients. Whether examining the impact of corporate strategies on customers and the broader enterprise or developing products, Promet aims to step into their clients’ businesses with a fervent dedication to excellent experiences and high-impact results.

 

Click here for full press release. 


 

Nov 01 2018
Nov 01

Your company brand encompasses the entire perception of your organization through the eyes of your customers, clients, and employees. Branding consists of more than just your logo and typeface selections; it is how the public (usually users and/or customers) experiences your business. How you position your brand can certainly define the customers’ experience of your organization. However, consider first planning great experiences for your users and customers in order to develop a more customer-centric brand identity. Changing to this strategy requires a solid understanding of your users and customers as well as a thoroughly considered mission statement prior to developing your brand.

UNDERSTAND YOUR USERS AND CUSTOMERS

Knowing who your business is intended to cater to will help you to plan all the touchpoints your customers and clients will have with you, from the in-person experience to the web and social media experience to even the look and feel of business cards you hand out. For example, if your target audience consists of Millennials, your language and messaging would be different than if it consisted of top-level executives and managers. User experience research techniques can be used to help define different customer/client personas. These personas can be used essentially as avatars for your customer base. As new services or features are developed, keep these personas in mind to ensure that these new offerings align with their needs and desires. At times, new personas might replace or get added to the list.

RELY ON YOUR MISSION STATEMENT

Your mission statement defines the core purpose of your business. There’s a delicate balance required between keeping it broad enough to encompass your long term vision, yet narrow enough to define your identity for both your employees and your customers. A good mission statement represents what you stand for in specific, actionable ways. It paves the way for how your employees interact with your customers. The length of your mission statement may range from a sentence or two to several paragraphs, a good rule of thumb would be to keep it as succinct as possible in order to avoid providing too narrow a focus and thus reducing strategic flexibility. Also, keep in mind that your mission statement can evolve over time to adjust for the market, your competitors, and your customer’s needs and desires.

DESIGN YOUR USER AND CUSTOMER EXPERIENCES

The broad definition of User and Customer Experience includes how your customers interact with all facets of your business. Rely on your mission statement and understanding of your customers to help define how you want those interactions to occur instead of leaving it to chance and risking a negative experience. For instance, if you wish to present your organization as caring and supportive to your user base, friendlier language and a welcoming user interface on your website or software would communicate your caring and empathic intent.

User and Customer Experience is about setting and meeting the users’ expectations through clarity of messaging and purpose. Keeping the customer experiences in mind at all times when developing your business processes will help ensure that your customers stay positively engaged with your organization.

By tailoring your business strategies around your customers’ expectations and the driving force behind your mission statement, you can create specific user and customer experiences.  These experiences reinforce their expectations and your mission statement, creating a sustainable, healthy feedback loop. For example, McDonalds recently responded to customer requests by running focus groups to test the viability of providing all-day breakfast service to their fans. Before simply agreeing to these requests (the first of which were posted in 2007!), McDonalds tested the viability of the service through focus group and user testing in small markets in order to ensure that the service could be provided within customer expectations. This is a great example of using feedback and relying on thorough user and customer research to improve brand perception through ensuring consistent customer experience, even for new offerings.1

By leveraging this valuable feedback loop to guide the underlying framework of your business decisions, you can ensure that your organization adjusts to changing expectations and trends, keeping your brand fresh and relevant for as long as possible – while keeping your customers engaged.

1The Story of How McDonald’s All-Day Breakfast Came to Be

 

 

Pages

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web