Finally a way for the reader to provide feedback easily

Adding the capability for readers to quickly provide feedback on blogposts without having to comment has always been a wish for me. The Emo-Vote WP plugin now allows me to achieve this.

emotions

Damn, I’ve been trying to find this plugin for a while now, ever since I’d discovered clickcomments ((And stopped using it due to its slowness. That service has now shutdown due to hosting costs. No wonder as the whole thing was extremely centralized)) I’ve been trying to get a similar solution running on the Division by Zer0 but there was nothing of the sort, at least as far as I knew.

So as a workaround I used another similar plugin called WP-Likes which did almost the same thing but unfortunately was limited to only one option and hard-coded to “Like”. It was a compromise while hoping that it’s developer might include the multiple-choice functionality in the future.

Fortunately I didn’t have to wait that long. Through a chance encounter with the Sikkdays blog, I noticed exactly what I wished to have: Three little icons at the end of the pos, allowing people to rate/judge a post according to emotion. A quick question to the admin, led me to the plugin responsible for this, called Emo-Vote.

Fortunately, I didn’t have to stay with Emo-based titles as there is a customization possibility and I quickly switched to Slashdot-based ratings, which are far more descriptive of how people might find the topics I write about.

So you’ll notice further below that you can now vote for each article on how you found it. Options are based on how I think opinionated blogposts can be judged as, such as interesting, boring, funny etc. I’d like to have a couple of options more, such as “disagree” etc, but I think for now the current capability is enough.

But why do I think that this kind of functionality is something beneficial to have on one’s blog? A few reasons.

First, it allows people who had a reaction to the article from some perspective (say, finding it informative) to state so without having to write a short comment about it (which is far more time-consuming than a simple click of the mouse.) In a sense, allowing the author to see how his articles are being received from a part of the audience he couldn’t see before. The silent majority. And as I consider comments and feedback in general as the main measure of success of blogposts, a way to increase that cannot be anything but good.

Second, it provides some interesting statistics, such as being able to see which are my top funniest topics, which are the most boring etc, according to audience interaction. This in turn one can publish on sidebars or a particular page so that new visitors can quickly find the most interesting content in the blog according to their tastes. It also provides the author with valuable information on what kind of topic he should concentrate on, based on previous success.

Lastly, it has potential. What Postreach attempted to do but failed due to its centralized nature, perhaps can be achieved by blogs federating amongst themselves. So for example, perhaps there will be a way to export such ratings to an aggregator which would allow anyone visiting it to quickly find new insightful, interesting etc posts from different blogs. Of course that would require than many use the same rating names or some other working system. Who knows, perhaps the Automattic will be willing to host such a service for the benefit of their userbase. But yeah, potential.

So anyway, I really hope I’ll see you all clicking away below, and you should even see this as an option on your RSS reader. 😉 Normal comments are of course welcome as always and do let me know if you think that a category should be swapped to something better.

Reblog this post [with Zemanta]

The best solution for multilingual blogs is here!

Transposh is a new shiny plugin that promises to make translating your wordpress blog to other languages a breeze. If you’ve gor a multilingual blog, you can’t afford to miss it.

translation
Image by Swiv via Flickr

Through NoState.com I’ve come to discover Transposh, a new WordPress plugin that promises to make the task of translating pages of your site to other languages very easy, and to also take reduce the personal effort required to do so by crowd-sourcing the task.And boy does it deliver!

You may have noticed that I occasionally write in other languages, particularly in my native Greek. That doesn’t happen so often because my audience is mainly international now but it still bugged me that my choice of language was in effect making it difficult for my friends and relatives from my birthland to follow and participate. However the task of replicating each post on another language was simply too much to bother.

However Transposh finally gives me an opportunity to fix this. I can much more easily do the task of translating my pages to my native language myself, since it utilizes google translate to get your text changed, transparently. That is, the text will switch to the google translation of the language you want and you can edit and fix it right there and then, without having to go through the dashboard or anything.

Not only that, but the elements of the page which exist in other locations as well, such as the title or the header, once corrected once do not need to be corrected in every other page of your site as well, but rather are intelligently cached and served.

Oh, and did I mention the crowd-sourcing part? This is my favourite bit. Transposh gives the opportunity for the blog author to not only allow other registered users to translate, but also for anonymous as well. This means that all interested parties can help improve your site. This might not be of much use for small fishes such as me, but for larger players with an international audience, it will certainly provide a lot more labour. Of course, there’ always the issue of vandalism, but much like any wiki, some solutions should be possible.

You can see how translating with Tranposh looks like. The colour show the status of each sentence (Google-translation, Human-edited or none)
You can see how translating with Tranposh looks like. The colour show the status of each sentence (Google-translation, Human-edited or none)

This crowd-sourcing now means that if you find an interesting article in a Transposh-enabled site, you can help translate to the language you wish (of those the author made available) and then send the link to all your friends whos’ foreign language skills are not so good.

For an Alpha version plugin, I’m impressed. Both at the quality of the code but also at the quality of the support. The main developer is lightning quick to respond and help with problems (although that’s bound to change as the plugin becomes more popular I guess). For example, my first and largest problem was that it seemed that the translation of each page was taking forever, sucking all my resources and that caching was not happening. However after some discussion with the developer, I discovered that by simply leaving the first translation to finish, everything became much snappier on subsequent attempts. That is because the general elements are translated once on the first time (which on an element heavy page like mine can take a while) but are cached once this is completed.

Oh, and did I mention that that it can also make nice permalinks for your translated articles that are indexable by google and cacheable by Hyper-Cache? (And I assume WP Super-Cache as well). For example, you can find the Greek translation of this article here.

So if you’re writing a multi-language WordPress blog or if you have an international audience, I think it’s time you give this plugin a go. Even if you don’t have the time to perform the task, you give the capability for others to read it easily (without having to go to visit google first) or even do the full job of translation themselves for the most interesting stuff.

For the Division by Zer0, I’ve now activated the Greek and German languages since I don’t expect people from other places to visit much. However if you’d like another option, simply let me know and I’ll enable it.

Reblog this post [with Zemanta]

I love WordPress! Now I've got a series plugin

As I’ve been progressing with my misunderstanding communism series it has become to me painfully obvious that I need a better way to organise the links and the format of it in a much better way than what I’ve been doing until now. Specifically, what I have been doing was to copy paste a small introduction text within a style-customized <div> and then manually update the links towards the previous and next articles.

This is what I had been doing in my self-hosting with WordPress series as well and, frankly it was an annoying process. I thought that there must be a more optimal way to go about doing this and fortunately others had the same idea as me.

A quick search for relevant plugins immediately landed me two results. Without knowing the difference, I simply went for the one which has been updated more recently (plugin developers, this is why it pays to keep your code up to date): Organise Series

This one takes the more exciting road of actually using the wordpres taxonomy capabilities and creating a new one. As such I do not have to mix up my already existing tags or categories (which would appear in the various parts of my theme) and I can rest assured that I will not b0rk it by mistake.

I faced the first hurdle when I discovered that the plugin did not have the correct link structure for the options page and eventually that it is not yet ready for WordPress 2.6. However actually opening my eyes a bit more showed me that some kind soul has already submitted patches for this and the beta versions are working. Thus, since I had already initialized it anyway, I took the dive and upgraded to the developer version No problems there.

Then I set about making it look good. It took me a while to figure it out but the author of the plugin has gone into the trouble of writing a use howto…well, series, which goes quite in depth. Eventually I figured it out and made my pages look readable again. But as always, I wanted more bling. So, since I’m already using scriptaculous through backlinks, why not make my series description available without crowding the actual post, through the nice toggle function. And lo, there was code!

The following went into my “Series Meta”, which is the text that appears very first on the post, announcing it as part of the series.


<div class="seriesmeta">This entry is part %series_part% of %total_posts_in_series% in the series %series_title% - <a href="#" onclick="Effect.toggle('series_description', 'slide')">%series_icon_linked% About this series</a></div>%postcontent%

This goes into my Series post list Template:

<div class="seriesbox" id="series_description" style="display:none;">
%series_description%<hr/>
<ul class="serieslist-ul">%post_title_list%</ul>
</div>%postcontent%

And thus, after customizing the css a bit, you get the nice result you see now in any post in the series where you can click on the link and the description of the series, along with the whole list of posts drops down for your viewing pleasure. And I didn’t even had to hack my theme as you can do all this from the options page. Sweet!

The plugin has other nice options like the ability to assign an icon/image to a series, a standalone series page and the capability to read all the posts in a row when clicking on their series link. Unfortunately for me the last does not work as it simply kills the html loading of the page. I assume this is because it’s not yet fully compatible with 2.6 but I’m going to soon open a bug about it.

All in all, I like!

How to load a javascript through your wordpress plugin

I’ve been struggling today to manage to make Backlinks to use the Scriptaculous script library in order to have the list of backlinks hidden until the viewer chooses to see them. While in the Division by Zer0 I already have those libraries loaded for my navigation, it’s certain that not everyone who is going to use it does the same.

Initially I was thinking of simply asking everyone to use a plugin loading these libraries as a dependency but that’s simply over the top for something this simple. Instead I decided to find out how to load the script within the plugin and to my delight I found out that not only does wordpress has functions explicitly for this purpose, but it already includes most common javascript libraries, inclusing Scriptaculous.

Unfortunately, although there were a number of guides trying to explain how to use this, none of them was complete. Simply adding enqueue_script in my function didn’t work and I couldn’t see a full example.

Fortunately someone had thought to add a mailing list discussion which gave me the solution after a few pages. I need to use the template_redirect hook (wp_head is not good, I tried) and I need to put that at the very start of my plugin, after the information but before any function begins. It then needs to call a function which enqueues the scriptaculous effects of which “blind” is used by Backlinks

The end result looks like this

add_action('template_redirect', 'addeffects');
function addeffects() {
if (function_exists('wp_enqueue_script')) wp_enqueue_script('scriptaculous-effects');
}

Of course, the name of the function can be anything you like and you can call any javascript library you wish instead of scriptaculous-effects. Feel free to download the whole plugin to see the whole code.

Backlinks

I just created a new plugin which allows you to display backlinks for your posts similar to the way it exists in Blogger. It is called, appropriately Backlinks.

If you do not like that wordpress does not display links coming from blogs that utilize trackbacks, or if you simply want a simply list of incoming links (instead of having them scattered in your comments), this is for you.

If it still in the very first version so it is quite basic. I plan in the future that have a configuration page, the ability to hide or display the links (just in case the list gets too long) though scriptalicious etc. For the moment you can simply put it anywhere in a template and it will automatically show you blogs linking there.

Let me know what you think or if you have any ideas that might make it better.

UPDATE: I’ve now managed to get the plugin to hide the results until the header/link is clicked. This will save people with a lot of incoming links from having a huge list in the middle.

Pingback and Trackback eater identified

To my dismay in recent weeks I’ve noticed that I’m not receiving any trackbacks or pingbacks anymore. This was especially annoying as it happened right on the time I posted the Carnival of the Godless and received approximately 17 linkbacks (of which about 5 must have included proper pingbacks, blogger as always sucks in that regard).

So after getting annoyed enough, I’ve managed to discover the perpetrator of these disappearances. It seems for some reason the BcSpamBlock plugin was just chewing everything up without letting anyone know. I disabled it and the problem went away.

I think this may have to do something with relation to Dreamhost as if it happened to everyone, everywhere, surely someone might have noticed sooner. Nevertheless, if you’re missing pingbacks, at least you have an idea where to look.

Unfortunately all the ones I should have gotten by now are lost forever…unless the good people who linked to me make the trouble to do it manually again 😉

Smart blogging made easy

Image representing Zemanta ltd. as depicted in...

I’ve just discovered a little plugin, Zemanta ((h/t sudobash)), that claims it can make my blogging easier and I was wondering how true that might be. Thus this post, which is party a test to check the capabilties.

Apparently what this plugin does it that it finds related pictures, tags, links and articles to your post content and proposes them for you to use. I am already using the Photo Dropper Wordpress plugin which can find for me Creative Commons licensed content in flickr that is related to my post, but Zemanta promises to take this a step further.

Image representing Zemanta ltd. as depicted in...
Image by Zemanta via CrunchBase

I’ve just discovered a little plugin, Zemanta ((h/t sudobash)), that claims it can make my blogging easier and I was wondering how true that might be. Thus this post, which is party a test to check the capabilties.

Apparently what this plugin does it that it finds related pictures, tags, links and articles to your post content and proposes them for you to use. I am already using the Photo Dropper WordPress plugin which can find for me Creative Commons licensed content in flickr that is related to my post, but Zemanta promises to take this a step further.

Currently it comes in the form of either a browser or a server plugin. The first form would be appropriate for someone who does not want to load up his blogs with extra scripts and generally blogs from the same place always (say, home). The second form, for which I went for, is better for someone who might blog from 2-3 different locations.

As I’m using it, it looks quite good. I especially like the automatic tag suggestions, and while there are other plugins that can do the same, it’s good that you don’t need 4 different installations. The only thing that wasn’t obvious is that  you need to save your article at least once before suggestions start coming in. However once they start, they update every 300 words to give you stuff more relevant to what you are typing in.

So I think I’ll keep it. I’ve already installed it in various of the blogs I manage and I think it will be especially useful for people who just don’t have much time to look around for images or think of tags.

Reblog this post [with Zemanta]

Something is horribly b0rked

And I don’t have time to fix it now. A bit later. Please hold on

Update: Fixed – Phew.

I think that I will not use the AskApache plugin. Even though it looks very useful (especially since I’ve been mildly hacked once) it managed to b0rk the site twice (although I will admit that the first time it was my fault as well).

However the fact that it is so easy to break your site, even if you have some passing knowledge of web administration like me, makes it a bit dangerous for the faint of heart.

Another problem is that I couldn’t even leave a comment at the plugin’s page due to the heavy spam filtering or whatever. This is especially exasperating when your site is freaking up (not finding the admin pages and whatnot) and you’d like some support. Fortunately I managed to search for keywords and find a comment left by the author of the plugin advising how to fix my problem.

Very big Note: When the author talks about the .htaccess file. He means the .htaccess in the wp-admin/ folder not the one in your domain root. Do not touch the one in the root! I learned that the hard (or rather, the run around in panic, waving my hands around) way,

An easier way to track your comments in your lifestream

I’ve been trying to find a better way to allow my lifestream to track my comments that would require less manual activity from me as well as allow me to track my own comments in my own site.

When I started using google reader to archive and extend my lifestream, I briefly considered using it to track my comments as well but I decided against it as I wanted first to see if comment services like Cocomments or co.mments might work (they didn’t). I also could not see a way so as to get it to track only the thread titles where I’ve placed a comment (so as to insert it in the areas I am commenting) or how to get my lifestream to display only my own comments.

However, after managing to set up google reader as an archive, I discovered how much more information an atom feed is providing, part or which is the author or each comment post. Just what I needed 🙂

I quickly cooked up a bit of code to just keep the comments left from me in each thread’s feed. This is something I was not able to achieve with Cocomments and co.mments as they don’t provide you with an actual feed of the whole thread but rather they copy the text and provide you with a raw html formatted to simply look separated.

There was also a little problem that many feeds included various words in the title like “Comments on:” which just looked bad when I appended my extra “Commented on:” text. I needed to find a way to remove them so a little search and the php solution appeared. Perfect!

Last step was to trigger it even if I happened to comment with differing case in my alias. the “if” statement is quite anal about cases that way. All in lowercase then.

The end result is this:

if ($feedurl == $greader_comment_feed) {
if ($author = $item->get_author()) {
$name = strtolower($author->get_name());
if ($name == get_option('greader_comments_author')) {
$item_title_crops = array('Comments on:', 'Comments for', 'Σχόλια στο:');
$item_title = str_replace($item_title_crops,'',$item->get_source()->get_title());}
else {continue;}}}

Finally, all you need to do is setup a google reader public tag where you’re grouping in all the thread feeds of any place you comment in. You can see mine here for example. Get the feed of it, put the number of items you want to see (the default is 20) by appending ?n=# in the end, where # is the number of items you want. In this case you should put something sufficiently large as this will also include comments from others.

Unfortunately, once this was setup, I realized a limitation of simplelife. It still could not limit the number of items you received by date. This is apparently on the “To Do” list but seeing how long it is taking for new versions to come out, my only option was to code it myself. And code it I did 🙂


if (get_option('simple_datelimit') > 0) {$date_limit = get_option('simple_datelimit')*86400;}
if ($item->get_date(U) < date(U)-$date_limit) {continue;}

Not only that, but I decided to try my hand at adding it as an option on the plugins config page in the WordPress admin panel. This is why the “get_option” exists instead of hard-coded entries :).

What it does it take the number of days the user submits and multiplies it by the number of seconds in a 24h day (86400). After that, for each entry, I get the date in a UNIX epoch format and compare if the day the item was recorded is within the number of days I’ve set. If not, I just skip the current iteration.

The new option to set how many days of history you need.

Finally, since I already managed to edit a new option in the config, I thought why not to create the option for the Google Reader feed as well. And lo! There was code.

The Google Reader Comments menu config

Since this wasn’t really hard, I’m planning now to prepare the plugin for general consumption and perhaps upload it to the Codex. I’ve was waiting for the 1.3 version to come out so that I could take that as it has some more improvements, but it just does not seem to be happening.

I also have some nice ideas to improve the config, like Ajax dynamic menus etc but that’s for the future.