Mobify Developer Blog Mobify

Get great mobile design and development tips in your inbox, right when we publish them.

CDN RUM and Eggnog


Welcome to the Great Mobify CDN Shootout. We have pitted several major CDN providers against each other in a RUM test for global supremacy, a Royal RUMble if you will. We want to show you how you can get the most value from what is otherwise an expensive and opaque world of complexity and hand-waving.

Read the full article →

Why Meetings Are A Waste Of Time And How To Run Them More Efficiently


Meetings are a waste of time

Do you ever get a meeting invite and dread going or wonder why am I here when you get there? I’ve made it a practice to not accept meetings that don’t have an agenda or clear objective.

One rule of thumb I use is the G.A.S factor (Give a Shit factor) — Why do you need me there?, Am I a collaborator?, Subject matter expert?, Decision maker? or Do I need to be informed? If it ticks any of these boxes then I feel much better accepting a meeting and will most likely not be a waste of my time.

Read the full article →

A Python guide to handling HTTP request failures


A lot of things can go wrong when requesting information over HTTP from a remote web server: requests timeout, servers fail, government operatives cut undersea cables. You get the picture.

Identifying and handling failures helps build fault tolerant systems that stay up even when services they rely on are down. A nice side effect is your phone is less likely to beep in the middle of the night with a message from your coworkers talking in all caps.

This guide will introduce you to the common ways HTTP requests fail and how to handle the failures.

Read the full article →

How to Use SQLAlchemy Magic to Cut Peak Memory and Server Costs in Half


We do a lot of A/B testing at Mobify, and that means a lot of analysis of the results. We collect and store data from many websites and need to be able to run analyses multiple times as we improve and modify our techniques.

Much of this work is done in Python, using SQLAlchemy for database access and Pandas for analysis. This post is about how we took an initial script that used a simple approach to reading data and reduced the peak memory requirements.

Read the full article →

DevOps 101: Best Practices for Optimizing and Automating Your Infrastructure


DevOps 101: Best Practices for Optimizing and Automating Your Infrastructure

Whether you're coming across the term for the first time, or you've been listing it on your LinkedIn profile for a couple of years now, it's likely that you are still faced with the question: What exactly do we mean by DevOps?

Whatever your situation, the good news is that if you like automating things and want to see what's going on with those tech hipsters and their fancy conference T-Shirts, you've come to the right place to learn more!

In this post I'll attempt to outline some of the common themes across the best environments practising DevOps, and communicate some of the top DevOps practices you can bring to your own dev environment.

Read the full article →