2009/06/28

AIM Push Notification and Multiple Sessions, Who Wins?

A question was recently posed by a friend. He noticed that as long as his AIM client was signed in on the iPhone, actively or just for Push Notification, that messages would no longer be sent to his desktop client anymore. This sort of behavior could render the "always signed in" Push Notification useless if the desktop client can no longer receive messages while the iPhone application is considered to be signed in.

It turns out that AOL uses a precedence order in deciding which client should get the message, or in some cases both. Here is the precedence order:

Available (1)
Away (0)
Idle (-1)
Invisible (*)

AIM clients with the same precedence "score," the number in parenthesis, will get the same message. If one client has a higher score, no other clients will get the message. Idle time will subtract one from the score. Available + Idle is the same thing as Away + Active.

For example if both clients are Available and not Idle, both will get the message. If one is Available and the other Away, the Available client will only get the message. Here is where things get interesting, if a client is Available and Idle, and the other is Away but Active both get the message.

The most effective way to use both the iPhone AIM client and a desktop client like Adium, iChat, or AIM, you need to have the desktop client set to Available and the iPhone client set to Away. The desktop client shouldn't be set to artificially Idle, or both will get the message.

This is a little annoying because I tend to set Adium to Away all the time. Going forward to utilize AIM for the iPhone I'll have to keep available and not idle, otherwise messages are going to start appearing on my phone. I guess this promotes some additional honesty about my actual status.

I hope this solves the mystery for someone. I couldn't find anything too definitive elsewhere on the web.

*Note: Setting Invisible in one client changes your status in all logged in clients. It's not possible to be Away in one, and invisible in another. I was hoping I could leverage this somehow by setting the iPhone to invisible so that it would only get messages if the desktop client went offline.

Labels: ,

2009/06/25

Now with Fancy

A quick post just to point out the obvious, the blog has a new look. More on this later, but Kenta is to thank for the design.

Enjoy.

When BS is so bad it hurts

It appears that Movable Type has been forked into a new project called "Melody." Now this is why I love Open Source software, if something isn't working right fracture the code, take some of the developers, and subdivide the user base. I understand that one piece of software can't do everything. By all means it shouldn't, but there doesn't seem to be any driving goals of this project that aim to make it vastly different the Movable Type.

A quick read of the sparse About page and FAQ, seems to indicate that this fork is driven by the need to work with the community more. In other words they don't have any unique design principles yet, but invoking the term "community" implies that we soon will have all that we've been missing from Movable Type. They suggest trying to be more like WordPress. Maybe that means documentation that isn't habitually wrong. I'm not sure.

On face value it looks like some sort of internal fallout happened. When you drop all of the idealistic bullshit, thats the most common reason for a fork. Two people couldn't agree and they go their own way but try to make it look all happy and mutual, as if this will somehow be "better for everyone."

The way I see it, Movable Type has been trying to become a CMS and failing miserably. It's once rapid rate of progress during the 3.x builds has become a snails pace under 4.x., and this fork may finally kill it or get SixApart off their asses and take a look at what their actually trying to accomplish.

Labels: , ,

2009/05/11

Internet Explorer 6 Duplicate Characters Bug

Just for reference if you come across the old issue with IE 6 duplicating characters at the end of a block of text, check out this article at Position Is Everything.

Labels: , ,

2009/05/08

Opening a Link in a New Window, and How Not To

I often tell everyone here to avoid examples of JavaScript on the Internet, because more often then not it’s incorrect. The same goes for most of the popular examples of how to cause a link, an A tag more specfically, to open in a new window.

The most popular and incorrect way is using the target attribute:

<a href="http://www.example.com/" target="_blank">Using Target</a>

The target attribute was meant to direct content to load in a specific frame. In this case the keyword directs the browser to load the page in a new window, but with frames long dead and gone this little gem lives on as a reason people “can’t use HTML Strict.”:

The most common solution that people came up with this was to use JavaScript, but in some strange ways. Instead of opening the link directly, the page would go to an anchor and JavaScript would open the URL in a new window:

<a href="#" onclick="window.open('http://www.example.com/');">Using Onclick</a>

The HTML will validate, but if JavaScript is disabled the link won’t go anywhere, and it can’t be copied via a contextual menu. On top of that clicking on the link will cause the page to jump to the top, unless you add “return false;”:

<a href="#" onclick="window.open('http://www.example.com/'); return false;">Using Onclick</a>

Another approach to avoding the jump was to place JavaScript within the href attribute:

<a href="javascript:window.open('http://www.example.com');">Using inline JavaScript</a>

While inline JavaScript has its novel uses, this isn’t one of them. This method doesn’t offer much over the previous one and can be complicated even further when a wrapper function is called instead:

<a href="javascript:wrapperfunction();">Using inline abstracted JavaScript</a>

The only way to fix the issue of JavaScript being disabled was to put the link back in the href attribute:

<a href="http://www.example.com/" onclick="window.open('http://www.example.com/'); return false;">Improved use of onclick</a>

Using "return false;" stops the link from executing, allowing the URL to be put back in the href. This is the farthest I’ve seen any site go. it’s technically complete, but redundant. One last bit of JavaScript fixes that:

<a href="http://www.example.com/" onclick="window.open(this.href); return false;">Ideal use of onclick</a>

The redundancy is elimanted by using this.href. “this” refers to the current object in context, being the A tag. The “href” references the A tags href property and the value (URL) contained within.

The end result is a small generic addition to any A tag to make it open in a new window. The tag will pass HTML strict validation, “SEO” is preserved and if JavaScript is disabled everything keeps working.

Labels:

Basecamp Writeboard & Message Erratic Formatting

If you rely heavily on Basecamp, a project management service by 37signals, then you've probably run into issues with erratic formatting in Writeboards and Messages. The contextual documentation is sparse at best and doesn't explain how to stop the unintended formatting caused by the inadvertent use of reserved sequences.



Through a little experimentation, it seems that most HTML tags are left unencoded. While unexpected and also potentially problematic this behavior has it benefits. The <code> and <pre> tags - and possibly more - turn off the Basecamp formatting engine and make it possible to preserve text that would otherwise be mis-formatted.

So next time you notice strange formatting, try surrounding your text in either <code> and <pre> tags. Remember that while these tags won't show up in the message itself, they will appear in any notification e-mail, but the same is true for standard Basecamp formatting.

Labels:

2009/04/24

Craig's List E-Mail Scam

Thanks to Google I learned of this scam in response to a printer we're selling on Craig's List.

The e-mail I got:

From: bukkybrigth@gmail.com
Subject: Re: New Canon PIXMA MX700 Office All-In-One Printer - $120 (Chelsea)
Date: April 24, 2009 11:27:16 AM EDT
To: --@firefallpro.com

Good to read from you and i believe we can continue on this
transaction because i don't like to beat around the bush and am not
here for games, I am buying this Item for my Spouse located Oversea
and i will be responsible for the shipping and handling cost, let me
know how much it will cost you to ship and All you have to do now is
to send me a money request for the total amount via paypal for me to
confirm if your account is still active or not or you get back to me
with your paypal registered email account as for me to remit the
payment. Please get back to me as soon as possible if you are still
interested to further with this transaction.and i will like if you can
ship the item through Unites State Poster Service International
Express Mail (EMS).... I will be looking forward to read from you.

Regards.

I should have e-mailed back something creative, but I sent them a link to the article I found. Maybe they'll have to vary the copy a little now.

Labels: ,