Voice search has increasingly become popular as most people feel that it is more convenient to explain what they need in a search through voice compared to typing. Analysis from Google shows that 55% of teens and 41% of adults use voice search daily with 20% of all mobile queries being done using voice. It is estimated that by 2020, 50% of all search and queries will be done on voice. The following are the main drivers to voice search gaining popularity:

1. Voice search is more convenient compared to typing since it’s easy to make queries by voice compared to typing.
2. According to Bing, Doing searches through voice is 3.7 times faster compared to typing.
3. Voice is convenient and perfect for mobile searches since it’s less convenient while typing in mobile phones. 

Voice search differs a lot compared to a general search that involves typing. Such is caused by voice search involving using speech to make queries online which eventually leads to the user having a conversation with the system compared to the regular search which involves typing short keywords describing the queries of the users. Voice search accommodates more details in the search compared to regular search. 

It is therefore essential to use specific search engine optimization for voice search, which is different from the SEO of regular search. Several points may be evaluated to ensure that voice search is optimized for rankings. Firstly, it is necessary to ensure that the website loads quickly since voice search favors sites that load quickly. It is, therefore, essential to ensure that files are compressed, images are optimized, and the website is responsive. Secondly,  It is necessary to ensure that content is optimized for web search where long tail keywords which make it sound more natural while talking as opposed to the short tail keywords that are used while typing. It is equally necessary to include the featured blocks of the content above the fold but under 29 words. Finally, it is necessary to concentrate on local searches as location-based content is mostly conducted using voice search.


Electronic commerce has become an essential method of shopping on the internet. Such has been caused by more people continuing to trust in the process of undertaking their shopping activities online, which leads to the increased popularity in e-commerce. This has led to more e-commerce sites experiencing increased sales with competition among various e-commerce sites and user-sale conversion being a significant factor in determining the number of transactions that a website makes. 

Use of chatbots in e-commerce helps e-commerce sites in managing the conversation between prospective customers of an e-commerce site, thus helping in converting the user into an actual customer of the website. A chatbots is a program that uses artificial intelligence to carry out conversations through textual and auditory methods. They are mostly used to offer customer information services, acquiring information from the customers and generating leads to the site that may be used in optimizing its user conversion to customers. The following are potential applications off chatbots in e-commerce:

1. Getting detailed answers and explanations of products on an e-commerce site.
2. It is helping in resolving issues and complaints that may arise during the purchase of a product.
3. Making reservations on orders
4. Getting ideas and inspirations for products that may be purchased.

There are several benefits that e-commerce sites get from using chatbots. These include saving time and cost that would have been used when a person would have taken during customer care.  Chatbots also play an essential role in converting site visitors to sales since they are readily available to provide customers with information on any inquiries. Such information is also analyzed by the chatbots to formulate meaningful insights to be used in concert more e-commerce sales. Other benefits include guiding the users on products and how to navigate through the site, providing 24-hour chatbots services, customer engagement, reduction of errors when customers are making orders thus ensuring that customers are satisfied after shopping in an e-commerce website. 



Progressive web apps have been changing the landscape of website development in recent years. Progressive web apps are mobile applications that are developed through the web using standard web technologies such as JavaScript, CSS, and HTML. They are essential in bridging the gap between mobile apps and websites and offer the best in which both platforms have to offer. 

Some of the features that a progressive web appshould have include reliability, speed, and engagement. These features are explained below:

1. The application is reliable meaning that it can provide interfaces to the users even with poor or no internet connection.
2. The application is fast that it loads instantly, thus providing smooth experiences to the users when they are loading their content. 
3. The application can provide an immersive user experience when it is engaging the user’s equivalent to what native applications can provide. 

As a developer, it is necessary to incorporate the web app manifest and service worker while developing a progressive web application. A web app manifest is a file that notifies the device on how the application should behave during installation and contains properties such as icons, displays, orientations, and background color. The service worker is an essential component on the progressive web applications as it helps in dictating how offline capabilities work. This is done through caching strategies such as cache only, cache and update, cache update and refresh, and embedded fallback. 

There are several advantages that accrue from using progressive web apps. Firstly, they can be used even when there is poor to no internet connection, thus making them reliable for users of such applications. Secondly, progressive web apps have improved performance compared to regular applications. There are no installation or updates required in progressive web apps as they are done over the web. Progressive web apps also use lessdata.


Software systems need interactive user interfaces to ensure that the users can stay long enough in the order until the goals intended by the system are achieved. This has led to the development of micro animations. It is necessary to spend more time developing animation for applications to ensure that they are relevant in modern browsers and mobile processors, which are better than previous versions. Such has led to the development of micro animations, which are functional animations that support users by providing them with visual feedback that displays changes. This ensures that the processes in the system are explained without displaying any word.

It is necessary to plan for the design of user interfaces that incorporate, micro interactions before implementing the user interface. Some of the processes that may be represented by micro interactions include the progressing stage in a system, a loading timer or clock, searching, enabling/disabling, muting volume and displaying a Wi-Fi loader. 

Features that make functional micro interactions include the triggers initiating the micro-interaction. Rules engaging the trigger are also vital in determining whether a micro interaction is good or not. Feedback letting the user know what is happening in the system is also an essential determiner of micro animations. Micro-interactions in loops and modes are also vital in determining the type of micro-interaction. 

While designing or implementing micro animation in a software application, it is necessary to keep the micro animations simple to ensure that users are not frustrated by any complexity. Since it may be hard to notice simple micro-interactions, it is essential to maintain consistency so that they become noticeable and appealing to the users of the system. It is also necessary to determine the purpose of the micro-interactions to ensure that unnecessary micro-interactions are not included in the application. It is equally important to test prototypes containing the micro-interactions on the users to get feedback on whether they are useful. 


Disaster Recovery Planning for Municipal Governments

Disaster can strike when you least expect it. Natural and cyber catastrophes, such as flooding, tornadoes, hurricanes, and malware infections, can decimate government systems, halting service delivery and putting valuable data at risk for corruption or loss.

Preparation for disaster is just as important as the recovery process. Municipal governments must ensure effective disaster recovery plans are in place to restore the functionality of critical systems.

  • Prioritized systems and processes for recovery
  • A comprehensive inventory of hardware and software
  • Defined tolerance for downtime and data loss
  • Identified backup personnel
  • A streamlined communication plan

Local governments, in particular, must have citizen information available at all times, which makes effective data backups invaluable. This includes backup copies of email data, which can be compromised in the event of a cyber attack or hard drive failure. Some experts recommend following a 3-2-1 backup rule, which dictates that organizations maintain three copies of data, two of which are backed up to different media (e.g., cloud, disk, or tape), and one of which is housed off site. Having multiple backups makes data recovery seamless and reliable.

In essence, well-constructed DRPs allow municipalities to have a sense of security, knowing that a formalized strategy is in place to abate the risk of service delays, streamline communication and decision-making, and minimize stress when disaster strikes.

Healthcare and Cybersecurity

Telemedicine, mobile applications, EHR’s and numerous other technologies are critical to the healthcare industry. While IoT has allowed healthcare to reach patients in new ways, connectivity to the internet has increased in devastating cyber attacks.

To help monitor cybersecurity risks, the Department of Health and Humans Services (HHS) has released the publication Health Industry Cybersecurity Practices (HICP): Managing Threats and Protecting Patients, a game changer that the industry has been awaiting for nearly two years.

The document looks into the current challenges and identifies healthcare-specific vulnerabilities, and details best practices for defending against advanced threats, such as ransomware, loss or theft of equipment or data, and internal malicious activity. Armed with this information, healthcare providers of all sizes are able to improve their approaches to cybersecurity with tried and true strategies encompassing the following areas:

  • E-mail protection systems
  • Endpoint protection systems
  • Access management
  • Data protection and loss prevention
  • Asset management
  • Network management
  • Vulnerability management
  • Incident response
  • Medical device security
  • Cybersecurity policies

Cybersecurity has become an essential part of healthcare in the modern age, when IT assets means protecting not only data, but also the physical well being of patients.

Use HTML Caching to Increase Page Speed
Heavy traffic to a website can result in performance problems, slower page speed, and fewer conversions.
Note the screenshot below from Macy’s. It shows the effect of Macys.com not caching the HTML of the home page in its content delivery network. This adds one second of page load time. Every other page resource will load after the HTML content is downloaded and parsed. The page took 16.84 seconds to load, which is slow.
The Gap launched a new website that caches HTML content in its CDN. The HTML request now adds just 78.91 milliseconds — the home page loads in 3.60 seconds, which is much better than the 15 to 20 seconds it took in March.
Caching HTML content on ecommerce websites — and dynamic websites in general — is tricky. It doesn’t happen by default in a CDN. Most normally cache just static page resources such as images, style sheets, and scripts.
Dynamic vs. Static Content
For sites with static page content — i.e., not personalized in any way — page caching creates no problems. But for sites with dynamic content that changes among users, caching HTML content could create errors.
For example, a visitor that adds products to his shopping cart changes the content on all pages to show the number of items in the cart. If an ecommerce merchant cached the pages of this user, other users would see an inaccurate number of items in their cart. This concept applies to any type of personalization.
There are at least two solutions to the problem.
  • Implement web page personalization in separate JavaScript files and don’t cache them, or cache them for a short period.
  • Cache HTML only for anonymous users — users that are not logged in or haven’t added any products to their cart.
Personalization in Scripts
The first option, implementing personalization in separate JavaScript files, is what The Gap is doing.
The Gap uses scripts for user personalization so it can still cache the page’s HTML.
(To confirm The Gap’s approach, I disabled JavaScript in my Chrome browser at View > Developer > Developer Tools. Then, I clicked on the three dots to the far right, and selected “Settings.” “Disable JavaScript” is under the “Debugger” preference.)
Implementing user personalization in scripts allows caching of the page’s HTML. Then the scripts can modify the page after loading asynchronously.
Beyond using JavaScript for personalization, The Gap is caching HTML. How do I know this? Gap.com sets the standard HTTP caching header — x-cache-status — to report the status of cache resources. In the image below, the caching status of home page’s HTML says “EXPIRED.”
The documentation for Nginx (Gap.com’s server) states that EXPIRED means: “The entry in the cache has expired. The response contains fresh content from the origin server.”


After refreshing the page, the x-cache-status changed to HIT.
Anonymous Users
The Gap launched a new website that utilized the latest technologies. If, however, you need to cache HTML on an existing ecommerce platform, the anonymous user option might work better.
This technique is known as “punching a hole” in the cache. It works in the following way.
The web server or CDN will cache every page but avoids caching any request that meets exclusion criteria. The most common is a session cookie that the application sets when users log in or add items to the cart. The cookie is necessary to track each user individually.
Here are some sample session cookies for popular ecommerce and content platforms.
Session Cookies (Wildcards * Mean Any Character)
Magento 1
Magento 2
admin| PHPSESSID|private_content_version
Again, these are cookies for users that have personalized content — such as those that log in or add items to their carts. Excluding their pages from the cache will not benefit them in terms of faster page speed. But they are likely a small percentage of total visitors. The rest will experience fast-loading pages.
Assume your site’s web server is Nginx, and Magento 2 powers your store. Here is the configuration setting to enable caching for anonymous users.
location /{ proxy_cache my_cache; proxy_cache_bypass $cookie_admin $cookie_PHPSESSID $cookie_private_content_version; # … }
Enabling this on a web server or load balancer will increase performance. But the greatest benefit would come from implementing this on the CDN layer.
Here is how to do this for popular CDNs. Be sure to confirm with the CDN, however.
Finally, for some sites it is not possible to find cookies to bypass. In those instances, we can explicitly cache key pages such as the home page, primary category pages, product listing pages, and product detail pages. A disadvantage of this approach is that the rules must be updated for new pages and categories.

Web Development Quotes

Paul Cookson
Websites promote you 24/7: No employee will do that.

Ethan Marcotte, Responsive Web Design
If you’re already a front-end developer, well, pretend you’re also wearing a pirate hat.

Read more

Using Alerts in Google Analytics For Slow Site Speeds

Site Speed Alerts

The “Custom Alerts” configuration section in Google Analytics is behind the gear icon in the lower left of any page and under the “View” column.

The “Custom Alerts” configuration section is behind the gear icon in the lower-left of any page and under the “View” column.

To create a new alert, click Custom Alerts > New Alert.

To create a new alert, click Custom Alerts > New Alert.

For this example, create an alert via email and text if the home page for mobile takes greater than 10 seconds to load, on average, on any day. Here are the steps.

  1. Assign a name to the custom alert.
  2. Apply the alert to one or more Google Analytics views.
  3. Select “Day” as the period, so it notifies for all days.
  4. Select to be notified by email, text, or both.

Google Analytics offers limited alert conditions by default. There’s no way to select multiple conditions, such as home page only and mobile only.

So, for this example, create an advanced segment to identify only the home page for the mobile version of my website. Save this Custom Alert for now — by selecting that this alert condition applies to “All Traffic” and to alert me when “Avg. Page Load Time > 10 seconds” — and edit it after you create the advanced segment.

Save this Custom Alert and edit it after creating the advanced segment. For now, select that this alert condition applies to “All Traffic” and notify when “Avg. Page Load Time > 10 seconds.”

Add advanced segments to the Custom Alerts by going to “Personal Tools & Assets” section in the same “View” column and clicking “Segments.” (I’ve explained how to create advanced segments.)

Add advanced segments by going to the same “View” column and clicking “Segments.”

Alternatively, any report in Google Analytics has the configuration area to create or apply advanced segments. From any report, click “All Users.”

Any report in Google Analytics has the configuration area to create or apply advanced segments by clicking “All Users.”

Then, click “New Segment.”

Click “New Segment” to create an advanced segment.

In this example, the mobile home page is distinct from desktop, so I need to enter the mobile home page URL.

Enter the mobile home page URL.

If the mobile and desktop had identical URLs, I would apply “Device Category” contains “mobile.”

Apply “Device Category” contains “mobile” if URLs are the same for desktop and mobile.

Return to the Custom Alert and update it to apply the advanced segment. Save the updated alert and you are set.

Apply the advanced segment to the Custom Alert. Save it, and the process is complete.

Continue the process for any pages to include in the alert and for any other segments, such as device, country, or source of traffic.

Google generally sends alerts around noon following the trigger date.