Something awesome this way comes! OMGF Pro 3 has hit the virtual shelves at Daan.dev. I wanted to take a moment and inform you of the awesome changes this new release contains — and tease a bit of what’s to come. Let’s go!
It’s here, because of you.
I give credit where credit is due, and it may sound weird, but it’s true nonetheless. OMGF Pro 3 is here, because of you.
Since its launch last year, OMGF Pro has been sold about 1000 times, which is much more than I expected. But obviously, that’s not the only reason OMGF Pro 3 came to be.
It’s your feedback that got us here.
I turned every single piece of feedback into a task on my todo list and spent many hours researching the possibilities, fixing bugs, tweaking performance and UX and implementing new features.
And here we are. One year after v1.0, OMGF Pro three-point-O is here!
But what we really want to know is, what’s in the booox!?
Have you seen Seven? With Brad Pitt? If not, you should. It’s really good.
What’s new in OMGF Pro 3?
The coolest thing, by far, OMGF Pro 3.0 brings to the table is the completely revamped Automatic Optimization Mode (AOM).
Before v3, AOM was triggered upon each page request. Basically,
- Whenever someone visited one of your posts or pages,
- OMGF Pro checked for any Google Fonts being present,
- It would match those against stylesheets it had already generated,
- And if not, AOM would hit OMGF’s Download API to download the fonts and generate (and serve) the stylesheet accordingly.
At first, it might not seem alarming, but there’s one issue inherent to this method: downloading something/anything takes time.
Each time a visitor hit up a page, and Automatic Optimize Mode detected a Google Fonts configuration it didn’t encounter before, this visitor would have to wait multiple seconds before the page was fully loaded.
Obviously, this had to change.
From Semi- to Fully Automatic
Compared to its successor, the old AOM could be considered semi-automatic.
In OMGF Pro 3, Automatic Optimization Mode runs on a cron schedule and sports its own management panel.
The Automatic Optimization Mode (Pro) Task Manager allows you to:
- View its current progress,
- Control the batch size of each cron task, and
- Manually trigger a cron task.
But that’s not all, once you started OMGF Pro’s Automatic Optimization Mode, you’ll be informed of its progress through (dismissable) admin-wide notifications.
Seamless Integration with OMGF
OMGF Pro runs on top of OMGF, because it uses many of its features, e.g. the Fonts Download API and the Stylesheet Generation API.
However, one of OMGF Pro’s features didn’t get along nicely with OMGF till now: Advanced Processing.
Before v3.0, once installed, Advanced Processing would completely override OMGF’s Basic Detection mechanism.
OMGF Pro 3 gives you more flexibility when it comes to choosing which features you actually need to optimize your Google Fonts.
Advanced Processing uses a HTML5 validator to detect Google Fonts. This has many upsides compared to other methods. One important downside is that it might break your page’s styling if it contains invalid HTML.
In OMGF Pro 3, once Advanced Processing is disabled, allows you to resolve the following issues (among others):
- OMGF detected my Google Fonts just fine before I upgraded. After installing OMGF Pro my layout’s broken.
- I don’t need all of the Advanced Detection methods, I just want to combine all Google Fonts requests on my pages.
Once you disable Advanced Processing (Pro) under OMGF Pro’s Detection Settings, the HTML5 validator will no longer be used in your frontend.
OMGF takes care of detecting Google Fonts and inserting the generated stylesheet, using native WordPress methods. While all of OMGF Pro’s features, e.g. Fallback Font Stacks, Subset Forcing and Excluding File Types, are properly taken into account.
Under the Hood Changes
OMGF Pro 3 doesn’t just introduce a bunch of cool, new features. It also comes with a bunch of optimizations and tweaks under the hood. The most significant ones being:
- The code in the frontend is now solely responsible for loading the generated stylesheet. Effectively this means I was able to remove ~600 lines of code running in the frontend, significantly reducing (frontend) RAM usage and increasing performance!
- The Download API is now only called from the admin area (either manually or by cron) and its responses are cached before being written to the database. This speeds up the entire process significantly!
- Several lines of duplicate code were removed and classes were revisioned in accordance with the Single Responsibility Principle. Significantly increasing effiency and (indirectly) overall performance of the plugin site-wide.
The cool thing about refactoring your code, is that it often opens doors to new possibilities. So, I thought it’d be a good idea to give you a peak behind the screens to see what’s next for OMGF and OMGF Pro:
- Due to the perfect harmony between OMGF and OMGF Pro v3.0, I’m considering dropping Safe Mode altogether. This isn’t set in stone. I’m currently researching the possibilities. If you really feel I shouldn’t, leave a comment!
- Full WPML support, i.e. generate different stylesheets when each language defined in WPML uses its own domain.
- Insights on pages using the different stylesheets generated by Automatic Optimization Mode.
But, that’s not all.
- Implement the same type of seamless integration with OMGF for AF, e.g.
- Use OMGF’s detected fonts and replace them with the fonts installed using AF.
On a (kind of) unrelated note; CAOS and its Super Stealth Upgrade will receive an overhaul, too. But more on that later.
For now, enjoy OMGF Pro 3!