• Subscribe to the RSS feed! RSS icon
  • Subscribe by Email
  • home
  • blog
  • dev
  • Recent Posts

    • Automatically upload screenshots in XFCE4
    • Zend Framework full page cache tips
    • No more Wordpress
    • Xdebug is full of awesome
    • Creating a chat bot with PHP and Dbus
    • A year in review: 2011
    • Notes on shell scripting
    • Listening to Dbus signals with PHP
    • Configuring 2 monitors with xrandr
    • A quick note on Dojo's data grids and dojox.data.HtmlStore
  • Recent Comments

    • Robert on Zend Framework full page cache tips
    • Stephen S. Musoke on Zend Framework full page cache tips
    • David on Zend Framework full page cache tips
    • Anon on A quick note on Dojo's data grids and dojox.data.HtmlStore
    • James on Communicating with Pidgin from PHP via D-Bus
    • Robert on A Zend Framework 2 EventManager use case
    • Jowee on A Zend Framework 2 EventManager use case
    • Jurian Sluiman on A Zend Framework 2 EventManager use case
    • Jurian Sluiman on A Zend Framework 2 EventManager use case
    • djozsef on Webkonf 2011 recap
  • Tags

    php, about, random, framework, zend, example, ubuntu, blog, site, zend framework, book, conference, me, python, wordpress, apache, introduction, lamp, linux, open source, review, script, setup, signals, ape, community, contributing, dbus, dojo, events, hack, mysql, netbeans, pidgin, plugin, pyqt, security, shell, svn, talk
  • Categories

    • Blablabla
    • Development
    • Free time
    • Places on the web
    • Programming
    • Software
    • Uncategorized
  • Archives

    • February, 2012
    • January, 2012
    • December, 2011
    • November, 2011
    • October, 2011
    • September, 2011
    • August, 2011
    • July, 2011
    • May, 2011
    • April, 2011
    • March, 2011
    • January, 2011
    • December, 2010
    • November, 2010
    • October, 2010
    • July, 2010
    • June, 2010
    • April, 2010
    • February, 2010
    • January, 2010
    • December, 2009
    • November, 2009
    • October, 2009
    • August, 2009
    • May, 2009
    • March, 2009
    • February, 2009
    • January, 2009
    • December, 2008
    • November, 2008
    • October, 2008
    • September, 2008

TickTweet WordPress plug-in

by Robert Basic on November 21st, 2008

Few weeks ago @imjustcreative mentioned on Twitter that he would like a WordPress plug-in that would scroll (tick) tweets where “soultweet” is mentioned. As I wanted to do a plug-in for some time, but never had any good ideas, I told him that I'll take up the job. So I started to work on this in my free time.

Before I even started looking at anything, I decided that I want this plug-in to be fast, to work with smallest possible data to save bandwidth and to keep the number of calls towards Twitter low.

First I looked into the Twitter Search API documentation, to see how data can be retrieved from Twitter — in Atom or in JSON.

The first idea...

As a JSON document is smaller than an XML document, I decided to retrieve data in JSON. Of course, once retrieved it would be cached locally in a file for some time (5 minutes is my default).

I also wanted to avoid the possibility of the page waiting to retrieve the data from Twitter, so I figured that it would be the best to call it up with Ajax. That way, when the plug-in is called up, it sends an Ajax request to himself, the page continues loading normally and in the background runs the Ajax request.

The draft was there, I looked at the WordPress writing a plug-in page and in a week or so the first version of the plug-in was ready to go out.

I tested it locally on my Windows machine (a basic WAMP setup) and on my Ubuntu machine (a basic LAMP setup), on this server and on another one which has a ton of security limitations (server of my College). I was glad to see that it worked like a charm on all 4 servers. I put up a TickTweet page, and let it out in the wild through Twitter.

The retweet madness started immediately. @imjustcreative, @jonimueller and @bishop1073 downloaded it right away. Soon as they enabled the plug-in, the short and exciting life of TickTweet started to end. Errors, bugs... Joni's server is running on PHP 4, and I had a few PHP 5 only functions. My bad. On Graham's and Bishop's server who knows what went wrong. Graham helped me a lot tracing down the bugs, a few of them were found and squashed, but that was not enough. So I decided to pull back TickTweet, rethink it and possibly rewrite it.

The second idea...

OK, this JSON — Ajax thingy won't work. Back to the paper. I started looking at the WordPress core to see what functions and/or classes are available in it for this kind of task... Didn't took me long to find the fetch_rss() function. Man I was happy to find that! It's using the MagpieRSS and the Snoopy classes to retrieve the data. I figured, those are included in WP's core, they're gonna do the job just fine. So I've rewritten it.

Testing again. The College's server was dropped out right away, no way around that security. On others it worked fine. I tested for a couple of days just to make sure. When I thought it was OK, I've let it go once again. I contacted Joni, Graham and Bishop to tell them that the new rewritten version is out. On Joni's site it worked. Awesome. On Bishop's site worked. Kinda. On Graham's site didn't work. He tried it on another site. Worked. Cool. Finally it works. I was happy.

But not for long. The next day I saw that on my site it's ticking some ol' tweets. What?! Then started the bug hunting again. I looked at each line of code, var_dumped every variable. No luck. Somehow, all of a sudden, my server is not getting the data from Twitter. No changes on the server configuration, no change in the code, but it just won't work.

The third idea...

The third idea is to leave this “plug-in” as—is, and to stop working on it. It just doesn't pay off. Sure, I could trace down where it hangs on my server, going backwards through the code, but it's just not worth it. Those who are interested in this plug-in, you can find it at the TickTweet page, use it, rewrite it, change it, trash it.

Cheers!

Tags: about, blog, php, plugin, site, wordpress.
Categories: Blablabla, Development, Programming, Software.
Comments: 3 comments.

Comments: 3

  • Joni Mueller

  • November 25th, 2008
Well, a lot of great plugins aren't supported by their developers anymore for various reasons, but that doesn't mean they aren't useful. The problem I had on the second site was just a clash with another plugin. Again, this isn't necessarily the fault of TickTweet. I know your coding isn't sloppy. I can't speak for other plugin authors, so take from that what you will. Suffice to say that I failed to heed my own advice when troubleshooting a plugin misbehavior and that is to disable ALL plugins except (in this case) ticktweet. Then one by one restore the plugins and see which one isn't playing nice. In this case it was WordBook, which when it installed kind of wigged out and didn't fully install itself. So ... since ticktweet is more important to me than wordbook, ticktweet is happily running here: http://www.amerikanka.net http://blog.pixelita.com and coming soon to: http://www.joniverse.com :P
  • Robert

  • November 25th, 2008
Hi Joni! Thanks for the kind words and for the info :) Means a lot :) Cheers!
  • Abel Braaksma

  • October 2nd, 2009
I came across your Tick Tweet plugin more-a-less by accident. After some tweaking, I kinda got it to work the way I wanted until I saw that on Firefox it wasn't working at all: shows up as a string of 10 or so tweets. Sorry to find that you discontinued developing it. On a side note: I really love the design of your website: simple, clean, clear, quiet. I'm jealous! ;-)

Leave a Reply

Robert Basic © 2008 — 2012
Design & graphics by: Livia Radvanski
Coded by: Robert Basic
Home page last updated on November 30th, 2009.
Frameworks used: Zend Framework, Dojo, 960 Grid System