David Artiss

Author: David Artiss (page 46 of 127)

Diary of a WordPress plugin development

Most people don’t realise that running this site and developing WordPress plugins is not a full time job for me. Therefore I have to find the time during lunchtimes and snatching time in the evenings. However, this week I’m off and have decided to tackle a big upgrade to my most popular WordPress plugin – Artiss YouTube Embed. As a bit of an experiment I thought I’d write a diary of how it goes – each day I’ll make regular updates to this article with details on what I’m doing. If I get it completed this week I’ll be astronished – I expect it to run into at least next week!

First of all, though, I need to bring you up to date with where I’ve got.

Today is Monday 7th, but in the UK it’s a public holiday. Therefore, my development hasn’t officially started as I have a family to keep entertained 😉 However, I did make a start so my diary starts on Sunday.

If you find this interesting, please come back for the latest update. For a complete list of my planned changes and where I’ve got to please view the roadmap.

Sunday 6th

Pulled the YouTube Embed files out my personal archive. Ensured the current version, 2.4.1, is safely stored and created version 2.5. At the moment this is an exact duplicate of 2.4.1, but I quickly changed that by updating the version number in the root file and the README.

Meantime, I’ve had a report from a user of problems with the URL embedding options 1. By default, if you add a YouTube URL to a line of a post it will convert it to a video. There are few parameters available to the user and the end-result isn’t very configurable. So, I’d added an option to my plugin to override WP doing this and allow my own embedding instead. Sadly, it doesn’t appear to be working (something must have changed as I tested it when I originally implemented it).

Monday 7th

My wife and youngest daughter were out at the park this morning and after I’d mowed my rather substantial lawn and done a few other jobs I took another look at the plugin changes.

First job – going through the list of changes that I have on MantisBT and ensuring that all my planned changes are there. Unfortunately the list is now bigger.

I also had an opportunity to do 2 things…

  1. Start making some internationalisation changes. Basically, I’m ensuring that any text output goes through the appropriate WP filters and does so properly. WP has some great translation tools built in, but you need to ensure you’re using them properly.
  2. I’ve updated the plugin filenames – all my others have an appropriate suffix and describe the files use well. This wasn’t the case with this plugin so they’ve been updated. I still need to do the same with the CSS and JavaScript though.

Both of these items, both unfinished, took me an hour which, I guess, goes to show how much time it can take to make what are relatively insignificant changes.

Tuesday 8th


Had some breakfast and time to make a start. My intention is to concentrate on 2 of the major issues initially – getting the aforementioned embedded URLs to work (or not) and updating the playlist code. There are a couple of things on the list that could potentially wait for a future release so I’ll do those last – otherwise everything else I’ll do in no particular order.

The URL embedding issue is causing WordPress to display the embedded URL instead of my own code and the following error is logged… “WARNING: wp-includes/media.php:1171 – preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash”.

I’m bringing back a copy of media.php and will add some lines of code in to help me debug the situation. I’ll put that version back and re-try.


Got somewhere with the regular expression issue but I’ve hit an impasse. When outputting the expressions that WP is processing I came across another, which wasn’t one from my plugin. No, this isn’t causing the issue but  I could see the format was different to mine – I believe mine is formatted incorrectly and hence the error. Unfortunately, my knowledge of regular expressions isn’t good enough to fix it so I’ve added my question to a forum – I’m hoping somebody will be able to assist.

Moving onto the playlist…


I’ve spent all this time trying to desperately understand how the new playlist function works. The documentation for it is poor and the penny has just dropped that it only supports the IFRAME player. This is a retrograde step from how it was. On the plus side I’ve since managed to get the old playlist method to work, so I’ll see if I can get it to work on new playlists!

Just realised actually that I can get new format playlists to appear in the current version of the code simply by removing the “PL” suffix from them. I could swear I’d already tried this and it hadn’t worked! I’ll have to do some more testing on that. Maybe the solution is to use the new method when using the IFRAME player and the old method for the Flash player.


Finally, the playlists are working correctly and I’ve taken the opportunity to tidy up some of the code in doing so. The code tidying means that I now generate the embed URL all in one section, rather than piecing it together later. This has also affected normal video embeds as well so they’ll need a thorough re-test later. The up-side of this (other than making the code easier for me to understand!) is that it’s given me an opportunity to bring it 100% up-to-date with the API examples.

If you use the IFRAME method then the new playlist parameter will be used, if you Flash then the older one will. The API also works too for the different formats too.

I’m going to have a little break now!


I lied, I fixed a bug in the MCE button JavaScript instead 😉 Now I’ll have a break.


I’ve now completely re-written the contextual help and updated all the script file names (see my Monday comments!). The former took a while, but it’s now compatible with both the 3.3 updates to the help system and the previous version.

20% of all the planned changes are now done which is an excellent start.

I’m now off for a long lunch, including having a much-needed shower.


Back! One lunch, one level of Infamous on the PS3 and one shower later.

My aim now is to “rattle off” some of the smaller changes, starting with completing the internationalisation.


Okay, all code tidy-ups done – output appropriately internationalised and function names standardised.


I’ve now resolved an issue with the titles not appearing correctly – I was incorrectly calculating the position of the title in the XML if I was using the one from YouTube. That’s fixed and the title is now displaying correctly. Other small fixes done…

  • The option to display the README now picks up the one relevant to your installation and not the latest
  • Fixed assorted errors being reported in DEBUG (none were critical)

That’s it for now – Mantis shows 36% of the changes are done so I can rest for now. I may do some more later, but a new episode of CSI and popcorn beckons 😉

Wednesday 9th


Another early start. The first thing I’m going to look at is an enhancement for excerpts. Post excerpts have shortcodes removed from them which, if you have a YouTube embed included, doesn’t give a great output, especially if a post if not much more than a video. My intention is, in the case of excerpts, to replace the video with a line of text.


Thankfully I didn’t spend much time on it! The excerpt is edited BEFORE any plugin can edit it (unless you remove the excerpt filter and replace it entirely yourself).


I’ve now bought all the parameters up to date with current API documentation – some now work with a large number of player types so this has been reflected in the screens and README. I’ve also changed some of the wording to better reflect how Google differentiates between the different player types.

Lastly, I’ve added the ‘end’ parameter which allows you to specify when a video should end.


An update on the embedded URL issue – I’ve found out what I’d done wrong and the errors are gone. Unfortunately, the expression is simply not trapping YouTube URLs and I don’t have enough knowledge on regular expressions to correct it. I’ve therefore decided to remove the functionality from the plugin.


Wow, I’ve blitzed through the list of changes. I’ve removed a few because they weren’t actually issues – for example, someone requested that I remove the restriction on the number of lists and profiles I allow. In fact, there is no limit (should have realised that).

However, some changes have been made. One user reported that adding FRAMEBORDER to an IFRAME is not HTML5 compatible. I’ve therefore put this into the options as a selectable feature.


After all the changes I made I went for a break and I just ended up doing a lot of jobs around the house.

There are now just 2 changes to make – implement the new search facility and update the README with new FAQs. I’ll therefore call it a day and return to the code tomorrow – the search facility should be a bit more taxing.

Thursday 10th


A late start today as I had a lot of things to do this morning away from the computer. I updated the README last night so I just have the one (admittedly large) code change to make.

YouTube now allows you to specify a user name or search term and it will generate a playlist from the results. This is what I need to implement. My intention is that the search term or user will be specified between the shortcodes instead of the video ID.


One hour later and I’m now able to build a playlist based on user ID (more specifically my own). Excited!


I’ve now added the same options to the widget. I think that’s now about it for now – just some tidying up to do and some testing.

I’m out tomorrow so I’m not sure if they’ll be a diary entry – I’ll be back soon!


I’ve had 2 responses today from queries.

First of all, the forum where I asked about the regular expression they offered to construct what I needed. They asked me for some examples of what should match and what was needed to be extracted. At this point I realised that I didn’t know the latter – maybe this is why it didn’t work in the first place! If I ever work out what WordPress requires I’ll be able to work it out but, with my current knowledge, that may not be anytime soon.

On the more positive side I also heard from Jeff Posnick from the YouTube API Team. He has provided me with details on how to add the new playlist, search and user details to the Flash embed. Up until now I thought it only worked with the IFRAME and have coded it for that. So, I have more work to do after all!

Friday 11th


Spent the morning at the shops, now raring to try and sort out the code.

Having thought about this further, this is a good opportunity for me to clean up some of the code further – at the moment I’m building the playlist separate to the new search/user features but I should, in fact, be doing it as one.

Before diving in, though, I need to do some planning. Paper and pencil are ready!


Code done (still neats neatening up, though). I’ve realised that I still don’t know if the new functions with the Chromeless player. I’ve had a play and can’t get it to work, but have fired another query off to Jeff Posnick to confirm it.

Meantime, I’ve (after some head-scratching) decided to get it to force the player to IFRAME if one of the new functions is requested in the Chromeless player.


Lots more testing and tweaking done and I’m struggling to break it. I therefore suspect I’ve cracked it, so will tidy my code up now and think about testing next week (and also some updates to the README!).

Monday 14th


Am 30 minutes into my lunch break at work today. Have been testing, concentrating (so far) on the admin screens. After some modification, they now appear fine.

I’ve also updated the plugins’ screen icon. Am now going to whip through the plugin files and remove stray, redundant characters (tabs and spaces mainly).


Lunchtime over. Whilst testing MCE edit button and the link on the Admin Bar, I realised that the format (and action filter) of the bar has changed. I’ve therefore updated the code so that if using WP of 3.3 or greater it will add a new menu link to the Admin Bar with sub-menu links to all the main option pages. If the WP version is below this it will use the old style of adding a single link to the “Appearance” menu.


Back at home and have been working on the testing again since 4pm.

I realised the the positioning on the Admin Bar was wrong – instead of it being to the right of the site menu, it was to the left. A bit of tweaking and I found that a weight of 40 (passed via the admin_bar_menu action) resolved it.


Checked debug output to ensure I’m not creating any errors – all now cleared up (that I can find!). Finishing already, but will return later.


Testing again since sometime after 8pm.

Lots done including checking that the new “stop” parameter works – yes I coded it, but never checked it at the time. However, I’d made a school boy error – I didn’t allow it if using the IFRAME player. In fact, the API allows it in the IFRAME player, it just doesn’t work if it falls back to HTML5.

The same went with the switchable FRAMEBORDER code too – it all worked, except I was looking at the wrong parameter when generating the embed code FRAMEBORDER was never added. Ho hum.

Now finishing for today – more testing fun tomorrow lunchtime! I now only have the playlist, search and user upload features to test (so nothing major) along with general testing of other functions that I haven’t specifically changed. I then need to finalise the internationalisation text before creating the requisite translation files.

Wednesday 16th

Nothing happened yesterday as I was feeling unwell. However, I hope to return to testing today.

However, something might hold up proceedings – I’ve been approached to add some advertising to the plugin administration screen. They haven’t said it will be this plugin but I’m guessing it may be. In which case I’ll add it to this release.


Tested existing features – they all work fine. Now moving to testing playlists (in all their flavours!).


Playlists all worked, so I moved onto the new search and user upload features which worked equally well. Yes, that was a fast test but when writing the code I’d already constructed some test posts with examples in so it was simply a case of checking I’d covered all examples and re-testing.


Internationalisation has now been implemented, with all the relevant translation files generated. I had to tweak some output to get it spot on but I’m happy with the results.

Basically, I’ve generated the translation files that list all of the text that my program outputs. If anybody then wishes to provide translation to another language they will use these files to do that.

That’s it for tonight – I’m busy tomorrow and out Friday night, so I’ll hopefully be able to do some further work Friday lunchtime. By then I hope to have heard from the potential advertisers.

Thursday 17th

The potential advertiser got back to me and an agreement has been made – I’ll therefore be adding a discrete advertisement to one of the plugins’ administration screens.

This might otherwise have held up for release if it wasn’t for something else that’s come along as well. I’ve had a 2nd user complain about having a database full of cache data generated by this plugin. Two doesn’t seem a lot but how many people are likely to be checking this? The thing is, I know the cause – it was a bug in an older version, which is now fixed. Both users have been instructed on how to clear down their database manually of this old data – however, I think is only fair that I implement a better solution for future. I’ll therefore add in an option to clear down the cache from the admin page.

Friday 18th


I’ve spent my lunch today implementing the advert in the administration page. I’ve taken the chance to put some social links alongside which has produced a neat result.

Also implemented the caching clearing option and updated the FAQ to explain why this may be needed!

Finally, updated the demonstration video and added a more prominent bit of text to explain that the video can be sponsored 😀


Tested all the changes and compressed all the images from the earlier updates.

Made final changes to the README and updated the translation files.

Voilà, it is done. However, I still need to put it in the WordPress repository – things may break and I don’t want to do this just before a weekend. So the next update should be on Monday when I launch it!

Monday 21st


I have about half an hour before having to get ready for work. My intention was to get the new version uploaded, however I’ve had a report via the WordPress forum of something else that could lead to a change. They are attempting to use another plugin within the YouTube Embed shortcode to return the URL that they require. I’ve therefore taken the opportunity to add recursive shortcode functionality – essentially if you include other shortcodes within those in my plugin they will now be run too.

Ok, so with that done and a brief test to ensure all was still fine I then started to upload the changes to the WordPress SVN repository. I use TortoiseSVN for this purpose.

I also need to take the opportunity today to promote the release – I don’t do this for minor releases but like to for the more major ones. I’ll be doing this later

At 8:30 the code was completely uploaded and the WordPress.org page was showing version 2.5


Promotion is complete – I have contacted various WordPress sites that publish information about plugins.

So far, so good on the plugin – no issues reported yet. It’s still quite early in the US, though, so I suspect it may be some time before I have a better idea. None-the-less I’d say this diary has come to an end. I’ll update it if any issues are reported, but otherwise I hope you enjoyed this. Depending on the statistics for this article I’ll decide whether to do another in the future.

Wednesday 23rd

I have since had to make 2 minor revisions to the plugin to fix some reported issues – the link in the Admin Bar wasn’t appearing for those with a WordPress version between 3.1 and 3.3 and single video widgets weren’t displaying the correct video[/update]

  1. in fact he’s been reporting it for a while but has never supplied me with enough detail to allow me to recreate it until now[]

Lenovo ThinkVision LT1421

There are a number of USB monitors now beginning to come into the market. The idea is that you plug these into your laptop, as required, to give an extended desktop. The problem with most of them, however, is that their output is usual quite poor, often with reduced angles and low levels of brightness.

The Lenovo ThinkVision LT1421 is a 14″ screen with a 1366×668 pixel resolution that connects via USB. A mini USB plugs into the monitor and this runs to your PC as 2 USB cables – one is required for data and power and the other, if required, for further power. Personally, I’ve not needed to use the 2nd cable. With the cover (that you’d be mad not to use) it weighs just over 2.3 lbs and it’s just 0.35 inches at its thinnest, so it slips into a laptop bag easily.

The screen itself has no stand but comes with a hard plastic cover which, when clipped off, the monitor sites on. A “leg” with a rubber foot is then folded out from the back of the screen and this allows you to prop the monitor up at angle between 12 and 40 degrees.

Also on the back of the monitor is a control allowing to adjust the brightness up and down and a power light.

The screen surround is a very traditional Lenovo matt black plastic with the ThinkVision logo in a top corner and a silver Lenovo badge at the bottom.

Included with the monitor is the screen, cable, instruction leaflet and driver CD. The LT1421 connects via the DisplayLink technology and hence the reason for the driver. I never used the CD but, instead, downloaded the latest driver from the Lenovo website.

Once the driver is installed simply plugging the monitor into your computer’s USB port causes it to power on. Both screens will flicker as the current desktop is extended. A system tray icon allows you to specify how the 2nd monitor should work – I usually have it to the right of me and extend it that way so I can drag and drop files precisely from one screen to another. You can also rotate the screen and even just use it as a mirror of your laptop screen (potentially useful in meetings where you want to share your screen’s output but need to be able to view it yourself).

The screen is quite bright with good viewing angles. The colour is a little more yellow than my laptop screen and there’s no method of adjustment. Bear this in mind though – I have no intention of using it for photo work or the like so I’m happy that this is the case.

I struggled to find a UK distributor of this and bought mine via a German retailer on Amazon.co.uk for £145.

Using on a Mac

Drivers are available from DisplayLink for the appropriate drivers for Mac. In use, the experience is better than that on Windows – after installation and plugging in the monitor the display powers up immediately and is automatically configured very well. There are no additional icons – you simply adjust setup via the standard “Displays’ option within Preferences.


Promotional Video


[review]An excellent way to extend your laptop screen. It’s not too expensive and has a better screen than the majority of the competition. Combine that with the Lenovo quality and this is an excellent product.[/review]

Kingston Wi-Drive

One of the problem with Apple devices (and a growing number of Android devices now) is the inability to expand the device’s storage. With Apple pushing music and films via iTunes unless you picked wisely in the first place you may find yourself rapidly running out of space on your iPad, iPod or iPhone.

As a consequence, there are a number of products now available that offer separate storage, accessible wirelessly. However, where most of these contain physical drives, the Kingston Wi-Drive does all of this with sold state memory.

I have the 16GB model but a 32GB version is available available. In a black, compact form, about the same size as an iPhone, the device is unassuming. It’s easily pocketable and will work wherever you are. Like a phone, it contains a rechargeable battery with recharging and file transfers being done via a micro USB cable. The battery should last for about 4 hours which is not fantastic, bearing in mind there is no screen.

Many of the reviews of the Wi-Drive concentrate on it being more expensive than the hard drive equivalents – this is hardly a surprise, considering how much more expensive flash memory is compared to traditional hard drives. It seems pointless to me to to have a robust flash-based phone or music player and to then use a paired device that is likely to fail after its first major knock. The Kingston is as robust as the device you pair it with is. Having said all that, as is the fashion these days, the plastic is a glossy plastic which is likely to show every scratch and fingerprint.

In the small box that the drive comes in you get nothing more than the Wi-Drive, mini USB cable and a multi-language manual. It’s a shame that Kingston have settled on mini USB when most phones (and hence chargers) are now micro USB. Also lacking is anything to put the Wi-Drive in, especially considering the high gloss finish. A soft pouch or case of some kind would have been appreciated.

Setting Up

The device is really easy to use. It’s charged via the USB cable and you also use this to put content onto it. You then switch the Wi-Drive on at the side (the power button also doubles as power light) and, after a short delay, you will get a Wi-Fi light flashing on the front. Next to this Wi-Fi light is another which indicates connection to the internet – more on this in a moment. A reset button resides on the side and another light is on the front showing disk activity.

Once the wi-fi light is flashing you can now connect to the Wi-Drive as you would any other Wi-Fi device. To access the drive contents from your device you simple use the appropriate app – versions are available for both iOS and Android.

The Wi-fi signal of the Wi-Drive seems excellent. 15 metres across the office from the Wi-Drive, with a meeting room between us, and I could still access the drive contents and had 2 out of 5 bars still on my Wi-Fi signal indicator. It’s not as good as your home router but it’s still strong and means you can stray a reasonable distance from the Wi-Drive and maintain signal.

For those people who don’t have an iOS or Android based device you can still connect via the Wi-Drive’s IP address ( Type this into your browser after connecting to the device and you can view and select any of the files via a web interface.

Using the App

Whether you use the Android or iOS App the method of use is principally the same. The Android version, with garish blue icons, is a lot less polished than the iOS equivalent (below are a number of screenshots taken from both versions for comparison).

When you enter the app it takes a moment to find the Wi-Drive 1. You can browse the contents of this or your phone drive.

It’s when viewing the files that the two different apps appear to have different approaches (although the documentation on this is patchy so this is a case of trial and error). The iOS version, according to the documentation anyway, recognises a wide range of files types and will display them without the need of any third party apps. The Android version, in comparison, does rely on these external apps.What both do have in common though is that they both use their own player for audio, and pretty basic it is too. It’s a shame there’s no option to use an alternative application. However, there are options to copy any files to your phone so you can access them that way however you wish. Unfortunately, if you wanted to load the Wi-Drive with music and play directly from it you’re going to be stuck with a very poor quality application to do this.

Both apps have a settings screen – selecting this actually connects you, via your browser, to the Wi-Drive which is running its own server (very clever). As a result you can modify the Wi-Drive settings directly.

One of the things you can additionally do with the Wi-Drive is to create a “bridge”. Because your phone is now connected to the Wi-Drive via wi-fi this would normally mean that you’ve lost your internet connection. The Wi-Drive however, has a Wi-fi receiver in it so can connect to the internet for you and create a bridge connection to your device, hence providing you with internet capability into the bargain. To do this, you’ll need to head to the settings and provide details of your Wi-Fi setup.

Whilst there you can also change the details of how the Wi-Drive appears on your network – you can change the default SSID and the security (initially there is no security on it so anyone can connect to your Wi-Drive when it’s switched on).

Lastly, this screen also shows your current firmware level (see the later section for further details about this).


As mentioned earlier you can find the current firmware level from the App’s settings screen. Before I commenced the product review I ensured that I updated to the latest available.

Head to the firmware page on the Kingston website. If the current version is higher than the one indicated in your app, download the new firmware. Within the zipped folder is the new firmware along with instructions on how to install – the whole process takes just a couple of minutes.

This review has been written whilst using firmware 1.00.15.


Promotional Video


[review]Brilliant! An ideal solution to the issue of needing to expand storage on device that either require fiddly changing of SD cards or don’t even have that option at all.

It has it’s quirks, mainly around the apps, but I suspect these will improve with successive updates. Hardware wise only an included case and a micro USB port would have improved matters.

At the time of writing the 16GB version costs £34 at Amazon, whereas the 32GB is £65. Neither of these are expensive for what you get – the wi-fi bridging function is a genuis touch – with the 16GB version being particularly good value. If you have a portable device that’s rapidly running out of space, I certainly recommend the Wi-Drive as your first port of call.[/review]

  1. sometimes the app doesn’t seem to pick up on it at all – I find this is because the app was left running. Kill it and start it again and it will find the drive this time[]

How to display the number of your published WordPress posts

Needing to provide information for a page for marketing companies, I created a shortcode that would output the number of posts that have been published. And it’s just 2 lines long!

Copy the code below into your theme’s functions.php file and then place the shortcode [post_count] wherever you wish the count of posts to appear.

If you want to change the shortcode name, simply change it on the final line.

Short, sweet and does the job!

Is it the time for Skype?

I met a Skype representative recently and was asked the question, “do you use Skype”. My answer was “no, but I don’t know why”. And I suspect my answer echoes a lot of other people. Skype offers free video calling world-wide. Even if it’s just to your mum in the next town, it’s still a useful service.

You can also have a landline number allocated to your phone so other people not on Skype can contact you. And if you need to call them, Skype rates are extremely good. Of course most people probably have free calls with their phone package. Using Skype instead of a landline would sound good, but most people are ties to a BT landline because of their broadband. You could, of course, go for cable broadband but the matching phone services with them are so competitive you’re more than likely going to end up on those. All of this changes, however, if you call abroad as Skype then becomes competitive again.

Skype is available on PC, Mac and Linux and pretty much every phone OS worth knowing – Android, iOS, Windows Phone, Symbian. The Windows Phone version is new (probably related to the fact that Skype was recently bought by Microsoft), as is a version for the PlayStation Vita games console. You certainly can’t accuse of Skype of not being available!

So, it offers free video calls  to other Skype users and cheap calls to landlines and mobiles around the world, on pretty much any platform you can think of. It offers excellent video and sound quality. Yet, I very rarely use it.

The main reason is that I have few Skype contacts. Skype doesn’t make it easy to find people. A recent “teaming up” with Facebook, however, has integrated Skype into Facebook’s chat service and also given Skype access to your Facebook contacts. This is a start, but I’d really like to see more ways to find people you may know.

But aside from that… why don’t I use Skype? And the fact that I can’t think of an overwhelming reason would suggest that it really is time that I gave it another try.

PlayStation Vita Pre-order Pack

Those people who pre-ordered their PlayStation Vita from certain retailers would have recieved a special Pre-order Pack as well, as a “thank you” from Sony. They can also be found selling separately on eBay, for instance, so you can still get hold of them if you wish. Because I ordered by Vita from Amazon I got an 8GB memory card instead, which would normally retail at £30. I got hold of the Pre-order Pack via eBay and paid around £15.

The pack is a small box, in which there is… another box (good to know Sony are showing their green credentials here ;)). The top of this box opens to reveal, neatly presented and on display, a pair of “Vita blue” headphones. These are the in-ear variety and comes with 3 different sizes of tips.

Taking the headphones out there doesn’t appear to be much room for anything else. Indeed, all the other goodies that are promised are unlocked via a code printed on a slip of paper. These provide you with…

  1. £5 discount in the PlayStation Store on any of 4 games – Little Deviants (okay), Hustle Kings (good), Escape Plan (very good) and Super Stardust Delta (excellent)
  2. A free copy of the PS Vita game Frobisher Says. Essentially, it’s the Vita equivalent of WarioWare, where you’re presented with a series of mini-games that you have to perform as quickly as possible. This is a good demonstrator, I have to say, of the Vita’s various control methods and is quite an addictive game.
  3. Some PS Vita items for PlayStation Home on the PS3. I’ve not really used PlayStation Home myself, it hasn’t really appealed but I believe these are simply virtual items that your avatar can use.
  4. A PS Vita avatar – download it and use it as your account avatar!

Of course, the main item are the headphones and these aren’t too bad. The wires from the 2 ear pieces meet up a little too soon for my liking and the only way to extend this is to tear the cable apart – I much prefer the moveable toggle approach that other headphones use. They fit well, not as snuggly as others and the sound, again, is okay. And I guess that’s the overall conclusion of them – they’re okay and nothing special. Of course, if you needed a set to keep with your Vita then a matching set is always nice!

[review]As a freebie, you can’t complain, and the headphones are an okay, if not spectacular, matching accessory. If you’re going to pay for it, though, don’t spend too much. One last thing – you can only redeem the items until the end of August 2012. If it’s after then, you’ve only got a pair of headphones![/review]


PlayStation Vita Pre-Order Goodies

Display your site’s current PageRank

If you have a need to add your site’s current PageRank to a page or post (for example, you may have a page for the media/PR on which you may wish to highlight it),  the following piece of code, added to your theme’s functions.php file, will achieve just that.

All you have to add in a post or page is add [pagerank] wherever you wish the PageRank to appear.

Continue reading

The thorny issue of WordPress posts and missed schedules

WordPress has a great facility that allows you to schedule posts to be published at specific times on specific days. This is very handy if, say, you may write a number of posts at a time but wish to spread their publication out over a longer period of time.

However, during the many years I’ve used WordPress I’ve been plagued with the schedule being missed. When the schedule is missed, WordPress doesn’t even attempt to resolve it – it simply tells you (and only then when you list your posts in the administration screen) that the schedule has been missed. Great, but if you know that, why not make it live now?

The WordPress forums have been full of people reporting this for a long time, and still are. However, the current advise seems to be the WordPress equivalent of “turn it off and on again” – deactivate all your plugins and re-load your WordPress installation, as the issue is apparently fixed. Yes, it must be a plugin fault. Which is odd because the Trac system that WordPress use to record bugs and fixes appears to have numerous tickets open related to post scheduling, some of which show fixes that have been made but have been awaiting review for 7 months.

In fact a recent update to the Akismet plugin, written by Automattic, the company who also produce WordPress, stated that one of the changes was…

Prevent retry scheduling problems on sites where wp_cron is misbehaving

That would certainly suggest to me that there is a known issue.

I’ll admit to not understanding what the issue is.  I still get it and I was approached by another WordPress user at BlogCampUK with the same issue last Saturday – and the WordPress forums prove that this affects others too.

Plugins exist to try and resolve the issue and there are also suggested changes to WordPress to ease the issue, even if they can’t resolve it. If you try anything that seems to resolve the problem, please comment and let me know!

BlogCampUK 2012

On Saturday I attended BlogCampUK, a free workshop for bloggers. Organised by Tots100 it was, understandably, full of “mummy bloggers”. Indeed, of the 120 bloggers there, I suspect about 4 were men (when assembled in a single room it was like playing “Where’s Wally” when looking for the male contingent). All of this meant that there was a lot of cake. However, none of that (why would it?) detracted from what a great day it was.

There were a number of workshops throughout the day – often 3 at the same time, so you’d have to carefully pick which you wished to attend. I can only really speak for those I attended, so here’s a quick breakdown of what I attended, what I thought of each and the odd assortment of embedded presentations and some photos from the day…

Session 1 – Get Inspired

Okay, for the first session there was only one choice and it was how to get inspired, a brilliant talk with Muireann from Bangs and a Bun. There were some excellent suggestions on how to create a better blog and the talk, although 45 minutes long, never dragged. Certainly a good start to the day.

Session 2 – How to Be a Snark

Possibly the reason I went in the 1st place and it really hadn’t mattered what other workshops were being run at the same time – this was the one I was always going to attend. This was presented by Stuart Heritage, a writer from the Guardian. I’ve followed him for some time on Twitter and are a big fan. Indeed, I only knew about BlogCampUK after Stuart mentioned it on Twitter last year.

And, I have to say, he got a rough ride. “Mummy bloggers” they may be, but they took no prisoners, and it was all the more funny for it. My favourite was the person who wasn’t sure what a “snark” was and, after it was explained to her, stated “well, why would you want to be like that? It’s not nice.”

This workshop, if you can’t guess, it how to sarcy and snide but not be nasty. As another attendee has said, it wasn’t the most beneficial workshop as far as content was concerned, but it certainly amusing and gave some pause for thought.

One of the other session 2 workshops was hosted by Phil Szomszor, advising bloggers on self-hosting. I spoke with him beforehand, suggesting that if anybody has any WordPress technical questions that they direct them to me. He was more than happy to and, indeed, I was questioned later by one of the attendees.

After this session we had lunch, during which I chatted to Stuart, who appreciated some male company!

Session 3 – Making the most of your camera

An excellent workshop by John Arnold on how to take better photos. Although I have a DSLR, I always use it on the “auto” setting. I want to do more but find manuals a little dry – John cut through this to better explain what a lot of the technical terms actually mean (not in words, but in a practical sense) so I can now more confidentially switch off that auto selection and try things a little more advanced.

An alternative workshop was taking place during this on “Beginning SEO” with Lee Smallwood, an online marketing consultant.

Session 4 – “No Follow”

This was a workshop about recent Google changes and use of the “nofollow” flag, presented by Ruth Arnold from geekmummy and Lee Smallwood. I didn’t know much about it and wasn’t expecting a huge amount but this was the one that had me thinking the most.

In a nutshell, Google are clamping down on sites (including blog sites) that contain sponsored links that don’t use the “nofollow” tag. This tag tells the search engines that the link isn’t worth pursuing and it doesn’t affect your PageRank as a result. If Google catch you they will often strip you of your essential PageRank.

If you’re a WordPress user, then adding a “nofollow” is relatively easy. When editing a post, click on the “HTML” tab and find the link in question. It will probably be something like this…

<a href="example.com">click here</a>

Simple add rel="nofollow after the link, as follows…

<a href="example.com" rel="nofollow">click here</a>

Now Google (and others) will be instructed not to follow the link. Alternatively, there are many plugins available from WordPress.org that will make the above easier or even “blanket” your external links with “nofollow” by default. Personally, I’m avoiding the latter as the majority of my external links are genuine and are of genuine interest.

To read more, I’d recommend an excellent post by Sally Whittle from Tots100.

However, I’m *very* guilty of adding sponsored links and not having used this tag. I’ve therefore got quite a bit of work to do, including going back over agreements to see what I can and can’t do (I suspect some sponsors have insisted that I don’t use “nofollow”, in which case I have a difficult decision to make). I’m in the middle of defining rules for advertising on my site and this will give me the opportunity to set this for future – i.e. clearly defined sponsorship disclosers and “nofollow” on sponsored links. I’m also going to have to review guest posts as well.

Session 5 – PR Q&A

This was hosted by Stephen Waddington from Speed Communications along with a number of PRs including Andrew Burton from 3 Monkeys.

Although there was no set agenda it was initially taken over by queries coming from Session 4 – in particular the naughty agencies that have insisted on bloggers not using “nofollow” (since attending BlogCamp I’ve started adding “nofollow” to my advertising links and have already had an issue with one company insist that I don’t do it). It soon settled back to some rather excellent suggestions on getting in touch with the agencies, best approaches, etc. Again, I will be working on this in the coming weeks and, more importantly, now have some good PR contacts as well as ways of contacting others too.

Stephen wrote a great blog article about this before BlogCamp and it’s well worth reading.

The day wrapped up and I trudged (definitely the word) in the pouring rain to my hotel for the night. I spent that night and the morning kicking off changes based on what I’d learnt that day. Unfortunately, I was also wrestling with a WordPress plugin issue too and that ended up consuming most of my time. However, the view out of the large, wide windows from my 10th floor room made it a lot more worthwhile.

I hope I get the opportunity to attend next year – it really was excellent, the day whizzed by and I learnt a lot. In fact, I’ve already mentioned to the organiser, Sally, that I’d be happy to run a workshop next year.

Now, if you’ll excuse me, I have a LOT of work to do!

Update: Now is DEFINITELY the time to sort out sponsored links!

ReTrak USB Laser Travel Mouse

ReTrak, popular in the US, are now selling their range of products in the UK at retailers such as PC World, Dixons and Amazon.

You may have come across retractable cables before – often found on portable mice for laptops, they wind excess cable into real which is suspended half way along the cable length. What ReTrak have done is improved upon this, added other new technologies and then created a huge range of products. Basically, what you get are a range of electrical accessories that take up as little space as possible.

Their range includes computer, visual and audio cables along with power supplies, headphones, iPhone and eBook products, mice and even a retractable mouse mat with built-in USB hub!

One of the items that most travellers with laptops will need is a mouse and ReTrak have a portable solution for that. Their Laser Travel Mouse is a small (but still comfortable in the hand) mouse, in a fetching combination of both matte and shiny grey, that has a built in retracting mechanism for hiding away the cable when not in use. It works equally well if you’re left or right handed and has the now-traditional 3 buttons (the scroll wheel being clickable).

For my own laptop I use a Bluetooth mouse but often find the connection erratic – you really can’t beat a wired mouse for rock solid use. ReTrak have provided a very thin cable with this mouse which means it, unlike traditionally wired mice, doesn’t get in the way. However, I did find that it tends to curl up as a consequence of this.

Underneath the mouse is a small compartment. You open this, retract the USB cable and then the compartment closes again – a thin slit in it allows the cable through. It couldn’t be any easier and the retracting mechanism, as always with ReTrak products, is smooth. The whole thing is 2.5ft in length when fully retracted.

In use the mouse is nice under the hand and moves well. It has a 1600 dpi precision and scans at 6700 fps, which is excellent. As with many ReTrak products it comes with an excellent 3 year warranty.

Reviews of the product on the PC World site shows the only downsides reported are the length of the lead (which is fine if using this with a laptop, but not with a desktop – but why would you? It’s designed for portability!) and, bizarrely, that the lead is thin.


[review]Another cracking product from ReTrak. The mouse is excellent in use and the retractable cable gives you the convenience of a cordless mouse but without the connection issues. Normally this would cost £19.99 but can currently be bought from PC World for less than £5 – an absolute bargain![/review]
Olderposts Newerposts

Copyright © 2017 David Artiss

Theme by Anders NorenUp ↑

Scroll Up