Categories
News Rackspace

Rackspace Cloud now available in Sydney, Australia

In August 2012, Rackspace announced that they were working on launching an Australian datacentre for their cloud offerings.

Today that dream is a reality, with the official announcement of their new Sydney-based datacentre:

Rackspace now have datacentres in 9 locations, including Australia, the UK, Hong Kong, and the USA.

Map of Rackspace Datacentre Locations
Image Credit: Rackspace Australia

I just logged into the Rackspace Control Panel, and here’s the proof:

Rackspace Control Panel - Add New Server
Rackspace Control Panel – Add New Server

I’ve invested many hours in AWS’ offerings, so I’m not planning on switching to Rackspace Cloud any time soon, but it is great to see more competition in the Australian-based cloud industry.

(AWS launched their Sydney datacentre in November 2012).

Categories
Open Source Plugins WordPress

Releasing a WordPress Plugin – What’s Stopping You?

At OM4 we’re typically  creating a WordPress plugin in order to solve a requirement for one (or more) of our paying clients.

Some of the time, the problem we’re solving is quite specialised and unique, so there would be little benefit in releasing it to the masses.

However in a lot of other cases, the problem we’re solving for our client is a generic problem that applies to a lot of other people out there.

In those more generic cases, we have tried to make an effort to give away those plugins to the public by releasing them into the official WordPress plugins repository.

So far we’ve publicly released 4 plugins into the repository, and today we reached a milestone: our WordPress plugins have now been downloaded more than 100,000 times!

The main reason we released these plugins was because we wanted to try and give back to the WordPress community. After all, we had free access to WordPress and 25,000+ plugins due to the generosity of others, so why not return the favour?!

Speaking of why not, there are a few common arguments against publicly releasing a plugin, which I’ll try and address below.

1. But won’t I get too many support requests if I release my plugin?

Well, it depends.

In our case, we’ve had 100,000+ plugin downloads, but we’ve had a mere 18 support requests, which equates to:

  • 1 support request for every 5555 downloads
  • 1 support request every 11 weeks

Personally I think those numbers are very low, and I attribute that fact to the following 3 reasons:

a) A simple plugin designed to do one thing only

In our case, the plugins  we chose to publish are all very simple plugins, which are designed to done thing only.

The biggest plugin we’ve released is a mere 600 lines of code, however I’ve come across plugins in the repository that have 50,0000+ lines of code.

Now I have no doubt that those large plugins can be useful to people, but I personally wouldn’t want to release a plugin that large without charging for support (because there would be a lot of support requests)!

b) Decisions not options

The plugins we’ve published all have very few user options (which follows WordPress’ philosophy of Decisions not Options).

This helps keep your plugin small, simple, and easy to use.

Speaking of WordPress’ philosophy, in my opinion the main points that are relevant to plugins are:

  • Design for the Majority
  • Decisions not Options
  • Clean, Lean, and Mean
  • Striving for Simplicity
  • Out of the Box

I strongly recommend you read the philsophy and try and apply it to your plugins.

c) Clear & simple documentation

We have also put quite a lot of effort into documenting each plugin (in the plugin’s readme.txt file), so that the users can get up and running without having to ask questions.

Remember that you wrote the plugin, so you understand how to use it. However your users don’t have that knowledge, so they’ll need clear and simple instructions.

2. But isn’t releasing a plugin extra work that I won’t get paid for?

Technically, it is a little more work to publicly release a plugin, but if you’ve gone to the effort of writing the plugin for a client, why not spend another hour packaging it up and releasing it on WordPress.org?

Speaking of extra work: the major benefit to releasing your plugin is that other plugin developers might do some work for you!

I’ve had several developers who have been nice enough to send me bug reports (and pull requests) for our plugins, which has saved us some time and thus benefited our own clients.

If you’d like to encourage this community development, I strongly recommend putting your plugin’s code on GitHub (in addition to the WordPress plugin repository).

3. But I don’t know how!

If you are interested in releasing your plugin, I encourage you to have a look at the WordPress Plugin Developer Centre.

Conclusion

Now that I’ve been working with WordPress for ~6 years,  I can’t even guess how many lines of code I’ve written!

But when I pause for a second and compare that  to the amount of code that I have released publicly, I realise that there is still a lot of room for improvement. Is it too late to be making more new year’s resolutions?!?

I’m interested in hearing from you.

Is there anything in particular holding you back from releasing your WordPress plugin code to the public?

I’d love to hear why, and help encourage you to take the plunge and release it.

Categories
Community WordPress

Happy 10th Anniversary WordPress!

Today (May 27) is WordPress’ 10th anniversary!

(Technically speaking, today marks 10 years since the first WordPress release).

In that time, there have been 79 WordPress releases (19 of which were major releases that were named in honour of a jazz musician).

To celebrate, there are over 650 WordPress 10th Anniversary parties around the globe. So be sure to get along to one of them and spread the WordPress love.

WordPress' 10th Anniversary Parties

Also, be sure to check out the anniversary posts from WordPress co-founders Mike Little and Matt Mullenweg.

Categories
Community WordPress

How to Get Involved in the WordPress Project

Recently at WordCamp Melbourne, Ryan McCue said the following to all attendees:

If everyone simply contributed just one thing to the WordPress project, then WordPress would be infinitely better.
Ryan McCue

Please pause, and think about that for a second.

Going back a few years, there seemed to be a heavy focus on core code being the primary way to contribute to the WordPress open source project.

However in recent times, I’ve noticed a lot of effort has been put into helping the community contribute to the project in other ways (such as documentation, events, or support).

The WordPress Foundation has recently posted a great summary on how you can get involved in the WordPress project.

Regardless of whether you’re using WordPress for business or personal reasons, I strongly suggest you have a read of the article, which lists these teams/areas that you can get involved in:

  • Accessibility
  • Community
  • Core (testing, bug reporting, code wrangling)
  • Documentation
  • Events (WordCamps, meetups, etc)
  • Meta (wordpress.org)
  • Mobile ((iOS, Android, Windows Phone, and BlackBerry apps)
  • Polygots (translations)
  • Plugins
  • Support
  • Themes
  • UI (user interface design & development)
  • Updates (news / blog posts)

In my case, so far I have helped out with WordPress core (bug reporting & fixing), documentation, events, plugins, suport and updates.

However I haven’t been contributing as much as I would like to. I’ve only used six of the thirteen ways that I could be contributing, so there’s definitely still room for improvement!

How are you planning on contributing to the WordPress project?

Categories
Linux

Copy your ssh public key to a server from a machine that doesn’t have ssh-copy-id

A very simple (one command) way of copying your SSH public key to a remote server.

cat ~/.ssh/id_rsa.pub | ssh user@machine "cat >> ~/.ssh/authorized_keys"

or im my case:

cat ~/.ssh/id_dsa.pub | ssh user@machine "cat >> ~/.ssh/authorized_keys"

(replace user@machine with your SSH username and server hostname)

I’ve previously tried to do this using a manual copy-and-paste method, but it is error prone because the key quite often gets split over multiple lines.

Using this method helps ensure that your SSH key gets copied over completely.

Thanks to commandlinefu.com for this idea.

Categories
Cloud Google App Engine PHP WordPress

PHP/WordPress on Google’s App Engine

A good summary of Google’s recent announcement to support PHP (and thus WordPress) in their Google App Engine product.

Categories
Development PHP Plugins Themes WordPress

New in WordPress 3.6: the attachment_url_to_postid() Function

If you’re writing a WordPress plugin, you may have a scenario where you have an attachment (file) URL, and you’d like to obtain the associated post (attachment) ID.

Luckily, this is very easy to do in WordPress 3.6 because of the new attachment_url_to_postid() function.

The function’s syntax is simple – you pass it a string (the file URL), and it returns an integer (the associated post id), or zero on failure.

Here’s a simple example:

As mentioned above, this function is available in WordPress 3.6 – it will cause a fatal error if you try to use it in any earlier versions such as WordPress 3.5.x.

Thanks to Zack Tollman for the heads up about this handy new function.

Categories
Development PHP Plugins Themes WordPress

Better Mobile Detection with WordPress’ wp_is_mobile() Function

Although WordPress themes typically use Responsive Web Design to tailor website for mobile devices, there is sometimes a need to use PHP (backend code) to detect whether the visitor’s web browser is running on a mobile device.

For example, there may be scenarios where you may want to output certain HTML markup (such as a mobile navigation menu) on mobile devices.

Alternatively, you may only want to output a slider containing large images on desktop and not mobile devices. Doing this via PHP (instead of CSS) means that the visitor’s mobile browser won’t have to download all of the slider images even though the slider is never displayed.

WordPress’ wp_is_mobile() function to the rescue!

wp_is_mobile() is a litte-known function built into WordPress that detects whether the visitor is using a mobile devices such as iPhone, iPad, Android, Silk, Kindle, BlackBerry, Opera Mini, and Opera Mobi.

The function was introduced in WordPress 3.4, and it can be used in a WordPress plugin or theme.

It’s a simple function that accepts no parameters, and returns a simple boolean (true/false) value.

Here’s a simple example:

Interestingly, WordPress core currently uses this function in a few different places:

  • To completely disable the Visual Editor for Opera Mini.
  • To enable jQuery UI Touch Punch in the WordPress dashboard for mobile devices.
  • To detect whether the current device can upload files.
  • To disable the “shake” effect on the WordPress login page when an incorrect username or password is entered using a mobile device.

Are you currently using the wp_is_mobile() function in your plugin or theme? If so, I’d love to hear what your use-case is.

Categories
Photography

Revamped Photoblog

I’ve recently revamped my photoblog, and I’ve been updating it regularly with new photos.

If you’re interested in photos or photography, be sure to check it out.

215A2453_4-HDR

Categories
Conferences WordPress

WordCamp Melbourne 2013

It’s been two years since I helped organise WordCamp Melbourne 2011. Time flies!

The good news is that WordCamp Melbourne 2013 has been scheduled for April 27-28 2013.

WordCamp is a conference for WordPress enthusiasts, designers, developers, or anyone who is using WordPress for business or pleasure.

This year’s conference is being organised by a fantastic group of people, and they’re going to be putting on a fantastic WordCamp.

The speaker list and schedule is jam-packed, and the venue is in the CBD so it’s easy to get to.

So if you’re in (or near) Melbourne, I’d definitely recommend coming along.

Best of all, tickets are only $50 for two full days of WordPress goodness!

I'm Attending WordCamp Melbourne 2013