Automatically tagging content is becoming easier with services like OpenCalais and Yahoo Terms Extractor, offering their APIs for free semantic analysis of content. There’s even a great Drupal module, Auto Tagging (with a great writeup on usage) that ties these services together and makes it even easier.
However, there is still one common issue with these services: they really need nicely written, rich, keyword dense articles to produce the most logical, semantic tags.
Try any of those services with user generated content and you’ll see a common tag each time around: FAIL.
We experimented with over 20,000 pieces of content on MothersClick and our results showed that these semantic services weren’t producing quality & relevant tags: rather, we were getting very little, if any relevant tags for our user generated content.
After a little more trial and error, I then noticed a simple pattern: more often than not, the title to a user’s post usually had the most applicable keywords to what their post was about, rather than the body of the post.
So how to extract just the keywords and make tags from the title of a node?
Back in the late 1990s, Geocities was all the rage and free 2MB of space for hosting your website rocked. It was in 1997 that I first put my own websites online and Geocities made it very easy to host.
Fast-forward 12 years and the doors are closing. Geocities has offered some help & tips but for the most part these are lacking on how to easily download and save all of your files (that is if you’re on the FREE account). You really want me to “Save page as” with my browser? I’ll lose all the meta info with my files and what about all of those images or files I stored? No way to easily navigate to those, especially when there are 100s of files.
Well here’s a handy trick to get this working.
When the new myLifetime community launched we wanted to focus on performance, and one trick was to minimize HTTP requests by using the CSS sprites technique. For a great run down of this technique and examples of other major sites using this, check out this resource on Smashing Magazine.
Double checking this implementation with YSlow! everything was working great.
Well almost. Then we tried IE6. I hate IE6.
Then I discovered this excellent post detailing IE6 and its BackgroundImageCache usage.
After trying that JS trick, we noticed the page was significantly faster & smoother in IE6. With heavy CSS sprite usage this was a necessary fix. And with future sites in the works with this same technique, seems like a reoccurring fix.
To Drupal-ize & jQuery-ize this fix for resuability, I wrote this simple behavior below that works with Drupal 6. You can see in action on the myLifetime community.
May this code save you a few hours/days of head banging!
NOTE: This project has been superceded by the most excellent jQuery Calendar. All development on this plugin will now be merged with that project.
I am pleased to announce that my jQuery date picker is now ready for consumption, check it out here:
http://tedserbinski.com/jcalendar/index.html
This plugin was originally written to improve the interface for adding activities on MothersClick.com and will be working as the new input widget for date module. Initial mom reactions have been extremely positive (from a couple beta testers) and we hope to roll this into production after we iron out the kinks with Karen to get this into date module as the new default widget.
Finally, the much anticipated SimpleMenu 3.0 is finally out!
Brand new is an entire rewrite of the jQuery menu code and CSS. The menu code is now based on Superfish which is an “an enhanced Suckerfish-style menu plugin for jQuery” written by Joel Birch. This new version most notably adds a hover delay on menu display, giving those fast-moving hands a breather this time around—that’s right, those submenus don’t disappear right away any more, much easier to use :-)
Additionally, I’ve rewritten it to remove the unnecessary AJAX callback, I’m not even sure why it was there to begin with, ah well. That drastically speeds up the menu now and reduces flicker.
As I was re-rolling my JS aggregation patch for Drupal, I stumbled upon an interesting solution to an age old problem I’ve encountered numerous times.
When I write various JavaScript files for websites, I often like to serve them out compressed—-not only to save on bandwidth but also to speed up the loading time for users. To accomplish the task of compressing JavaScript files, I usually resort to using tools like Dojo ShrinkSafe and Dean Edward’s packer (the same compression that jQuery uses as well).
So one of the problems with Drupal (and well just about any other website out there) is the fact that it is quite easy to post forms more than once. Why do you think ecommerce sites take such huge precautions for preventing multiple form submissions?
In the case of Drupal, this can be quite annoying, especially for those running sites with huge user bases, all of which have varying speeds of internet connections and all of whom like to click that “submit” button more than once.