• Performance Improvements and Fixing Memory Leaks within an AngularJS Application

    Introduction It can be easy to fall into bad practices, introduce memory leaks, and create unresponsive web applications for individuals that are new or inexperienced with using AngularJS. The purpose of this post is to help others decrease and be aware of common issues while utilizing AngularJS. This post has... more

  • Style Guide Driven Development: Lessons learned

    From the trenches, Our experiences with Style Guide Driven Development Style Guide Driven Development (SGDD) is a technique of developing your UI components in a living “Style Guide.” There is no one set definition but the basic idea is that you develop a separate page or pages outside your application... more

  • Top 10 Reasons to Work at Aviture

    40 hours. 2,400 minutes. 144,000 seconds. That’s a lot of time to spend every week working somewhere you aren’t truly happy. That’s why, at Aviture, we make work a great place to be! The Aviture culture is encouraging, engaging, and inspiring. We have fun and work hard to develop innovative... more

  • Seamless-Immutable: An Alternative to ImmutableJS

    We’re using Redux on a project at work and a couple of months ago we decided it was time to ditch Object.assign and the spread operator in favor of an actual immutability solution for Redux. We used the following criteria to inform our decision: The library should leave a small... more

  • Leveraging Lodash to Lock in Lucid Language

    Introduction Around the beginning of (programming) time, the for loop was created. It was a really good invention. It provided a way to iterate over a range of elements in an array and perform an action on those elements. For example, a rudimentary approach to finding the max value in... more

  • Angular UI Routing and Components

    Angular UI Router has slowly been integrating support for routing to Angular components. This post will discuss why that’s useful, and how to do it using both Angular UI Router 0.x.x and 1.0.0-beta.x versions. Background With the introduction of Angular components in version 1.5, the concept of a stand-alone, reusable... more

  • HTML Point Labels in Cesium

    A primer on foregoing Cesium’s native labels in favor of using custom HTML labels to enhance user experience, and our developer experience getting to the current implementation. Background As the amount of user-defined data grew in our application, the ability to discern contextual relevance became increasingly important. In a map-centric... more

  • Automated Testing and ATDD with Gherkin, Cucumber and Protractor: Getting Started

    Introduction This post is about my project’s experience implementing Acceptance Test Driven Development of our web applications, the process around automating our Given, When, Then (GWT) specifications, the path we took, problems that surfaced, and how we dealt with those problems. The motivation for automated testing was a corporate mandate.... more

  • A New Approach to Designer-Developer Collaboration

    Static Images I’ve been on the prowl for several years now for the perfect solution to bridge that communication gap between designers and developers. I’m a “graphic” (read: print) designer turned web designer turned UX designer. Like many print-turned-web designers, I started with Photoshop as my primary communication tool. My... more

  • Using Webpack to Hot-Reload Your Backbone-Marionette-Ampersand Project

    Introduction First off, why an article on Backbone / Marionette / Ampersand? These libraries no longer capture the imagination of developers nowadays. However, a significant number of applications were developed with these libraries and many are still around! Our company has at least three projects still using this stack. During... more