Watching MooFlow

karlherrickcom-mooflow-demo-480×231.jpg

I’ve been hacking around with and watching the development of MooFlow over the last few days. It looks and works pretty nice in most browsers and has quite a few options to play with. In this MooFlow demo posted, most options are enabled and the images are imported from page.html.

Other examples at the MooFlow site showcase some of the other features, like images that have external links attached to special buttons, drop down descriptions that float over the image, and the ability to get your images via JSON.

The development version still has a few noticeable bugs:

In Firefox 2.0.0.12: When resizing the stage (bottom right button), the quicklook button shows. When pressed, the image appears under the stage. The user may not realize this until the stage is restored to it’s normal size.

In IE7: When clicking the quicklook button, the image is not zoomed to full size.

Even though there are a few bugs to be worked out, MooFlow already looks great. Not to mention all of the ways it could be used. It even accepts keyboard and mouse scroll input. What’s not to like?

reCAPTCHA plugin error messages

By default, on two of my installs of reCAPTCHA Plugin for WordPress – v2.7, I receive no error message if the captcha is entered incorrectly… the user of the weblog is to assume that they made a mistake I guess…

That is until I wrote this script to check for error messages being passed around on the URL by the plugin:

if (window.location.search != "") {
	var searchArray = window.location.search.split("&");
	for (var i=0; i < searchArray.length; i++) {
		var searchSubArray = searchArray[i].split("=");
		if (searchSubArray[0] == "rerror" && 
		searchSubArray[1] == "incorrect-captcha-sol") {
			document.write(&quot;<p>The two words in the picture were 
			typed incorrectly.</p>");
		}				
	}
}

Just drop that snippet into your “comments.php” template. When the captcha is filled in incorrectly, the plugin adds “rerror=incorrect-captcha-sol” to the url. This checks for that string, and if found, writes an error message in red.

reCAPTCHA plugin styling

Installing a CAPTCHA implementation on WordPress is quite easy when using the reCAPTCHA plugin, however the styling is hard coded into the main php file included.

Goto the installation directory, for example, “wp-content/plugins/recaptcha-wordpress-2.7″ and edit recaptcha.php. Look for the line that embeds the theme type and change it.

    var RecaptchaOptions = { theme : "red", tabindex : 5 };

I used the “clean” theme. There are other options and ideas for editing the code with css changes.

Site specific browsers

My interest was perked while I was checking out Prism the other day at Mozilla Labs.

Prism (formerly known as Webrunner), a site specific browser from Mozilla, allows publishers to distribute “webapp” archives that specify a website to load in a stripped down browser. It also lets publishers add some extra features on the client side to do some tricks to make the website behave more desktop-like.

From labs.mozilla.com regarding Prism: “Unlike Adobe AIR and Microsoft Silverlight, we’re not building a proprietary platform to replace the web. We think the web is a powerful and open platform for this sort of innovation, so our goal is to identify and facilitate the development of enhancements that bring the advantages of desktop apps to the web platform.

Here’s a sample website (read that as web application) loaded inside of Prism on KDE:

email-auto-reply-500×538.jpg

When seeing this I thought to myself… this was attainable years ago using Xulrunner… For example (and just for fun), I grabbed a “widget like” build of Exch from the middle of 2006, removed most of the UI elements and dropped in a xul “browser” tag that pointed to the same website as the one referenced in the Prism .webapp screenshot above:

xulrunner-widget-site-specific-browser-500×556.jpg

The majority of the chrome is removed and a couple “html:canvas” tags are included in the main xul file to draw the rounded borders and the “x” in the top right (clickable for closing). The results are very similar to Prism webapps whether you keep the chrome or ditch it and change the borders to make it widget like inside the xul for Xulrunner. The major difference in my opinion is the ease of deployment for Prism. A small extension like .webapp archive of a website and a few client side scripts (if desired) to add to the desktop-likeness.

I am glad that Prism is being developed… It will allow publishers to push out site specific browser apps -far- easier than what it took to put together what I had done for the example above in Xulrunner. It also adds to the huge pool of exciting technologies developing on the Internet these days.

1and1 Horror Story

Our host (1and1) has finally decided it was time to deliver a backup of our site from a date before they had issues with their servers. The email came in at 1:32PM EDT explaining it was available.

The short of the whole story is (yes, it is much longer than this):

1) They had hardware troubles.

2) They put the filesystem hosting our website as read-only for about 48 hours as they checked it for errors (meaning nothing changes until they are done).

3) They refused to put our site on a different server. I could only contact technical support, not the actual admins, and they kept telling me to email complaints@1and1.com. They said it was not their call to put our account on another server. One of their technical support representatives admitted that if I went to their website and resigned up (a.k.a. pay more cash), that I could get service.

4) After the filesystem check was done, and our site was again read/write… several of their technical support representatives refused to admit that our site was having troubles, or that it was their fault… Until Denise showed them missing pictures, failing links, and corrupt PHP code.

5) Several of their technical support representatives said that they would email us with status updates. We received 0 emails until we called and spoke with a manager saying that we have received nothing in our inbox. We then received 2 emails regarding our “missing images” and during one of our calls to them, a technical support representative requested that we “cooperate with him” and email him the missing pictures from our site so that he could fix it for us… (you’d think I’d know how to upload my own pictures already, seeing how I put this whole thing together, huh??? And what about the corrupt PHP code and failing links?)

6) Two different people on their technical support team refused to admit that there was a problem with our site even though it was obviously malfunctioning…

7) After 6 more calls to the Philippines (nothing against the Philippines), regarding the corrupt and deleted files, a manager finally admitted that during filesystem checks, files can become corrupt and/or deleted (I already knew this). Compensation for service I paid for, that I did not get??? The manager told me to email complaints@1and1.com.

I had already done this from before, and we still have not heard back from them. Next stop… Billing department. ;-)

I have two quotes from friends that explained it very well:

1) You get what you pay for.

2) When competing on price, something has got to give.

Well said.

Currency Conversion

A long time ago, I wrote a PHP script to compare current gas prices from Michigan and Ontario in current US and Canadian dollar rates from the following three sites:

http://ontariogasprices.com/
http://michigangasprices.com
http://finance.yahoo.com

as soon as all of the data was retreived (gas prices used a php web scraping library, currency data from Yahoo! Finance retrieved similarly to how Exch does), do the math, and it would let me know who was paying what for gas prices… well using a little Google search, most of the logic of this script became a lot easier (well it has been for some time, but I thought I would share on this little known secret :-)… for example Google these searches below:

3.16 USD per gallon in CAD per liter
3.16 (U.S. dollars per US gallon) = 0.945976868 Canadian dollars per liter

1.10 CAD per litre in USD per gallon
1.10 (Canadian dollars per litre) = 3.67450845 U.S. dollars per US gallon

1.10 CAD per litre in EUR per gallon
1.10 (Canadian dollars per litre) = 2.90268461 Euros per US gallon

1.10 CAD per litre in EUR per litre
1.10 (Canadian dollars per litre) = 0.766808149 Euros per litre

Google even acknowledges the alternative spellings of “liter/litre” … nice huh?