Categories
Transparency Reports

Transparency Report of May 2020

In May Founding Members grew significantly, I shared survey results, added saveable print button settings, and allowed site owners to print draft posts and those of other statuses.

This is the 14th monthly report for Print My Blog WordPress plugin.

What Happened in This Month

Lots more installs because of lots more releases this month. Ironically I feel a bit bad about this too, as I really want to start making progress on Print My Blog Pro.
Active install growth seems to be wanning a bit, but it was actually almost the same absolute growth as last month (about 180 more active installs).

Business Stats

  • Hours:
    • 61.25 (+8) support
    • 83.75 (+9) copy writing
    • 151 (+17) development
    • 31 (+1.5) management
  • Expenses: $11,374 (+1214.33)
  • Donations: $363.14 (+40)

Plugin Stats

Overview of What’s New

The Details

Almost Reached Founding Members Goal

Towards the end of May, I published the official invitation to become a Founding Member of Print My Blog Pro. The goal was to get 50 people to signup and answer the survey, then get started developing with their feedback.

Well, there wasn’t the immediate flood like Vito described in his situation, instead, it’s been more of a fairly steady trickle. Every day there’s been about two new subscribers on the email list, and one new survey respondent.

During the first week I was just reaching out on social media, wpmail.me, and the Freemius “upvoters mafia”, which got the word out a bit; accounting for about a dozen signups. I found it a bit hard to promote it in many online groups when self-promotion is prohibited. (I think you need to smooth-talk your way to make it appear you’re not self-promoting, which is tricky and arguably deceptive.)

In my case, I’ve found adding a simple dashboard notification to the free plugin has brought in the most subscribers. It’s basically a MailChimp signup form, populated with the WordPress user’s info, so all they need to do is click “Sign Me Up!” to get on the list.

The dashboard notification added to Print My Blog Pro.

I was a little hesitant to add a full dashboard notification like that, knowing it irritates some users (especially developers making sites for their clients.) Nevertheless, I’ve found it helped a ton in getting signups.

From April 29-May 29, 2020, 61% of signups came directly from the dashboard notification signup form (embedded form); 39% signed up on the website (API -Generic). Many of the signups from the website were also indirectly from the dashboard notification, they just clicked the link to learn more instead of registering right away.

Right now, I’ve had a total of 67 signups, and 42 survey respondents. So we’re getting close to the goal of 50 survey respondents…

Survey Results Posted

I’ve been checking out the survey results as they’ve been coming in, and, in the spirit of transparency, decided to share the anonymous aggregate data in the post Print My Blog Pro Survey 1 Results.

What format(s) do you want to export your content to?

Survey results indicate the top priorities for Print My Blog Pro are:

  • help users convert existing posts to documents
  • generate digital and print-ready PDFs
  • support table of contents, improved layout, customizing order of posts, converting hyperlinks to page references
  • Gutenberg and the Classic Editor will need to both be supported.

If you’re interested, feel free to read that post too.

Added Saving Print Button Settings

Alongside the update that added the dashboard notification about Print My Blog Pro, I added a fairly significant feature: customizing and saving how the front end print buttons’ settings.

Some of the settings introduced in 2.4.0 that let you customize the printouts made for site visitors using Print My Blog’s frontend print buttons.

Now you can choose what content to include when site visitors use Print My Blog’s print buttons, rather than just using the defaults I originally coded in. For example, you can choose to include comments, remove hyperlinks, and use smaller images in paper printouts but larger ones in PDFs.

Added Filtering By Status

Later in May, I found myself wanting to print a draft post, something Print My Blog couldn’t do. It looked like it would just be a couple lines of new code, so I figured to add it in 2.5.0. No sooner had I done so, that user tbev made use of it on a massive blog… although rather than just include drafts in their printout, they wanted only drafts in their printout.

Print my Blog 2.6.0 allows you to pick exactly which statuses of posts/pages you want to include. “Draft”, “Pending Review” and “Trash” posts were previously never included.


Again, it seemed easy enough to do the change (an hour or two) so I made them. I thought about just adding it to the upcoming pro version but I think this will help in the free version’s mission to help preserve blogs (eg if someone wants to print all their drafts for future reference.)

Copying is Hard!

Someone emailed me saying Print My Blog’s copying feature wasn’t working for them. It turned out my code used for copying to the clipboard didn’t work on Mac computers and devices.

I found a pretty quick fix (released in 2.5.0), but it turned out it copied the text as plaintext (eg <b>plaintext</b>)not as rich text( eg rich text.) So when you pasted it into Microsoft Word or the like it you’d see all the raw HTML tags and the like. Ugh.

The fix I ended up going with was pretty involved:

  • for Mac devices (regardless of browser), use navigator.clipboard.write()
  • for Firefox, it used document.execCommand("copy");
  • for Google Chrome and other Chromium-based browsers, try the former then fallback to the latter (because they support one, but fail with a permission error)

Here’s the exact code I ended up using:

/**
 * Tries to copy to the clilpboard
 * From https://stackoverflow.com/a/30810322/1493883
 * @param string str
 */
function copyToClip(text) {
    // Check browser support. eg Firefox doesn't have a "ClipboardItem"
	if (!navigator.clipboard || typeof ClipboardItem === 'undefined') {
		copyToClipOld(text);
		return;
	}
	// Copy it as HTML, not plaintext
	var item = new ClipboardItem({ "text/html": new Blob([text],{type:"text/html"}) });
	navigator.clipboard.write([item]).then(function() {
		console.log('Async: Copying to clipboard was successful!');
	}, function(err) {
		console.log('Async: Could not copy text: ' + err);
		// Maybe there was a permission error? Try ye old fallback.
		copyToClipOld(text);
	});
}

/**
 * Uses a copy listener to copy to clipboard
 * @param string str
 */
function copyToClipOld(str) {
	function listener(e) {
		e.clipboardData.setData("text/html", str);
		e.clipboardData.setData("text/plain", str);
		e.preventDefault();
	}
	document.addEventListener("copy", listener);
	document.execCommand("copy");
	document.removeEventListener("copy", listener);
	console.log('Fallback: Copying to clipboard was attempted');
};

Saving Emojis to the Database Is Risky

I also got a few reports this month of folks being unable to save their print button settings. They’d click save, and they’d see a success message, but nothing would actually change.

After a bit of debugging, it turned out to be because their database didn’t support emojis, and the default button labels use emojis for icons.

So all you WordPress plugin developers out there: be aware that if you’re saving something to the database, check if the database supports emojis, and if not, remove them (best to use $wpdb->strip_invalid_text_for_column()), or the data don’t get saved.

Wordfence Compatibility Issues

There were a couple reports in May where users found Print My Blog just kept spinning while trying to load posts on the print-page. It turned out the issue was compatibility with the popular plugin Wordfence, which defaults to disabling parts of the WordPress REST API. I added a FAQ and video showing how to adjust Wordfence’s settings to allow Print My Blog to still work with it.

This is also a reason why I’ve been thinking that for Print My Blog Pro I will probably avoid using the WordPress REST API, and instead just use custom AJAX endpoints. While the WordPress REST API has been very helpful in getting Print My Blog working with significantly less development, it’s often disabled, and Print My Blog Pro will probably need more customized behaviour (eg returning different post types in a custom order.)

Thinking Out Loud

2,000 Active Installs Milestone Reached!

It turns out my math was accurate, as Print My Blog reached 2,000 active installs in May 2020. It reached 1,000 back in October 2019 (7 months earlier), and was launched back in November 2018 (11 months earlier than that), if I recall correctly.

Again this isn’t exponential growth by any means, but it is still pretty cool to see it plodding along.

The Effects of the Dashboard Notification

I’ll admit it, I find it a bit annoying when plugins add dashboard notifications. And I’ve seen it happen plenty of times that folks complain about it. So I was hesitant to do it myself.

To clarify what I did: in version 2.4.0, I added a fairly large notification to the inviting folks to signup for Print My Blog Pro. Here’s the details:

  • it only appeared on the WordPress dashboard page (/wp-admin), not every admin page (I would only show a notification on every admin page if there was a problem that needed fixing, not for promotion)
  • it only appeared to users who could use Print My Blog (in my case, Print My Blog’s admin menu only appears to users who can read_private_posts)
  • it’s permanently dismissable with a button that simply said “No Thanks” (not something manipulative like “I am a bad person for saying No” or “I don’t like you”)
  • it had a tiny gif image in it (16 KB) that conveyed the purpose of Print My Blog Pro, but also wasn’t a burdensome addition to users’ servers
  • it pre-populated the form with the user’s name and email, but they could modify it and it only submitted that data (to MailChimp) if they clicked “Sign me up!”
  • it also had a link to printmy.blog where users could learn more, if they weren’t willing to signup right away

About half of Print My Blog’s 2,000 sites have updated to version 2.4.0, which added the notification. So about 1,000 people have seen it. I’ve had 67 signups, and so far I think about 50 of them have been because of the dashboard notification (the others have been because of all my other efforts). Active install growth didn’t slow down significantly (there were 188 new active installs in April, whereas there were 181 in May when the notification was introduced).

So despite all the bad press regarding dashboard notifications, I’m afraid it seems to still be in the plugin author’s best interest to add one. (More than one, or peppering the entire plugin with advertisements, may be a different story.)

Planning Pro

I haven’t yet reached the 50 Founding Members who have filled out the survey, so I haven’t officially started developing Print My Blog Pro yet. But I’m realizing it will probably be really hard to make an interesting beta version in a month, like I had planned. I really want to get started on it (I’m excited to use sortable.js for selecting and organizing posts to put into the book/document) but my spare time has been pretty busy with support (quite a bit through email) and development of overdo features in the free version.

And, Done

Well, there you have it. May has been the most expensive month yet in terms of my time, but it’s also been a very rewarding one.

Got any thoughts on the above? Please let me know in the comments. Thanks for reading!

2 replies on “Transparency Report of May 2020”

Leave a Reply

Your email address will not be published. Required fields are marked *