Messenger Plus! Live

I’ve been a big fan of Messenger Plus! since around MSN Messenger 4. In fact, I seem to remember that being the main reason I got rid of MSN Messenger 2. Messenger Plus! adds loads of cool new features to Messenger such as tabbed chats, boss mode, quicktexts, inline formatting, personalized status and more.

The latest version, Messenger Plus! Live was released last night. This version is for Windows Live Messenger only. There are tons of new features and improvements and there is a total interface overhaul with a brand new look. There is a list of features on the Messenger Plus! Live site.

Scripting 

Messenger Plus! Live also provides a great interface for developers. It allows you to write scripts which interact with Messenger using Javascript and you package it as a zip file – similar to Firefox extensions. This means you could do some really crazy things – you could have your nickname show the title of the latest entry from your blog, integrate web services into Messenger or upload all your chat logs as RSS files.

Check out the scripting documentation which contains a tutorial to make a really simple script. Scripting is really awesome. I wouldn’t be surprised if this spawns a few hundred extensions for Messenger, like Firefox has already done. If Microsoft had any sense, they’d buy this and integrate it into Messenger.

Sponsor Program

Messenger Plus! comes with a bundled sponsor program which is spyware. The great thing is that Messenger Plus! allows you to choose not to install it during the installation (say no to the sponsor program). I’m not particularly happy that Messenger Plus! even allows you to choose to install spyware and many people I know have refused to install Messenger Plus! because they believe it contains spyware. 

Other Messenger Enhancements

At the moment I’m using Mess Patch from Mess.be (removes ads, junk from menus+UI), Stuffplug and Screenshot Sender. 

WYSIWYG Improvements in Firefox 2.0

I previously documented the new spell checking feature in Firefox 2.0 which I said I absolutely loved. As part of my review, I said:

If only it’d work with WYSIWYGs such as TinyMCE, it’d be perfect.

Well, it seems like the guys at Mozilla have done exactly that. I’m currently writing this post from a Firefox 2.0 nightly build using TinyMCE with spell checking enabled. It seems to work perfectly.

Firefox 2.0 WYSIWYG

Firefox 2.0 WYSIWYG Screenshot No. 2

Further more, in Firefox 2.0, users will get the same context menu on documents with designmode (e.g. WYSIWYG/rich text editors) as they would in a standard textbox. In Firefox 1.5 and older versions, you currently get the same context menu as you get when you right click on a normal page (back/forward/save page/etc.). That means users can now cut, copy and paste using the context menu in Firefox which is a real boon and provides one less reason not to use a rich text editor.

The fact that volunteers from around the world, many unpaid, continue to work on Firefox and produce so many innovations and tools which make browsing a lot easier astounds me. Firefox 2.0 already looks and feels like an amazing product and upgrade. It’s not always the big things such as Places and Phishing Protection which make a product what it is – it’s the small things as well. I think these features and changes are often overlooked.

Thanks to Xeen for letting me know!

Google Logo Magic Trick

In Philipp Lenssen’s "55 Ways to Have Fun with Google" (now CC and free download as mentioned yesterday) chapter 13, he described a magic trick with Google.

Quoting from the 13th chapter:

Here’s a magic trick to surprise your friends with. What they will see is this: you are at the Google homepage, and you casually ask someone to watch the Google logo. Then, you move two of your fingers to completely cover the “o”s in the Google logo. When you remove your fingers, to much surprise, the letters “o” will be missing from the logo. Now you ask your friend to move her fingers over the missing “o”s. After your friend removes the fingers, the logo will be complete again!

The trick here? It’s not really the Google homepage you and your friend are looking at – it’s a fake page (darkartsmedia.com/Google.html). And when you click on the page, the letters of the logo will disappear after five seconds. Clicking again will make them reappear after five more seconds. So when you move your fingers to cover the Google logo, simply click anywhere on the page, and wait a bit before you remove your fingers… and when your friend covers the letters, you click again. (A third click, by the way, will change the page to an actual Google homepage so you can perform searches to “prove” the page is real.)

An alternative implementation

I do think it is rather odd to be discussing the best way to implement a joke but it the joke page annoyed me as it didn’t look much like the way Google renders on my system and I knew it wouldn’t catch out anyone I knew. I thought I’d create an alternate implementation.

This implementation uses Javascript and can function as a bookmarklet. You actually use Google’s homepage and not a fake page. Simply visit the Google homepage, and type this in the address bar:

javascript:void(document.onclick=function() {document.onclick=function() { setTimeout("document.getElementsByTagName(‘IMG’)[1].src=’http://www.google.com/intl/en/images/logo.gif’", 3000)}; setTimeout("document.getElementsByTagName(‘IMG’)[1].src=’http://tinyurl.com/rtcol’", 3000) }) 

Alternatively, make this link a bookmarklet by dragging it onto your bookmarks toolbar (this will stop Firefox from changing the address bar).

Follow the same instructions as above – this time when you click once on the real Google homepage, the logo will change after 3 seconds. When you click again, it’ll return to the normal logo again after 3 seconds. I couldn’t be bothered to photoshop the Google logo without the "oo" so I used a picture of Steve Ballmer instead. 

The great thing about this implementation is it looks exactly as it would render normally in your browser (font sizes, custom CSS, etc) and everything still works as normal. 

Google Joke

Enjoy hours of endless fun of proving to people that Microsoft own Google and spamming Digg with proof that you’ve found exclusive information about Google’s next holiday doodle. 

Operating System Screencasts

OSVids.com features a variety of screencasts from a variety of Operating Systems from Vista to well known Linux distributions such as Ubuntu. It also has some casts from some more interesting operating systems such as Symphony OS (which is Linux but with a radical GUI) and React OS (open source Windows clone)

The casts show the installation process of many operating systems and some of the features and programs they have. They’re not particularly entertaining except from for the OS bods but it’s a nice way to sample and get a feel for the operating systems which screenshots don’t give you.

Certainly not as interesting as Long Zheng’s Windows Vista screencasts but it’s worth a visit. 

55 Ways to Have Fun with Google

Philipp Lenssen who writes one of my favourite blogs, Google Blogscoped, has released his book "55 Ways to Have Fun with Google" as a free download in the PDF format. It’s also CC-licensed so you can "copy, read, share, remix, convert, quote, browse, and print the PDF to your liking".

You can also buy a printed copy of the book for $17. I think it’s pretty genius to release a whole book for free on the internet. If there was no free release, I wouldn’t be blogging about it right now and neither would many other bloggers. Thus more people actually end up buying the book. Mark Pilgrim did the same thing with Dive into Python and to my knowledge that was also a fantastic success. 

I’ve just glanced at the book and skimmed a couple of chapters and it looks pretty interesting. There is a full chapter list at the book site. It seems to cover quite a wide range of cool tricks and cool Google-related stuff.

It’s well worth downloading a copy and if you aren’t a big fan of reading off the screen, it’s worth printing it out or buying the book. Even if you buy the book, the pdf is pretty useful as it can be searched and if you wish to quote from it, it’s just a copy and paste operation.

Opera-2dgame Canvas Context

I didn’t know this until today but Opera 9 not only supports the canvas element and the 2D context which Firefox and Safari also support, but also a proprietary extension called "opera-2dgame".

It provides a few extra low-level features which are supposed to be designed for game authors. The functions include:

  • getPixel(x, y)
    Returns the pixel value (colour, opacity) at (x, y). Returned in the form #rrggbb if fully opaque and rgba(r, g, b, a) if it has some alpha transparency.
  • setPixel (x, y, colour)
    Allows you to set the colour of the pixel at (x, y). The third argument should be a CSS colour – you could provide a string such as ‘red’, a HTML colour code or even a rgba() value.

The folks at Opera have provided 3 examples of how per-pixel manipulation can allow Opera to do some image effects which you’d traditionally have to use an image editor for.

Of course, you’ll need Opera 9 to see these demos. They were pretty slow for me – it took around 4 seconds to apply a sepia filter on a 400×300 pixel image.

Theres also a checkCollision() function which will allow you to determine whether a certain point given by co-ordinates (x, y) is inside a path (a shape). You can also lock the canvas. When the canvas is locked you can work with it as normal but the canvas will not actually be redrawn until you unlock it. This should speed up your script as the browser won’t have to continuously redraw.

It would be interesting to see any games which are created using opera-2dgame. 

 

Blogging

One thing I notice about blogs is the vast majority of people get bored of blogging and stop blogging around a month or two after starting. The end of a blog is usually associated with a promise to start again after the exams or after the vacation but I find that most of the time, the blog will just die there. In fact, I’ve almost stopped blogging on several occasions for the same reason – I made a concious effort to keep blogging during my exam period as I knew I’d otherwise never get back in the swing of things.

I’ve probably been blogging for three years now – I started this blog in April 2004; before that I had various other blogs which have now disappeared off the face of the Earth. I’ve made 745 entries since April 2004 – about one entry a day. I’m currently averaging around 12,000 hits a day.

It’s really good fun blogging and you meet loads of great people so it’s well worth maintaining a blog. 

Over the last 2 years, I’ve picked up the following blogging tips to try and maintain your blog and allow it to grow:

  • Don’t worry about blogging about something which you don’t think will interest your visitors. You’ll find that since you already share many interests the chances are they’ll also share that interest. Don’t blog about what you think your visitors will like; blog about what you enjoy and the visitors will come to you.
  • The vast majority of people read blogs through RSS feeds (at least on technology related blogs). RSS makes it really cheap and easy to consume content. You’ll probably find that even if you don’t post for a long time you won’t lose many visitors. This is kind of unique to the blogs; on any other site a lack of content will lose visitors.
  • Bad quality content will cause you to lose visitors so it is better not to blog than to spam your blog with low quality content.
  • Try to add a bit of original content to each post. If people want a linkdump, they could visit sites such as Digg. Alternatively, consider signing up to a social bookmarking service. If you find that you mainly blog links to other sites with one line descriptions, del.icio.us will allow you to maintain this a lot easier than full blog software. I’m currently using del.icio.us to complement the content of my blog with things I wouldn’t normally post.
  • Let a few people know about your blog on forums and through IM screennames and read their blogs too. Actually, this is probably one of my favourite parts about blogging – I’ve discovered so many other fantastic blog posts.
  • For blog readers, leaving comments can really encourage the blogger to continue.

Above all, enjoy blogging! Your blog is your space and you can do what you want with it so get creative and involved. Writing your own software or designing your own theme are good for getting involved in blogging a bit more.

If any of you guys have any tips for new bloggers or you have your own blogs, please let me know in the comments!

How to choose an open source license

Ed Burnette at ZDNet has a thoughtful and pretty fair post on how to choose an open source license for your project.

He provides a decision tree – simply answer the questions, follow the tree down and the entry will recommend a certain license for you. He also has a follow-up posting which details open source licenses and will allow you to see information about the license such as whether it allows commercial use, copyright protection, etc.

Many open source programmers I know have been choosing the GPL recently – probably because everyone else does it. I know the reason I initially chose to use the GPL was because everyone else used it, I was a big fan of standardization and it meant I could use code from other GPL-licensed projects.

More recently I’ve become more liberal and I’m trying to license new creations under the BSD. The only reason many of my projects are still GPL are because they contain code from other GPL projects and I cannot change the license until I remove or rewrite them.

As the article describes, the GPL is mis-understood by many. The GPL actually imposes restrictions which may put users off using your software. It’s also quite frustrating for programmers who don’t use the GPL as it means they can’t use your code. In my opinion, if you want to open source you might as well go the full way and get a BSD license which is about 12 lines long and easy to read rather than a GPL license which requires a lawyer to read and imposes restrictions on use.

Releases: Windows Live Messenger, Yahoo, Opera

Three big software releases today:

Windows Live Messenger (MSN Messenger 8)

You can get Windows Live Messenger final from Live.com. It sports a brand new look, the ability to contact friends on Yahoo! Messenger (soon), folder sharing, et al. Make sure you grab Mess Patch to remove all the junk from Windows Live Messenger and Messenger Plus! Live when it’s out to complete the IM experience.

I’ve had some bad experiences with Windows Live Messenger beta so I’m going to wait a while before upgrading; certainly waiting for Messenger Plus to be updated and Yahoo! Messenger support.

Yahoo! Messenger 8.0 (Beta)

Yahoo has released a beta version of their version 8 messenger. No MSN Messenger integration yet but it seems like you can now write plug-ins for Yahoo! Messenger.

Opera 9

Opera, the browser for the "Firefox is too popular so it must suck, I’m going to use another browser just to be different" crowd has released version 9.

The new marketing campaign gets a big WTF from me – I don’t understand it and it doesn’t tell me why I should use Opera. Opera 9 has integrated BitTorrent, content blocker, widgets, rich text editor support, per-site preferences and thumbnails on tabs. 

svg:foreignobject in Firefox 3

Thse svg:foreignobject changes in Firefox 3 are pretty sweet. If you have a Firefox 3.0 trunk build which was built by Cairo (e.g. Windows builds here) you’ll be able to use this testcase which let’s you render content, rotate it and zoom it.

Reflection.js Rotated

Robert O’Callahan did note there are a lot of bugs:

  • Popups (e.g. SELECT comboboxes) — actually it’s not 100% clear how these should work
  • Some theme problems
  • Scrolling
  • Some painting problems on Windows (apparently)
  • incredibly SLOW performance; some for reasons we understand and can fix, some for reasons that are fundamental (rotating images is slower than just drawing them normally), and probably some for reasons we don’t understand yet
  • Seams between rotated rectangular areas (e.g. visible in the Google logo in the screenshot below). These are fundamental with cairo’s coverage-based antialiasing strategy, and we may have to move to FSAA to get rid of them.

I’ve noticed a couple of rendering bugs – for example when content is rotated and you scroll it, the whole screen doesn’t update. Flash movies also don’t rotate and Firefox crashed when I rotated TinyMCE.

Flash Bug