Performant canvas rendering for modern browsers Lucidchart is one of the most complex graphical apps on the web, which means good performance is an absolute must. Getting that performance out of each of our supported browsers has always been a challenge, and we’ve found the best ways to meet that…

In August 2014, Lucid Software brought on a dedicated engineering team — including yours truly — to improve our users’ mobile app experience. After deciding to re-write the existing Lucidchart app natively (previously a Titanium app), my team members and I decided to use Swift instead of Objective-C. A complete…

At Lucid Software, we strive to build desktop quality software that runs in the browser. Until recently, however, we had settled for using our own internal clipboard implementation rather than the system clipboard — limiting copying and pasting with external applications to just plain text. With customers clamoring for the…

We recently used KissMetrics to measure the performance of our upcoming homepage test, which I wrote about on the KissMetrics blog. In that post, I mentioned my method of working backwards from your desired results to determine which reports to run. Once you know the latter, you can work out…

April 2014 was a time of transition for our rapidly growing team here at Lucid Software. Having just received a round of funding, the office was abuzz with excitement at the prospective growth and change. As part of this transitory phase, we recognized that our homepage was dated and in…

My thanks go out to Grant Klopper from The Guardian. Last week, he validated a change I made to the Play! Framework back in December. After upgrading from Play! 2.2 to 2.3, Grant noticed dramatic changes in response times and memory – both for the better. The changes were so awesome that Grant…

At Lucid, we deal with data—a LOT of it. Ever since we migrated our code to the Play! Framework, we’ve been leveraging the Anorm database access library provided by the framework. Being able to write our own SQL queries gave us a lot more control than using an ORM, and…

Piezo is a system to operate and manage a Quartz Scheduler cluster. It is made up of the Worker and the Admin. One of the main features needed before an official public release of Piezo was the ability to add, edit, and delete jobs from the admin interface. The bulk…

If I should call you up, invest a dime And you say you belong to me and ease my mind Imagine how the world could be, so very fine So happy together -G. Bonner & A. Gordon, “Happy Together”   What’s Missing from Quartz If you need scheduled tasks on…

Abstract Lucidchart is a collaborative diagramming SaaS application. This session’s speakers have been transitioning from a monolithic CakePHP application to a services-oriented RESTful system based solely on Scala. They discuss their decision to ditch PHP and how they ended up with a working set of services. First, they explain their…