The Security Questionnaire Dilemma

About once a year I get an email from someone working in a security and compliance department at a large organization asking that I fill out a detailed security questionnaire to help them assess the risk of their employees using Preceden.

I received one recently from a large, well-known company in Europe. In addition to an NDA, they asked I fill out a lengthy security questionnaire.

Here’s a sample:

It’s tough because they would wind up being one of Preceden’s largest customers and the deal would move the needle on Preceden’s revenue in a big way.

But, because I’m the only person working full time on Preceden and these security questionnaires come up so infrequently, it just hasn’t made sense for me to go through the process of getting a formal security certification which can cost tens of thousands of dollars and take months of work to complete. I know there are services like Secureframe these days that can help businesses get and stay compliant, but it would still be no small project to complete and it would come at the expense of lots of other product and marketing initiatives — and likely my sanity as well.

Maybe one day I’ll pursue a security certification and get all this paperwork in place, but not today.

When you ship a major bug before signing off for the day

For better or worse, I still handle all of Preceden’s support requests.

At one point I did have help (thanks Liesl!), but these days support takes at most an hour per week, and all requests fall into two buckets:

  1. Things I can deal with in 30 seconds (like refund requests)
  2. Things that only I can handle, like bug fixes

As a result, there hasn’t been a pressing need to outsource support.

But even though support only takes about an hour per week, I’ve had this bad habit of checking support frequently at night and on weekends. It’s been common for me to pull up the Help Scout app on my phone right before bed, which I think we can all agree is a bad idea.

So, lately, I’ve been trying not to check support after 5pm. It helps me focus on my family after work, and not get sucked into thinking about things right before bed. It’s been a good decision, mostly.

But yesterday around 4pm I rolled out an update to fix a small bug. I tested things on my end, though not thoroughly, because it seemed like a low risk update.

Turns out that my fix caused all timelines using custom fonts (ie, not the default Proxima Nova) to throw an internal server error. And a lot of users use custom fonts.

I didn’t check support before signing off for the day yesterday, and then due to me trying to check support less frequently, I didn’t check it again until this morning, where I was greeted with two dozen support requests about Preceden being broken including:

  • “Hello, I have an urgent request, we are getting into a meeting and see one of our timelines is throwing an error.”
  • “I need access to my timelines! When will they be working again? or when will someone be able to help me?”
  • “Why am I unable to access my timelines? I can see them on the dashboard but when I click into them to access and/or edit I receive an error message!”
  • “Hello, we cant open our timelines. We always get HTTP 500 Error. Could you check this please? We have a meeting today and would like to use our timeline. It would be great if you could fix it today.”

Not great.

I quickly fixed the issue and posted an update, though due to the duration of the issue it was no doubt very frustrating to many of Preceden’s customers.

The question is what to do to avoid it in the future. A few options:

  • Don’t ship in the late afternoon.
  • Check support once in the evening around 8pm to see if anything is on fire.
  • Hire someone to check it for me on nights and weekends, and give them a means of notifying me if there’s a big problem.
  • Hire someone to handle support/documentation, and their responsibilities would include checking it periodically on nights and weekends.

I’d like to avoid hiring someone if I can help it. I can’t think of the last time this happened and I don’t want to make a big change because of an isolated incident, but also do want to avoid it happening again.

Checking once in the evening might be my best option for now. We’ll see.

Don’t Self Host Unlicensed Proxima Nova Fonts

I’m a big fan of the Proxima Nova font and have been using it on Preceden for years:

For a long time I was loading Proxima Nova on Preceden via Typekit (a hosted web font service) for $49.99/year, but at some point I decided to self-host it to avoid the third party request which improved Preceden’s performance metrics.

Turns out this is not such a good idea because I recently received this email from the licensing department for Mark Simonson, the creator of Proxima Nova:

Hello,

I’m writing to you from Mark Simonson Studio, the creator of the Proxima Nova that you’re using on preceden.com.

Unfortunately we cannot locate an appropriate license for this use in our records. We know that font licensing can be confusing so we are here to help ensure that you have the proper license for these fonts.

If you did purchase a web license from one of our distributors, please let us know. If you send us a copy of your receipt and/or license, we will update our records accordingly.

If you do not have a valid license for these fonts, we kindly ask you to purchase one, which you can do here: licensing-assistant.marksimonson.com/s/…

Let me know if you have any additional questions-we’re here to help!

Thank you so much!

I had stopped paying for Typekit at some point (now called Adobe Fonts) so inquired whether I could simply resume paying for Adobe Creative Cloud, which would give me access to Proxima Nova. He responded:

Hello Matt,

Thank you for getting back to me.

The issue here is that your use is only covered by your Adobe CC subscription if you load the fonts according to Adobe’s guidelines: helpx.adobe.com/fonts/using/font-licensing.html#server

By self-hosting the font files, as is the case now, you are not covered by your Adobe CC subscription and are required to hold the appropriate license.

Please keep in mind that when you self-host the font rather than using it according to Adobe’s guidelines, we, as a foundry, unfortunately do not receive any payment for our work.

You can switch to Adobe Fonts, but as our team already witnessed this infringement, we kindly ask you to purchase the correct license : licensing-assistant.marksimonson.com/s/….

Thank you fo your cooperation and understanding, and please let me know if you have any questions!

Fair enough.

After some additional back and forth, I learned that they use some service to check for high-traffic sites that self-host Mark Simonson’s fonts. They seem to have reliable monthly traffic numbers for the sites too, which matters when you purchase a license, since it’s based on your monthly traffic.

I went ahead and purchased a $450 license a cover the prior year of usage. Part of me wanted to ignore it to see whether and how it would escalate, but I do still love Proxima Nova and have gotten a lot of value out of it, so was fine paying its creator and avoiding further drama.

As far as switching over to Adobe Fonts, you can purchase a yearly subscription to InCopy (the cheapest product in the Adobe Creative Cloud suite) for $59.88 + tax which gets you unlimited access to Proxima Nova and other fonts, assuming you load it properly and don’t self-host it.

In the end, they said thanks, and closed my case:

Hello,

Thank you so much for purchasing the appropriate font licenses – we really appreciate it!

We can consider this matter closed and we’ll update our records accordingly.

Thanks again!

One of a million little things you gotta deal with running your own SaaS 🤣.

Introducing Preceden’s new AI-Powered Timeline Generator

For the past few months I’ve been heads down building an AI-powered timeline generator tool for Preceden, my SaaS timeline maker software:

The tool – which is free to use and available on Preceden’s homepage – lets you type in a topic or detailed description of a timeline and it will generate a beautiful visualization for you in less than a minute.

Most of you reading this won’t have ever used timeline software, so let me take a step back and give you some more context.

The old way

The majority of people seeking out timeline software are using it for 1 of 4 use cases:

  1. Project planning – for example, a project manager looking to visualize a complex project plan
  2. Historical timelines – for example, a student tasked with creating a timeline for a class project
  3. Legal timelines – for example, a lawyer creating a timeline about the history of a case
  4. Fiction writing – for example, an author using it to hold together their fictional worlds

There’s no shortage of timeline software out there for these people to choose from – at least 28 by my count (and that’s just ones that call themselves timeline software, not counting the thousand other planning tools that have timeline features) – and they all basically work the same way:

  1. Sign up for an account
  2. Manually enter details about each event (its name, dates, etc)
  3. The tool will render those events in a timeline visualization

Preceden – which has been around since 2010 – has always worked this way too:

Timeline software usually requires you to manually populate your timeline with events

The new way: ChatGPT to the rescue

The launch of the ChatGPT API earlier this year presented an opportunity to rethink this old, manual approach to creating timelines.

After all, ChatGPT was trained about 570 gigabytes of data sourced from books, Wikipedia, research articles, and much more, so it is aware of many of the topics that people may want to create a timeline about:

ChatGPT knows a lot about well-known historical events

At a high level, this new AI-powered timeline maker is taking the topic you provide it, asking ChatGPT for information about it, and then automatically generating a timeline using that data:

Getting this to work well for for all of the use cases I mentioned earlier, in any language, for hundreds of different date formats, with a seamless and beautifully-designed UI (hat-tip WebPraktikos, Preceden’s designer, for his work there), and without glaring issues (like hallucinating historical events that never actually happened), has been quite a project 🤣.

I soft-launched a v1 of this tool at the end of May and have since viewed thousands of timelines that people have created with it, each time looking for opportunities to improve the quality, and adjusting the prompts and code accordingly so it’s a bit better for the next person to use it.

There are still quite a few issues, but it works pretty well for 90%+ of searches these days.

I’ll share a few examples below 👇.

Historical timelines

Albert Einstein

In addition to figuring out the key events to include in the timeline, Preceden also organizes those events into layers and determines meaningful icons to display beside each event.

OpenAI

Note that this timeline includes accurate events from 2023, well past ChatGPT’s September 2021 knowledge cutoff date. Figuring out that piece was… fun 😉.

London 1960-1970

The tool also supports date ranges which many users include to focus their timeline on a specific time period.

Segunda Guerra Mundial

By default, Preceden will detect the language from the topic and generate the timeline in that language, though users can choose a specific language from the language settings:

Each time I see someone using a new language, I add support for it so the tool works seamlessly for future users. This also requires adding support for each language’s diverse date formats 😱:

Project Planning

Startup Marketing Plan

For project managers, this tool can create high level plans for a wide variety of projects given just a simple description of the project. This will usually need to be edited to tailor it to the specifics of the project (like removing some of these AI-generated events, adjusting their dates, and adding your own events), but it can save users a lot of time vs creating the project plan from scratch.

Note too the current date line in red, which makes it easy to get a sense of when the project kicks off relative to today’s date.

Product Launch Roadmap

To my surprise, many users also type or paste in long, complex project descriptions, hoping to generate a timeline that reflects all of the details in their description. For example, the timeline above was generated using the following description that begins with:

Product launch roadmap: Research (Jul – Oct 2023) – Study the European market and consumer behavior. Understand the product thoroughly, its USP, and potential market demand. Identify competition, market trends, and potential roadblocks. Define business objectives and marketing strategies. Regulatory Compliance (Aug – Oct 2023) – Ensure the product meets European product safety standards...

Once again, this saves project managers a ton of time compared to building the timeline from scratch.

Legal

Civil Litigation Case Example

ChatGPT won’t know the specifics about most personal legal matters, but the timelines it generates can serve as a useful template to get started with, and just in general helps show people evaluating Preceden some of its capabilities.

Fiction Writing

Zombie apocalypse starting Aug 1, 2023

Writers can use this tool brainstorm stories and help them hold their fictional worlds together (ie, ensure the characters and plot points are consistent and flow well over the course of the story).

Jedi training plan

Even if you’re not a writer, it’s fun throwing random topics into the tool and seeing what it comes up with.

What’s next

While the tool is pretty good for most searches at this point, people type in all sorts of crazy things, some of which it doesn’t handle well right now. URLs are just one example (imagine if you could paste in a URL, and Preceden would scrape the content of that page and generate a timeline about it).

I’m also excited about the possibility of building a deeper ChatGPT integration into the app itself. For one example, imagine if you typed in a project description in Japanese, then the entire homepage (and in-app experience?) would automatically update to speak to that intent, and it all be in Japanese instead of English. Lots of opportunities along these lines.

If you wind up checking out the tool, I’d love any feedback you have: matt@preceden.com.

Thanks for reading and happy timelining 👋.