In your product, you ought to know in-depth information concerning feature usage. With that, you also should be interested in knowing when exactly a particular feature was touched last.In this article, we're going to solve the problem of getting click counts on different entities/pages of your website to find out when a particular page last touched.
To solve this problem, two main solutions come to mind:
Virgin Media Business recently predicted that 60% of office-based employees will regularly work from home by 2022. You’ve had enough of office life? Need a change? You don’t need to be stuck with the job positions offered by your local …
This week is all about API vulnerabilities. We found them everywhere: from client to cloud communications of Fortinet products to avatar hacks in Truecaller app, an authentication flaw in Nykaa Fashion, and yet another kids smartwatch system with almost total lack of security.
Researchers from SEC Consult have found bad implementation in various Fortinet products. Embarrassingly, these were security products, including FortiGuard Web Filter, FortiGuard AntiSpam, and FortiGuard AntiVirus. Turns out that the implementation of communications between their clients and their cloud backend left a lot to be desired.
The other day, Cassie Evans tweeted a really neat trick that I’ve never seen before: using SVG to mask one GIF on top of another. The effect is quite lovely, especially if you happen to grab a colorful GIF and place it on top of a monochrome one:
Considering I’ve never done anything with SVG masks before, I thought I could quickly look over the code and dissect it to see how Cassie made this rather lovely demo! The interesting thing about all this though is how rather simple it is.
To kick things off, we grab the GIF that we want to use as our SVG mask. We can fetch that from GIPHY:
Next we can begin writing our SVG directly in the HTML of the page: we begin by adding a tag which can be used to store assets that we’ll refer to in another part of the same SVG:
If you take a closer look at that <mask> element, you’ll see that Cassie has added an id="MASK" and this is how we’ll refer to the mask later on in the file, by pointing to this id attribute.
Now we can go ahead and fetch our next animated image (but this time a cool GIF of outer space):
Let's add that GIF into a <g> element and apply the mask attribute to it, like so:
SVG code can look pretty scary at first glance, especially if you’re not familiar with it. It might be best to break all this stuff up into two parts. First, defining the mask...
Everything indicates that load pressure over all kinds of applications is only going to increase: from small to big ones, from B2C through B2B. More companies will need teams that can deliver on the scalability promise.
Software testing plays a vital role in ensuring that the original output of a software product matches the desired output by offering certain test inputs to the software. Software testing is regarded as a vital step as it plays a vital role in finding the flaws and errors in the product within a short interval of time.
Software testing, or QA testing, is generally divided in two major categories, automated testing and manual testing. Automation testing refers to the execution of different tests with the aid of a script, in place of a human. This write-up discusses a few of the tips of automated software testing through Python.
Mule provides a set of policies beforehand, but there might be a requirement that is not covered by predefined policies. In such cases, a custom policy can be developed. The process is a three-step workflow:
Before diving into the development, setup Maven to create the required project structure.
In
settings.xml , under the
profiles section, add the below profile:
Relational databases are used when a project store structured data and has a fixed schema. They can handle a lot of complex queries, database transactions and routine analysis of data. Relational databases make data browsing very accessible, but even so, they still require complex SQL Queries. This can be time-consuming, especially for a beginner in SQL syntax.
Relational Data Browse, a feature integrated by DbSchema, is an optimal solution to this problem. In this tutorial, we’ll go over the functionality of this feature.
Biometrics Authentication Systems and artificial intelligence (AI) are among the most powerful weapons for fighting fraudsters in payment cards and the e-commerce industry. That was an important note from a recent presentation by MasterCard’s vice president for big data consulting.
In his recent virtual presentation on “Unlock the Power of Data” at Dell Technologies, Nick offered an inside preview of how MasterCard uses machine learning and artificial intelligence combined with biometric technology to make card transactions smooth and frictionless with an end to end robust security.
Telegraf is an agent that runs on your operating system of choice, schedules gathering metrics and events from various sources and then sends them to one or more sinks, such as InfluxDB or Kafka. For InfluxDB, version 1.x, 2.0 as well as InfluxDB Cloud are supported.
Telegraf can collect information from multiple inputs and currently includes over 200 plugins for retrieving information from multiple types of applications. It can also retrieve information about hardware and software from the OS.
The beauty of Appium for mobile testing is that its tests can be written in any programming language including Python, Ruby, Java, JavaScript, and C#. While we have covered extensive Appium tutorials, in this article, we'll walk through how to automate Appium tests in parallel against our real devices using TestNG Java sample tests.
PM is not just a very important person from the C-suite. They play a crucial role in the live cycle of any product of the company and they are really supposed to wear suits, but they don’t. Product managers are responsible not just for the technical side of the product, but of its heart and soul.
The main difference of PM from any management position is the necessity to be involved in the product creation directly. The manager is not about producing, but about understanding the techniques and showing the direction for all the teams, as the PM should have the final image of the product.
Being organized doesn’t mean you have to rely on one resource or a couple of organizational tools, whether you are an analog or a digital organizer. You can get the best features out of all of them to organize your chores and projects accordingly.
Some of the best work organizing tools are listed below that will help you get your affairs in order. Let’s take a look.
Front-end accessibility is still somewhat mysterious these days. How do we build accessible buttons and dropdowns? What about keyboard-friendly tooltips, tabs and notifications? Or inclusive accordions, sliders, data tables and modals? Let’s figure it out together. Meet Inclusive Components, our new handbook for building fully accessible digital products. Download a free sample PDF (1.1 MB).
At its heart, Inclusive Components is a detailed, practical handbook for building fully accessible interfaces. The book examines 12 common interface patterns — accordions, tables, modals, notifications, tabs, toggles, and everything in-between — through the lens of inclusion. The result is accessible and robust components we author, plug in, and use daily.
For years, Heydon Pickering, a seasoned front-end developer with a focus on accessibility, has been writing about accessible solutions. We’ve teamed up with Heydon to produce a book with common challenges and solutions that he’s been refining over all these years.
For each component, the in-depth explorations are meticulously illustrated and all solutions are available as bulletproof code snippets, applicable to your work right away. Bonus: you’ll learn how to build your own accessible components with inclusive design in mind — all in a single book. Jump to table of contents ↓
332 pages. Quality hardcover with a stitched binding and ribbon page marker. The eBook is available as PDF, ePUB, Amazon Kindle. Written and designed by Heydon. Download a sample PDF (1.1 MB).
Each chapter tackles a single component, addressing how different and vulnerable people might read and interact with it, and how they can be better accommodated. Download a sample PDF (1.1 MB).
1. Toggle Buttons
+
What does it take to make toggle buttons inclusive? To start off, Heydon takes a look at common pitfalls and what you need to keep in mind to do better.
2. A Todo List
+
You’ll learn how to build an integrated todo list component from the ground up. This doesn’t have to apply only to todo lists but also to making the basic creation and deletion of content inclusive.
3. Menus & Menu Buttons
+
Menus, dropdowns, subnavigation. There’s a lot of confusion happening around these terms. Why is this happening, why are WAI-ARIA semantics often misused here, how do we properly use “hamburgers” and “navicons,” and what do you need to consider to make your menus keyboard- and screen-reader-accessible?
4. Tooltips & Toggletips
+
Inclusive design is often about providing the user with the right tool for the job and the right kind of tooltip to go with that tool. In this chapter, we’ll be looking at situations which might call for a tooltip and learn how to formulate inclusive implementations for them.
5. A Theme Switcher
+
Offering alternative themes often represents a maintenance issue. This chapter explores how to make an efficient and portable React component that allows users to switch a default light theme into “dark mode”.
6. Tabbed Interfaces
+
What makes a tabbed interface a tabbed interface is in the ergonomics of its keyboard behavior. Heydon takes you step-by-step through the process of applying ARIA semantics to master the challenges that tabbed interfaces might bring along.
7. Collapsible Sections
+
Although implementing collapsible sections is rather simple, the interaction does not have a consistent native implementation across browsers. The tips in this chapter will help you turn your collapsible regions into web components that are easy to include as part of larger patterns and in content files.
8. A Content Slider
+
Carousels don’t have to be bad, but we have a culture of making them bad. This chapter explores how you can create something that fulfills a basic purpose without overloading it with features.
9. Notifications
+
When web pages undergo changes as you operate them, it’s important that users are kept abreast of changing states. This chapter looks at notification components and how they can increase confidence in the use of web applications, in an inclusive way.
10. Data Tables
+
Let’s explore what it takes to make your data tables screen reader accessible, responsive, and as ergonomic as possible for everyone. Plus a trick for fixing old layout tables that cause confusion for visually-impaired users.
11. Modal Dialogs
+
Modal dialogs are often contentious and problematic, so let’s reconsider if they really make sense for your use case and, if yes, examine them in the context of inclusive design thinking and performance.
12. Cards
+
The card component is the last component tackled in the book as it requires the most invention. So in this final chapter, we’ll look into a few permutations of a simple card component and find a balance between sound HTML structure and ergonomic interaction.
Heydon Pickering (@heydonworks) has worked with The Paciello Group, The BBC, Smashing Magazine, and Bulb Energy as a designer, engineer, writer, editor, and illustrator. He was shortlisted for Designer Of The Year in The Net Awards.
Heydon previously wrote Inclusive Design Patterns which sold over 10,000 copies. Proceeds from this title were donated to the ACLU and The Democratic Socialists Of America, to help these organizations fight fascism and create a more inclusive society.
Here’s what Heydon shared when asked why he decided to write this book:
“A few years back, I was getting bored with web design. Then responsive design came along, presenting me with fresh challenges. It made my life and my job interesting again. Then I discovered the world of web accessibility, and my enthusiasm was once again renewed. Some people seem to think I do web accessibility because I feel morally obliged, or that I would feel guilty if I didn’t.
While I believe strongly that all sorts of people should be able to access the web, I’m also grateful for the web accessibility challenges I’ve encountered, and covered in this book, for stimulating me, and giving my work new depth.
I have written this book because I want you to know how fun it can be to make your interfaces more accessible, as well as how accomplished you can feel for having done so. Thank you for reading this, and hopefully the book as well.”
Testimonials
“Inclusive Components is a very deep and thorough explanation of development of accessible components with real world examples. Heydon Pickering shows several alternative approaches and explains pros and cons of each. It’s also a pleasure to read!”
“Inclusive Components is chock-full of practical and comprehensive advice on building accessible UI. It’s my go-to resource after the official WCAG and ARIA documentation. I’ve found it extremely helpful when building our design system!”
“What Heydon achieves with his work on Inclusive Components is a pragmatic, friendly and approachable set of guides that help you to generate not just accessible components, but also resilient and progressive starting-points that will help you to build better websites and web apps in general. I often describe this work as crucial learning material for this exact reason.”
A preview of the book, with examples ranging from accordions to toggles, tables, notifications, dialogs etc. Download a sample PDF (1.1 MB). Large preview.
Why This Book Might Be For You
The devil is in the detail and often the things you do with good intentions can impose accessibility barriers unknowingly. Inclusive Components is for every front-end developer who wants to learn how to detect and address potential accessibility issues in their work. The book will teach you:
How to use <button> elements, how to apply styles to your toggle buttons, and how to label them.
How to create managed lists that allow users to create and delete content — in an inclusive way.
How to address and resolve accessibility issues with navigation menus and submenus (aka “dropdowns”).
How to create accessible and keyboard-friendly tooltips and toggletips.
How to create a “dark mode” theme that’s both accessible and maintainable long-term.
How to build an accessible content slider to prevent harm for motion-sensitive people.
How to create inclusive notifications with live regions to communicate with your users through visual and aural channels simultaneously.
How to create data tables that are semantically correct, responsive, and sortable.
How to build accessible dialogs and modal dialogs with performance and inclusive design in mind.
How to create and group inclusive cards (e.g. for teasers).
With Inclusive Components, we've tried to create a very focused handbook with applicable, long-living solutions and strategies to create accessible and inclusive interfaces.
Our hope is that with Heydon’s book, you will be able to make better design and coding decisions as you build your interfaces. Perhaps it will even become one of those reference books you’ll reach to every time you need to build one of those common UI components.
Producing a book takes quite a bit of time, and we couldn’t pull it off without the support of our wonderful community. A huge shout-out to Smashing Members for their ongoing support in our adventures. As a result, the eBook is and always will be free for Smashing Members. Plus, Members get a friendly discount when purchasing their printed copy.
Stay smashing, and thank you for your ongoing support, everyone!
Promoting best practices and providing you with practical tips to master your daily coding and design challenges has always been (and will be) at the core of everything we do at Smashing. In the past few years, we were very lucky to have worked together with some talented, caring people from the web community to publish their wealth of experience as books that stand the test of time. Alla, Adam and Andy are some of these people. Have you checked out their books already?