Inside Out Outside In

Open letter to PhotoBucket, Open up your API

I've used both Flickr and PhotoBucket, both have their little nuances, Flickr has a better API and PhotoBucket is a little easier for social sites such as MySpace.  I think PhotoBucket could go a long way by either opening up their API or at the very least provide an RSS feed option based on user and tags.  Unfortunately, it's against the PhotoBucket TOS to try and dig, probe or discover how their authentication scheme works, even if you want to create an anonymous account to get a user's photostream.  There is a special version of Flock just for PhotoBucket, but I'd prefer some serverside functionality that I could access.

Google Deprecates Their SOAP Search API

By way of Slashdot, I just read on O'Reilly Radar that Google is deprecating their SOAP Search API in favor of their AJAX API.  I've been using The Google API for some time on on one of my ColdFusion sites.    The beauty of their SOAP API is it enabled me to process the results server side, which is probably one of the reasons Google made the move, since Google is all about branding.  Evidently the TOS of the AJAX API is considerably more restrictive.

There doesn't appear to be a crossdomain.xml for the AJAX API, so Google's business decision is also bad news for Flash developers wishing to embed the search results since according to the FAQ, the AJAX Search API is the only permissible way to publish Google AJAX Search API results on your site.

Google's decision will end up being a boon for the current underdogs in the search world such as Yahoo and Live.  Yahoo has a REST API as well as a crossdomain.xml file in their API directory. and while MSN's Live Search doesn't have a crossdomain.xml, MSN does have a SOAP API. 

It's the result that matters, not how it was obtained.  While Google may have a larger index, both Yahoo and Live are comparable to Google in the top results returned.  Most web developers will choose the path that gives them the greatest creative choice.   I don't mind a small "Powered by" logo, but I do object to being forced into becoming a branded affiliate.

Adding Code Block support for BlogCFC and FCKEditor

If you use a rich text editor with Ray's BlogCFC, you've probably run into some quirks when you try to use code blocks.  By default, Ray's editor uses a standard textarea form element.  I've been using the FCKEditor on BlogCFC for sometime and today I decided to extend the toolbar to support a codeblock dialog.

FCKEditor supports a plug-in architecture.  The enclosure provides the base files (sorry, I haven't taken the time to package it up nicely).  If you follow through the wiki developer instructions, you should be able to add code block support fairly easily.

For my dialog, I chose to use JSMX, one of the simplest CF/AJAX libraries I've found. I converted the old cf_coloredCode custom tag to cfc remoting service.  The code is typed/pasted into the dialog, and then the plugin dialog calls the colorizer.cfc and pastes the result into the main editor window.

 

Google Analytics

I've been using Google Analytics for some time now and I've been impressed with the results.  It's a great resource for drilling down into how people visit your site.  The depth of knowledge available is extensive.  By drilling down into the data, I can tell from the vistors to my site that over 83 percent have Version 8 or higher (only about 17% have some version of 8.5) installed of the Flash Player, that over 54% are using FireFox and that 90% are Windows users.  It's super easy to install, you just sign up for the free service and place a little JavaScript on your page.

 

Google lost to Perfect 10

Old news by now ,Google lost to Perfect 10 because Google made thumbnails of the images and stored them in their database, which were displayed along with their ads.  This pretty much negated their fair use argument.  They are now open to future litigation by other sites for copyright infringement.  I'm guessing that unless Google wants to keep paying court costs, there is going to be a change in their image search functionality.

Google prides themselves on their algorithms for ranking and placement. As web developers, we crave higher rankings and there are hundreds of sites dedicated to SEO (Search Engine Optimization).

I think there is a solution that solves both needs.  Have a registry option on Google where you obtain a key for your URL.  Place that key in the robots text file and when Google spiders your site, if it detects the key in the robots text file, it indexes your images  in the image search section.  To get this key, you would have to agree to all of Google's terms, stating that you own/use/or extend the rights of the copyrighted images on your site and that you agree to the use of Google stored thumbnails for use on the search pages along with Google's ad program.

I'm guessing that a lot of web developers may not see any reason to have their images indexed and wouldn't do this, so how does Google sweeten the pot? Tie it to the ranking on the text based side.  On any result set, if the sites robot.txt file indicates that the sites images should be indexed, then any text based search result set would list all such sites first as a primary order characteristic.

I think most sites would jump at the chance.  The agreement that Google would require could negate any future issues of copyright infringement by pointing the finger back at the original web site owner.

Krugle: A search engine for coders

Wired posted an interesting article on  Krugle, a search engine for coders.  The article also mentions Koders and CodeFetch.

If you remember the early days of search engines and have a bent towards coding, it was fairly easy to quickly locate information you needed.  As the commercialization increased, you suddenly had to start wading through a morass of junk.  Don't get me wrong, Google does a great job, but I still end up paging a few times to find what I want or have to refine my search.  I'm looking forward to using Krugle as one of my resources.

Other resources I find useful:

Matt Kruse's JavaScript Toolbox

Matt Kruse just launched his new Javascript Toolbox site.  Matt has released a number of Javascript libraries with a fairly open license.   He's still moving over content from his old site, reformatting the libraries and general all around visual improvement.  The new site is clean and well organized with a limited "fluff" factor.    All the libraries are un-obfuscated, and available both in standard, compressed, as well as combined js files for those libraries that have dependencies. 

I'm particularly fond of his Calendar Popup, which I consider to be one of the best available.  The rendering is completely css/dhtml based.  The code is easy to understand and implements with just a few lines of code. 

Here are a couple examples of the popup in action. cf_calendarPopUp was used as the wrapper to generate the necessary html and Javascript. 

Notes:
First: If you download the custom tag, you'll need to tweak the default attribute parameters to match your system.  You will also need to download the combined Calendar PopUp library off of Matt's site.

Second: I modified the popup libary to display a "clear " url, which will not be in the version you download off of Matt's site.

<cfform>
<cf_calendarPopup name="test"  />
</cfform>

<cfform>
<cf_calendarPopup name="test" type="div" />
</cfform>



What people are searching on

While reading the FAQ on the Justice Dept. subpoena of Google search terms, I came across this link to the Dogpile searchSpy, which lets you see in real time what people are searching for.  The real-time scroll uses a Flash UI.

I've been fairly happy googling and haven't really bothered with other search engines other than to use Alta Vista's babelfish for quick translations.  Google has has such a large portion of my search mind-share that I often forget about the alternatives.  I used to frequent  Metacrawler quite a bit as well as Copernic, a  meta crawler search application.

As far as the searchSpy goes, it's a real fascinating time waster.

Membership Abuse

Most of you have probably implemented some type of security measure at some point in your coding career.  These range from authentication, data validation, and unauthorized template access, but have you ever coded to prevent abuse of members by other members. 

I code a site that has a decent membership.  The site requires email validation as a first step in verifying that the member has a valid email.  The site features forums as well as well an internal mail system.   Since site membership is free, having any further validation without going all big brotherish is out of the question, so I must resort to softer measures.   Lately I've had members from foreign countries try spamming members with scams similar to the Nigerian 419 scam.  So to protect the privacy of the members, how do you ensure that your members have an enjoyable experience?

Here are a few ideas to ponder.

Have a Terms of Service (TOS) agreement:
Clearly state on a document somewhere on your site what the site will and will not allow.  You don't need to have a lawyer to do this, but if you can afford one, do.  I believe any website that allows user input of any kind have some sort of TOS in place.  There are also plenty of examples of TOS's on the web that you can use for ideas.  I suggest an unobtrusive footer link to this document.

Limit Alarm:
A limit alarm is where you have a member that has exceeded a normal amount of a specified activity, such as posting the same item many times to either a forum, or multiple mailings to every member of your site.   You can also set a quantity vs. time check to avoid someone coming on and spamming the entire membership.  The alarm could be a notification of possible abuse to the administrator to an automatic deactivation of a feature for a specified time.

Baysean Filter:
Usually applied to incoming email, a Baysean filter could also be applied to a forum, blog or internal email system postings. I'm personally still exploring this one as most of the existing filter code currently ties directly into a mail system.  I haven't found any Baysean filters targeting a forum or database content such as an internal mail system.

Individual User White List and/or Black List:
Similar to what you see in your IM clients, but a way for each member to either allow specific members to contact them or ban a member that has acted inappropriately.   I also suggest an administrator ability to view a master ban list with ban counts for possible further action.

Community Policed:
Provide easy methods for your members to report problems with other members as well as a visible rating system such as a thumbs up count by other members.  I'd stay away from any negative rating system as to avoid a range of hassles (including legal).  Let a good rating stand for itself and allow members to revoke their endorsement of a specific member.

Don't forget the Law:
The FBI  and DOJ can be your friend.  Since I have a semi-closed system, any spammer or con artist that gets in far enough to try spam or con is probably a great target for a sting, especially if you have a valid return email address and the closed system may provide a false sense of security to the offender.

Macromedia Contribute Team is running a survey on Blogging Tools

The Macromedia contribute team is looking for survey participants on what blog authors are looing for in a blogging tool.  Here's your chance to get your wish list in.

More Entries