tag:blogger.com,1999:blog-6538635403767121002024-03-13T15:14:18.205-07:00Tiny NotesJames Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-653863540376712100.post-82151255723234536182008-03-13T10:24:00.000-07:002008-10-08T19:50:48.663-07:00iPhone SDK and TinyBuddy IM statsTwo quick things:<br/><br/>1) Apple released the iPhone SDK last week, and as part of the announcement, AOL demonstrated an AIM client that was built with the SDK. Hopefully AOL will continue the AIM client development so that in the June timeframe there will be a "real" AIM client for the iPhone/iPod Touch.<br/><br/>If you want to see the AIM client demo part of the announcement, you can view the video from apple.com. Go to this link:<br/><a href="http://www.apple.com/quicktime/qtv/iphoneroadmap/">http://www.apple.com/quicktime/qtv/iphoneroadmap/</a><br/><br/>Then click on "View Presentation". Warning: this link may not be valid over time. The video you want to watch should be titled "Apple March 6 Event". The AIM part is around the 52 minute, 51 second mark.<br/><br/>Rizwan Sattar from AOL does the AIM demo -- we work in the same office! Rizwan did a great job with the demo.<br/><br/>2) With the Open AIM launch last week (<a href="http://dev.aol.com/aim">http://dev.aol.com/aim</a>), I now get stats for how much my API key is used. This in turn gives a rough idea of how much TinyBuddy IM is used. For a 7 day period (last Wednesday to this Wednesday), the stats are:<br/><br/>Peak Simultaneous Users: 183 (how many people used it at one time)<br/>Sessions: 116,943<br/>IMs Sent: 513,384<br/>IMs Received: 566,301<br/><br/>So every minute (averaged), that equates to:<br/>11 sessions per minute<br/>50 IMs sent<br/>56 IMs received<br/><br/>That is certainly much better than I thought it would be. It is nothing like the usage of a full AIM client, but I'm happy to see that much usage out of a fringe product. Thanks for using it!<br/><br/>Although, I hope in the June/summer timeframe there will be a "real" AIM client that works natively with the iPhone and iPod Touch so we do not have to suffer with the limitations of the pure web-based approach that TinyBuddy IM uses.<br/><br/>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com3tag:blogger.com,1999:blog-653863540376712100.post-85212321794769236352008-02-25T11:11:00.000-08:002008-10-08T19:50:48.664-07:00TinyBuddy IM v3.50 releasedVersion 3.50 is now available. Use your iPhone or iPod Touch and go to:<br/><br/><a href="http://x.aim.com/ty/">http://x.aim.com/ty/</a><br/><br/>It is usable in other browsers besides Mobile Safari, but it looks best in Safari-based browsers.<br/><br/>If
you do not see "v3.50 release" below the Start button on that page,
then you should try refreshing the page or clearing Safari's cache and
try again.<br/><br/>v3.50 has the following changes:<br/><br/>* <b>Avoid multiple sign ins!</b> I was being too aggressive with my sign-out code. I fixed it, and now the AIM sign-in server will give you an option to save your sign-in credentials. The checkbox will show up after the second time you try to log in, and if you still have authentication cookies. You still may be prompted once in a while for a password, but it should be a much easier experience to get back online if you get signed out. Just click the Start button again.<br/><br/>* <b>You can type status messages.</b> Once your buddy list shows up, touch the green sphere under your name at the top of the app. A dialog will come up that lets you type in a status message and/or change your presence state to Available, Away or Invisible. Your status messages show up with your name in your buddies' buddy lists. You can also play with status messages on the <a href="http://buddyinfo.aim.com/">AIM Buddy Info</a> site and <a href="http://dashboard.aim.com/">AIM Dashboard</a>.<br/><br/>* <b>Support for showing Recent Buddies.</b> By default, TinyBuddy IM does not show buddies in your Recent Buddies group since most of the time they are not buddies you explicitly added, and it helps performance if they are not shown. However, now there is a hyperlink you can click on TinyBuddyIM's start page that will change the app's URL so that it will show buddies in your Recent Buddies list. I would prefer a more elegant preference you could toggle, but I was having style issues getting that to work, so this is an intermediate option.<br/><br/>* <b>Initial support for receiving offline IMs</b>. If a buddy sends you an IM when you are offline, then you might see it now in the app. I was having trouble testing this completely though, so there may be layout issues with it, or it may not work completely.<br/><br/>* <b>A new webclip icon!</b> Thanks go to <a href="http://design.aim.com">Justin Kirk</a> for creating a much better icon than what I had before. To get the new icon, remove the previous icon from your home screen, go to the web app, then add it back. It now looks like this:<br/><img src="http://x.aim.com/ty/tybyIcon.png"/><br/><br/>Also remember you can use .mac accounts -- when you sign in, be sure to add @mac.com to your account name.<br/><br/>Special thanks go to <a href="http://infinitediversions.blogspot.com/">David McCormick</a> for actually getting the code up where you can use it.<br/><br/><b>Things to remember about TinyBuddy IM<br/><br/></b>TinyBuddy IM is a web application that works in Apple's iPhone/iPod Touch's Mobile Safari web browser. The iPhone/iPod Touch do not treat web sites/web applications in Mobile Safari the same as other native applications on those devices.<br/><br/>In particular, the device will stop TinyBuddy IM from running if you switch to another web browser window/page or if you switch to another native application on the device. When that happens, the AIM servers will wait 30 seconds, then sign you off. If you return to TinyBuddy IM after those 30 seconds, you will have to reconnect, and if anyone sent you IMs within those 30 seconds, they will be lost.<br/><br/>Given those limitations, TinyBuddy IM is best used for doing quick IMs with a buddy to avoid SMS charges, but it will not work very well as something you run for a very long time on the device.<br/><br/>Also be aware that you may be charged for data transfers unless you have an "unlimited" data plan with your phone service. I believe the unlimited data plan is standard for AT&T in the US, but you may incur costs if you go outside of the US. To be sure, check your phone plan.<br/><div class="tags" id="tagsLocation"><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/apple">apple</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/ipod+touch">ipod touch</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/dojo">dojo</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/AIM">AIM</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com2tag:blogger.com,1999:blog-653863540376712100.post-85075770785293274002008-01-18T14:27:00.000-08:002008-10-08T19:50:48.664-07:00WebClip Icon for TinyBuddy IMWith Apple's 1.1.3 iPhone update and the iPod Touch software upgrade, it is now possible to put an icon on your device's home screen that maps to an URL in the Safari browser (called a WebClip).<br/><br/>Normally, the device will generate an icon based on the look of the web page, but there is an option to specify a specific graphic. An icon update was just pushed to <a href="http://x.aim.com/ty/">TinyBuddy IM</a>, so now you should see this icon on your home screen (if you click on the + then "Add to Home Screen" in Safari):<br/><br/><img src="http://x.aim.com/ty/tybyIcon.png"/><br/><br/>It is not the best icon, but it is what I could do given my very poor graphics skills. And it should be better than a screen capture of the web page.<br/><i>(<b>Edit Feb 25, 2008</b>: The icon above is actually a new one done by Justin Kirk, and is light years better than my goofy original icon)</i><br/><br/>If you previously added TinyBuddy IM as a WebClip on your home screen, you might try removing it, reloading TinyBuddy IM in Safari, and adding it to the home screen again.<br/><br/>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com8tag:blogger.com,1999:blog-653863540376712100.post-90075842609981124282007-11-16T13:42:00.000-08:002008-10-08T19:50:48.665-07:00TinyBuddy IM v3.20 released Version 3.20 is now available. Use your iPhone or iPod Touch and go to:<br/><br/><a href="http://x.aim.com/ty/">http://x.aim.com/ty/</a><br/><br/>It is usable in other browsers besides Mobile Safari, but it looks best in Safari-based browsers.<br/><br/>If you do not see "v3.20 release" below the Start button on that page, then you should try refreshing the page or clearing Safari's cache and try again.<br/><br/>v3.20 has the following changes:<br/><br/>* Better performance for large buddy lists.<br/>* One less prompt on sign-in and first IM sent.<br/>* Better status message display (previously it did not show status messages, just away messages).<br/>* Better information if you are signed off because Mobile Safari suspended the page for too long (happens if you switch to another application or web page).<br/>* Uses <a href="http://dojotoolkit.org/">Dojo 1.0</a> for the JavaScript toolkit.<br/><br/>There were some changes to improve the performance of large buddy lists, but I can probably do more changes. Leave a comment if you still find it hard to use the web app with large buddy lists.<br/><br/>Also remember you can use .mac accounts -- when you sign in, be sure to add @mac.com to your account name.<br/><br/>I was planning to allow SSL as part of this release, but I had trouble getting it set up, and I am not sure it is a good idea, since you will only get encrypted communication to the AIM server. There is no guarantee that the path from the AIM server to your buddy is secure. So I think it is best not to give the illusion that it is a "secure IM" option. I'll be putting that feature on hold indefinitely now.<br/><br/>Something I do want for the next version: allowing custom status messages (not just custom away messages). Ideally, I want to work out a way for you to save those custom status messages for re-use/less typing the next time. It still needs more investigation though.<br/><br/><b></b><div class="tags" id="tagsLocation"><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/apple">apple</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/ipod+touch">ipod touch</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/dojo">dojo</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/AIM">AIM</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com21tag:blogger.com,1999:blog-653863540376712100.post-36861695267338658252007-10-12T13:50:00.000-07:002008-10-08T19:50:48.666-07:00TinyBuddy IM v3.01 released, listed in Apple Web AppsJust a small update today. v3.01 had some layout fixes resulting from the iPhone 1.1.1 update, and I switched to using the final Dojo 0.9.0 release. Try it out at:<br/><br/>http://x.aim.com/ty/<br/><br/>The <a href="http://x.aim.com/ty_source/">source code bundle</a> has also been updated.<br/><br/>Also, <a href="http://www.apple.com/webapps/socialnetworking/tinybuddyim.html">TinyBuddy IM is listed in Apple's web app directory</a>.<br/><br/>I still want to do more updates for the app, but my day job and Dojo contributions have been my major focus of late. I am still looking at providing an SSL option, and an option to hide the buddies from the "Recent Buddies" group.<br/><br/><div class="tags" id="tagsLocation"><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/apple">apple</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/dojo">dojo</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com17tag:blogger.com,1999:blog-653863540376712100.post-79189194060711044972007-08-02T21:51:00.000-07:002008-10-08T19:50:48.666-07:00Now open sourceTinyBuddy IM code is now available as open source: <br/><br/>Get it at:
<a href="http://x.aim.com/ty_source">http://x.aim.com/ty_source</a>
<br/><br/>Also, the web app now runs at:<br/><br/><a href="http://x.aim.com/ty/">http://x.aim.com/ty/</a><br/><br/>I've set up <a href="http://tybyim.com">http://tybyim.com</a> to forward to the new location, so you
can continue to use tybyim.com to access the web app.
I'm still planning other updates to the code, but I need to do some
other things at my day job first.<br/><br/>(btw: using AOL Journals mobile blogging for this post. Neato!)<br/><br/>Sent from my iPhone<br/><br/>(Update: Fixed the entry's formatting and hyperlinked the URLs. Have to figure out how to do that in email next time).<br/>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com7tag:blogger.com,1999:blog-653863540376712100.post-23352883124091982802007-07-23T15:04:00.000-07:002008-10-08T19:50:48.667-07:00TinyBuddy IM v3 releasedThis version of <a href="http://tybyim.com/">TinyBuddy IM</a> converts the code to <a href="http://code.google.com/p/iui/">iUI</a> for look and feel, and to Dojo 0.9.0beta for the JS part. As part of the conversion, the following features<br/>have not been implemented yet, but I am planning to get to them in a coming release:<br/><br/>
* No Custom Away messages<br/>* Cannot show buddies by group (only alphabetic listing).<br/>* Typing events received from buddies is not implemented.<br/><br/>If you would prefer to use those features, you can keep using v2 of the UI at:<br/><a href="http://tybyim.com/v2/">http://tybyim.com/v2/</a><br/><br/>However, v3 is really nice since:<br/>* You can use the normal one finger physics-based scrolling for the buddy list and IMs.<br/>* It looks way nicer with iUI.<br/><br/>The size results for the HTML/JS/CSS: 39KB gzipped (2.6/33.6/2.5).<br/><br/>
The images I use probably come in around 10KB in total, but not all are loaded up front.<br/><br/>For the next release, I'm looking at the following:<br/><br/>* Still pursuing open sourcing the code.<br/>* Implement custom away message.<br/>* Implement buddy typing events.<br/>* Provide SSL option for all IM/buddy list calls.<br/>* Allow sorting buddies by group and/or not showing the buddies in the Recent Buddies group.<br/><br/><div class="tags" id="tagsLocation"><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iui">iui</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/dojo">dojo</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com1tag:blogger.com,1999:blog-653863540376712100.post-75197566256397425972007-07-17T15:58:00.000-07:002008-10-08T19:50:48.668-07:00Possible features for TinyBuddy IM v3Here are some things I'm looking at for future TinyBuddy IM releases. I hope that most of these will make a v3 release, but we'll see how it goes:<br/><br/>* Convert the UI to follow iPhone standards as demonstrated by iUI. I'm not sure yet if I can use iUI straight out of the box, but I'll be looking at it, if anything for inspiration (The main issue could be licensing/legal stuff -- if I want to open source my code, I need to have some very clear code copyright/licensing history. More info below).<br/><br/>* Try to open source the TinyBuddy code.<br/><br/>* Offer an https option, so that all IM traffic is encrypted.<br/> <br/>*Add a preference on the sign-in screen to specify whether to use the alphabetic buddy listing or use the AIM groups for buddies.<br/><br/>Feel free to offer other suggestions. Keep in mind I want to stay true to these principles:<br/><br/>* Stick with pure HTML/CSS/JavaScript for the interface.<br/><br/>* Continue to rely on the AIM servers for logging in the user, so the code does not see the user's password.<br/><br/>* Make it possible to open source the code, perferably to the same standards that Dojo uses for its code (clear tracking of who added what to the codebase, offer the option of either Academic Free License or the BSD license on the code).<br/><br/><div class="tags" id="tagsLocation"><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/dojo">dojo</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/opensource">opensource</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iui">iui</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com3tag:blogger.com,1999:blog-653863540376712100.post-9020238506297595332007-07-15T22:50:00.000-07:002008-10-08T19:50:48.668-07:00TinyBuddy IM: Release (v2)Today I did a small update to <a href="http://tybyim.com">TinyBuddy IM</a> (<a href="http://journals.aol.com/tinybuddy/tinynotes/entries/2007/07/15/tinybuddy-im-instant-messaging-for-iphone-v1/275">about</a>). I'm calling it the v2 release. As I do a release, no matter how small, I'll just up the v number.<br/><br/>The biggest change is in response to <a href="http://tagneto.blogspot.com/2007/07/tinybuddy-im-instant-messaging-for.html#comment-6350575186482491969">Trevor's</a> request for grouping. I had support for showing buddies by group before I had the iChat-like alphabetical buddy listing, but I had to work out an application switch and update the styles a little bit.<br/><br/>The upshot: if you put a bl=group on the TinyBuddy IM URL, the buddy list will show buddies in groups:<br/><br/><a href="http://tybyim.com/?bl=group">http://tybyim.com/?bl=group</a><br/><br/>Groups can be collapsed and expanded. Leave off the bl=group to get the normal alphabetical buddy listing.<br/><br/>Other things that were updated:<br/><br/>* If you are typing a message and a new IM comes in from another buddy, there will be a notification in the current IM pane.<br/><br/>* A Send button in the IM pane. It seemed like a couple people didn't realize that the bottom text box was for typing and sending IMs. I hope having the explicit button helps. It also makes makes the UI mostly usable (if a bit small) on a Nintendo Wii. :)<br/><br/>* Some small style changes.<br/><br/>I also think that .mac accounts should work since they use AIM behind the scenes, but I'm not totally sure on that. If someone with a .mac account can give it a try and post the results, I would appreciate it.<br/><br/>And as I mentioned in <a href="http://journals.aol.com/tinybuddy/tinynotes/entries/2007/07/16/why-an-aol-journal/276">a previous post</a>, you can <a href="https://reg.my.screenname.aol.com/_cqr/registration/initRegistration.psp?mcState=initialized&seamless=n&createSn=1&sitedomain=www.aim.com&siteState=http://www.aim.com/get_aim/congratsd2.adp&triedAimAuth=y&promo=380464&mcAuth=%2FBcAG0aa%2B%2FgAAPdyAbTZ%2F0aa%2FDQIP5mU10TA4ZcAAA%3D%3D">register your email address</a> to use as an AIM ID (to log into TinyBuddy IM, and to use as a valid OpenID).<br/><br/><div class="tags" id="tagsLocation">On the release: I tried getting the scrollTo thing to work as <a href="http://tagneto.blogspot.com/2007/07/tinybuddy-im-instant-messaging-for.html#comment-7189442584791303100">Kai</a>
suggested, but I think the Dojo AccordionContainer is doing some weird
sizingthings that makes the window.scrollTo calls not "hide" the
address bar in iPhone Safari once I show the buddy list. So more
investigation needed there.<br/><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/im">im</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/aim">aim</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com0tag:blogger.com,1999:blog-653863540376712100.post-29592268131333898372007-07-15T22:23:00.000-07:002008-10-08T19:50:48.669-07:00Why an AOL Journal?I'm going to use an AOL Journal for now to log my TinyBuddy IM notes. I looked at using a Blogger blog (since I use one for <a href="http://tagneto.blogspot.com/">my other blog</a>), but there were some specific iPhone-related features for going with the AOL Journal.<br style="font-size: 24px;"/><br style="font-size: 24px;"/>My biggest problem with Blogger, is the <a href="http://help.blogger.com/bin/answer.py?answer=42448">mobile blogging</a>. Right now, it only accepts email addresses from one of the cell phone networks. Since mail on the iPhone is just regular mail it does not work. Blogger has an email-to-post option, but it does not accept pictures.<br style="font-size: 24px;"/><br/>An AOL Journal allows email-to-post with pictures, so it is a great way to get pictures off the iPhone and up somewhere. I can also use IM (TinyBuddy IM!) to post blog entries. I IM the AOLJournals bot to do it. It's like blog posting on the command line.<br/><br style="font-size: 24px;"/>My biggest negative for the AOL Journal: lack of anonymous comment support. So, if you want to leave an anonymous comment, post an comment to this blog entry on my other blog: <b>[link removed Oct. 4 2007]</b>.<br/><br/><i>(<b>Update Oct. 4, 2007</b>: I have rethought the value of anonymous comment support. The vast majority of posts were either spam or not on-topic, so I am removing the entry on the other blog that allowed anonymous posts. I now think it is good that the AOL Journal does not support anonymous comments. There can still be issues with authenticated comments, but anonymous comments are worse.)</i><br/><br style="font-size: 24px;"/>However, there are some neat features about using your AIM name (or even your email address) to leave a comment on this site. <a href="https://reg.my.screenname.aol.com/_cqr/registration/initRegistration.psp?mcState=initialized&seamless=n&createSn=1&sitedomain=www.aim.com&siteState=http://www.aim.com/get_aim/congratsd2.adp&triedAimAuth=y&promo=380464&mcAuth=%2FBcAG0aa%2B%2FgAAPdyAbTZ%2F0aa%2FDQIP5mU10TA4ZcAAA%3D%3D">You will have to register the name you want or use an existing email address</a>, but after you do that, you get some neat capabilities:<br/><ul><li>You can comment on this blog<br/></li><li>Use the name (or email address) your register to sign in to AIM (and TinyBuddy IM)</li><li>The registered name (or email address) is now a valid <a href="http://dev.aol.com/aol-and-63-million-openids">OpenID</a></li></ul>The really neat thing about this is that you can register your email address as a valid AIM-recognized identifier. Just about any email address. If you register whatever@yahoo.com, you can now use that to log into AIM/TinyBuddy IM (you can't see the Yahoo Messenger people though, this is just an identifier that is used on the AIM network).<br style="font-size: 24px;"/><br style="font-size: 24px;"/>Same thing with the OpenID support -- if you go to other web sites that accept OpenID, you can plug in this URL to sign in (using the whatever@yahoo.com example):<br style="font-size: 24px;"/><br style="font-size: 24px;"/>http://openid.aol.com/whatever@yahoo.com<br style="font-size: 24px;"/><br style="font-size: 24px;"/>Neat, but weird.<br/><br style="font-size: 24px;"/><b>Note</b>: if you do use your email address as an AIM identifier, and you leave a comment on this blog, your email address may appear in the comment. I'm not sure if this opens it for collection by spam bots, but be aware that it may be visible on the page.<br/><br/>In a future post, I'll explain how to set up your iPhone so you can post to an AOL Journal via email, including sending a picture.<br/><div class="tags" id="tagsLocation"><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/aim">aim</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/openid">openid</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/blogger">blogger</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com3tag:blogger.com,1999:blog-653863540376712100.post-43405496651253787282007-07-15T21:36:00.000-07:002008-10-08T19:50:48.669-07:00TinyBuddy IM: Instant Messaging for iPhone (v1)(This is a <a href="http://tagneto.blogspot.com/2007/07/tinybuddy-im-instant-messaging-for.html">repost from my other blog</a>, but putting the content here for completeness)<br/>
<br/>Have an iPhone, but wish you could IM your buddies? Now you can, with <a href="http://tybyim.com">TinyBuddy IM</a>. It is an <a href="http://developer.aim.com/aimenabled">AIMĀ® Enabled</a> web-based IM tool. It works by using the <a href="http://developer.aim.com/webaim">Web AIM API</a>, <a href="http://dev.aol.com/openauth">OpenAuth</a> and <a href="http://dojotoolkit.org/">Dojo</a>.<br/><div class="post-body"><p>The
nice thing about this solution: you do not send your AIM password to me
-- you are redirected to AOL's OpenAuth servers for authentication. My
JavaScript only sees an auth token. Furthermore, my web page has to get
your explicit consent before accessing your buddy list data and before
sending the first IM or presence change.<br/><br/>So the price of this
added security is pop-up windows. A new window will be popped so you
can authenticate with the OpenAuth servers, and also when giving
consent to the application to access your buddy list and IM. For the
consent prompts, you can choose "Grant Always" to avoid them on
subsequent logins. I think the pop-ups are worth the added security,
and at least in iPhone's Safari, window popping looks neat.
Unfortunately, the OpenAuth Sign In and Consent pages are made for
larger windows, so you will have to double-tap zoom to read them.<br/><br/>Another
neat feature of this web application: it is pure JavaScript, HTML and
CSS. No server-side languages needed. Dojo really made it easy to do
this. I used Dojo 0.4.3 because I want to reuse this code for some
other projects that are on 0.4.3, but if/when I get enough time, I
would like to port it over to the 0.9 code.<br/><br/>So give it a whirl
if you like. I'm sure the code it not bulletproof, and I've noticed
enough weirdness with iPhone's Safari to guarantee that I will not be
able to give comprehensive support. Also, even though I'm an AOL
employee, AOL does not endorse this project or have anything to do with
it (but thanks to my co-workers for ideas and early testing, all done
of their own accord).<br/><br/>Also, I'm using an OpenAuth dev key, so if
there is too much usage you might see some rate limit errors, but we'll
see how it goes.<br/><br/>Some other interesting tidbits:<br/></p><ul><li>The
Web AIM API is a Comet API. It uses long polling to work cross-domain
in the browser. I'm using more of a short poll with pauses between the
polls to hopefully smooth out network hiccups on the phone.</li><li>Don't like the CSS? You can make your own and tell the app to use it instead. Go to <a href="http://tybyim.com/launcher.html">the test launcher page</a>
to specify the path to your CSS. Click the Launch button, then copy
launch URL. Use that URL when you want to use the application. This
feature is not allowed for IE browsers given its security problems with
CSS "expressions".<br/></li><li>I'm serving the code gzipped. The HTML, CSS and JavaScript combined come to about 90 KB. So it is tolerable on the EDGE network.</li><li>Use the iPhone <b>two finger scroll</b> to scroll the buddy list and IM conversations.</li><li>Typing
IMs should be optimally sized for use with the virtual keyboard. Just
type in the text box at the bottom of the IM window and press "Go" on
the keyboard.</li><li>I'm using Dojo Accordions for the IMs and buddy
list. I like the use of space with that model and that I can show you
incoming IM text if that IM AccordionPane is in the closed position.</li><li>onbeforeunload
does not seem to fire for iPhone Safari. That makes it hard to log out
correctly, so to clear your OpenAuth cookies, be sure to use the
Available, Sign Out menu item.</li></ul>To use TinyBuddy IM, just type <a href="http://tybyim.com">http://tybyim.com</a> in the iPhone Safari browser. You can try it in other browsers, but it looks best in the iPhone Safari.
</div>
<br/><br/><div class="tags" id="tagsLocation"><br/>Tags: <a rel="tag" target="_blank" href="http://technorati.com/tag/tinybuddy">tinybuddy</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/iphone">iphone</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/openauth">openauth</a>, <a rel="tag" target="_blank" href="http://technorati.com/tag/aim">aim</a></div>James Burkehttp://www.blogger.com/profile/00451746837849321739noreply@blogger.com18