Whether it’s frontend architecture, backend infrastructure, devops or developer experience, there is so much you can do to optimize your digital product. At Crafted, our team utilizes all of the following when building from scratch, some of the best practices below will allow your software to achieve long-term, sustainable success.
Simply put – build the next version of your app as a progressive web app (PWA).
When it comes to the frontend, speed and responsiveness are everything. It’s not just a UX benefit anymore. It’s a proven fact that a faster experience on the web directly contributes to the success of a product. Whether it is the benefit of increased visits due to the SEO bump, or increased conversions for mobile users, teams must build with performance and mobile at the forefront of a product’s strategy.
Managing servers and infrastructure is tough. Moving your stuff to the cloud doesn’t automatically make things easier either. Containerizing your apps can help make this easier by virtualizing the entire application within what’s known as a container. A container is a lightweight standalone, executable image of your software that includes everything needed to run your application. This includes the application code all the way down to the metal of the server and operating system it runs on.
Containerizing is not just for your backend infrastructure. We containerize our frontend applications too, which make deployments and versioning much easier. You can even use containers to manage your local development environments. Doing so enhances development experience 10x by making it easier for new dev’s to get their setup processes complete. This is usually a huge headache and involves hours of skull crushing configuration that sometimes has awkward behavior depending on the operating system and configuration of your machine.
When it comes to managing the computing power and network connectivity to your app, nothing is simpler than not having to directly manage a server. Even with containers, your app can be a pain to manage due to the fact that you still have to handle the underlying computing instances. For that, we use ECS with Fargate on AWS.
With infrastructure as code, you can declaratively describe the type of infrastructure needed and deploy via a CLI. That means you don’t have to remember exactly how to click through that wizard on AWS or Azure. You can do this work once and re-use / tweak it for future projects. There is actually a maturity model that will be discussed on an upcoming AWS Webinar hosted by Nathan Peck that we’re excited about. The basics – start simple, but eventually you should be having all infrastructure containerized, scalable, and portable. Easy as pie, right?
More and more companies are making accessibility a priority. Some are not. Accessibility is what makes apps usable for those with impairments that include auditory, visual, cognitive, neurological, speech, and physical disabilities. Without accessibility, companies are limiting themselves to only serving able-bodied individuals, thus missing out on servicing over 55 million people in the USA alone. Not to mention, it’s just the right thing to do.
Contrary to popular belief, accessibility isn’t just beneficial for those with disabilities. It’s helpful for the folks who need to access mobile content with lower speed phones, the businesspeople who need to watch audio and visual content in a noisy space, and even the new parents who need to to hold newborns with one hand while also being productive with the other. It’s important for apps to keep all potential users in mind. That way, your product is able to be enjoyed by all.
In the past, accessibility has been an afterthought and only done to appease SEO checklists. For retailers who have implemented this through moral or legal obligation, they have realized the value of developing with accessibility in mind. Accessible apps will enhance your reach and overall bottom-line. Users will thank you later.
Moving on from the MVP means designing at scale. It does not mean that your developers should be writing custom CSS every time they need to implement a button on a page within your app. Design systems allow apps to scale by creating repeatable patterns that are inline with specific brand and UX guidelines. That’s all great, but the biggest benefit in our mind is code optimization through testing and iteration. Once something is built once, it gets tested. The more it gets tested, the more you fix. If that fix becomes part of a reusable component, your app just matured. The more mature your components, the more mature your software becomes. That means, all those accessibility nightmares, IE fixes, and mobile responsive bugs can finally become a thing of the past, permanently.
With these best practices, your software will be in a good position to achieve long-term, sustainable success. Unsure of where to begin? At Crafted, we work hard to make all of our digital products optimized. For this reason, our clients get what they need, and with great functionality. Contact us today and let us help you enhance your product through methods of optimization and more.