Helpful Tips Product

10 Questions with GoFullPage Founder, Peter Coles

GoFullPage is officially 10 years old! We’re kicking off the celebration with a conversation with our founder, Peter Coles.

On November 6th, 2012, Peter Coles initially released a browser extension called Full Page Screen Capture. 10 years, 6 million users, and tens of thousands of 5-star ratings later, we’re now called GoFullPage, and we’re excited to enter our second decade! We paused for a moment at our special “tin” anniversary to reflect and look back with Peter:

1. Take us back, why did you create GoFullPage in the first place?

Years ago I was designing a poster for a large foam board, and instead of using a design tool, my software brain foolishly thought it would be fun to lay things out on a web page. Once I nailed the design, I realized I couldn’t save a website to a pixel-perfect image. I tried some other screenshotting extensions in the web store, but none of them could correctly capture the full page. Instead of cutting my losses and redesigning the poster elsewhere, I decided to double down and write my own browser extension to get the job done right.

2. One of the most recognizable features of GoFullPage is our “hungry” progress bar. Where’d you get the inspiration? Also, tell us about those emoji fireworks on the welcome page 🎆🎇

GoFullPage’s progress bar

The extension has to scroll the whole page in order to create a full screenshot, so I felt it needed something a little extra as a progress bar. At the time my go-to website for loading indicators was (the site is no longer active unfortunately!) I looked through the options and found one that caught my eye:

Wayback Machine capture of the home page of from June 27, 2021

GoFullPage’s emoji fireworks

There’s a startup joke that your product isn’t a real product until it has a confetti feature… and when I was launching our premium offering it felt like it was finally time to make GoFullPage a “real product”. I hacked this feature together by searching for “emoji fireworks” on CodePen and then adapting one of the examples I liked to match my needs for the GoFullPage post-install welcome page!

3. What was your favorite early product feedback?

In my very first build, the extension popup had a button for “begin capture”. One of my coworkers at the time—Georges Duverger—gave it a try and asked me, “why do I have to click another button, why doesn’t it just start capturing the page immediately when you activate the extension?” I loved this feedback and it helped shape the central idea of making the extension as quick and simple to use as possible!

4. Favorite or most-used browser extensions apart from GoFullPage?

  • 1Password – password managers are really important for your own online security, and they are wildly convenient too
  • uBlock Origin – my preferred adblocker for a faster browsing experience
  • React Developer Tools – only useful for web developers, but I love using this extension for debugging React applications
  • Loom – super useful for asynchronous collaboration when I want to record a video that I can easily share
  • A variety of extensions that close tabs for websites that trigger a desktop app on my computer (e.g., Zoom, Figma)

5. We have a ton of users. Why do you think people choose our extension?

At the heart of it:

  1. It’s a single-purpose product that states clearly what it is and solves a common problem people encounter online (taking a screenshot of a full webpage)
  2. There’s very little time and friction to validating if it actually does what it says (it’s free to install and doesn’t request any extra permissions)
  3. It works better across the majority of the internet than the competitors (screenshotting a full webpage correctly across all the different types of websites out there is a lot trickier than it might seem)

With years of being available in the web store people have slowly found their way to the product, often citing in reviews that they “tried all the screenshotting extensions and finally found one that works.”

6. and why do they stay? 😎

Part of why the extension works so well is that we added a customer support integration. Our customer support channel allows users to report bugs including JavaScript errors and failed URLs. It has also allowed us to find and solve a huge variety of issues that would have been impossible to report any other way. We put a lot of effort into answering each and every customer support ticket with a thorough answer. This has helped us learn a great deal about what issues people run into with the product, and has allowed us to make a ton of fixes and improvements that benefit all users!

With bug reports, you can’t expect people to know how to report a bug and with no direction you’ll just get a lot of “it isn’t working” messages. The core information that we try to guide people to share is:

  • What actions did you take
  • What did you expect to happen
  • What happened instead

Ultimately this leads to a lot of rich conversations with users that are experiencing issues. We get insights into use cases, our UX, and even our product roadmap.

7. There’s a bafflingly wide range of webpage designs across the internet. How does GoFullPage make its capture decisions?

Tell me about it! In my own experience as web developer I am not only trying to create beautiful experiences, but also extremely functional and accessible websites. I pride myself in everything running on a very solid foundation. However, for GoFullPage, we need to deal with all of the web with everything people put out there, and it turns out web browsers put up with a lot of wild code.

When a capture happens, GoFullPage analyzes the code of the current web page to see how the page scrolls and attempts to standardize underlying layout rules for a consistent screenshot.

My two guiding principles for the product are:

  1. All capturing techniques need to be generalized. I can’t write anything to handle a specific website with specific markup. Instead, the code needs to identify general scenarios and solve them in general ways. Therefore, as websites and webpages evolve and change, GoFullPage will continue to work fluidly.
  2. Things need to just work. For example, there are no expert controls during the screenshotting step. While this can be frustrating for a user who wants something “simple” to be fixed, it wouldn’t scale over time and this ends up saving the product from getting overly complex and brittle.

8. Why did you launch GoFullPage as a free extension, and why did you create a paid premium option?

I originally built this as a little side project to solve a specific problem and put it up as open source on GitHub. I figured it’d be helpful to other people too and was excited when I saw rising install numbers on the extension, and even more so, when I got some issues and PRs on the repo.

Over time, the number of users grew massively and the work to keep things running smoothly was increasing. The customer support integration is critical to the extension being as effective as it is, and managing that alone was becoming unmanageable. So I sought a way to fund the continued existence of the extension and was determined to do so in an ethical way. As a result, instead of advertising or data harvesting, I decided to launch a premium service that provided editing, annotating, and more to the screenshotting. The original capturing remains free, but this provides a way to offer more to power users and to those who want to support the extension.

9. Any tips for extension builders working on their own?

Get out there and start building. There’s no cost to testing out an extension on your own computer and as you experiment and learn more, new ideas will come up as you learn what you can and can’t do with an extension!

Additionally, working on your own is really tough. It’s really easy to get distracted working alone. You’ll want to see what works well for you, but I enjoyed renting a desk at a friend’s office and I’ve used things like Coffitivity to give my own personal workspace a coworking space vibe, and therefore a different mindset. You’ll also want to lean on friends and previous coworkers for guidance, so you don’t get stuck in a rut or lose perspective on things. If another friend is building something too, you can become accountability buddies who check-in with each other and bounce questions off of each other. I find that it can be tough being in a long build phase before launching something, so see how you can share your progress with friends and testers so you have someone using it sooner!

10. What’s the most important thing you’ve learned after building an extension for 10 years?

I’ve built hundreds of projects from very small to large companies. Keep building—most things you build won’t be interesting to most anyone, but you’ll continue to learn as you do. And find a way to share what you build with the world. In this case, the Chrome web store was pivotal in this product getting the reach it did.

And if you feel like you can’t build something because you’re not a software developer, then know that there are increasingly more and more “no code” tools that allow anyone to build pretty sophisticated products. Here’s a recent blog post from Zapier about different tools and capabilities afforded by the world of no-code.

Happy building! 😄🏢

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s