Facebook and Twitter Integration with WordPress Blogs to help SEO

August 31st, 2010

Search Engine Optimisation through Social Media A while ago I posted a quick SEO overview guide, and that had a section on how Social Media played an important role.

While mentioning these topics at a high level, when it gets down to the nuts and bolts, it can be quite time consuming and effort laden in order to actually get stuff done. Any shortcuts that exists, really go a long way in helping cater to the whole gamut of requirements. So, I’m going to pick out at some of these topics and share my personal experiences with them to try and help out a little.

To start with – self hosted WordPress sites (which is what this is) are by far the best combination of ease and flexibility in my opinion. So if you’re going for a blogging platform, start with WordPress.

Then, the first step for your subsequent Twitter integration, is easy. The plugin you want is “TweetMeme“. You can search for it in the WordPress plugin directory, or you can simply download it from their site. Whichever one you choose, once it is installed and activated, it just works. Nothing else required.

To go slightly deeper, and integrate every blog post with your twitter account automatically, you can use FeedBurner. FeedBurner is quite self explanatory to set up, and only requires you to have a Twitter and a Google account to get it working. FeedBurner also has the added advantage of pinging several other blog services everytime it detects a post from you. So that helps in additional link building.

Moving onto Facebook – there’s a minefield of plugins for WordPress out there. There are some that throw everything into the plugin including the kitchen sink, but then they become horrendously annoying to configure and very bulky to load. I narrowed down my requirements to two things that Facebook is really useful for today – “Liking” stuff, and “Comments”. Both of these get entered as stories into profiles. So this does exactly what you want by hitting newsfeeds. Other features like linking to my Facebook “Notes”, or duplicating/synchronising content and comments between the two defeat the purpose of me having a website. So after much hunting, I have found two applications that sort out everything I need:

  1. Facebook Comments for WordPress by Graham Swan
  2. Facebook Like by Ahmed Hussein

They need a little bit of configuration in order to run properly, but they come with comprehensive HowTo guides. They do the fantastic job of seamlessly integrating your blog into people’s newsfeeds with minimal brain power.

Have you used or made any other plugins that you’ve found useful?

Share on Facebook

Quirks in Mobile Location Technology – Wifi Errors

August 11th, 2010

Chicken GPS - Existential GPS
So I’ve been playing with Google Maps and the location technology on my shiny new Xperia X10 Android phone, and I think it is all very cool. But there are some things which need fixing for the future… in no particular order, here are the results of my findings…

GPS
Accuracy: Obviously awesome in accuracy – pinpoints your location, but claims to have an error margin of about 20m. I’ve never had it off any amount that I could notice. If I hang out of my window on one side of the house it detects that window, and if I move to the other, it finds it there too. Very cool. This does depend on if your phone can see the sky, and also on how many high rise buildings are around you though.
Power: T3h lame. I guess you have to compromise on accuracy with battery juice. If you leave GPS on without being plugged into something, don’t try to use your phone for anything else. You’ll probably run the battery dry once you’ve finished typing the SMS you wanted to send. On my phone at least – if you have the map software up, and the GPS on you can see the percentage reading of your battery dropping…

Network Location
Accuracy: The accuracy really depends on how densely packed your area is with mobile cell towers. The fewer towers you have around you, the worse the accuracy. In rural areas I generally see accuracy ranges of around 800m. Which isn’t too bad when all things are considered. If you’ve moving, then the software is usually intelligent enough to refine that reading, and reduce the error margin – so I think this is a pretty reasonable level of detail for not doing much at all.
Power: Great usage of power! It doesn’t stress the phone that much at all. It has to be connected to cell towers, and it’s effectively performing a fancy variant of triangulation – so the work is mainly done in the software as opposed to communicating with external devices. So this is a great power saver, and allows you to get a good idea of where you are!

Wifi
Accuracy: It appears that either Google, or some database somewhere on the internet ( I have done no research into this and it is purely speculation) has a reference for infrastructure points, and where they are likely to be located. Presumably this database was hugely plumped up when the iPhone frenzy kicked in and everyone was walking around with their phones and wifi on. So the large database owners have attached the Lat+Lng location based on these devices and the corresponding surrounding wifi nodes. This is visible from items like the touch iPods – which don’t have GPS, or cellular reception, but do have Wifi – they can still “tell you where you are” on Google maps. Bear in mind though, that this has the potentially to be HUGELY inaccurate. Different continent inaccurate. I had a wifi node set up in my house in the UK, and someone clearly had an iPhone – because now that I’ve moved to a different country whenever I walk into range of the wifi node, apparently I am back in the UK! So I find this type of referencing REALLY BAD. In theory though – it says 75metres should be the accuracy when combined with mobile networks.
Power: Wifi sucks power out of these tiny devices – so I would recommend not using this as a location reference device, and really only for when you actually need to download data!

What about you? What has your experience been with mobile location technology? Either in phones or in-car GPS units?

Share on Facebook

Installing the Android SDK on Ubuntu

August 7th, 2010

Android Installing the Android SDK on my Ubuntu machine was a bit of a hassle this morning – especially given that I already had the Eclipse IDE installed from the repository! I was battling all morning with NullPointerExceptions for a reason that was previously unknown to me!

So in the event that this makes anyone’s life easier, I would recommend following these steps:

  1. Get Java1.6 from the repositories – either using synaptic, or apt-get to download it
  2. Open up a terminal window
  3. Type in sudo update-alternatives --config java
  4. Select the option in this list that points to Java 1.6 (or higher)
  5. Download the Android SDK for Ubuntu
  6. Unpack the tgz in a directory of your choice, and run “tools/android”
  7. Click “Available Packages” and refresh the repository
  8. Download the necessary SDK elements!

Doing in that sequence will save you a lot of headache. Of course afterwards you can pick up your preferred IDE – Android Dev recommends Eclipse – but not the eclipse from the repository. Instead you need to download the new(er) one from the eclipse website.

P.S. Thanks to LaiHiu for the entry graphic

Share on Facebook

Listing methods for all of your PHP objects for quick reference

July 23rd, 2010

Open Reference BookWhen managing or developing object orientated programming sites in PHP, I find that I frequently forget the names of methods that belong to classes. Even though I try to have a standard naming format – my memory still seems to fail :-(
So rather than run phpDocs over my objects continually, I knocked together this quick script to list all the methods in all my objects (I store all my objects in one directory). I call this file “_methodList.php” and keep it only on the development server. Here’s the code!
$dirpath = "/path/to/objects";
$dh = opendir($dirpath);
while (false !== ($file = readdir($dh))) {
//Don't list subdirectories
if (!is_dir("$dirpath/$file")) {
//only grab PHP files
if ((substr($file, -3)=="php")&&($file!="_methodList.php")){
echo $file."<br/>\n";
require_once($file);
$methArr = get_class_methods(substr($file, 0, -4));
if (sizeof($methArr) > 0){
foreach ($methArr as $method){
echo "-> ".$method."<br/>\n";
}
}
echo "<br/>";
}
}
}
closedir($dh);

Thanks to Honou for the opening graphic!

Share on Facebook

SEO QuickStart Guide in a Graphic for Beginners

July 17th, 2010

I’ve spent the past couple of years continually looking over Search Engine Optimisation (SEO) guides, blogs and tips from so many different sources, and while some have their own twist on the way things should be done, there are several core messages which keep coming through. I’m no SEO guru, but I try what I can, and I’ve summed up the core messages in this graphic below. If I’ve missed anything critical – then let me know! It’s a big graphic, but should be worth the wait :-)

SEO Visual Quickstart Guide for Beginners with things to do on your site, and off your site!

Special thanks go to the follow sites that I used information from:

SEOMoz.org, TheGoogleCache.com, GetClicky.com, ViktorViktoriaShop.com (for the great product graphic). If I’ve used your work and you don’t want me to, then let me know and I’ll blur you out of the graphic!

Share on Facebook

Arricah is born!

July 12th, 2010

Arricah My wife gave birth to our beautiful little girl on the 7th of July, and so I have been quite busy the past couple of weeks!

I will return to regular posting shortly!

Share on Facebook

How to migrate contacts from a Palm Treo 680 to a Nokia e71 without Outlook

June 24th, 2010

I recently switched from my Palm Treo 680 to a Nokia e71. It was a painful departure from a decade with Palm, but the phone is now old, and the battery life has begun to become a major issue during the normal working day.

The e71 has some great features over the Palm, but a couple of things I’ll definitely miss are the touch screen and the keyboard!

A hurdle that I came across during migration was my contacts. There didn’t seem to be a simple way to synchronise the two devices without hacking about with Outlook and some other garbage inbetween. I don’t run Windows, and so I don’t have Outlook. Short of spending ages trying to knock together a synchronisation profile in Ubuntu for both devices, I tried to find an easier way. It turns out, there is a very simple way that doesn’t seem to be well documented.

The process works like this:

  1. On the Palm Treo 680, go to your contacts menu, and under the category “All” – press the “Menu” button (bottom right key on the keyboard)
  2. Click “Send Category”
  3. Select “Email” or “Chatter”, or some other file transfer method that allows you to get the file to your Desktop
  4. You will then have a file called “All.vcf” on your desktop, this file now needs to be processed through my PHP vCardSplitter script. You can do this using PHP5-CLI, or if you don’t have this on your computer, then drop me a comment below to get in touch, and I’ll split the files for you
  5. Once your files are split, you then need to connect your Nokia phone to your computer in “Mass Storage Mode” and copy all the split VCF files onto the phone under the folder “/Other/Contacts”
  6. Safely disconnect your phone from the computer
  7. On the phone, go to the Contacts menu, click the Options button and select “Copy > From Memory Card”
  8. It will then begin copying all your contacts in their full glory to your phone! I had about 1500 contacts to copy across, and I started it just before I started writing this post, and it still isn’t done… (it takes a while)

You’re done! I don’t think the categories that were saved on the Palm are copied across, but at least you now have all your contacts, and all of their full vCard information with them. So this should have copied across email addresses, multiple phone numbers, addresses, etc.

As above – if you can’t execute PHP scripts on your own, then drop me a comment, and I’ll sort you out with a split up file and its outputs. There is a spam trapper running on my comments box below, so make sure you have JavaScript turned on when viewing this page!

Do you have an easier way to do this? If so, please let me know and I’ll link to your method from this post!!

Share on Facebook

Iterating through class constants in PHP

June 18th, 2010

I was breaking my head trying to figure out the best way to reference a particular set of constants in one of my objects so that I didnt’t unncessarily need to create a new database table. Fortunately, I found this thread about looping through class constants using reflectors.

As a summary, it can be done in a very small amount of code:
class test{
const CONSTANT = 'foo';
}
$t = new test;
$r = new ReflectionObject($t);
print_r($r->getConstants());

With the appropriate naming convention – everything else is easy!

Thanks to jpadie.

Share on Facebook

Tutorial on Creating Dynamic JavaScript Widgets for Third Party Sites

June 15th, 2010

One of the things I get asked a lot about are the JavaScript widgets that I make, that can be installed on third party websites. The VenueMirror VenueSearch widget at the top of this page is an example of this. The search bar is actually loaded through a JavaScript call that pulls the information from another server. This technique for loading content onto third party websites is not unusual, but it seems there are too few tutorials out there about how to do this. Firstly though – one must question why indeed you would do this.

Read the rest of this entry »

Share on Facebook

Creating Line Graphs in JPEG Format through PHP

May 25th, 2010

A while ago I wrote about making use of information collected by websites – I find graphs a great way to do this. And while there are lots of great graphing objects, or tools available today, it can be a hectic scene to try and find a free one that you want for basic use. So quick modifications to existing code can sometimes be exactly what you need! Below is the code that was used to create the graphs seen in that previous post.
Read the rest of this entry »

Share on Facebook