Apr 022019

It has been almost 4 months since Gutenberg was released (on 6th December 2018) or foisted upon unsuspecting users, depending on your point of view. I had posted about it on my blog earlier as well as on the WordPress Reviews section, but I did want to revisit it now that I have had some more time to spend with it.

The Good

As I had written earlier, I was very happy that it was bringing some native layout features to WordPress. I was always very frustrated with the fact that there was no native way to do landing pages in WordPress, and users had to rely either on their themes or on shortcodes or on block-builders. To that end I had provided “Custom Layout” templates with Suffusion almost a decade back (still in use on one particular page on this site), and had used Beaver Builder with TwentySixteen on one of my sites and Elementor on another page on this site.

With Gutenberg finally becoming available I removed Beaver Builder and Elementor from their respective sites and managed to bring down page load speeds across the sites. Now, loyal fans of those plugins might point to the versatility of those plugins, and while I don’t dispute that, I was really using them for something very simple that didn’t need me to add the bloat to my pages. Of course, one of those sites uses BuddyPress (another piece of obscenely bloated software), but that is a necessary evil for the moment.

Was the transition quick? In a manner of speaking, yes. I was able to get each of the pages switched over in about a couple of hours each.

Was it easy? Hell, no! Gutenberg is woefully behind the times in terms of several core areas, primarily responsive design. I am mainly using it for one thing: multiple-columns. And in spite of adding a 33 KB stylesheet to every page on every site using Gutenberg you need some additional CSS to make sure that your columns don’t get squeezed too much on smaller widths. The fact that I was able to get the switches done in a few hours was mainly down to my knowing exactly what I wanted to do.

The Bad

Apart from what I have written above, Gutenberg makes very poor use of space. Having worked with code for more than half of my life, regardless of editors I find myself moving to use raw HTML several times. Now consider this:

  1. If I am designing a page that is 960px wide, Gutenberg first clamps it down to 610px, so I lose 350px of space, or more than 36% of my desired real estate.
  2. Now if I add a 3-column block to my content, each column becomes just around 200px wide. Take out the padding and margins and you are left with around 150px. That less than one-third the width of most phones today – pretty much pointless in terms of writing area.
  3. Knowing that using a block-based interface is going to add a ton of junk markup (inline styles and the like) to my content, I switch to using a custom HTML block, which, by requirement, needs a fixed width font. And with that, any semblance of readability flies out of the window! I don’t get more than 18-19 characters of text per line!!

Gutenberg’s paradigm is to force users to think visually, and really, the only area where it is suitable is where you have users writing a single column of content (with images thrown in). To that end I see the Gutenberg developers’ point in shouting from the rooftops that Gutenberg is not a page builder. But that begs the question, why would you clutter it up with native “features” such as columns if such features are really unusable in real-life scenarios? All of this contributes to the 33 KB stylesheet.

The Ugly

The “Text” editor is gone. Users of the Classic Editor are probably familiar with the two tabs that show up in the Classic Editor – “Visual” and “Text”. While the “Visual” tab (which uses TinyMCE) is the one that Gutenberg aims to supplant, the “Text” mode has no equivalent in Gutenberg.

Gutenberg touts a “Code editor”, which, from personal experience and from multiple accounts on the web is undiluted garbage. If you accidentally touch the markup of a custom block in the Code editor, good luck editing your post in the block editor after that! The Code editor takes away all the tools you had access to in “Text” mode in the Classic Editor, like the QuickTags (the small buttons that let you do basic markup and add links and images), so you spend a lot of time doing basic markup activities.

This is apparently by design.

In short Gutenberg is a brutal kick in the teeth for any person wishing to work directly with markup.

In Closing

I haven’t gotten to a point of installing “Disable Gutenberg” across the board – I believe that for my use cases of custom layouts Gutenberg is a lesser evil than Elementor or Beaver Builder (it is considerably lighter), so those plugins get the axe. For sites that don’t require custom layouts I am installing “Disable Gutenberg”. For all other sites I am installing the “Classic Editor” with the default editing mode set to “Classic Editor” in “Text” mode.

And if you hadn’t guessed, this post is being written in the “Text” mode of the Classic Editor.

Feb 032019

This post essentially marks the end-of-life of support for Suffusion from this website.

The Aquoid Support Forum was the one-stop-shop for Suffusion support as well as for support provided for other plugins I have built over the years. However it was beset by problems, primary among them being the insanely high number of spammers who used to register. Considering that it was on a different platform (phpBB) than the rest of this website (WordPress), it received a different level of attention from the creators of the software. As a result I had moved support for everything except Suffusion to the native WordPress forums. This worked well because I at least didn’t have to worry about managing spammers. Regardless, the forum served as a lifeline for Suffusion users who got to reach out for support after the theme was pulled from the WP repository in June 2016, since that point of time crippled the native WordPress forums for it.

In any case, at this point the energy required to administer the forum is a lot more than I or any of the volunteers can invest, so I am closing it down with immediate effect.

For starters, the forum is still available for browsing, but I have shut down two core things:

  1. User Registration
  2. Posting capability

New users will no longer be able to register there, and old as well as new users will be unable to post to it.

What Next?

There is the GitHub site where I had hosted the last stable version of Suffusion – https://github.com/sayontan/suffusion. New users can consider creating issues there. Regular forum contributors Colin and Drake are set up as collaborators on that repository, so they have privileges to release code / patches there.

This will help / encourage users who wish to fork out Suffusion do so from that website.

Closing Thoughts

Suffusion was created at a time when:

  • WordPress was a platform incapable of doing anything apart from very simple blogs. There was no capability to do custom menus, nothing to support custom post types, no post thumbnails etc.
  • The “premium” theme market had multiple players who certainly charged a premium, but failed to deliver very basic features without requiring a developer.
  • The era of page-builders was at least 5-6 years away

Suffusion offered novel solutions for each of the above and all that for free.

The theme remained a pioneer for several years, but with the ever mounting barriers imposed by the WPTRT it became harder and harder to maintain. Every new whim of the WPTRT would mandate a massive change of code for Suffusion (removal of shortcodes, replacement of theme options with the Customizer, removal of custom widgets etc.).

When finally removed from the repository, what I felt was a mix of rage, resignation and relief. Luckily Suffusion had a bulletproof foundation that several thousands of users still found easy to use, and even 2.5 years after removal the theme still manages to stand on its own for the most part. I had hoped that the theme would die down in the months to come, but it has still lingered on, hence rather than shut it down completely I moved it all to GitHub.

I would recommend, though, for users to pick out newer and lighter themes, because the free themes space is a lot more diverse, and WP itself has managed to integrate many of the features of Suffusion in a native manner. Essentially the niche that Suffusion filled for over 5 years is no longer existent, and you might have a more spiffy blog running something else.

Aug 302018

Google made an unannounced change to its Photos API on 29th or 30th August, wherein it changed the maximum number of photos returned in a single call to 100 from 500.

Unfortunately this is a breaking change – if you pass a number > 100 the API returns an error … and this affects Photonic. Photonic by default displays the maximum permissible number of photos or albums to minimize API calls, so if you don’t pass a count or photo_count parameter to the shortcode, it will default the value to 500. As a result of this a shortcode that was working until yesterday might now not work. To remedy this you have two options:

  1. Go to the file wp-content/plugins/photonic/extensions/Photonic_Google_Photos_Processor.php, line 52. You will see this:
    'count' => 500,

    Change it to this:

    'count' => 100,

    Save the file, and all your shortcodes will be fine now.

  2. If you are uncomfortable making the code change above you can explicitly define the count=100 attribute on shortcodes for Google Photos. This will take a bit more effort on your part, but will be just as effective

Why am I not releasing this fix myself? I am about 75% done with the big changes that I had talked about last week, so I don’t want to release the above as a patch and disrupt something else unwittingly. It has been included with the next version of the plugin though.

Aug 262018

I love Google and I have several very close friends working for them. But there is one aspect of Google that is irritating: they phase out things without putting an effective transition plan in place, and often without offering any replacement. They did this with Reader (I haven’t forgiven them for it), they did this with Picasa (though they did replace Picasa’s web-version with Google Photos in a painful process), and FeedBurner, if people are to be believed, is surely on the chopping block.

Remember Feedburner? If you don’t, I don’t blame you. The service was a rage in the previous decade, but Google has let it slide into a slow and painful obscurity. Probably the only reason Google still has it alive is that this is a customer-to-customer service that they cannot terminate (as opposed to Reader or Picasa, which were Google-to-Customer). In any case, bugs in FeedBurner have not been fixed since 2012, and no new features have been added since 2010.

As it happens though, this site has used FeedBurner for a while now. But wary of being left out to dry I took the plunge and moved to MailChimp. If you are an “Active” subscriber to this site I have migrated you over to the new email-subscription service. You should almost certainly be receiving this post via MailChimp on 27th August. I have deactivated the FeedBurner link, but if you still receive a second email from the old service, please let me know and I will look into it.

Aug 142018

It is a sign of changing times when I get surprised by news specific to WordPress. I had heard about Gutenberg and the whole discussion around Facebook patenting REACT in a different context (about DIYThemes suing Automattic), and filed the information away as something not to be unduly concerned about.

Then, three weeks back, as I was looking to install a plugin from my WP dashboard, I noticed that a new “featured” plugin showed up, Gutenberg. It naturally accessed the information I had filed away and I started looking at it. Two things stood out at a first glance:

  1. It has a horrible rating.
  2. It is going to be a part of version 5.0 of WP.

At the time of starting this article Gutenberg holds an average rating of 2.4 out of 5 stars over 882 reviews, with a whopping 503 single-star reviews. That is more than all the reviews Suffusion and Photonic received their whole lifetimes! What is more alarming is that the rating is dropping by the hour and it wouldn’t be a shock to see it plummet to 2.2 by the time I am done.

The Poorly Rated Featured Plugin – 2.4 and Sinking

My curiosity piqued I started going through the reviews and I installed the plugin to take it for a spin. After playing with it for a few weeks in addition to formulating an opinion about Gutenberg I have, daresay, psychoanalyzed the reason behind Gutenberg. But before I go there here is some background. People familiar with me and this website are aware of these, but for those who aren’t, I promise to make it quick.

Background 1: Theme Development Experience – Suffusion

I was the author of a WordPress theme that was the highest rated free theme available on wordpress.org while it was active, mainly liked for the insane number of options it provided in terms of customization. I stopped active development of the theme in 2013, and it was eventually yanked from the repository by a zealous but poorly informed naysayer in 2016.

While the theme was in existence one of the main features I had provided was that of “Custom Layouts”. This was way back, in February 2012 – something that tells you how far ahead of the times Suffusion was! The design challenge I had at that time was, “How do I support layout customization using standard WP constructs, let people add advanced content, and not get into shortcodes etc.?” The answer that instantly came to mind was “Widgets!” I ended up providing a good number of widget areas that could be customized into fancy layouts and have any widget added to those. In theory you could build a page entirely comprising widget areas and add anything you want to them.

Background 2: Plugin Development Experience – Photonic

While I stopped work on the theme many years back, I have had a plugin running for over 7 years now that deals with the ability to insert galleries from sources such as Flickr, SmugMug, Google Photos etc. I have until now had a rather plain interface for inserting the shortcode corresponding to these galleries and that is one of the key limitations of what is an otherwise superlative piece of code.

Background 3: Experience Beyond WordPress

As a part of my WordPress life the only people I interact with are people who used to use my theme and those who use my plugin. So my experience with end-users editing content in WordPress on a day-to-day basis is low. However as a part of my day job I am a senior technical strategy and solution design consultant at a Big 4 Consulting company, having worked with multiple Fortune 500 companies. So I do have a good feel for enterprise class tools and what users expect.

Why Gutenberg

Now, to the main point of the review.

It has been a pebble in my shoe that WordPress has generally been a laggard with respect to innovation. Many facts point to this:

  1. For all talk of being a “Content Management System”, the native features built in to support content management have been sparse, and it has often had to rely on plugins to handle its many shortcomings. It has always amused me that this list that kicked up a firestorm in December 2011 is still mostly relevant, and the moment someone points out “Oh, WP is not a CMS”, there is a response pointing to a whole list of plugins. The point is, why hasn’t this been in core?
  2. Take menus – WP joined the party pretty late, in 2010, while several self-respecting themes offered a way out, not to mention competitors such as Joomla. Eventually WP picked on something developed by Woo and delivered menus with version 3.0. Even when introduced, the first version did not support automatic addition of new posts / pages.
  3. In many senses 3.0 was a watershed moment in the history of WP. They also released Custom Post Types in that version, because they realized that simply having posts and pages was not going to cut it in the CMS world and they needed something more meaty.
  4. Then there were post formats. Introduced in version 3.1 (in February 2011), post formats were introduced as something to quickly publish a post without making it look like a regular post (mostly as a counter to Tumblr). Think of them as out-of-the-box custom post types that can be formatted individually by themes.
  5. Next, customization: for the longest time WP had other recommended ways to handle theme settings, till it finally released the Theme Customizer in 2012. Even when it did so the interface was deemed so poor that very few theme developers jumped on the implementation (the adoption was a lot poorer for premium themes). A more large-scale adoption occurred only when the WP Theme Review Team forced all themes on .org to use it or be removed from the theme repository (I was compelled to pick the latter and had my theme removed). Obviously the WPTRT has no jurisdiction over premium themes, so several big-name themes still have other (better?) ways to enter options.

The point is, WP core was built as a blogging platform in the beginning, and has been playing catch-up ever since, trying to be seen as a more serious content management system. In fact to the uninitiated, the moment you mention “I work with WordPress”, the first response is, “Oh, the blog thing?” To that effect, what it says on wordpress.org is the truest definition of WordPress:

WordPress – No Official Pretensions towards Being a CMS

“WordPress is open source software you can use to create a beautiful website, blog, or app.” At its heart it is nothing more, and certainly not a full-blown CMS. And therein lies the ambition of wanting to be seen as something bigger.

Gutenberg is the first major shift towards a serious CMS, wherein WP is not telling developers, “This is an API. Now build something that others can go and play with,” a la custom post types. Rather it is telling end-users, “This is the result of an API. Now go play with it.” In fact in the list of shortcomings I referenced in the link above, the lack of a good WYSIWYG editor features high. TinyMCE is good as a content editor, but it is no design editor.

Gutenberg is the first major shift towards a serious CMS, wherein WP is not telling developers, “This is an API. Now build something that others can go and play with,” a la custom post types. Rather it is telling end-users, “This is the result of an API. Now go play with it.”

There is also another aspect – the money. If you are reading this, you are likely the user of the self-hosted version of WordPress, which you downloaded from https://wordpress.org. But chances are, you were introduced to this via its more famous cousin, https://wordpress.com. The .com version has many competitors, primary among them being Wix and Squarespace. They apparently have a better visual editor that WordPress is trying to ape (this is hearsay – I have no experience with them). If true, you will notice that the theme of playing catch-up is not limited to a desire of being a better CMS, but to also reclaim the share of the pie that it has lost out.

The Underpinnings

So how does Gutenberg work? It essentially introduces a very simple concept – a “block”. A block is a self-contained unit that could have pretty much anything – a block of text, an image, a gallery, a video etc. or another block. Seems very similar to a widget, doesn’t it (apart from the nesting of course)? The only difference is that a widget can operate within a widget area, but a block operates within a post. In fact, it does pretty much what every theme / plugin that offers custom layouts does – it provides you with an ability to insert arbitrary HTML markup at places of your choice.

Where a Gutenberg block has an edge over other methods is that it uses a very simple and innovative method to identify itself: an HTML comment! To quote examples from the documentation:

<!-- wp:image -->
<figure class="wp-block-image">
    <img src="source.jpg" alt="" />
<!-- /wp:image -->

The above shows an image block and …

<!-- wp:latest-posts {"postsToShow":4,"displayPostDate":true} /-->

… shows a block of the 4 latest posts.

Of course, since WordPress has complete control over the platform it is able to define an API and work with such syntax. The advantage of having a comment is that even if you are able to disable Gutenberg (go back a version?) it will not show you unwieldy shortcodes the way custom layout plugins do. The other advantage of course is that since this will be a part of the core, it will not matter which theme or plugin you are using – the content will always be there.

The Public Opinion

A lot has been said about Gutenberg and the overwhelming dose of vitriol (i.e. most of the 1-star ratings) directed towards it points to a few things:

  1. People are seriously concerned about the amount of disruption it will cause to their clients.
  2. People are seriously concerned about how many of their critical themes plugins will stop functioning with Gutenberg.
  3. They think it is unnecessary, or at least not needed as a part of the core. Most people would be OK with a gradual phase-in.

There is a lot of additional constructive good feedback too among the 1-star ratings, though this is mostly covered in the 2-star ratings:

  1. The most common comment is regarding the way Gutenberg disrupts the writing process. Most people believe (myself included) that switching back and forth between the keyboard and the mouse is extremely distracting. Gutenberg makes you acutely aware of this.
  2. Gutenberg is buggy. 900+ issues buggy.
  3. It isn’t close to being as feature-rich a design editor as some commonly available alternatives such as Builder or Elementor are.

Curiously enough WordPress claims the intent of Gutenberg is post editing (where it doesn’t do well according to point 1) above and not a design editor (where it downright sucks according to point 3), while most users see it as an amalgamation of both that fails to deliver.

What has been rather unsavoury in case of Gutenberg though is that the WordPress forum moderators are stepping into multiple threads, often threatening and sometimes proceeding to remove single-line 1-star reviews. In several cases they have stopped discussions on review threads when none of the parties concerned objected. It is almost as though a bad review of Gutenberg is seen as an affront to the moderators themselves and they feel obligated to police the reviews. The same enthusiasm is missing when it comes to any of the other plugins in the repository.

My Opinion – A Much Needed Step Poorly Executed

As a WordPress user Gutenberg makes no sense to me for the following reasons:

  • When I write content for my posts I simply switch to the “Text” editor from the “Visual” editor. If Gutenberg was offered I would do the same. More than 95% of what I write needs no fancy UI and Gutenberg is just that.
  • I am not a person who dramatically alters the look and feel of sites every now and then, and for most of what I do I am very comfortable using Suffusion or a child theme of TwentySixteen. I have used the Builder plugin if I wasn’t using Suffusion, and it gets the job done with minimal fuss. From experience it takes less than a day for me to sort out the site’s look and feel and it is mostly done just for the landing page (for every other post / page the regular content editor just works). Plugins such as Builder can be used for individual pages without being shoved down our throats for every type of page / post.

Bear in mind that the above is why it doesn’t make sense to me – several users might be accustomed to the “Visual” TinyMCE editor and they might find Gutenberg a step up. I on the other hand am a person who favoured using Emacs / Vim before discovering JetBrains and their wonderful IDEs (no, IBM and Eclipse didn’t do it for me). Even today I keep Vim around for quickly editing text files :).

As a WordPress developer on the other hand Gutenberg makes a world of sense to me:

  • It is a no-brainer to have a standardized way to code the equivalent of blocks etc. Having this built into core simply eliminates the need for each fancy theme coming to the table with its own take on what its premium features are (yes, I am talking about Suffusion too!). So themes can focus on pure look-and-feel aspects instead of putting forth their own variants of what they think a wheel should be. Of course, I can see each theme author now scrambling to offer two-dozen custom blocks for Gutenberg users, but that is a discussion for another day.
  • Regardless of any amount of work this might cause for me in Photonic, I am really happy that the mechanism to insert code (even shortcodes) is being standardized. Did I say how much I like getting things standardized?

In a nutshell, as a developer I like standardization and simplicity. I am not yet sure how simple the Gutenberg API is – I still haven’t started writing Photonic’s compatibility for it, and while some of WP’s APIs have been easy, some like the TinyMCE API have been messy. As a user I feel ambivalent or perhaps negative towards it – I don’t like that fact that it has taken away from a simple writing experience and unnecessarily prolonged it, but I can see visual thinkers warming up to it.

(Poor) Decisions not (Better) Options

WordPress has always maintained a philosophy of “Decisions not Options”. That is one of the reasons that option-rich themes are looked down upon, as the core philosophy of WordPress is having a theme for a single-purpose without cramming too much into it. This is a philosophy that has helped keep many things lean. Of course, concepts like Post Formats have things like “Status” or “Chat” which probably have about a 0.001% usage, so bloat has crept in here and there. But by and large they have been able to stick to this mantra.

That being said, for the amount of effort, time and money that the powers that be have invested in Gutenberg the end product or at least the product in its current state seems to be a letdown, much like how Windows Vista felt after years of delay. The presence of alternatives such as Builder and Elementor make this delay more embarrassing. What they have ended up building is a sub-par editor.

Is it a content editor? WordPress says yes and most testers say it does a pretty bad job of it. I used to feel TinyMCE was not good, and this takes that feeling further. It seems like one poor decision layered on top of another as far as the interface design is concerned.

Is it a design editor? WordPress says no and the testers think that if it was intended as a design editor it is very poorly made. It is certainly not a better option than the existing tools in the marketplace.

Is it an attempt to join the big CMS players’ league and be taken more seriously? You bet!

Is it an attempt to win back some of its lost customers from competitors? Of course it is!

Ultimately WP is going to land its “Decisions not Options” hammer and make this the standard in a few months’ time. The days of WP being one big happy community are long gone and in a bid to stay competitive the finished product of Gutenberg is likely to do one of two things – it might usher in a new era, or it might end up relegating WP to the irrelevant.

Jul 092018

Dear Users of Photonic,
I know that many of you have, in the past, rated Photonic well on WordPress.org. However, sometime in late 2016 / early 2017 WordPress deleted all ratings without reviews, causing Photonic to lose out on a large number of good ratings.

As you are aware, all my WordPress work has been free and I have always been emphatic about not doing paid work for WordPress. This was true of Suffusion and this has been true of Photonic. And this is what makes Photonic an outstanding product. It is not that Photonic is the best in class in a single area for photo blogging – it is literally the best in class for almost every area that it touches! Some examples are:

  • Outstanding coverage for multiple photo services:
    • Flickr: There is no other WP plugin, paid or free that supports Flickr collections or authentication. Photonic supports photostreams, groups, photosets / albums, galleries, collections and authentication.
    • Picasa: There is no other WP plugin, paid or free that pulls photos and albums from Picasa. There used to be a couple that worked for Picasa prior to Google’s API shift in 2016, but no more. And Photonic nicely fills that gap.
    • SmugMug: There is no other WP plugin, paid or free that pulls photos, albums and folders from SmugMug. There are a couple of very old plugins that do static pulls of photos, but nothing that pulls dynamically. Photonic does this very, very well.
    • Zenfolio: There is no other WP plugin, paid or free that pulls photos, photosets and groups from Zenfolio. There is one very old plugin that hasn’t been maintained for over 3 years, and that provides rudimentary support for photosets.
    • 500px: Prior to the API shutdown, Photonic was the only plugin that integrated with 500px. And the integration was as extensive as everything else Photonic.
    • Instagram: In this case there are a few plugins that do things as well as Photonic, so I will not claim to be the best here.
    • Native WP Galleries: The closest competition to Photonic here is from JetPack, and it is a no-contest. JetPack’s tiled gallery layout was its USP, until Photonic did it much better and in a nice, responsive manner. Not to mention that all of the lightboxes of Photonic are available for native WP galleries

    Essentially there is no other plugin that beats Photonic for any of the individual services above, and Photonic manages to be the best in pretty much all of them.

  • Layouts: Most gallery plugins give you a basic “square” thumbnail layout. Anything more and you have to pay. Now let’s see what Photonic gives you. For free. For all photo services.
    • Square / Circular thumbnails: This is really basic and everyone offers this.
    • Justified Grid: Plugins offer this layout for standard WP galleries, or as a paid add-on for custom WP galleries. Photonic includes this as a basic functionality for every photo service.
    • Masonry: Plugins offer this layout for standard WP galleries, or as a paid add-on for custom WP galleries. As usual, Photonic gives this for free for every photo service.
    • Mosaic: JetPack does this, but all its calculations happen in the back-end in PHP, and only for images in users’ media libraries. Other plugins try, often for a price, but don’t get very far with this. Photonic does a beautiful job with this, in a nice responsive manner for the front-end, for every type of gallery.
  • Lightboxes: Photonic simply annihilates the competition here. Its support for 11 lightboxes (and counting) is way higher than that of any free plugin, and many of these lightboxes are supported with a hefty price-tag by others. More importantly, Photonic goes out of the way to support these for every lightbox (even very old ones not designed with such features in mind):
    • Touch / gesture capability: Have you ever been able to use Colorbox with swipe gestures? Not unless you have used Photonic.
    • Direct invocation of lightboxes without showing all thumbnails: Most lightbox scripts force you to show all thumbnails in a gallery before you can launch them. This is particularly painful if you have to show multiple albums without clutter. Photonic takes the sting out of this and lets you show images within albums directly for every type of lightbox.
    • Integration with photo services: Every lightbox in Photonic place nicely with all the external photo service providers.
    • Deep-linking and Social Sharing: Very few scripts come with deep-linking or social sharing capabilities. In most cases the lightbox scripts charge a price for such capabilities. But with Photonic pretty much everything comes with these premium features.
    • HTML5 video support: Most lightboxes just stop after supporting YouTube and Vimeo videos. Not Photonic though, which supports every conceivable type of video link.

I do realize that the above reads like an advertisement for Photonic, but this is pretty much the only forum where I publicize Photonic.

This is a request for you to kindly drop in a few words of encouragement on Photonic’s review page. It will keep me motivated for future releases and help retain Photonic as the crown jewel of gallery plugins in WP.


May 282018

I recently received a question about GDPR compliance for Suffusion on the WordPress forum, posted on the support forum for Photonic – not the right place to post. But there is no support forum page for Suffusion on the WordPress support forums, plus I don’t monitor the forums here since I gave up working on Suffusion a few years back, so I am posting this here as a public service announcement.

Suffusion is fully GDPR compliant. To wit:

  1. Any information you enter and save in the back-end options stays there and is not sent outside your WordPress environment. Suffusion doesn’t send any data outside your website.
  2. There is no tracking of any sort built into Suffusion. Any references to “Analytics” in Suffusion (Appearance → Suffusion Options → Back-end → Analytics) refers to your ability to include tracking scripts into the footer of your website. Suffusion itself provides no analytics capabilities – that is strictly plugin territory.
  3. Suffusion doesn’t store any cookies of any sort.

If you encounter questions about GDPR compliance, please feel free to point the users to this page.

May 252018

In the past few weeks there has been a fair bit of buzz around General Data Protection Regulation a.k.a. GDPR, an EU law on data protection and privacy. In my day job as a consultant I am quite familiar with GDPR, but what took me by surprise was a question on the support forum asking me if Photonic was GDPR compliant.

To answer that and related questions I decided to post this on my blog. I will, subsequently, include the relevant content from this in the next release of Photonic. So, let’s get this out of the way:

  1. Photonic is GDPR compliant.
  2. When you (the WordPress user) install and activate Photonic on your site no information is sent back to me (the developer) or to any website that I own. Additionally when you save your API keys and authentication tokens within Photonic none of that information is sent to me either. It all stays within your WordPress settings, inaccessible to anyone apart from a user with administrative privileges on your website.
  3. What about when visitors (the end users) visit your website? Let’s break this down:
    1. When you set up Photonic without back-end (server side) or front-end (client side) authentication, Photonic stores no information of the end users anywhere. In other words nothing is sent to you, the WordPress user or me, the developer. Also, no cookies are stored in the end users’ browsers.
    2. When you set up Photonic with back-end authentication, you save your access tokens within WordPress’ settings environment. This is used for technical purposes to retrieve your photos and display them on your website. Again, this is within your settings environment and none of the information is collected or sent to me.
    3. When you set up Photonic with front-end authentication, your end-users will have to log into Flickr / Google (Picasa) / SmugMug / 500px to see your private photos. In such a scenario a cookie is stored with the end users’ authentication in their browsers. This is required from a user-experience point of view so that the users don’t have to login each time they visit a new page on your website. Your end-users’ information and data is not sent to you and is not collected by Photonic for storing within your environment or for being sent elsewhere.

From the time I released version 1.65, three things have happened in the photography world which will impact Photonic in the long and short term:

  1. Facebook started clamping down on third party apps after Cambridge Analytica’s shenanigans. They had done this in the past with Instagram, and that caused a massive disruption for sites using the Instagram API. In fact, to date I haven’t been able to convince them to grant the requisite permissions to Photonic to display tags etc. Burnt by my experience with Instagram I had been very wary about extending Photonic to Facebook. In hindsight that was a good decision since Facebook has made it harder to get approvals for apps to pull photos etc. I would have ended up throwing away a lot of development effort if I had built a Facebook module.
  2. SmugMug has acquired Flickr. This took me by surprise. As of now the platforms and APIs are independent and they haven’t announced any plans to merge them in the short term. However, if and when the merge, I will have to redo the code in accordance with the redesigned API. That is a bridge too far for now and I will cross it when I get to it.
  3. 500px.com announced that they are shutting down their API from 15th June 2018. And when this happens, there is nothing I can do to fetch photos from a platform. I have written to them to see if there will be any way to pull photos, but for now we must assume that the 500px.com module of Photonic will stop working from 15th June due to this change.

In the meanwhile I am working on adding video support to Photonic. Stay tuned.

Feb 122017

I have stopped working on Suffusion (and supporting it in any form) after it was pulled from the WordPress repository. However, there were several requests for the code to be made available for download. I have finally put up a version at GitHub. There are two folders available there:

  • code – Contains the raw code used for the theme. I have ensured that all of it is current as per version 4.4.9, and that a couple of corrections required have been included.
  • dist – Contains the zip files for the code. You can use the 4.4.9 version (the last available version from WP), or the 4.5.0 version. The 4.5.0 version contains the corrections cited above.

Please note that I am not resuming development for the theme – keeping up with an obstructionist Theme Review Team is too cumbersome (apparently now Custom CSS is not allowed in themes!!). There will potentially be a point of time in the future when the currently available versions will cease to be compatible with WordPress. As of now the theme runs fine with WP 4.7.2.

Jun 242016

On 22nd June, Suffusion was removed from the WP themes directory all of a sudden. Someone decided that a theme whose last version was released and approved 5 months back and whose users had been generally happy did not meet requirements, and yanked the theme.

My response to the comment was simple:

However, given that I have always come out at the losing end of these discussions, please feel free to keep the theme suspended. I have neither the inclination nor energy to get drawn into this again, particularly since the customizer implementation is back-breaking, and the users of the theme had been perfectly happy with the theme in its current state and the once-in-a-while critical updates that they were getting.

If any of you is interested I can provide the rebuttals here, but it is not worth the time and effort. Stay assured that the all “concerns” about security are unadulterated rubbish. All options are written into the database in a secure manner using the recommended functions and via WP’s standard APIs and then retrieved. If they are really concerned about security, they have to look at the WP platform itself and ensure that none can access options stored in the database for any theme or plugin (not just Suffusion).

As for the rest, the sole deal-breaker is the Customizer implementation. Switching to it is akin to writing a new theme, and that is something I just cannot do.

Anyway, this has been a long and satisfying ride. Thank you for all your support in helping this theme get to the pinnacle of WP themes multiple times over. For those who have the theme currently installed, don’t worry – it will still work as it has; I just will not be able to release any updates for it and it will no longer be available as a theme from the WP directory. In case you are concerned about the “fatal error” on the ticket, the Suffusion Shortcodes plugin addresses it.