Tallan Blog

Tallan’s Experts Share Their Knowledge on Technology, Trends and Solutions to Business Challenges

Category Archive for "Web Solutions"

State Management with Angular & Redux

Before the chaos of 2020, I was dealing with chaos in the form of application state.  I was working on an Angular reporting project and we were using dynamic components powered by ChartJS and dealt with data managed in ag-grid.  Very quickly I realized that state was going to be a huge issue, since a single dashboard of the application would be littered with charts that would all be filtered via slicers. Ultimately a user could click then through a chart to a grid of the underlying data; shades of a from-scratch PowerBI report or visual. I had heard of the Redux pattern and how it was a game changer for Facebook’s application state (technically FB’s pattern is FLUX, but Redux is inspired by it), so I decided to do some digging, and found that it would work great for…

2019’s Top 5: Most Viewed Blog Posts

Now that COVID-19 has completely derailed any strategy and subsequent plan to achieve Q1 goals and we are all continuing to adjust to the ‘new normal,’ we’re thrilled to present our curated list of Tallan’s top viewed blog posts of 2019.
It’s no surprise that the top two posts are both about developing in an Azure environment. Microsoft Azure was awarded a highly sought after contract from the U.S. Department of Defense (DOD) in October of last year. You can read the statement published by the DOD here.
Importantly noted in the statement, is that the DOD has not aligned with any one vendor or provider for their cloud strategy efforts, “Today the Department of Defense has taken another step forward in the implementation of our Cloud Strategy with the award of an enterprise general-purpose cloud contract to Microsoft.  This continues our…

Coding an Email Template

You’ve just been assigned to code an Email Template by your Project Manager, and you have no idea where to start. If you are put in this unfortunate position, you should first ask if you can simply use an already established email service, which includes support. If that proves to be fruitless, you will have to write your own. Writing email templates gets frustrating fast due to its incompatibility with CSS and the inconsistency between Email clients such as Gmail vs. Outlook.
CSS Incompatibility
The first step with dealing with CSS incompatibility is to break the cardinal rule of front-end development completely; you have to inline-style your CSS code. I can feel your contempt for me right now, but it’s the only way to guarantee your styling is rendered properly. 
Example:

Tables          
When creating the layout for the HTML code, you…

a new ASP.NET Core Web Application

Creating Secure AJAX HTML Forms in ASP.NET Core MVC, Part 2: Preventing Cross-Site Request Forgery Attacks

In Part 1 of this two-part series, I showed you how to secure HTML forms from XSS and SQL Injection attacks by implementing client-side and server-side validation. In Part 2, I will show you how to build an HTML form that submits using AJAX and how to protect it from Cross-Site Request Forgery attacks.
HTML forms are one of the most common ways for a web application to accept user input. However, in this modern age, it is best practice not to reload the page whenever an HTML form is submitted. AJAX is one tool we can use to submit a form and provide feedback to the user without reloading a page. Implementing your application this way comes with inherent security concerns. One of those concerns is Cross-Site Request Forgery Attacks. This type of attack can be carried out on virtually…

Creating Secure AJAX HTML Forms in ASP.NET Core MVC, Part I: Client-Side and Server-Side Validation

In this two-part series, I will show you how to create a secure form that submits using Ajax. In part one of this series, we will create an HTML form and secure it from XSS and SQL Injection by validating user input through client-side and server-side validation.
Most modern websites have a need to take in information from a user. This is commonly done through HTML forms; the user enters information into form fields and the website submits an HTTP POST request to the server. The server can then use this information and/or store it to meet a wide variety of business needs. However, allowing any information from any source can prove disastrous for a system and is commonly the point of attack for malicious parties. SQL injection, Cross-Site Scripting (XSS), and Cross-Site Request Forgery (CSRF) are common ways a malicious…

How to Avoid ADA Litigation: 5 Ways to Improve Your Website Accessibility

Introduction
Lawsuits filed under Title III of the Americans with Disabilities Act (ADA) related to web accessibility increased 177% from 2017 to 2018. Court decisions as recent as October 7, 2019 have left businesses open to more accessibility lawsuits. While public entities have had to comply with web accessibility for decades, the topic has quickly become more of a concern for private businesses than it has ever been. Unfortunately, not every private business has the resources to address these concerns. Luckily, there are some general principles and low-hanging fruit that you can address to make an effort to improve the accessibility of your website. Here are five of them:
Every business should strive to deliver a web experience that translates to any user. This includes users with visual impairment, deafness and hard-of-hearing, motor impairment, cognitive disabilities, and any other users of assistive technology (AT)….

ngrok example

Tunneling Connections to Localhost Using ngrok: Why and How

Anyone who has done web development for any significant length of time has probably had one or more of these situations arise:

I need to expose an API or webhook running locally to an external service or application
My application has external services or integrations that require special handling or emulation when developing locally
I want my deployed application or service in a higher environment to call the endpoint(s) that I am running locally

The common problem here is the need to expose a locally running endpoint to an external service or application. Enter ngrok (https://ngrok.com/).
Ngrok solves this problem by creating and exposing a public url on the ngrok.io domain, and then forwarding the traffic that arrives at that endpoint through to a specified localhost port. Conceptually, it looks something like this:

This diagram was taken directly from https://ngrok.com/product, where the curious can find a…

Tallan Blog Featured Image

User Experience…What’s That?

Last Thanksgiving, I had the opportunity to mingle with the family members that I rarely get to see which inevitably leads to the predictable small talk question of “so what are you up to?” It was around this time I had just started a position in the User Experience (UX) practice at Tallan and the concept of user experience was still fairly new to me and completely unknown to the person I was talking to.
Commence Small Talk:
“So, user experience huh? Tell me more about it”
“Well…it’s not easily defined”
“Give it a shot.”
You ever have that moment when you are explaining something, and you can tell you have lost the person on the other end of the conversation? This happens to me often, but in this moment, it happened quicker than usual as I attempted to use imagery of Apple, Amazon and…

Designing & Developing The Award-Winning malegislature.gov

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.

Accessibility First
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…

Using SignalR for a Real-time Web App

Overview
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.
Components
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…

\\\