Showing posts tagged #WordPress - Show all

Poor culture of the WordPress community

November 25, 2016

I would have thought that we all have learned that there are bad and unacceptable ways to promote your product - pop-up ads, animated banners, sounds on webpages, unwanted software bundled with shareware product installers (by which luckily only Windows users are ever affected).

The rise of GitHub and decline of SourceForge showed us that developers actually don't mind giving their free software with no strings attached (the overwhelming majority of the published projects use a permissive license), and that this software can be hosted on a neat website without ads and other bad technologies.

Then, the rise of App Store, of Humble Bundle, of GOG showed us that developers don't mind selling their commercial software for cheaper and without DRM protection in order to attract more buyers instead of trying to sell a separate license per computer.

Also, I use adblock in all my browsers and on a daily basis visit just a few websites not having any agressive advertisement anyway, so I do not normally face all this shit often.

That was until recently, when I switched this website to WordPress and started trying various plugins and reading WordPress-related sites when I don't know how to code something. And you know what? It's like a different world with all the bad things I thought I had forgotten about. Most of WordPress-releated sites use popups, most of plugins are GPL-licensed, ugly as hell and full of ads promoting paid versions of themselves or other plugins.

My latest finding which prompted me to write this post is the Simple Content Templates plugin. Its free version is utterly simple and limited - it does not have any settings, it allows to specify only title, excerpt and content in templates, also it doesn't use standard UI for templates list and template editor. However let's count how many ads it has offering to buy the full version:

  • The very first paragraph in bold has an interesting sturcture, basically: "Feature 1, feature 2, feature 3 - if you need any of these, buy the full version". Nice.

  • The template list page, as well as the template add/edit page have a huge 660x165px banner at the top promoting the full version.

  • Settings page has just one setting, and twice more space taken by a list of features of the full version and a big 300x300px logo.

  • Settings page top-right has a email subscription form.

  • Settings page bottom-right shows a panel with information about the author.

  • Help page has the same list of features and a logo thing like in settings.

  • Plugin adds an "Upgrade to full version" menu item to the admin menu.

  • The main function of the plugin is to add a template chooser to a sidebar on the Add Post screen, which basically a drop-down menu and a button. However what takes four times more space is a message that I'm missing out on advanced features and a Buy Now button.

That is, a plugin that does almost nothing, asks for money in quite annoying and obtrusive way in eight places! Ok, I don't really care much, I just uninstall such shit and write my own plugin if I need (can't find a good one) or remove ads from the plugin code. But I really feel for non-IT people who can't do that and have to suffer this humiliation and in the end buy the plugin and support such behaviour.

That being said, I must note that of course there are good plugins that do just what they're supposed to do and respect their users and don't ask for anything (or do that politely). For the plugin in question, there's an alternative called Easy Content Templates which doesn't have all the features of the paid version of Simple Content Templates, but has more than the free one. And a lot of other "good" plugins that unfortunately are hard to find but they exist - later I will write a post with the list of plugins I use for various tasks and alternative choices I've tried.


JPEG thumbnails for PNG images in WordPress and other image-related issues

November 21, 2016

So far the biggest issue for me with WordPress is poor support for media files:

  • No built-in support for any categorisation of media files.

  • No built-in support for Retina.

  • Limited support for intermediate image sizes. For example I need 320px-wide images for screenshots in portrait orientation only, but if I add such custom image size, it will be created for all of my uploads, including photos and other images that will never need this size.

  • The standard "Add Media" function in the post editor inserts image with hard-coded image dimensions and absolute URLs including host name and scheme (!)

  • Need to manually update existing posts content after changing an intermediate image size. Currently I have blog post width set to 750px and have defined a custom image size with that width. If I decided to change the blog width, I'd need to update existing posts because paths to image files in them include the exact dimensions.

Continue reading...

Moving to WordPress

November 10, 2016
I'm now migrating the website and blog to WordPress. This will allow me to add some new content, as well as post updates more frequently. I've been using static site generators until now, but unfortunately I could not find the one that would satisfy my needs. First I was using Jekyll/Octopress, but it's very limited, with no support even for pagination of tag pages, for example. Then I switched to Hexo which has a lot of nice features and plugins, but is very slow, and I had difficulties implementing additional functionality I needed. I tried a lot of other generators but none of them satisfied the following requirements:
  • Be written in a language I know. There are some promising options like Middleman (Ruby) and Hugo (Go), but that would mean I won't be able to make almost any changes or additions.
  • Never rewrite unchanged output files. I'm hosting on Amazon S3 and synchronisation tools compare file modification times to determine whether they need to be uploaded. Now I'm thinking maybe it's possible to use ETag header with content hash, but I haven't investigated.
  • Ability to add tags/helpers that would create files. I use this to dynamically resize uploaded images to the exact size I need on a page and create retina versions.
  • Delete any files from the output folder that do not exist in the source folder, including the aforementioned dynamically generated images if they're not used anymore or the requested size changes.
Last week I was writing my own generator (loosly based on Metalsmith) and at the same time was toying with a WordPress installation. I'm not a big fan of PHP+MySQL combo nowadays but there are not many options - all Node.js-based engines are immature and hardly usable. The biggest problem with WordPress though is that I've never seen such huge amount of terrible design, ads, popups, dozens of similar plugins doing the same things but being differently ugly and bugged, and most of them being paid. Poor people who have to use all this shit. However I must say it's indeed flexible and easily extendable. Still I'll need to implement a lot of functionality myself (which is sometimes easier than to choose between five existing plugins each with its own problems), but at least I'm getting admin UI and all that for free. The migration process will take some time, and there will be no upades until then, except for one more post about the way I've configured my server for WordPress.