
October 2009
August 2009
April 2009
March 2009
December 2008
October 2008
September 2008
August 2008
July 2008
June 2008
Or “How I finished my first WordPress plugin without being a total n00b”
One common issue when you are working with a new technology or api for the first time is figuring out the best practices and snags. Sure, once you have been writing code for over 10 years, you can pretty much hang in any language. However, it doesn’t mean what you are going to write is any good. The biggest problem is that engineers tend to re-invent the wheel. My friend Tobias and I were having a conversation about this when he mentioned this book “Dreaming in Code” which illustrates this issue very well.
I recently wrote my first WordPress plugin for Me.dium. It’s not released in the wild yet, but I have it here on my blog (on the right, under the MyBlogLog widget). I pull in an RSS feed of Me.dium’s hot search terms. The feed is cached in order to reduce load on Me.dium’s servers. You can also configure the number of terms to show as well as whether or not to show the descriptions. The plugin itself is very simple, but the value I got was in the process of writing it.
So, how did I write a solid PHP plugin in a room full of Java Engineers who may not even know what WordPress is? I decided to work as collaboratively as possible, even in isolation. I tried to keep to my motto–If you have to force it or it’s too hard, you are doing something wrong.
First I set out to ask some experts. I sent an email out to some WordPress hot shots asking how to approach certain problems from a strategic perspective. How is it best to store settings? What level of configuration is too much to ask for users?
Not everyone answered my email, but Alex King did. He saved me hours of research work by letting me know about the settings table (duh!).
I went on a hike with some buddies, including Alex from Gnip who helped me consider the best time to parse and store my xml. My tunnel vision was so focused on storing the data that I couldn’t see that there was a better way to store it. My original plan for storage seems completely absurd now–what was I thinking? More hours of work saved with a simple conversation.
I also posed my question on seesmic:
Anyway, the point is I had a ton of fun and the process ended up being quite collaborative, even though I was working somewhat in isolation. I am happy to write a more technical blog post as per my usual, but wanted to share this higher level thought process.
ps. Special thanks to Jud for pointing out that there was NOT a for loop bug in my Windows PHP install, but that I was missing a $ in the middle comparator. SRSLY!
Tags: me.dium, php, ponderings, wordpress plugin development
Me.dium launched its social search alpha last week amongst some very positive and exciting press. I’ve had the privilege of working on this product for the past few months and it was great to see it launch so nicely.
It’s not hard to see why we’ve gotten so much positive feedback–the search results are both interesting, relevant and useful to me as a surfer. For instance, one of the biggest problems I have is when I am trying to find Javascript or CSS help on the web is that I get the feeling the solutions are dated. While these results still may be relevant, I really want to know what the new and latest tricks are. I don’t need an IE5 CSS hack, I’m looking to make sure IE7 is working properly.
Me.dium will continue to refine its search algorithm. Although the standard search results are combined with Yahoo! Search BOSS, I find the “I feel social” searches most interesting and relevant. Give it a try and enjoy!
Tags: me.dium, social search