Applications Blogs and blogging Mindsets

Open source WordPress app on all platforms is good news for the open Web

I like the desktop WordPress app. It has improved quite a lot since it was first released and the only real difference between the desktop app and posting in the Web interface is that the app doesn’t include additional plugin functionality like Yoast SEO which I use on this site.

Anyway, I noticed that WordPress has now released versions of its app for all 3 major platforms: Mac, Windows and, last month, Linux. Automattic has also open sourced the WordPress desktop app. This is good news for the open Web in a time when there seem to be more high walls around platforms.

Source: WordPress Tavern

Blogs and blogging Design

Twenty Sixteen looks great already

I really like the look of the Twenty Sixteen theme that will arrive in WordPress 4.4.

WordPress 4.4 is the last scheduled major release of the year and with it will come a new default theme to replace Twenty Fifteen. On the Make WordPress Core site, Tammie Lister published an image gallery that shows off the design of Twenty Sixteen.

I know using default WordPress themes isn’t the hallmark of a savvy and “hip” (or whatever the term is these days) blogger but I like most of them. There is something to be said for the official themes which are clearly designed for the release they launch with.

Check out the gallery with more mockups on the Make WordPress Core blog.

Applications Blogs and blogging Writing

Not just another WordPress vs everything else

I love that there are so many options for people who want to publish their words online these days. I was researching a topic for a blog post for the imonomy blog (I am employed by imonomy as a Content Marketing Specialist) and my colleague, Shirley Pattison (read her stuff, she writes about fascinating topics), suggested a topic: is WordPress’ dominance as a preferred publishing platform under serious threat from upcoming favourites? It was a really interesting post to work on and the result is my 4 000+ word post titled “Is WordPress Still The King Of Online Publishing?“:

Is WordPress still the king in online publishing and will it continue to hold sway in the months and years to come?

As a publisher you want to ensure that your site’s platform gives you the functionality you need to reach your audience and convey your message.

I explore some of the major options and contrasted their features with WordPress’ in this article. Each of these options; WordPress, Squarespace, Ghost, Medium and Tumblr, have strengths and weaknesses where I focused on three themes: writing tools, customization and social.

What interested me most about the topic was how each service I explored seemed to have a different emphasis, whether it was simplicity, its underlying social dynamic or something else. The post became less a “WordPress vs Everything Else” and more an exploration of which platform may work best for you given what is more important to you when you share your work.

I really like Medium but when it comes to my writing and maintaining some sort of collection that is under my control (as much as it can be, I guess), WordPress remains my preferred platform.

On a related note, it is worth reading my post on Social Media Today titled “Build Your Community Hub, Don’t Rent It” if the debate about whether to publish on your platform or a 3rd party’s platform is best for you?

Books Education Legal

A great guide to GPL for WordPress developers

Richard Best has a terrific guide to GPL for WordPress developers along the lines of the famously simple “human readable” Creative Commons license explanations on his site, WP and Legal Stuff, in his post titled “A human readable summary of the GPL“. He actually has two versions, both of which are worth taking a look at. I like his version modelled on the CC license explanation format:

A human readable summary of the GPL by Richard Best
A human readable summary of the GPL by Richard Best

Best has also published “A Practical Guide to WordPress and GPL” and it is available in three packages. The top package is the “business package” which includes –

access to a terms of use builder through which you can build draft online terms of use for your WordPress commercial themes or plugins shop, with open and honest GPL licensing as well as protections for your business.

The terms of use builder isn’t exactly revolutionary but what I like about it is that it is designed for a specific niche: WordPress theme and plugin developers who license their products under GPL. Best also released a demonstration video which reveals a nice, clean interface and a great looking end result. You’ll have to view the video either in his blog post or the promo page for the ebook packages.

The standalone ebook option is a little pricey at $25 for the PDF but if you consider the cost of legal advice on the topic, it is probably worth it.

Image credit: Light Reading by Martin, licensed CC BY 2.0

Blogs and blogging Creative expression Social Web

Your life as a creativity donor

I watched a really interesting interview this morning that got me thinking about yet another reason why it really is better to own your own little node on the Web and use that as your primary sharing platform.

One of the ideas that came up during Leo Laporte‘s discussion with Damon Wayans (yes, that one) is this notion that whenever we share stuff on social services (such as Facebook, Twitter, Flickr, YouTube and so on), we are basically donating content and ideas to those services to make money from those donations.

We usually don’t receive a share of the money earned and, as Leo put it in his interview with Andrew Keen (I’m watching that at the moment, during dish washing and train commutes), we are paid in kind. This is a simpler version of the idea that if you are not paying for a product online, you are the product (a so-called “truth” that I am still not convinced is completely accurate).

I also started looking at an interesting service called Known this morning. The service is part of the IndieWeb and the central idea is that you should have your own space and publish there first. Known is a lot like WordPress except it was designed to connect to external services like Twitter, Facebook, Flickr, SoundCloud and others so you could publish to your Known site first and easily syndicate to those other profiles.

Find your audience. Known integrates with a number of social networks. When you publish on your site, you can choose to syndicate your content to a variety of sites. Just connect your favorite services to get started.

I love the idea and started playing around with a site just to test it all out. I still like using WordPress and what I’d like to be able to do with this site, for example, is publish different post formats (status, full posts, media posts and so on) as easily as I could on, say, Tumblr or Known. I’d also like to be able to share stuff on this site selectively using connection/member profiles that have the same sorts of distinctions as Facebook’s “friends”, “acquaintances” and “close friends”, for example.

On a related note, BuddyPress looks interesting and I might try it out. I’d love to be able to establish variable member profiles and give people the ability to sign in using existing credentials from WordPress, Facebook, Twitter and so on.

Returning to the donations metaphor, I think this is pretty much what is happening. Most of us donate a fortune of content (much of it doesn’t have much intrinsic value to outsiders) in return for being able to use the service. We really are letting ourselves being taken advantage of but that is mostly our fault for making an easy choice instead of the tougher one which is to create our own space on the Web and go through the process of figuring out how to make it a good user experience for the people important to us.

It’s not that being a creativity donor is necessarily a bad thing. We do receive some value in the exchange but is it enough? Do these choices leave us without our personal profiles if those services change how they work or go away?

I often talk about how much I want to publish here (and don’t). I still feel pretty strongly about having my own node on the Web that I control (well, more than not). At the same time, a modern site/node that could be a substitute for, say, Facebook requires more nuanced membership options, at the very least, so I could share some stuff with a select group of connections. BuddyPress might be the answer for that on WordPress (if not, any suggestions?). Known certainly seems to have figured this out and it is also possible to connect a WordPress site to the IndieWeb.

Like I mentioned earlier, having my own nodes for my stuff is really important to me. Short of having my own server in my apartment, though, I have to rely on 3rd party services like Media Temple for my hosting, Amazon S3 for file storage and various other services for my social interactions online. Probably not ideal if you are dogmatic about this stuff but it works for now.

We just have to figure out whether being a creativity donor is desirable? If it is, great, carry on. If not, what do we do about this?

Blogs and blogging

Ghost of WordPress’ past

I came across an almost inevitable comparison post between newer blog publishing platform, Ghost, and WordPress the other day. I like Ghost’s emphasis on Markdown and its simplicity. I also know that Nathan Jeffery uses Ghost for his blog and he enjoys using it. You probably guessed that I am a bit WordPress user and have been for almost as long as I have been blogging. I think this line probably captures Ghost’s appeal for many of its users:

In its current form, Ghost satisfies an audience that wants a simple, frictionless, publishing experience.

Comparisons between Ghost and WordPress (or any other publishing platform, for that matter) that are intended to convince you that one is better than another are pretty silly. That said, this comparison post is interesting just to get a sense of what Ghost is if you are familiar with WordPress.

As for me, I like using platforms which let me just write and while Ghost certainly does that, I’m happy with WordPress. I even switched to the visual editor from the plain text editor. You know, just write …

Blogs and blogging People

Blog migration, destruction and recovery in 873 easy steps

This is a story of momentary triumph, devastation and recovery. It was a collaborative effort but the real hero is Nathan Jeffery who you can read more about at the end of this post (so please keep reading).

I had two sites a few days ago which I decided to merge into one. The one site was a portfolio site at one of my domains and the other was my long standing blog (this one, more or less). I initially thought it would be a good idea to have a standalone portfolio site, distinct from my blog and other sites but the more I thought about it, the more sense it made to rather combine it with my personal blog and create a single personal site with an expanded portfolio section and the blog posts.

I also decided to move my personal site from my domain to this one. A .org domain is more for NGOs than people but it was available at the time and seemed to work. I found a WordPress Codex article titled “Moving WordPress” which describes how to move your WordPress site from one domain to another with options for moving on the same server (which I was doing) and across servers.

The instructions are a little technical but I followed them (mostly) and was able to move my blog to this domain fairly easily. It worked well but I forgot to do a couple things with the old site to facilitate an easy transition across to the new domain. The portfolio site was a couple pages so I just exported the pages from that site and imported them into the new site and I had a working site by midnight on Saturday night.

On Sunday morning I decided to uninstall the old site’s WordPress installation through the Hostgator backend and even though the wp-config file in the old directory that contains database details was modified to a different database, the old site’s configuration seemed to maintain a link to the database the new site was using. The way I moved the site, both the new site at this domain and the old site at were sharing a database. When I uninstalled the WordPress installation, I deleted that database and not only undid all my work the night before but also lost the only coherent version of my blog.

My only thought for about an hour isn’t fit for publication. To make matters worse, I didn’t think to backup my site or the underlying databases and Hostgator doesn’t automate backups unless you configure that somehow.

What I did do was export the WordPress XML file from within WordPress and I had similar export files from 2013, 2010 and a little earlier. Unfortunately when I imported the export files I had, I found that a lot of very old posts suddenly had publication dates for when I did the import, in other words for Sunday. That didn’t work at all for me. There were too many posts to go back and manually edit the dates.

Fortunately, I had started chatting to Nathan Jeffery about the migration (we chat now and then about technical stuff) and he was helping me redirect the site to this one using edits to my .htaccess file (don’t worry if that means nothing to you, it isn’t really relevant to the story).

So, on Sunday morning I messaged him with what began a very long process of recovery:

Right, everything was working pretty well (the redirect hadn’t kicked in yet) and then I deleted the old WP installation and it too the database my new site was relying on with it

I at least had the foresight to download a version of a database I was working with for the migration but, when I tried to import that into a new database for the new, gutted site, I received errors from phpMyAdmin:

mySQL errors in phpMyAdmin
mySQL errors in phpMyAdmin

Nathan then began the process of saving my site. I sent him the SQL database and he did some magic to it and returned a database which phpMyAdmin rejected, for a different reason:

#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w’ at line 1

It turned out there was some HTML stuff at the end of the SQL file which Nathan removed and we uploaded to phpMyAdmin and it accepted it. Two things happened at this stage:

  1. I only added about a third of my blog’s original posts; and
  2. I didn’t have a user in the database and couldn’t login (the database has sets of entries for posts, comments, users and for some plugins and the database we uploaded didn’t have user details for some reason).

I exported user info from another database I had on the server and that gave me access to the site’s admin section. At this point the site was up but I didn’t have most of my blog posts, just a couple WordPress XML export files that didn’t work properly because the publication dates for a lot of the old posts were changed to yesterday’s date (when I imported the file).

I used an old WordPress XML file to add posts up to 2011 and then started working on the date issue in those old posts. Nathan involved one of his coders in the problem and I spoke to Adii Pienaar (one of SA’s top WordPress people who founded WooThemes). He thought it may be a server issue so I opened a support ticket with Hostgator. I only received a response from Hostgator this morning (about a day later) which may be helpful to someone else who encounters a similar issue:

Thank you for contacting Hostgator support and I apologize for any delay in addressing your request. I see you are needing to restore a database on your account. In future we would suggest submitting restore requests through the form at so that your request is sent to our restore queue which is prioritized and receives much quicker responses due to the nature of the work involved. We do have a backup of your databases, however we will need to know which database name you are wanting restored so that we can get this taken care of for you. Please note that restoring from our weekly courtesy backups incurs a $15 restore fee which we will require your approval for. I should also mention that the MySQL databases is the only thing we will have a backup of for your account, as your account exceeds the 20GB disk space limit for it to be included in our full home directories backups that are performed each week.

I probably would have paid that if they had come back to me sooner but it doesn’t seem to be useful given what we managed to achieve in the meantime.

Nathan, his coder and I couldn’t work out what the problem was with the WordPress XML file. I also noticed that my site on Hostgator was experiencing more downtime than usual (I use Monitor in JetPack and receive email notifications when my sites go down). I decided to explore a new host and a few people recommended Media Temple:

I created an account with them to use their “Grid” shared hosting. They had a special going where I could get the first month for $5 instead of $20 so it wasn’t a difficult decision.

It took a little time for me to get used to the Media Temple control panel. I also discovered that my upload limits on Media Temple are lower than Hostgator (20MB versus 64MB) and I had to chat to support to increase a default 2MB upload limit to 20MB but once that was done, I got started on a new test site.

We hit another snag in phpMyAdmin on Media Temple because the file upload limit there is 10MB and my SQL download from the partially recovered site on Hostgator was 17.5MB. The next plan was to focus on the WordPress XML file to restore my site. I used a handy WXR splitter app which Nathan found and split my WordPress export into small chunks and started importing them into the site.

I discovered that when I imported the oldest posts into the new site on Media Temple, I still had that publication date issue so I deleted the test site and started again. I opened the XML file that was giving me a problem and noticed this weird date string in the post metadata of the old posts which weren’t being dated correctly:

This is from the pub date metadata of one of the entries: <pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>

Notice the -0001 year in the string? Somewhere along the line the dates for those posts were changed to this -0001 year. That seemed to tell WordPress Importer to give those posts the current date and not the correct publication date. I located all the posts with that buggy year and deleted them from the XML file and imported it. That worked but I didn’t have all those posts in the new site.

The posts seemed to be from the early 2000s so I went back to an old XML backup which didn’t have that buggy year and imported that backup. That created some duplication in the posts so I found a plugin that de-duped my blog posts. I imported the pages from my portfolio site and found myself with a complete site (at least from the perspective that all my posts seemed to be in place).

I then exported the XML file for the reconstituted site, deleted the test site and changed my DNS settings for this domain to point to Media Temple’s servers. I had to break up my XML file again using that WXR splitter app and started importing the fragments into a new site which I set up on Media Temple’s servers. The domain registration changes took a little while to propagate and that interfered with the restoration a little but I finally uploaded all of the XML fragments and reconstituted this site.

I used the Velvet Blues url update plugin to change the internal links in this site to the new domain and I’m not checking whether all my attachments and images have made it across from my locally stored backup directory.

I still have work to do behind the scenes to complete the restoration but I have an almost complete site. I learned a couple things in the process:

  • Make regular backups of your databases and your WordPress XML files
  • Prefer hosting services that automate the backup process for you in case you forget or (like me) don’t even think about it
  • Persistence is essential for this sort of thing, there is usually a fix, you just have to find it
  • I know a lot more about WordPress, databases and XML files than I did a couple days ago

The hero in all of this is Nathan. I was just chatting to him about my site’s migration and he just started pitching in late Saturday night. I don’t know many people who work as hard as he does (I think he sleeps, I’m just not sure when) and he still steps in to help me when I hit a snag. As snags go, this was one of my most spectacular DIY (Destroy It Yourself) efforts and he was with me the whole way, messaging me with suggestions, feedback and uploading modified versions of my databases and XML files. If it wasn’t for Nathan, I may have given up on my site as lost. Instead, I have a site which seems to be complete and turns 10 in December (here is my first post). He is very modest but, holy cow, he helped me out of a spectacular mess.

Here is more information about Nathan:

If Nathan can help me with this in his spare time (granted, very limited spare time), imagine what he can do for your company when he is totally focused and has his team with him. In case you are wondering, this isn’t a paid or bartered plug. Nathan selflessly stepped in and helped me out in a big way. That should tell you a lot about him, his integrity and dedication and why you should talk to him when you need work done. I am enormously grateful.

Something else I was thinking about throughout this process is that all this effort we put into restoring this site merits much more attention to my blogging going forward. I’ve been a writer since I was at school and its always been something I love doing. I intend doing more of it more regularly, barring more DIY experiments …

Blogs and blogging

Reconstruction in progress

Update (2014-10-28): The site has been restored. You can read all about what happened in this post.

I managed to kill my site (again) over the weekend. You’ll notice that there are a couple recent posts and then the posts go all the way back to 2011. That represents efforts over the weekend to restore my site to the beautifully working migrated version I created on Saturday night and then almost wiped out on Sunday morning.

I’m working with a couple people on a fix so, for now, please bear with me. I’ll explain what I did and what the fix turns out to be in a future post.