Oh Dear is the all-in-one monitoring tool for your entire website. We monitor uptime, SSL certificates, broken links, scheduled tasks and more. You'll get a notifications for us when something's wrong. All that paired with a developer friendly API and kick-ass documentation. O, and you'll also be able to create a public status page under a minute. Start monitoring using our free trial now.

A new design for Ignition

Original – by Freek Van der Herten – 5 minute read

A couple of years ago, Ignition became the default error page in Laravel.

Ignition provided a vastly improved design over Whoops: it brought Laravel specific niceties (such as showing the routing, queries) and the ability to display and even run solutions (e.g. generating an app key).

At Spatie, we think we can improve the design of Ignition even more. Our initial plan was to release this new design in tandem with Laravel 9 as a big bang surprise release. We've changed our mind on this because we'd like to have feedback from the community.

In this blog post, I'd like to share our ideas and plans for Ignition.

An improved design

The most visible change is that we're tinkering with a new design. Here's the latest version of our mockup:

screenshot

The current release version of Ignition has a lot more empty space. The information density has increased in our new design; there's more information on a smaller space.

When viewing Ignition on a larger screen, you can see that we make better use of the space. Click on the image to see it in full size.

screenshot

For reference, here's how the current Ignition version looks like:

screenshot

And of course, there's also a beautiful dark mode for people that claim that white-based things hurt their eyes.

screenshot

One thing that we didn't like about the current Ignition version is that you have to click to see the other tabs like "Request", "App", "User", and so on. You can still click those names in the heading in the new design, but you can also scroll down. No clicks needed anymore to see all the info.

screenshot

In the header of the new design, you'll also see a button that brings you to the Laravel docs. A neat thing is that you will get brought to the correct version of the docs (so, in Laravel 8 app, that link will point to v8 of the docs).

Of course, when the new Ignition design is launched, we'll also update how exceptions are shown in Flare to match Ignition.

Sharing exceptions

We'll also bring changes in how an exception can be shared via Flare. On the current Ignition page, you'll get a menu where you'll get an admin link and a public link after an error is shared. The idea is that you can send the public link to persons that you'd like to share your exception with. The admin link can be used to delete the shared error if needed.

In the new version of Ignition, this will work differently. We think that it's better for everyone if we don't store exceptions indefinitely. That's why we are going to keep a shared error only around for one day. This way, you can safely share data knowing that we'll scrub it from Flare quite fast.

A simplified codebase

Before starting implementing the design, we cleaned up the current codebase. Facade/ignition is quite a heavy package, and we wanted to simplify it. That's why we split it up in two new packages: spatie/ignition (which is framework agnostic) and spatie/laravel-ignition (which contains the Laravel specific bits).

These two packages feel much lighter, making them easier for us to maintain. We decided to put the new versions of Ignition on our own Spatie GitHub organisation as the legal entity behind Facade is winding down.

There isn't a stable version tagged of spatie/ignition or spatie/laravel-ignition just yet, but it all should work. If you're feeling adventurous and want to provide us with feedback, please try them out.

We can only dream, but it would be pretty cool to see Ignition being used by developers of Symfony, WordPress and other frameworks.

Moving forward

facade/ignition will remain the default error page in Laravel 8. We'll also continue maintaining it for Laravel 8 and below.

spatie/laravel-ignition will be compatible with Laravel 8, so those who want to switch after a stable release is available. If all goes according to plan, Laravel 9 will use spatie/laravel-ignition as the default.

In closing

I hope that you like the changes we have in store for Ignition.

As mentioned above, we didn't implement the new design shown above just yet. It's now in the idea phase. In the next couple of weeks, you'll see us add it to spatie/laravel-ignition.

We welcome your feedback on the new design and our plans. Let us know via Twitter or comment below this post.

If you like the design, also thank my colleague Willem, he's the one that makes everything cooked at Spatie look pretty.

Stay up to date with all things Laravel, PHP, and JavaScript.

You can follow me on these platforms:

On all these platforms, regularly share programming tips, and what I myself have learned in ongoing projects.

Every month I send out a newsletter containing lots of interesting stuff for the modern PHP developer.

Expect quick tips & tricks, interesting tutorials, opinions and packages. Because I work with Laravel every day there is an emphasis on that framework.

Rest assured that I will only use your email address to send you the newsletter and will not use it for any other purposes.

Comments

What are your thoughts on "A new design for Ignition"?

Comments powered by Laravel Comments
Want to join the conversation? Log in or create an account to post a comment.