Archive for April, 2009

Get More Followers – tweet.ms Bar Now Publicly Available

Tuesday, April 28th, 2009

I have just released the new tweet.ms bar. tweet.ms already allows you to create short URLs which redirect to the target page. Now you can also select to add a tweet.ms bar to your link as well which will result in the link page being displayed under the bar (if the result page has no frame breaker that is).

Now anyone who likes your shared link can directly follow you on Twitter by entering his user name and password in the bar. The user will then follow you immediately. Furthermore not only is the Twitter user name and the password never stored on the tweet.ms servers but the user can actually opt in to have an encrypted cookie stored on his PC that contains his Twitter user name and password so that he can use the tweet.ms service easily by being logged in yet never has to enter his credentials again. And his login data is stored only on the local PC – never on the server itself.

Of course the user can also retweet the message directly from within the bar or share the (original) link via various social bookmark services like del.icio.us, digg and so on.

Just see for yourself and try it out – I’m sure you’ll like it:

http://tweet.ms/6n

Comments and feedback are always appreciated – I like to hear from you.

tweetthis-15

Cool Firefox Addons For Everybody

Thursday, April 23rd, 2009

Previously I have already recommened must-have Firefox addons for web developers but this time I have just complied a list of some mostly very small addons I can highly recommend.

Copy Plain Text

Sometimes you’d like to copy some contents from a website into an email or something like Word. If you have ever done that (and your editor is not set to plain text) you know what happens. All of the contents are copied with the original styles like formatting, colors etc. Sometimes you just don’t want this and need only the plain text.

Before this addon was developed the obvious solution was to copy the contents, open something like Notepad on Windows, insert the text there, copy it again and insert into the final program like your email program or word processor.

If you have installed this addon you can simply right-click after selecting any text and instead of selecting “Copy” as you would normally do you can just choose “Copy as Plain Text” and you’re done.

Download Statusbar

I’m wondering why this hasn’t been included in Firefox from the beginning. For me it’s just a must-have addon allowing easy integration of download statuses, launching downloaded programs and so much more directly from within the Firefox main window – no need to open that download window anymore.

Flashblock

After installing the Flashblock addon in Firefox all the Flash objects on a website are disabled by default and replaced with a Flashblock placeholder. By clicking on this placeholder element the Flash object is executed as usual.

The downside of this addon is that you may need to click much more depending on which sites you’re visiting. However the addon also features an exclusion list of sites where you want to allow Flash content to be enabled automatically. For many months I have been waiting for a feature in Flashblock that – as I found out just a few weeks ago – is already contained in the addon. If you wish to allow a specific website you would normally have to open the addons dialog, open the Flashblock settings and then manually enter the URL of the website you wish to always allow Flash execution on.

This tedious task can be highly optimized by right-clicking on the free space next to the menu bar on your Firefox browser, selecting “Customize” and then dragging the Flashblock element into the Firefox navigation bar. Afterwards you can easily allow access for any site by using this button.

Forecastfox

Always want to know the current weather forecast? Then install Forecastfox – it’s small, cool and customizable. Nothing more to say I think.

Link Alert

Actually nobody I know seems to know this addon. I really like it. It actually does nothing more than changing the mouse pointer when hovering over a link depending on the target URL. This way you can actually see directly without looking at the target URL if the target is an SSL URL, a ZIP file, a PDF, if the link opens in a new window automatically and much more. Just have a look at the addon page to see some screenshots. I’m sure you don’t want to miss it after you have used it for some time.

Morning Coffee

Always visiting the same URLs every day on certain times or on certain days? Highly configurable depending on the weekday. Allows you to open specific websites according to a predefined list. I’m using it nearly every morning to automatically open the weather report and the current train schedule – I just need to click on the coffee cup in the navigation bar. Cool!

PDF Download

If you have installed the Link Alert addon mentioned before you already know prior to clicking on a link if it links to a PDF file. This addon shows a dialog whenever you click on any PDF link allowing you to choose between opening it directly, saving it to disk, converting it to HTML or bypassing this selection directly which means that Firefox handles the PDF link as if you had not installed the addon.

Save Image In Folder

Are you tired of browsing to the correct directory for saving images? When I download a desktop background image I just right-click on the image and select “Save in folder” and then “Desktop Backgrounds” which I have configured before. This is quite helpful if you have different folders for different images.

Session Manager

I am actually one of those people that like to see all the tabs opened before when the browser has been closed and is restarted. This is what the Session Manager can do. And even if your Firefox crashes (as happened to me just today) on restarting Firefox it will show a box where you can select the session that has been saved automatically – normally I just need to hit ENTER and the session that was active before the browser crashed is restored automatically.

I hope you found some interesting addons in this list – I can recommend any of them.

tweetthis-15

tweet.ms URL Shortening Service Features New Graphical Statistics

Thursday, April 23rd, 2009

I just finished adding the new statistics feature to the tweet.ms URL shortening service.

Every link has a unique statistics URL that is shown after the short tweet.ms URL has been created and shows the number of visitors (both bots and humans are distinguished), the countries the visitors are coming from and a timeline showing the visits within the last days as a line chart.

Additionally pie charts are available for both browser names (Firefox, Internet Explorer and so on) and operating systems. A list of all the different referrers (100 maximum) is also included.

New cool features are coming soon. I have many new and exclusive features in store so stay tuned and most of all: use tweet.ms often in your tweets as your URL shortening service and support this free service.

See some statistics here

tweetthis-15

Must-Have Firefox Addons For The Developer

Monday, April 20th, 2009

Here is a list of Firefox addons for every web developer most of which I’m using almost daily. I can highly recommend any of these addons and I’ve been using most of them for a very long time.

Firebug

Nowadays I think I could just ask where you’ve been living for the past two years if you don’t know this must-have extension. Firebug allows you to debug your JavaScript code on your live website, to view and edit the HTML code and  CSS files on-the-fly directly for the current page and much much more.

Firebug also features am essential JavaScript console you can use in your own scripts for debugging and logging. Just check it out – it’s so essential that I won’t get into any more details here.

JSView

This cool addon adds a “JS/CSS” button to your browser’s status bar allowing you to see and view every single CSS and JS file that’s loaded on the current page. Sure – Firebug has the same feature, but using JSView actually makes this even easier than Firebug.

QuickJava

Quite often you have to check your own website to see if most of it still works if the user has JavaScript disabled. This addon adds to small buttons to your status bar which allow you to enable and disable both Java and JavaScript in your browser with one click. You still need to reload the page but this saves you from the tedious task of opening your browser settings each and every time you need to turn it off (or on).

HTML Validator

You should always make sure that your website contains only valid (X)HTML code and there is no easier way than installing this addon. This one also adds an icon to the status bar of your Firefox browser which is either a yellow warning sign, a green “ok” image or a red icon with a white cross indicating the validity of the code on the current website.

By double-clicking on that icon you are taken immediately to the source code view of the page including all of the warnings and errors that this addon has found in your code. Best of all – it checks everything offline, so it’s not sent to the W3C Validator and it’s very fast.

Live HTTP Headers

Sometimes you need to check the HTTP headers sent by your browser to the server or vice versa. This addon allows you to do just that and you can even apply regular expressions to the output so that you will only see what you are looking for.

Web Developer (Toolbar)

This is also a must-have addon just like Firefox which adds several features missing from your Firefox if you’re developing websites. Most often I’m using the “Find broken images” feature although this is just a very small part of this mighty tool.

ColorZilla

Sometimes you need (or want) to know the specific hexadecimal color code of a specific color on the website you’re currently on. ColorZilla adds a color picker to your browser and allows you to copy the color values directly to the clipboard so that you could insert it in your CSS file (that is what I am using it for most of the time).  And it still offers even more features that that.

MeasureIt

Draw a ruler to measure the width and height of any object on the current page.

SearchStatus

Would you like to know the current PageRank of the current website or the Alexa rank? This addon also offers additional features such as highlighting “nofollow” links and easy access to WHOIS and robots.txt information for the current domain.

SEOBOOK SEO  Toolbar

This is your ultimate SEO addon as it integrates as a toolbar into your Firefox browser and shows you almost anything of interest regarding SEO on any website. You can directly see the PageRank, Yahoo! backlinks, Yahoo! indexed pages, whether the current site is listed in the Open Directory Project (DMOZ), in the Yahoo! directory and so much more. You can even see the approximate age of the domain according to the first version indexed by the Internet Archive.

If you know any other cool addons for a web developer I would very much appreciate your comments and feedback.

tweetthis-15

Maintenance Page For Your WordPress Blog With Bots In Mind

Sunday, April 19th, 2009

I have just read this article from SmashingMag (#4) regarding a maintenance page for your WordPress blog which you could use while you’re upgrading or maintaining your blog. This quick hack is impressive yet it fails to take into account search engine bots.

Depending on how often crawlers like GoogleBot visit your website you should really think about your search engine rankings. Don’t forget: bots are not able to (at least not yet) understand the page they are accessing. If e.g. GoogleBot revisits your blog to index an article and finds a 302 redirect to your maintenance page this may lead to problems which in the worst case might mean that your maintenance page is being indexed and your previous article content lost for Google – at least as long as your maintenance page is up.

According to Google you should instead return a website with a 503 HTTP status code.

So let’s look at the original code by SmashingMag to put into your .htaccess file:

RewriteEngine on  
RewriteCond %{REQUEST_URI} !/maintenance.html$  
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123  
RewriteRule $ /maintenance.html [R=302,L]  

The problem lies in the 302 redirect. So let’s just create a maintenance page telling GoogleBot to revisit our website in 30 minutes – you should of course add more informative text than I did to the page:

<?php
    $minutes = 30;
    header("HTTP/1.0 503 Temporarily Unavailable");
    header("Retry-After: ".$minutes*60);
?>
<html>
<head>
<title>Maintenance</title>
</head>
<body>
<h1>Maintenance - Please come back later in approximately <?php echo $minutes; ?> minutes.</h1>
</body>
</html>

Now the mod_rewrite rules in the .htaccess file need to be modified as well (assuming the file above would be saved as maintenance.php in the document root directory):

RewriteEngine on  
RewriteCond %{REQUEST_URI} !/maintenance.php$  
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123  
RewriteRule $ /maintenance.php [L]  

That’s all – you’re done. After you have finished your maintenance work you just need to disable the rewrite rules by prefixing each line with a “#” symbol.

tweetthis-15

“Tweet This” WordPress Plugin Phones Home

Sunday, April 19th, 2009

Before installing any WordPress plugin for security reasons I always examine the plugin source code which is not a problem for me given my ten years developing in PHP. However I don’t expect the usual WordPress user to have this kind of knowledge most of which don’t even have any experience in PHP at all.

Thus when I was just reading the source code for the Tweet This plugin I was shocked to see that on both activation and deactivation of the plugin it  automatically transfers the following information to the developer’s website:

  • URL of your blog
  • Tweet This version
  • status (activated, deactivated)
  • number of posts in your blog
  • title of your blog
  • description of your blog
  • language of your blog
  • your email address
  • Tweet This plugin settings
  • WordPress version

This is actually the code snippet taken directly from the source code – no, I didn’t add the “Big brother” there, that’s how it’s written in the code:

// Big brother is watching.
function tt_phone_home($status) {
    global $current_site; global $wpdb; $wpv = get_bloginfo('version');
    $siteURL = $current_site->domain; $blogURL = get_bloginfo('url');
    $title = get_bloginfo('name'); $email = get_bloginfo('admin_email');
    $description = get_bloginfo('description');
    $lang = get_bloginfo('language');
    $posts = number_format($wpdb->get_var("SELECT COUNT(*)
    FROM $wpdb->posts WHERE post_status = 'publish'"));
    $settings = $wpdb->get_var("SELECT option_value
    FROM $wpdb->options WHERE option_name = 'tweet_this_settings'");
    $phone = tt_read_file('http://th8.us/ttph.php?s=' . $siteURL . '&b=' .
        $blogURL . '&v=1.3.9&u=' . $status . '&p=' . $posts . '&t=' .
        urlencode($title) . '&d=' . urlencode($description) . '&l=' .
        urlencode($lang) . '&e=' . urlencode($email) . '&w=' . $wpv .
        '&x=' . urlencode($settings));
}

So if you don’t want all this information to be transferred to the developer prior to activating the plugin you should simply add a “return;” right after the function definition leaving the rest untouched.

function tt_phone_home($status) {
  return;

That way the function will return right away and not calling any URL at all. I’m not telling that the developer is doing anything harmful with that plugin yet I don’t see any reason in transferring this information to his server.

tweetthis-15

Google Introduces New CAPTCHA

Sunday, April 19th, 2009

Sometimes on the web you’re just thinking “Why the heck didn’t I have that idea?” and that’s just what happened when I read this article on CNET. Everybody should already be familiar with the CAPTCHA concept and I recently had to enter a CAPTCHA code for three times because the first two were simply non-decipherable. Actually that problem occured on a Google page.

I have developed my own custom CAPTCHA about two years ago where you have to identify the male person on the image and enter the corresponding code under the face with some random parameters added:

ttt-imagephp

However Google’s method is superior yet so simple because they only rotate an image. Rotation can be detected by a human easily yet not automatically by your usual automated spam bot. Maybe I’ll change my CAPTCHAs to this method as well – even far easier to implement.

The full details of Google’s new method can be found in this PDF file.

tweetthis-15

tweet.ms Link Shortening Service

Sunday, April 19th, 2009

Just yesterday I created the new tweet.ms (“Tweet Message”) URL Shortening Service. Although there are lots of these already available I’m really trying to create something that offers even more than “your usual URL shortener” yet you cannot see that right now on the page as I have just implemented the basic code allowing for nothing more than short URLs.

However, although no statistics feature is yet available data is gathered on every link already so stats will follow even for the links created right now. It’s just kinda funny to see that just seconds after posting a URL on Twitter a number of bots are already accessing the target URL immediately. It’s always fascinating to see some bots where the corresponding developer didn’t even bother to set a custom user agent so you’ll just see “Python-urllib/2.5″ in the logs.

tweetthis-15

Migration Of German Site

Saturday, April 18th, 2009

Welcome everybody! I have moved my German website from sascha-kimmel.com (this domain) to http://www.sascha-kimmel.de/ so that this domain can and will be used for the English site.