home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=07320.orig < prev    next >
Text File  |  2010-09-23  |  50KB  |  795 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2.         "http://www.w3.org/TR/html4/loose.dtd">
  3.  
  4. <html lang="en">
  5. <head>
  6.     <meta http-equiv="content-type" content="text/html;charset=utf-8">
  7.     <meta http-equiv="Content-Language" content="en">
  8.     <title>TidBITS : Salling Clicker in Action</title>
  9.  
  10.     <meta name="title" content="TidBITS : Salling Clicker in Action">
  11.     <meta name="description" content="TidBITS is a free email and Web publication covering the Macintosh Internet community.">
  12.     <link rel="image_src" href="/images/tblogo9.gif" />
  13.     <meta name="keywords" content="Apple, Mac, Macintosh, Mac OS, Mac OS X, newsletter, Internet, analysis, reviews, technology, news, TidBITS, TidBITS Talk, Engst">
  14.     <link rel="Help" href="http://www.tidbits.com/about/about-tidbits.html" title="About TidBITS">
  15.     <link rel="Search" href="http://www.tidbits.com/search/" title="Search All TidBITS Content">
  16.     <link rel="Author" href="http://www.tidbits.com/about/contact-info.html" title="Contact Information">
  17.     <link rel="Contents" href="tb-issues/" title="TidBITS Issue Archive">
  18.     <link rel="alternate" type="application/rss+xml" href="http://db.tidbits.com/feeds/tidbits.rss" title="TidBITS Full Text Feed">
  19.     <link rel="alternate" type="application/rss+xml" href="http://db.tidbits.com/commentfeeds/firehose.xml" title="TidBITS Full Comments Feed">
  20.  
  21.     <link rel="stylesheet" href="/tidbits_2010_001.css" type="text/css">
  22.     <LINK rel="stylesheet" type="text/css" media="print" href="/tb-new-print.css">
  23.     <script src="/javascript/tb.js" type="text/javascript"></script>
  24.     <meta name="viewport" content="width:940">
  25.     <script type='text/javascript' src='http://db.tidbits.com/ads/delivery/spcjs.php?id=2'></script>
  26.     <script src="/javascript/prototype.js" type="text/javascript"></script>
  27. <script src="/javascript/scriptaculous.js" type="text/javascript"></script>
  28. <script src="/js-global/FancyZoom.js" type="text/javascript"></script>
  29. <script src="/js-global/FancyZoomHTML.js" type="text/javascript"></script>
  30. <script type="text/javascript"  src="http://api.recaptcha.net/js/recaptcha_ajax.js"></script>
  31.  
  32. </head>
  33. <body onLoad="setupZoom()">
  34. <!-- popup query -->
  35. <div id="big_ole_background" style="display:none"> </div>
  36. <div id="tipbits_enclosure_preview" style="display:none">
  37. <div class="tearoffbox_wide_container">
  38. <div class="tearoffbox_wide_tips">
  39.  
  40. <div class="tip_display">
  41. <div class="preview">
  42. <h6><span id="p_tips_title"></span></h6>
  43. <p id="p_tips_text"></p>
  44. <p>Visit <a href="javascript:void(0)" id="p_url"><span id="p_label"></span></a></p>
  45. <p class="credit">Submitted by <span id="p_reader"></span></p>
  46. <p><input type="submit" value="Back" name="preview_tip" onClick="preview_box('ts','tipbits_enclosure_preview'); return false;"></p>
  47. </div>
  48. </div>
  49. <div class="tearoffbox_wide_bottom_tips">
  50. </div>
  51.  
  52. </div><!-- end tearoffbox_wide_tips -->
  53. </div><!-- end tearoffbox_wide_container for tips-->
  54. <!-- end tearoff box wide -->
  55. </div><!-- end enclosure -->
  56.  
  57. <div class="popup_box_with_captcha" id="ts" style="display:none">
  58.     <div id="popup_box_thanks" style="display:none" onClick="close_popup_thanks('popup_box_thanks', 'ts')"><br>Thanks for submitting your tip! All submissions are moderated by an editor before appearing online. We've reset the form so you can enter another tip. Or you can close the tip submission box.    <div class="x_close" id="thanks_upper_right"><a href="javascript:void(0)" onmousedown="close_popup_thanks('popup_box_thanks', 'ts'); return true;">Close</a></div></div>
  59.     <div class="tip_box_format">
  60.     <div id="ts_innards" onClick="close_popup_thanks('popup_box_thanks', 'ts')">
  61.         <div class="tip_box_head">TipBITS Submission</div>
  62.         <div class="tip_box_form">        
  63.                 
  64.             <div class="tbf_row" id="ts_message_box" style="display:none">
  65.                 <div class="tbf_wide"><div class="tbf_alert" id="ts_top_message"></div></div>
  66.             </div>
  67.             <div class="spacer"></div>
  68.  
  69.             <form action="foobar.cgi" method="get" name="submit_tip">
  70.  
  71.             <div class="tbf_row"><div class="tbf_wide_extra_top not_bold">Please submit only technical tips that will help other TidBITS readers better use their Macs, iPhones, and related software and hardware. All product announcements should be sent to <a href="mailto:releases@tidbits.com">releases@tidbits.com</a>.</div></div>
  72.             <div class="spacer"></div>
  73.             <div class="tbf_row">
  74.                 <div class="tbf_left">Tip title<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" id="tip_title_id" name="tip_title" tabindex="1"></div>
  75.             </div>
  76.             <div class="spacer"></div>
  77.             <div class="tbf_row">
  78.                 <div class="tbf_left">Your tip<span class="required_field">*</span></div><div class="tbf_right"><textarea name="tip_text" rows="3" cols="40" tabindex="2"></textarea></div>
  79.             </div>
  80.             <div class="spacer"></div>
  81.             <div class="tbf_row">
  82.                 <div class="tbf_left">URL</div><div class="tbf_right"><input type="text" value="" name="tip_link_url" tabindex="3"><span class="tip_description"><br>Enter the URL to a Web page that supports your tip.</span></div>
  83.             </div>
  84.             <div class="spacer"></div>
  85.             <div class="tbf_row">
  86.                 <div class="tbf_left">Linked text</div><div class="tbf_right"><input type="text" value="" name="tip_link_label" tabindex="4"><span class="tip_description"><br>Enter the name of the page linked above.</span></div>
  87.             </div>
  88.             <div class="spacer"></div>
  89.             <div class="tbf_row">
  90.                 <div class="tbf_left">Your name<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" name="tip_reader_name" tabindex="5"></div>
  91.             </div>
  92.             <div class="spacer"></div>
  93.             <div class="tbf_row">
  94.                 <div class="tbf_left">Your email<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" name="tip_reader_email" tabindex="6"></div>
  95.             </div>
  96.             <div class="spacer"></div>
  97.             <div class="spacer"></div>
  98.                 <div class="tbf_wide"><span class="fine_print"><span class="required_field">* indicates required fields</span></span></div>
  99.             <div class="spacer"></div>
  100.             <div class="tbf_row">
  101.                 <div class="tbf_wide_extra_top"><span class="fine_print">To help us avoid automated posts and spam, please enter the words below.</span></div>
  102.             </div>
  103.             <div class="spacer"></div>
  104.             <div class="tbf_row">
  105.                 <div class="tbf_wide"><div id="ts_recaptcha"></div></div>
  106.             </div>
  107.             <div class="spacer"></div>
  108.             <div class="tbf_row">
  109.                 <div class="tbf_wide"><input type="submit" value="Preview Your Tip" name="preview_tip" onClick="fill_preview('tipbits_enclosure_preview', 'ts', this.form); return false;" tabindex="7"> <input type="submit" value="Send Us Your Tip!" name="submit_this_tip" onClick="handle_tip_submission('ts', '', this.form, 'tip'); return false;" tabindex="8"></div>
  110.             </div>
  111.             <div class="spacer"></div>
  112.             <div class="tbf_row">
  113.                 <div class="tbf_wide"><span class="fine_print">When you submit a tip, you give us permission to use it. Read <a href="javascript:void(0)" onClick="generic_show_hide('tip_terms')">our terms</a> for more details. All submissions are reviewed before publication.</span></div>
  114.             </div>
  115.             
  116.             <div class="tbf_row" id="tip_terms" style="display: none">
  117.                 <div class="tbf_wide"><span class="fine_print">Our terms: By submitting a tip, you agree to assign TidBITS Publishing Inc., a non-exclusive, worldwide, perpetual license to reproduce, publish, and distribute your tip in connection with the TidBITS Web site and associated products in any media. You agree that you created the content you submitted, and that you have the right to assign us this license. You give us permission to use your name, but your email address won't be publicly displayed or shared. We review all submissions before publication, and reserve the right to select which submissions we feel are appropriate for our readers and to edit those we publish.</span></div>
  118.             </div>
  119.             <div class="spacer"></div>
  120.             </form>
  121.         </div><!-- end tip_box_form -->
  122.     </div><!-- end tip box innards -->
  123.     </div><!-- end tip box format -->
  124.     
  125.     <div class="x_close" id="ts_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('ts', 'ts', ''); return true;">Close</a></div>
  126.     
  127. </div><!-- end tip_submit box-->
  128.  
  129. <div class="popup_box_with_captcha" id="article_reference" style="display:none"><div class="article_ref_format"><textarea style="width:350px; height:100px;" name="article_ref" id="article_ref_box"></textarea></div>    <div class="x_close" id="article_reference_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('article_reference', 'article_reference', ''); return true;">Close</a></div>
  130. </div>
  131.  
  132. <div class="popup_box_with_captcha" id="comm" style="display:none">
  133.     <div class="tip_box_format">
  134.     <div id="comment_thanks" style="display:none" onClick="close_popup_thanks('comment_thanks', 'comm')"><br>Thanks for submitting a comment! Please check your email for a link that, when clicked, will verify that you're a real person and cause your comment to appear immediately. <div class="x_close" id="comment_upper_right"><a href="javascript:void(0)" onmousedown="close_popup_thanks('comment_thanks', 'comm'); return true;">Close</a></div></div>
  135.     <div id="comm_innards" onClick="close_popup_thanks('comment_thanks', 'comm')">
  136.         <div class="tip_box_head" id="comm_headline">Post a Comment</div>
  137.         <div class="tip_box_form">        
  138.                 
  139.             <div class="tbf_row" id="comm_message_box" style="display:none">
  140.                 <div class="tbf_wide"><div class="tbf_alert" id="comm_top_message"></div></div>
  141.             </div>
  142.             <div class="spacer"></div>
  143.  
  144.             <form action="foobar.cgi" method="get" name="post_comment" id="post_comment">
  145.             <input type="hidden" name="comment_nest" value=''>
  146.             <input type="hidden" name="comment_id" value=''>
  147.             <input type="hidden" name="article_id" value='5932'>
  148.             <input type="hidden" name="edit" value=''>
  149.             <div class="tbf_row">
  150.                 <div class="tbf_left">In reply to</div>
  151.                 <div class="tbf_right">
  152.                     <div id="cb_quoted_row">
  153.                         <div class='cb_open_quote'>“</div>
  154.                         <div id="cb_quoted"></div>
  155.                         <div class='cb_close_quote'>”</div>
  156.                     </div>
  157.                     <div class="spacer"></div>
  158.                 </div>
  159.             </div>
  160.             <div class="spacer"></div>
  161.  
  162.             <div class="tbf_row">
  163.                 <div class="tbf_left" style="padding-top:0">Your comment</div>
  164.                 <div class="tbf_right"><textarea tabindex="1" name="cb_item_add" id="cb_item_add" rows="4" cols="50" onKeyDown="count_insert('cb_item_add','cb_char_count')"></textarea><br><div class="cb_char_count" id="cb_add_count">Remaining characters: <span id="cb_char_count">0</span></div></div>
  165.             </div>
  166.             <div class="spacer"></div>            
  167.  
  168.             <div class="tbf_row">
  169.                 <div class="tbf_left">Your name</div><div class="tbf_right" style="margin-top:8px"><input tabindex="2" type="text" value="" name="cb_add_name" id="cb_add_name" style="margin-top: -4px"></div>
  170.             </div>
  171.             <div class="spacer"></div>
  172.             
  173.             <div class="tbf_row">
  174.                 <div class="tbf_left">Your email</div><div class="tbf_right"><input tabindex="3" type="text" name="cb_add_email" id="cb_add_email"></div>
  175.             </div>
  176.             <div class="spacer"></div>
  177.             
  178.             <div class="tbf_row">
  179.                 <div class="tbf_left"> </div><div class="tbf_right"><input id="comm_post_comment" tabindex="4" type="submit" value="Post Comment" name="submit_this_comment" style="width:100px; float:right" onClick="cb_post_submit(); return false;"></div>
  180.             </div>
  181.             <div class="spacer"></div>
  182.             
  183.             <div class="tbf_row" id="comment_terms">
  184.                 <div class="tbf_wide"><span class="fine_print">Our terms: We reserve the right to edit or delete any comment, so please post thoughtfully. We use your email address <i>only</i> to send you a one-time verification message confirming that you posted this comment. We also store your address to allow you to verify using other Web browsers in the future. For more info, see our <a href="http://db.tidbits.com/privacy.html">privacy policy</a>.</span></div>
  185.             </div>
  186.             <div class="spacer"></div>
  187.  
  188.             </form>
  189.         </div><!-- end comm_form -->
  190.     </div><!-- end comm box innards -->
  191.     </div><!-- end comm box format -->
  192.     
  193.     <div class="x_close" id="comm_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('comm', 'comm', ''); return true;">Close</a></div>
  194.     
  195. </div><!-- end comm_submit box-->
  196.  
  197.  
  198. <!-- start mainbody -->
  199. <div id="mainbody">
  200.  
  201. <!-- start header -->
  202. <div id="header">
  203.  
  204.  
  205.  
  206.     <div id="tblogo">
  207.     <a href="/"><img src="/images/tblogo20_01.gif" alt="TidBITS: Apple News for the Rest of Us" width="177" height="84" border="0"></a>
  208.  
  209.     </div><!-- end tblogo -->
  210.  
  211.  
  212. <!-- leaderboard ad -->
  213. <div id="top_banner">
  214. <script type='text/javascript'><!--// <![CDATA[
  215.     OA_show(3);
  216. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe5f7021'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=3&n=TBe5f7021'></a></noscript>
  217. </div><!-- end top_banner style -->
  218. <!-- end leaderboard ad -->
  219.  
  220.  
  221. </div><!-- end header  -->
  222.  
  223.  
  224. <!-- start content_container -->
  225. <div id="content_container">
  226.  
  227.  
  228. <!-- begin leftcolumn -->
  229. <div id="leftcolumn">
  230.  
  231. <!-- begin leftnav /left navigation -->
  232. <div>
  233.     <ul class="leftnav">
  234.         <!-- start search -->
  235.         <li class="topcorner">
  236.             <form action="http://db.tidbits.com" method="POST" name="search_form"><input type="hidden" name="advanced_search" value=''><input type="text" name="search_text" size="8" maxlength="70" value="Search" onFocus="this.value=''" onBlur="if (this.value == '') { this.value = 'Search'; }"> <span style="margin: 0 5px 0 5px; vertical-align: -2px"><span style="vertical-align: -2px"><input type="image" name="submit_search" src="/images/go_search_button.gif"></span>  <img src="/images/adv_search_button.gif" title="Click for Advanced Search" onClick="var f = document.search_form; f.search_text.value =''; f.advanced_search.value = '1'; f.submit();"></span></form>
  237.         </li>
  238.     </ul>
  239. </div>
  240. <!-- end search -->
  241.  
  242. <!-- Get TidBITS box (temp) -->
  243. <div>
  244.     <ul class="leftnav">
  245.         <li class="gettb"><strong>Get TidBITS via...</strong></li>
  246.     
  247.         <li><a href="http://www.tidbits.com/list" title="Subscribe via email" class="gettb">Email <img src="/images/gettb_button_email.gif" width="12" height="12" border="0" class="nav_img" alt="Email subscription options"></a></li>
  248.         <li><a href="/feeds/tidbits.rss" title="Subscribe via RSS" class="gettb">RSS <img src="/images/feed-icon-12x12.gif" width="12" height="12" border="0" class="nav_img" alt="Subscribe via RSS"></a></li>
  249.         <li><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=276986548" title="Subscribe to the podcast" class="gettb">Podcast <img src="/images/feed-icon-12x12_podcast.gif" width="12" height="12" border="0" class="nav_img" alt="Subscribe to the postcast"></a></li>
  250.         <li><a href="http://www.twitter.com/TidBITS" title="Get Article Updates via Twitter" class="gettb">Twitter <img src="/images/feed_icon_12x12_twitter.png" width="12" height="12" border="0" class="nav_img" alt="Get Article Updates via Twitter"></a></li>
  251.         <li><a href="http://www.facebook.com/pages/TidBITS/195314925519" title="Go to the TidBITS Page at Facebook" class="gettb">Facebook <img src="/images/feed_icon_12x12_facebook.gif" width="12" height="12" border="0" class="nav_img" alt="Go to the TidBITS Page at Facebook"></a></li>
  252.     </ul>
  253. </div>
  254. <!-- end Get TidBITS box -->
  255.     
  256.     <ul class="leftnav">
  257.         <li><a href="/" class="tabhead">TidBITS Home</a></li>
  258.  
  259.         <li><a href="javascript:void(0)" title="Sections" class="tabhead" onClick="return showhide('articleslist')">Sections <span id="articleslist_triangle"><img src="/images/nav_triangle_open.gif" width="9" height="9" border="0" class="navtriangle" id="articleslist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  260.     
  261.     
  262.     </ul>
  263.  
  264. <div id="articleslist" style="display: none"><ul class="leftnav"><li><a href="/section/business" >Business Apps</a></li>
  265. <li><a href="/section/entertainment" >Entertainment</a></li>
  266. <li><a href="/section/links" >External Links</a></li>
  267. <li><a href="/section/home" >Home Macs</a></li>
  268. <li><a href="/section/inside" >Inside TidBITS</a></li>
  269. <li><a href="/section/iphone-ipad-ipod" >iPhone iPad iPod</a></li>
  270. <li><a href="/section/fun" >Just for Fun</a></li>
  271. <li><a href="/section/macs" >Macs & Mac OS X</a></li>
  272. <li><a href="/section/creative" >Media Creation</a></li>
  273. <li><a href="/section/net" >Networking</a></li>
  274. <li><a href="/section/opinion" >Opinion</a></li>
  275. <li><a href="/section/support" >Problem Solving</a></li>
  276. <li><a href="/section/security" >Safe Computing</a></li>
  277. <li><a href="/section/tech" >Tech News</a></li>
  278. <li><a href="/section/watchlist" >Watchlist</a></li>
  279. </ul></div>
  280.  
  281. <div>
  282. <ul class="leftnav">
  283.     <li><a href="javascript:void(0)" onClick="return showhide('stafflist')" title="Staff" class="tabhead">Staff <span id="stafflist_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="stafflist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  284. </ul>
  285. </div>
  286.  
  287. <div id="stafflist" style="display:block"><ul class="leftnav"><li><a href="/author/Adam+C+Engst" title="Adam Engst, Publisher">Adam Engst</a></li>
  288.     <li><a href="/author/Tonya+Engst" title="Tonya Engst, Editor in Chief">Tonya Engst</a></li>
  289.     <li><a href="/author/Jeff+Carlson" title="Jeff Carlson, Managing Editor">Jeff Carlson</a></li>
  290.     <li><a href="/author/Joe+Kissell" title="Joe Kissell, Senior Editor">Joe Kissell</a></li>
  291.     <li><a href="/author/Glenn+Fleishman" title="Glenn Fleishman, Contributing Editor">Glenn Fleishman</a></li>
  292.     <li><a href="/author/Mark+Anbinder" title="Mark Anbinder, Contributing Editor">Mark H. Anbinder</a></li>
  293.     <li><a href="/author/Matt+Neuburg" title="Matt Neuburg, Contributing Editor">Matt Neuburg</a></li>
  294.     <li><a href="/author/Rich+Mogull" title="Rich Mogull, Contributing Editor">Rich Mogull</a></li>
  295.     <li><a href="/author/Lex+Friedman" title="Lex Friedman, Staff Writer">Lex Friedman</a></li>
  296.     </ul>
  297.     </div>
  298.  
  299. <div>
  300. <ul class="leftnav">
  301.  
  302.     <li><a href="javascript:void(0)" title="Issues" class="tabhead" onClick="return showhide('issuelist')">Weekly Issues <span id="issuelist_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="issuelist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  303. </ul>
  304. </div>
  305.  
  306. <div id="issuelist" style="display:none"><ul class="leftnav"><li><div class="special"><form method="post" action="noaction.cgi" onsubmit="return false" id="issue_search_form" name="issue_search_form">Issue # <input type="text" onkeydown="if (event.keyCode == 13) { redirect_issue(this.form); }" id="issue_searchvalue" name="issue_number" style="width:35px; height: 10px"> <input onclick="redirect_issue(this.form)" type="image" name="submit_search" src="/images/go_search_button_blk.gif"></form></div></li><li><A HREF="/issue/698" >#698, 22 Sep 03</A></li>
  307. <li><A HREF="/issue/697" >#697, 15 Sep 03</A></li>
  308. <li><A HREF="/issue/696" >#696, 08 Sep 03</A></li>
  309. <li><A HREF="/issue/695" >#695, 01 Sep 03</A></li>
  310. <li><A HREF="/issue/694" >#694, 25 Aug 03</A></li>
  311. <li><A HREF="/issue/693" >#693, 18 Aug 03</A></li>
  312. <li><A HREF="/issue/692" >#692, 11 Aug 03</A></li>
  313. <li><A HREF="/issue/691" >#691, 04 Aug 03</A></li>
  314. <li><A HREF="/issue/690" >#690, 28 Jul 03</A></li>
  315.  
  316.  
  317. <li><a href="/backissues">Back Issues</a></li></ul></div>
  318.  
  319.  
  320. <div>
  321. <ul class="leftnav">
  322.  
  323.     <li><a href="/tidbitstalk" title="TidBITS Talk" class="tabhead">TidBITS Talk</a></li>
  324. </ul>
  325. </div>
  326.  
  327.  
  328.  
  329. <div>    
  330. <ul class="leftnav">
  331.     <li><a href="javascript:void(0)" onClick="return showhide('abouttidbits')" title="About TidBITS" class="tabhead">About TidBITS <span id="abouttidbits_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="abouttidbits_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  332. </ul>
  333. </div>
  334.  
  335. <div id="abouttidbits" style="display:none">
  336. <ul class="leftnav"><li><a href="/about.html" title="About TidBITS">About Us</a></li><li><a href="/account.html" title="Account Help">Account Help</a></li><li><a href="/advertising.html" title="Advertise with TidBITS!">Advertise</a></li><li><a href="/contact.html" title="Contact Info">Contact</a></li><li><a href="/copyright.html" title="Copyright Terms">Copyright</a></li>
  337. </ul>
  338. </div>
  339.  
  340. <div>
  341. <ul class="leftnav">
  342. <li class="bottom"> </li>
  343. </ul>
  344. </div>
  345. <!-- end leftnav/left navigation -->
  346.  
  347. <!-- making sure nav elements hide/show before page loads --><script type="text/javascript"><!--
  348.     showhide('articleslist','show'); 
  349. // --></script>
  350.  
  351. <!-- begin sponsor_sidebox -->
  352.  
  353. <div class="sponsor_sidebox">
  354.  
  355. <ul>
  356.  
  357. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  358.  
  359. <li><a href="http://www.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  360.  
  361. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  362.  
  363. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  364.  
  365. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  366.  
  367. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  368.  
  369. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  370.  
  371. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  372.  
  373. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  374.  
  375. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  376.  
  377. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  378.  
  379. </ul><div class='sponsor_sidebox_bottom'> </div>
  380. </div>
  381.  
  382.  
  383. <!-- end sponsor_sidebox -->
  384.  
  385.  
  386. </div> <!-- end leftcolumn div -->
  387.  
  388. <!-- end left column -->
  389.  
  390.  
  391. <!-- begin centercolumn_border -->
  392.  
  393. <div id="centercolumn_border">
  394.  
  395. <div class="center_top">Thoughtful, detailed coverage of the Mac, iPhone, and iPad, plus the best-selling <a href="http://www.takecontrolbooks.com/?pt=TB-TAGLINE" style="color:yellow">Take Control</a> ebooks.</div>
  396.  
  397. <!-- begin centercolumn -->
  398. <div id="centercolumn">
  399.  
  400.  
  401.  
  402. <!-- begin rightcolumn_container -->
  403. <div id="rightcolumn_container">
  404.  
  405. <!-- begin rightcolumn -->
  406.     <!-- rightcolumn is embedded within centercolumn so featured text wraps around it -->
  407.     <div id="rightcolumn">
  408.  
  409. <p class="top"> </p>
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420. <!-- Watchlist items -->
  421. <div class="tearoffbox_wide_container">
  422. <div class="tearoffbox_wide_watchlist">
  423. <p class="tearoffbox_wide_top_watchlist"> </p>
  424.  
  425. <h6><a href="/section/watchlist">TidBITS Watchlist</a></h6>
  426. <ul>
  427.  
  428. <LI><a href="/article/11622">DEVONthink and DEVONnote 2.0.4</a></LI>
  429.  
  430. <LI><a href="/article/11620">Security Update 2010-006</a></LI>
  431.  
  432. <LI><a href="/article/11619">TinkerTool 4.2</a></LI>
  433.  
  434. <LI><a href="/article/11618">Mailplane 2.2</a></LI>
  435.  
  436. <LI><a href="/article/11617">Pro Applications Update 2010-02</a></LI>
  437.  
  438. <LI><a href="/article/11611">Dialectic 1.7</a></LI>
  439.  
  440. <LI><a href="/article/11604">Transmit 4.1.1</a></LI>
  441.  
  442. <LI><a href="/article/11603">MarsEdit 3.1.1</a></LI>
  443.  
  444. <LI><a href="/article/11600">Savescreenie 2.0</a></LI>
  445.  
  446. <LI><a href="/article/11598">1Password 3.4.1</a></LI>
  447.  
  448. </ul>
  449.  
  450. <div class="tearoffbox_wide_bottom_watchlist"> </div>
  451.  
  452. </div><!-- end tearoffbox_wide -->
  453.  
  454. </div><!-- end tearoffbox_wide_container for watchlist items -->
  455.  
  456. <!-- begin tearoff box wide -->
  457.  
  458. <div class="tearoffbox_wide_container">
  459. <div class="tearoffbox_wide_tips">
  460.  
  461. <div class="tip_display">
  462. <div class="tips_sponsor_logo">
  463.  
  464. </div>
  465. <h6>Mighty Mouse as Application Switcher</h6>
  466. <p><p>Looking for an easier way to switch between multiple applications? Within Keyboard and Mouse Preferences under System Preferences, you can configure the scroll wheel to act as an Application Switcher. Press the scroll button to bring up Application Switcher, scroll to toggle to the application you want, and hit the scroll button again to switch. You can also double-click the scroll button to quickly switch to the previously active application.</p></p>
  467. <p>Visit <a href="http://blog.pluckytree.org/2008/12/20-leopard-tricks-and-some-oldies.html">plucky tree</a></p>
  468. </div>
  469.  
  470. <div class="tearoffbox_wide_bottom_tips">
  471. <div style="padding-bottom:35px"><div class="tip_display" style="float:left"><p><br><a href="/tipbits/130">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472. <p class="credit">Submitted by<br>cricket</p>
  473. </div></div>
  474.  
  475. </div>
  476.  
  477. <div class="tearoffbox_wide_tips_submit">
  478. <form method="post" onsubmit="return false" id="tipbits_form" name="tipbits_form" action="noaction.cgi"><p><a href="javascript:void(0)" onmousedown="ShowTipBox('ts','ts_recaptcha', 50, 'tip_title_id'); return true;">Share your own tip!</a> | <a href="javascript:void(0)" onClick="generic_show_hide('search_tipbits'); document.tipbits_form.tipbits_searchvalue.focus()">Search TipBITS</a></p>
  479. <p style="display:none" id="search_tipbits"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue'); }" id="tipbits_searchvalue" name="tipbits_searchvalue"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue')">Search</a></p></form>
  480. </div>
  481. <div class="tearoffbox_wide_bottom_tips_submit">
  482.  
  483. </div>
  484.  
  485. </div><!-- end tearoffbox_wide_tips -->
  486. </div><!-- end tearoffbox_wide_container for tips-->
  487. <!-- end tearoff box wide -->
  488.  
  489.  
  490.  
  491. <!-- begin 300 x 250 ad -->
  492.  
  493. <div id="content_ad_square">
  494. <script type='text/javascript'><!--// <![CDATA[
  495.     OA_show(5);
  496. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TB7671f69'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=5&n=TB7671f69'></a></noscript>
  497. </div><!-- end 300 x 250 ad -->
  498.  
  499. <!-- TBTalk items -->
  500. <div class="tearoffbox_wide_container">
  501.  
  502. <div class="tearoffbox_wide_p">
  503. <p class="tearoffbox_wide_top_p"> </p>
  504.  
  505. <h5>Recent TidBITS Talk Discussions</h5>
  506. <ul>
  507.  
  508. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf95241">Alternatives to MobileMe for syncing calendars between iPad/Mac</a> (1 message)</LI>
  509.  
  510. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf94dbb">Free anti-virus for the Mac</a> (20 messages)</LI>
  511.  
  512. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf934e6">iTunes 10 syncing iPod Touch 4.1</a> (2 messages)</LI>
  513.  
  514. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf92a22">Thoughts about Ping</a> (16 messages)</LI>
  515.  
  516. </ul>
  517.  
  518. <div class="tearoffbox_wide_bottom_p"> </div>
  519.  
  520. </div><!-- end tearoffbox_wide -->
  521.  
  522. </div><!-- end tearoffbox_wide_container for TBtalk items -->
  523.  
  524. <!-- start takecontrol_ad -->
  525. <script type='text/javascript'><!--// <![CDATA[
  526.     OA_show(7);
  527. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe46d56f'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=7&n=TBe46d56f'></a></noscript><!-- end takecontrol_ad -->
  528.  
  529. <!-- begin tearoff box 2 -->
  530.  
  531. <div class="tearoffbox_wide_container">
  532.  
  533. <div class="tearoffbox_wide_p">
  534. <p class="tearoffbox_wide_top_p"> </p>
  535.  
  536. <h5>Related Articles</h5>
  537. <ul>
  538. <li><a href="/article/11205">TidBITS Staffers Recall How They Got Their Starts</a> (19 Apr 10)</li>
  539. <li><a href="/article/7750">Salling Clicker 2.2 Adds Capabilities</a> (26 Jul 04)</li>
  540. <li><a href="/article/7560">Salling Clicker 2.1 Adds Symbian Support</a> (01 Mar 04)</li>
  541. <li><a href="/article/7431">TiVo Alternatives: EyeTV</a> (10 Nov 03)</li>
  542. <li><a href="/article/7338">Salling Clicker 2.0 Adds Palm Support</a> (08 Sep 03)</li>
  543. <li><a href="/article/7251">Apple Announces Design Awards 2003</a> (30 Jun 03)</li>
  544. <li><a href="/article/7150">SLIMP3: MP3, Get Thee to the Hi-Fi</a> (14 Apr 03)</li>
  545. <li><a href="/article/7102">Scripting the Unscriptable in Mac OS X</a> (10 Mar 03)</li>
  546.  
  547. </ul>
  548.  
  549. <p class="tearoffbox_wide_bottom_p"> </p>
  550.  
  551. </div><!-- end tearoffbox_wide -->
  552. </div><!-- end tearoffbox_wide_container -->
  553.  
  554. <!-- end tearoff box 2 -->
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. <!-- begin tearoff box 1 -->
  563.  
  564. <div class="tearoffbox_wide_container">
  565.  
  566. <div class="tearoffbox_wide">
  567. <p class="tearoffbox_wide_top"> </p>
  568.  
  569. <h5>Published in <a href="/issue/694">TidBITS 694</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  570. <ul>
  571. <li><A HREF="/article/7315">Snapz Pro X 1.0.8 Tweaked</A></li>
  572. <li><A HREF="/article/7316">Dejal Simon 1.2 Monitors Internet Sites</A></li>
  573. <li><A HREF="/article/7317">Photoshop Boosted for Power Mac G5s</A></li>
  574. <li><A HREF="/article/7318">AirPort Antennas from MacWireless</A></li>
  575. <li><A HREF="/article/7319">Go Hog Wild with Hog Bay Notebook</A></li>
  576. <li><A HREF="/article/7321">Hot Topics in TidBITS Talk/25-Aug-03</A></li>
  577.  
  578. </ul>
  579.  
  580. <p class="tearoffbox_wide_bottom"> </p>
  581.  
  582. </div><!-- end tearoffbox_wide -->
  583. </div><!-- end tearoffbox_wide_container -->
  584.  
  585. <!-- end tearoff box 1 -->
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593. <div id="rightcolumn_bottom">
  594.  
  595. </div>
  596.  
  597.     </div><!-- end rightcolumn -->
  598.  
  599.  
  600. </div><!-- end rightcolumn_container -->
  601.  
  602.  
  603.  
  604. <!-- featured articles -->
  605.  
  606. <div id="center_ajax_sub" class="instapaper_body">
  607.  
  608. <!-- google_ad_section_start -->
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629. <!-- issue, article, or series -->
  630.  
  631.     
  632.     
  633.     
  634.     
  635.     
  636.         
  637.     <!-- show article(s) -->
  638.     <div class="article"><a name="5932"></a>
  639.     
  640. <!-- comment initialization routine as needed -->
  641. <div class="popup_box_with_captcha" id="hc_5932" style="display: none">
  642.     <div class="tip_box_format">
  643.     <div id="hc_innards_alt_5932" style="display: none">
  644.             <div class="tbf_row">
  645.                 <div class="tbf_wide_80" id="hc_small_response_5932"></div><div class="x_close_row" id="hc_upper_right1_5932"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_5932', 'hc', '5932'); return true;">Close</a></div>
  646.  
  647.             </div>
  648.     </div>
  649.     <div id="hc_innards_5932">
  650.         <div class="tip_box_form">        
  651.             <form action="foobar.cgi" method="get" name="check_human_5932">
  652.             <div class="tbf_row">
  653.                 <div class="tbf_wide_80" id="hc_rc_5932">To help us avoid automated posts and misuse of our site, please enter the words below.</div><div class="x_close_row" id="hc_upper_right2_5932"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_5932', 'hc', '5932'); return true;">Close</a></div>
  654.  
  655.             </div>
  656.             <div class="spacer"></div>
  657.             <div class="tbf_row" id="hc_message_box_5932" style="display:none">
  658.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_5932"></div></div>
  659.             </div>
  660.             <div class="spacer"></div>
  661.             <div class="tbf_row">
  662.                 <div class="tbf_wide"><div id="hc_recaptcha_5932"></div></div>
  663.             </div>
  664.             <div class="spacer"></div>
  665.             <div class="tbf_row">
  666.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '5932', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="7320"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  667.             </div>
  668.             <div class="spacer"></div>
  669.             </form>
  670.         </div><!-- end tip_box_form -->
  671.     </div><!-- end hum box innards -->
  672.     </div><!-- end tip box format -->
  673. </div><!-- end tip_submit box-->
  674.  
  675.  
  676.  
  677.         
  678.         
  679.         <!-- specific article details here -->
  680.         
  681.         
  682.             
  683.         
  684.     
  685.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  686.         
  687.         <div class="featured_meta"><div class="meta_article">25 Aug 2003 | <a href="/article/7320?print_version=1">Print <span class="shift_up"><img src="/images/printer_icon.gif" alt="Printer-Friendly Version of This Article" border="0" width="9" height="10"></span></a></div></div>
  688.  
  689.         <H2>Salling Clicker in Action</H2>
  690.  
  691.         <p class="byline">by <a href="/author/Joe%20Kissell">Joe Kissell</a> <a href="javascript:void(0)" onClick="document.check_human_5932.submit_type.value='email'; document.check_human_5932.author_id.value='307'; ShowTipBox('hc_5932', 'hc_recaptcha_5932')"><span class="shift_down"><img src="/images/gettb_button_email.gif" height="12" width="12" border="0" alt="Send Email to Author"></span></a></P>
  692.  
  693.         <!-- article text -->
  694.         
  695.         <div id="article_box_5932"><P>When Apple first announced Bluetooth support in Mac OS X, I thought it sounded like an interesting and useful technology, but one I probably wouldn't experience anytime soon, since I couldn't justify the cost of replacing my existing peripherals, PDA, or cell phone with Bluetooth-enabled models. But while working on my latest book, I found it necessary to talk about this short-range wireless cable replacement technology, so I broke down and bought a pair of D-Link Bluetooth adapters and a Bluetooth-enabled Sony Ericsson T68i cell phone. Soon I was synchronizing my contacts and appointments wirelessly and even using my phone to provide wireless Internet access for my PowerBook. It took almost no time for me to become addicted to the convenience of Bluetooth.</P><P><<A HREF="http://www.apple.com/bluetooth/">http://www.apple.com/bluetooth/</A>><BR><<A HREF="http://www.dlink.com/products/?pid=34">http://www.dlink.com/products/?pid=34</A>><BR><<A HREF="http://www.sonyericsson.com/us/spg.jsp?page=start&Redir=template%3DPS1%26B%3Die%26PID%3D9932%26LM%3DPSM_V">http://www.sonyericsson.com/us/spg.jsp? page=start& amp;Redir=template%3DPS1%26B%3Die%26PID%3D9932%26LM%3DPSM _V</A>></P><P>Then a new piece of software arrived on the scene that everyone seemed to be talking about: a $10 shareware utility called Salling Clicker. With this software, anyone with a Bluetooth-enabled Mac and a compatible Sony Ericsson phone (T610, T68, T68i, R520m, or T39m) can use the phone to control their Mac. (Nokia 7650/3650 users can get similar functionality by installing Veta Universal on their phones and using it in conjunction with Arboreal Software's Romeo.) At first I thought Salling Clicker was little more than a geek novelty, but I soon found it to be highly useful. Others agreed, and Apple even gave it two Apple Design Awards (see "Apple Announces Design Awards 2003" in <A HREF="http://www.tidbits.com/tb-issues/TidBITS-686.html">TidBITS-686</A>).</P><P><<A HREF="http://homepage.mac.com/jonassalling/Shareware/Clicker/">http://homepage.mac.com/jonassalling/Shareware/ Clicker/</A>><BR><<A HREF="http://veta.irowan.com/">http://veta.irowan.com/</A>><BR><<A HREF="http://www.irowan.com/romeo/">http://www.irowan.com/romeo/</A>><BR><<A HREF="http://db.tidbits.com/article/07251">http://db.tidbits.com/article/07251</A>></P><P><STRONG>Installation, Actions, and Triggers</STRONG> -- The Salling Clicker installer adds a preferences pane and a system-wide menu to your Mac. After pairing your phone with your computer using Mac OS X's built-in Bluetooth software, you use the preferences pane to configure one or more menus consisting of AppleScript actions. You then publish the menu to the phone, and it appears on your phone under the Accessories menu. With this symbiosis established, you can send commands to your Mac from the phone, as well as receive information back from the computer.</P><P>The basic functional unit in Salling Clicker is the action - an event or series of events on your Mac that you want to trigger with your phone. You build actions using AppleScript, but Salling Clicker includes a rudimentary GUI scripting capability that can send keystrokes to non-scriptable applications. Actions come in several varieties. Simple actions are commands that require no user interaction or feedback. There's also a slider control (to adjust volume, for example), as well as a text entry field, a list of selectable options, and two kinds of message displays that can return output from the AppleScript script.</P><P>In addition to actions that appear in a menu on your phone's display, you can set up keypad configurations such that each button on your phone triggers a different action - just like a regular remote control. Although this requires you to remember key assignments, it is usually more convenient than scrolling through a menu.</P><P>The main menu of actions you publish on your phone can contain up to 12 items, each of which can be a single action, a menu of actions, or a keypad. By nesting one menu within another, you could put hundreds of commands on your phone. A typical arrangement might be a main menu with a few frequently performed actions (such as changing your system volume), along with submenus for each of your favorite applications.</P><P>The most innovative method of triggering an action is proximity: you can provide a list of actions that occur automatically when your phone comes within Bluetooth range of your computer, and another list of actions that occur when it goes out of range. The usual example of how this would be useful is pausing iTunes when you leave the room and resuming play when you return, though one can imagine numerous other uses - activating a password-protected screen saver when you leave, for example, or timing the length of a break for those who bill for their time by the minute.</P><P>Proximity sensing does work, but not as cleanly as I had hoped. For one thing, the distance that constitutes working range can vary widely depending on what type of phone and Bluetooth adapter you own, how your computer is positioned, interference from other devices, and so on. I found that under different conditions, effective range within my home could be as little as 6 feet (2 m) or as much as 20 feet (6 m) - and in many cases, my computer still thought I was "in range" even though I was in the next room. For another thing, the computer doesn't always sense that a phone has entered or left working range immediately; delays before activation of proximity scripts ranged from less than a second to more than a minute.</P><P><STRONG>Working with Actions</STRONG> -- Salling Clicker includes a wide variety of built-in actions for programs such as DVD Player, iTunes, Keynote, and PowerPoint, as well as a handy utility for browsing an online collection of actions and adding to your collection or updating existing actions. One of the most interesting actions is a keypad configuration that lets you use your phone as a mouse - moving the pointer, clicking, dragging, and even Control-clicking objects on screen. Besides the actions Salling Software makes available, more than a dozen Web sites offer their own collections. For many users, these ready-to-run actions will be sufficient. But where Salling Clicker really shines is in its capacity for customization. Using AppleScript, you can trigger almost any activity by modifying an existing action or writing your own.</P><P>Salling Clicker includes an integrated AppleScript editor, along with templates for several kinds of actions. These templates provide the AppleScript structures for creating basic menu commands, pop-up messages, slider controls, lists, and so on; all you need to do is fill in the blanks. This turns out to be less convenient than you might expect, though. Even though the integrated script editor has a button to check syntax, it doesn't provide a way to test your scripts without installing them on the phone, so as a practical matter, it makes more sense to write and test your scripts in Script Editor, where you can test easily, and then copy and paste them into Salling Clicker's preferences pane for publishing to the phone.</P><P>Although these capabilities intrigued me, I was initially hard-pressed to find a practical use for Salling Clicker. The most natural application for such a mechanism is controlling Keynote or PowerPoint presentations without having to stand right in front of a computer, but that's not a major concern for me, and there are other devices dedicated that task. Other common uses, such as controlling iTunes, didn't impress me either, because of the way my home is arranged. If I can hear my computer, I'm able to reach the keyboard too; a remote control wouldn't make things any simpler. In other words, the software seemed like a great solution looking for a problem.</P><P><STRONG>Finding My Own Killer Application</STRONG> -- A few weeks later, though, I was setting up a microphone to do a bit of recording using Cubase SX. My makeshift micro recording studio is a closet with padded walls; recordings made in any other room of my home pick up too much noise from traffic, birds, or neighbors. But my problem was that the microphone picked up the noise of my PowerBook's fan. I needed the microphone inside the closet and the computer outside - but I still needed to press the record, stop, rewind, and play buttons, among other things. Then the light bulb went on: maybe I could do that with Salling Clicker.</P><P><<A HREF="http://www.steinbergusa.net/Products/Cub_SX.htm">http://www.steinbergusa.net/Products/Cub_SX.htm</A>></P><P>My first step was to figure out how to control the necessary actions with AppleScript. Unfortunately, Cubase SX is not scriptable, so sending direct messages was out. Next I tried using Salling Clicker's built-in GUI scripting support to send keystrokes to Cubase SX, but for some reason they didn't work correctly. Fortunately, though, Apple's beta GUI scripting tools did the trick. I had to tweak the Cubase SX preferences for one or two of the commands I wanted to use, but after that it was a simple matter of telling Apple's System Events background application to send the keystrokes. I duplicated the script several times and modified the keystrokes for each action, then assigned the new scripts to buttons on my phone's keypad and published the menu. I went into the closet, put on the headphones, and tried some sample recordings. Amazingly enough, it worked perfectly and with no perceptible delay.</P><P><<A HREF="http://www.apple.com/applescript/GUI/">http://www.apple.com/applescript/GUI/</A>><BR><<A HREF="http://db.tidbits.com/article/07102">http://db.tidbits.com/article/07102</A>></P><P>Even though this may sound complicated, the whole process - from figuring out what effect I wanted to achieve to the final working solution - took me less than half an hour. Had it not been for Salling Clicker, the only way to achieve noise-free recordings would have been to jump out of the closet every time I needed to press a control - a huge hassle at best.</P><P>My success in getting this setup to work inspired me to think about other potential uses of Salling Clicker. The first thing that came to mind was basic server administration without the need for something as complex as Timbuktu Pro. One of the many user-created actions for Salling Clicker displays a computer's uptime on your phone; you could easily create scripts to display other interesting statistics, restart your computer, or kill troublesome processes. It also may provide an alternative for people who want to listen to their iTunes collection in the living room but don't want the expense of a remote playback device such as the SLIMP3 (see "SLIMP3: MP3, Get Thee to the Hi-Fi" in <A HREF="http://www.tidbits.com/tb-issues/TidBITS-676.html">TidBITS-676</A>). As long as you can run audio cables from your Mac to your stereo, you can control every aspect of iTunes from your phone, including viewing playlists and even assigning star ratings to your songs. The catch, though, is that this works only if your phone is close enough to your computer. Bluetooth range is limited enough that you may not have adequate coverage even in a small apartment.</P><P><<A HREF="http://www.netopia.com/en-us/software/products/tb2/mac/">http://www.netopia.com/en-us/software/products/ tb2/mac/</A>><BR><<A HREF="http://www.slimp3.com/">http://www.slimp3.com/</A>><BR><<A HREF="http://db.tidbits.com/article/07150">http://db.tidbits.com/article/07150</A>></P><P>Home automation is another interesting application whose usefulness is hampered only by the limited range of Bluetooth. Findley Studios, publisher of HomeRun automation software, provides a set of Salling Clicker scripts that enable you to turn lights on or off and adjust their brightness using your phone. (This requires additional hardware: X-10 modules for each lamp, a controller, and a USB adapter to attach the controller to your computer.)</P><P><<A HREF="http://www.findleystudios.com/homerun/applescripts.html">http://www.findleystudios.com/homerun/ applescripts.html</A>></P><P>I wondered what would happen if I tried to use Salling Clicker with multiple machines. If you have more than one Mac with a Bluetooth adapter, you can publish a menu from each; as your phone moves out of one computer's range that menu drops off, and as it comes in range of another, its menu automatically appears. This capability can be useful for those who have Macs in several different rooms. I was disappointed, though, to find that only one Mac's menu can appear on a given phone at any one time, even if more than one is within Bluetooth range. This may be a limitation of the phone or of Mac OS X, but it means that you can't easily use Salling Clicker to control both a primary computer and a server, for example, if they're both in the same area.</P><P><STRONG>Click It!</STRONG> If you already own a compatible Bluetooth phone and a Bluetooth-enabled Mac, Salling Clicker is almost a no-brainer at $10; a free demo version provides full functionality for 30 clicks. Is it reason enough to invest in lots of new hardware? Maybe not, but the range of capabilities it opens up - especially for people who give many presentations or do home recording in a closet - is worth considering if you're already in the market for a new cell phone.</P><P>[Joe Kissell is a writer and Mac developer living in San Francisco. His most recent book is 50 Fast Mac OS X Techniques, published in April of 2003 by Wiley. You can read his daily articles on the "Interesting Thing of the Day" Web site.]</P><P><<A HREF="http://www.amazon.com/dp/0764539116/?tag=tidbitselectro00">http://www.amazon.com/exec/obidos/ASIN/ 0764539116/interesthingo-20/ref=nosim</A>><BR><<A HREF="http://itotd.com/">http://itotd.com/</A>></P><P class="paybits">PayBITS: If Joe helped you find a problem to solve with Salling<BR>   Clicker, consider sending him a few bucks in thanks via PayBITS.<BR>   <<A HREF="https://www.paypal.com/xclick/business=jk%40alt.cc">https://www.paypal.com/xclick/ business=jk%40alt.cc</A>><BR>   Read more about PayBITS: <<A HREF="http://www.tidbits.com/paybits/">http://www.tidbits.com/paybits/</A>></P><!-- Salling Clicker in Action Joe Kissell --></div>
  696.         
  697.  
  698.         <!-- end article text -->
  699.     
  700.         
  701.         <!-- PayBITS -->
  702.         
  703.  
  704.         
  705. <p> </p><div class="sponsorbox">
  706. <div class="sponsortext"><A HREF="http://www.usefulfruit.com/tb"><IMG SRC="http://db.tidbits.com/images/badges/pear-note-icon50x50.png" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>Pear Note 2: More complete, understandable notes on your Mac.<br />Typed notes are blended with recorded audio, video, and slides<br />to create notes that make more sense when you need them most.<br />Learn more at <<a href="http://www.usefulfruit.com/tb">http://www.usefulfruit.com/tb</a>>!</div>
  707. </div>
  708. <div class="sponsorbox_bottom"> </div>
  709.  
  710.  
  711.         <!-- comments section -->
  712.         
  713.         <!-- end comment show-->
  714.         
  715.         <!-- end comments section -->
  716.  
  717.  
  718.         <!-- end article loop details -->
  719.         
  720.         
  721.  
  722.         
  723.     </div><!-- end show article -->
  724.     
  725.     
  726.  
  727.  
  728. <!-- article_plus end -->
  729. <!--
  730. </DIV>
  731. --><!-- end main_column DIV -->
  732.  
  733.  
  734. <!-- google_ad_section_end -->
  735.  
  736. </div><!-- end center AJAX insert -->
  737.  
  738. <!-- TipBITS Search Results Lozenge -->
  739. <div id="tipbits_results_loz" style="display:none">
  740. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  741. <div class="tip_footer">
  742. <p id="search_tipbits_loz"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue_loz', 'tipbits_results_loz'); }" id="tipbits_searchvalue_loz" name="tipbits_searchvalue_loz"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue_loz', 'tipbits_results_loz')">Search</a></p>
  743. </div>
  744. <div class="tip_footer_bottom">
  745.  </div>
  746. </form>
  747. </div><!-- end TipBITS Search Results lozenge -->
  748.  
  749.  
  750.  
  751.  
  752. <!-- begin footer -->
  753. <div id="footer">
  754.  
  755. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/7320.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  756. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  757. Web and mailing list host.</p>
  758. <p>Unless otherwise noted, this article is copyright © 2003 <a href="/author/Joe%20Kissell">Joe Kissell</a></p>
  759. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  760. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  761.  
  762. <p><a href="/about.html" title="About TidBITS">About TidBITS</a> | <a href="/account.html" title="Account Help">Account Help</a> | <a href="/advertising.html" title="Advertise with TidBITS!">Advertise with TidBITS!</a> | <a href="/contact.html" title="Contact Info">Contact Info</a> | <a href="/copyright.html" title="Copyright Terms">Copyright Terms</a></p>
  763.  
  764. </div><!-- end footer -->
  765.  
  766.  
  767. </div> <!-- end centercolumn -->
  768.  
  769. <div class="center_bottom"> </div>
  770.  
  771. </div> <!-- end centercolumn_border -->
  772.  
  773.  
  774. </div> <!-- end content_container -->
  775.  
  776. </div> <!-- end mainbody -->
  777.  
  778.  
  779. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  780. </script>
  781. <script type="text/javascript">
  782. _uacct = "UA-276924-3";
  783. urchinTracker();
  784. </script>
  785. <script type="text/javascript"
  786. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  787. <script type="text/javascript">
  788. var skimlinks_pub_id = '2559X585851';
  789. var skimlinks_domain = 'go.tidbits.com';
  790. skimlinks();
  791. </script>
  792. </body>
  793. </html>
  794.  
  795.