What you should know before making a service worker thumbnail

Service workers have arrived and they are awesome. They let you create excellent fallback behavior to provide users with seamless offline experiences. With service workers, websites are a step closer to giving users a native app experience in the web browser. With the help of service workers, Lucidchart can save…

QA: How to become a team hero and not a team villain thumbnail

Let’s face it: Sometimes being a tester can feel like being the bad guy. Much of your time consists of telling people when something hasn’t worked or when something needs improvement. When you’re the one consistently bringing up flaws, “staying positive” doesn’t always seem to fit the job description. But…

JavaScriptCore—10 Months Later thumbnail

Ten short months ago we published a blog post showcasing how Lucid shares code between iOS, Android, and the web. In that post, we highlighted a new feature that executed a subset of our shared JavaScript using JavaScriptCore, a WebKit framework for helping JavaScript inter-op with native code. Today we’re…

Why You Shouldn’t Integrate with a RETS Server thumbnail

Real estate is a large industry, and the agents who are a part of it are busy people. At Lucid we built out a solution that helps real estate agents save time when trying to sell properties. We did this by connecting the MLS data stored in sources like RETS…

Cryptography Techniques: A Simple Overview thumbnail

I’ve always loved learning about different ways messages are encoded. As a little kid I used simple substitution ciphers and created my own alphabets to encode messages to myself. From different books and my computer science classes in college, I learned more about cryptography. I found that, no matter how…

How to Plan a Successful Hackathon thumbnail

Lucid’s core values include innovation, passion, excellence, and initiative. And we consciously find ways to ensure that teams live those values: when you come into our office, you can even see these words among other values painted on a wall as a reminder.  One of the ways we promote Lucid…

ZoneTracker: Tracking JavaScript Performance with Zone.js thumbnail

Lucidchart is a highly performant web application. When editing a Lucidchart document, users expect a high frame rate and a responsive UI. To ensure a great experience, we track frame rate and UI stalls. This article describes how we leverage an existing library, Zone.js, to accomplish this. Prereq: The JavaScript…

How QA Transitioned from Biweekly to Weekly Releases thumbnail

I imagine it went down something like this: the VP of Engineering, director of QA, and some key engineers at Lucid were hanging out in a Star Wars-themed conference room one day when someone said: “Hey, we keep developing really cool features for our users. We should release every week…

An Ironic History of Agile thumbnail

In this week’s post, we’d like to take a step back from our usual topics and provide a brief history lesson from one of our resident engineers-slash-aspiring-anthropologists. Original source. “Agile” development was a peculiar sport played by “software engineers,” a type of indentured servant who made their living by tapping…

Streams and Temp File Cleanup: Fixing a Real Production Issue thumbnail

Mismanaging resources is one of the easiest ways to bring down a production system. In a development environment, it’s easy to ignore open streams and temporary files, but at production scale, they can have a hugely negative impact. Unfortunately, it’s far too easy to overlook these issues while developing, even…