At this year’s National Conference of State Legislatures (NCSL) Legislative Summit in Los Angeles, the Commonwealth of Massachusetts took home the NALIT/LINCS Online Democracy Award for the best legislative website in the country. Tallan has worked hand-in-hand with the Massachusetts General Court for the better part of a decade, and this is the second time we have helped them take home this prestigious award. This is, however, the first time we’ve done it with a complete website redesign from beginning to end. This will be an exploration of some components of the redesign, and what helped make it such a successful effort.
A key component of any government website is accessibility. Designers and developers need to make sure that all information is available to all users through the same interface. With Massachusetts, we approached every feature or idea by asking…
SignalR is a library in ASP.Net that allows the real-time updating of data between server and client. It proactively pushes content to connected clients instead of waiting for the clients to send a request. This can be leveraged to replace polling and eliminates the need to refresh pages. SignalR also allows management for connections between servers and clients to determine this real-time communication. This functionality can be used from anything ranging from, but not limited to, games to notifications. In this post, I will examine the basic components and set-up of SignalR for an ASP.NET Web App.
There are two main pieces to using the SignalR API: Connections and Hubs.
Connections are the endpoints that represent a user and are used to send content in broadcasts. They can be sent by themselves, or to groups of subscribed users, allowing for greater control…
This post is based on a StackOverflow answer by Oliver Wienand that I came across while researching the AngularJS pattern described below.
Data binding between controller and directive in AngularJS can be a tricky subject for the uninitiated (and often, even for the initiated). AngularJS is great at providing the magic that makes data flow easily between components on the front end – except when it’s not. This post is an examination of one of the cases where not everything is straightforward.
Passing a callback function into a directive with isolate scope is simple – just a matter of creating the binding in the scope definition (callback: ‘&’). However, there is no built-in equivalent for exposing a directive function to the parent directive or controller. That is, if we have the (truncated) directive definition below, we’re going to have to do some…
“Hey Google, how can my business be at the top of all of my clients’ search results?” Between Siri, Google, Alexa, and Cortana, searching for anything and everything has never been easier. As technology becomes more and more hands-off, businesses need to be more hands-on in ensuring they can keep up with the times.
By the end of 2019, at least half of all searches will be voice searches – this includes not only personal queries such as “What’s the weather”, but more business-related questions like “Where is the closest place for me to replace my tire today”. According to market research, 76% of people who search for something nearby on their smartphones visit a related business that day, and 28% of those searches result in a purchase. Smart speakers also add to voice search analysis. Nearly one in five U.S….
The biggest thing we take for granted in the current mobile-dominated web is that everything “just works”, no matter what size or type of device you’re on. But what’s the real impact of that expectation?
For customers, the frustration of needing to switch devices can be more than enough to turn them away from a certain product. For product owners, there’s an expectation that everything needs to be created in parallel to be desktop-friendly, tablet-friendly, mobile-friendly, and to have an equal native mobile app for every platform, which can quickly add up in cost. And for developers, there’s the fact that now you have to actually make all those versions of the same app, across completely different technologies for web and native, and have them work similarly enough to not raise any eyebrows.
But luckily, there’s a new way of doing things,…