As a company that provides an array of different services for clients, one of the things that we’ve always had to do is manage which employees are assigned to which projects. This includes making sure that their skill sets line up with the project requirements, knowing when team members will be available to move to a new project, and making sure that no one is either over or under utilized. This process is called “resource allocation.”
One of the major points that companies must consider these days is how to store, sort, and manage the user data they receive. Especially since the implementation of online information regulatory policies such as the General Data Protection Regulation (GDPR) and the California Consumer Protection Act (CCPA), companies must take care to ensure they are managing, storing, and deleting user data in accordance with the applicable regulatory standards.
As I discussed in my post Designing Cross-Cultural User Experiences, designers must consider a myriad of points when creating a product that is both accessible and enjoyable for people of multiple countries and cultures around the world. Because different people experience the world through different cultural lenses, it is important to consider how the design of an application is interpreted in different places.
Recently, I have been working on a migration project for a client that has presented a number of interesting challenges. In this blog post, I will identify some of the challenges we have faced on this project and discuss the solutions we developed to combat them.
At Grio, we offer a wide range of services focused on helping our clients optimize their web presence. One such service is A/B testing. A/B testing, also known as split testing, is a marketing experiment that compares two versions of your content by “splitting” your audience and analyzing which variation performs best. In other words, you create a variant of your content, then show version A to one half of your audience and version B to the other half and analyze the results.
Elixir is a dynamic, functional language designed for building scalable and maintainable applications. It leverages the Erlang Virtual Machine, which is known for running low-latency, distributed, and fault-tolerant systems. In this post, I’ll talk a bit about Elixir’s history and current uses, and demonstrate some of its basic types and functions.
On November 2, 1988, the Morris worm became one of the first large-scale attacks on the then-nascent Internet. Robert Morris, a Cornell student, had intended to write a program to measure the size of the Internet — but thanks to a bug, his program ended up shutting down thousands of computer systems.
Recently, my Grio teammates and I supported one of our clients in migrating their Ruby on Rails application from Heroku to AWS. The motivation for the switch — namely, a need for more power and flexibility as the app evolved — is one that many growing companies share; in this blog post, I’ll give a high-level overview of our process and considerations, which I hope will prove helpful (or at least interesting!) to others who are embarking on their own migration journeys.
Good estimates are extremely important to us at Grio. The process of estimating the time and resources required to complete a project helps us understand a client’s needs, forces us to think through all of the dependencies and tasks, and reveals opportunities to better align our technologies and methods with the client’s interests. More importantly, good estimates build trust — our clients deserve to know exactly what they’re committing to when they hire us for a project, and as we go through the steps of creating an estimate, we’re demonstrating our ability to ask insightful questions and come up with a clear project plan.