home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=01471.orig < prev    next >
Text File  |  2010-09-23  |  48KB  |  823 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 : Frontier Justice</title>
  9.  
  10.     <meta name="title" content="TidBITS : Frontier Justice">
  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='2114'>
  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/283" >#283, 26 Jun 95</A></li>
  307. <li><A HREF="/issue/282" >#282, 19 Jun 95</A></li>
  308. <li><A HREF="/issue/281" >#281, 12 Jun 95</A></li>
  309. <li><A HREF="/issue/280" >#280, 05 Jun 95</A></li>
  310. <li><A HREF="/issue/279" >#279, 29 May 95</A></li>
  311. <li><A HREF="/issue/278" >#278, 22 May 95</A></li>
  312. <li><A HREF="/issue/277" >#277, 15 May 95</A></li>
  313. <li><A HREF="/issue/276" >#276, 08 May 95</A></li>
  314. <li><A HREF="/issue/275" >#275, 01 May 95</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://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  362.  
  363. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  364.  
  365. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  366.  
  367. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  368.  
  369. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  370.  
  371. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  372.  
  373. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  374.  
  375. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  376.  
  377. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</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/11625">Adobe Flash Player 10.1.85.3</a></LI>
  429.  
  430. <LI><a href="/article/11622">DEVONthink and DEVONnote 2.0.4</a></LI>
  431.  
  432. <LI><a href="/article/11620">Security Update 2010-006</a></LI>
  433.  
  434. <LI><a href="/article/11619">TinkerTool 4.2</a></LI>
  435.  
  436. <LI><a href="/article/11618">Mailplane 2.2</a></LI>
  437.  
  438. <LI><a href="/article/11617">Pro Applications Update 2010-02</a></LI>
  439.  
  440. <LI><a href="/article/11611">Dialectic 1.7</a></LI>
  441.  
  442. <LI><a href="/article/11604">Transmit 4.1.1</a></LI>
  443.  
  444. <LI><a href="/article/11603">MarsEdit 3.1.1</a></LI>
  445.  
  446. <LI><a href="/article/11600">Savescreenie 2.0</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. <a href="http://fetchsoftworks.com/"><img src="/images/sponsors/tearoffbox_wide_tips_fetch.gif" height="58" width="164" border="0" alt="sponsor logo"></a>
  464. </div>
  465. <h6>Edit Remote Files in Your Favorite Utility with Fetch</h6>
  466. <p><p>If you use the Fetch FTP client and want to, for instance, edit remote .html files with one application but .css files with another, you can set this up easily: In Fetch, select a .html file and click the Get Info button on the toolbar. In the Get Info window, in the Transfer Option section, choose your desired program from the "Edit files like this with" pop-up menu. Repeat the procedure for a .css file, and you're ready to go!</p></p>
  467. <p>Visit <a href="http://fetchsoftworks.com/">Fetch Softworks</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/227">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472.  
  473. <p class="credit">Written by<br><a href="/author/Tonya%20Engst">Tonya Engst</a></p></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/4941">The Final Free Frontier</a> (22 Jun 98)</li>
  539. <li><a href="/article/4938">The Final Free Frontier</a> (22 Jun 98)</li>
  540. <li><a href="/article/2699">Spinning the Web Part 5: New Frontiers</a> (21 Jul 97)</li>
  541. <li><a href="/article/1461">A Studio in Silicon Valley</a> (05 Jun 95)</li>
  542. <li><a href="/article/1269">New Clay Basket and a Native Frontier</a> (30 Oct 95)</li>
  543. <li><a href="/article/1188">Macs Scripting the Net</a> (08 Jan 96)</li>
  544. <li><a href="/article/1003">WWDC Ware</a> (13 May 96)</li>
  545. <li><a href="/article/2831">Frontier Runtime</a> (23 Nov 92)</li>
  546. <li><a href="/article/2823">Frontier Review</a> (30 Nov 92)</li>
  547.  
  548. </ul>
  549.  
  550. <p class="tearoffbox_wide_bottom_p"> </p>
  551.  
  552. </div><!-- end tearoffbox_wide -->
  553. </div><!-- end tearoffbox_wide_container -->
  554.  
  555. <!-- end tearoff box 2 -->
  556.  
  557.  
  558. <!-- begin tearoff box for series -->
  559.  
  560. <div class="tearoffbox_wide_container">
  561.  
  562. <div class="tearoffbox_wide_p">
  563. <p class="tearoffbox_wide_top_p"> </p>
  564.  
  565. <h5>Other articles in the series <a href="/series/1134">Frontier History</a></h5>
  566. <ul>
  567. <li><a href="/article/6446">UserLand Ships Frontier 7</a> (04 Jun 01)</li>
  568. <li><a href="/article/5679">UserLand Releases Frontier 6.1</a> (06 Dec 99)</li>
  569. <li><a href="/article/5351">Frontier Demystified</a> (12 Apr 99)</li>
  570. <li><a href="/article/2823">Frontier Review</a> (30 Nov 92)</li>
  571. <li><a href="/article/2699">Spinning the Web Part 5: New Frontiers</a> (21 Jul 97)</li>
  572. <li><a href="/article/4686">Frontier 5.0 Ships</a> (02 Feb 98)</li>
  573. <li><a href="/article/4941">The Final Free Frontier</a> (22 Jun 98)</li>
  574.  
  575. </ul>
  576.  
  577. <p class="tearoffbox_wide_bottom_p"> </p>
  578.  
  579. </div><!-- end tearoffbox_wide -->
  580. </div><!-- end tearoffbox_wide_container -->
  581.  
  582. <!-- end tearoff box -->
  583.  
  584.  
  585.  
  586.  
  587. <!-- begin tearoff box 1 -->
  588.  
  589. <div class="tearoffbox_wide_container">
  590.  
  591. <div class="tearoffbox_wide">
  592. <p class="tearoffbox_wide_top"> </p>
  593.  
  594. <h5>Published in <a href="/issue/279">TidBITS 279</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  595. <ul>
  596. <li><A HREF="/article/1463">Administrivia</A></li>
  597. <li><A HREF="/article/1464">Updated Updater</A></li>
  598. <li><A HREF="/article/1465">Decency's in the Eye of the Beholder</A></li>
  599. <li><A HREF="/article/1466">PC Setup 1.0.6 Yanked</A></li>
  600. <li><A HREF="/article/1467">Ross Brown</A></li>
  601. <li><A HREF="/article/1468">BBEdit 3.1.1 Goes IC-, Kodex-, and GX-Savvy</A></li>
  602. <li><A HREF="/article/1469">PowerTalk to the Rescue?</A></li>
  603. <li><A HREF="/article/1470">ReadMe Files? Read This!</A></li>
  604.  
  605. </ul>
  606.  
  607. <p class="tearoffbox_wide_bottom"> </p>
  608.  
  609. </div><!-- end tearoffbox_wide -->
  610. </div><!-- end tearoffbox_wide_container -->
  611.  
  612. <!-- end tearoff box 1 -->
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620. <div id="rightcolumn_bottom">
  621.  
  622. </div>
  623.  
  624.     </div><!-- end rightcolumn -->
  625.  
  626.  
  627. </div><!-- end rightcolumn_container -->
  628.  
  629.  
  630.  
  631. <!-- featured articles -->
  632.  
  633. <div id="center_ajax_sub" class="instapaper_body">
  634.  
  635. <!-- google_ad_section_start -->
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656. <!-- issue, article, or series -->
  657.  
  658.     
  659.     
  660.     
  661.     
  662.     
  663.         
  664.     <!-- show article(s) -->
  665.     <div class="article"><a name="2114"></a>
  666.     
  667. <!-- comment initialization routine as needed -->
  668. <div class="popup_box_with_captcha" id="hc_2114" style="display: none">
  669.     <div class="tip_box_format">
  670.     <div id="hc_innards_alt_2114" style="display: none">
  671.             <div class="tbf_row">
  672.                 <div class="tbf_wide_80" id="hc_small_response_2114"></div><div class="x_close_row" id="hc_upper_right1_2114"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2114', 'hc', '2114'); return true;">Close</a></div>
  673.  
  674.             </div>
  675.     </div>
  676.     <div id="hc_innards_2114">
  677.         <div class="tip_box_form">        
  678.             <form action="foobar.cgi" method="get" name="check_human_2114">
  679.             <div class="tbf_row">
  680.                 <div class="tbf_wide_80" id="hc_rc_2114">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_2114"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2114', 'hc', '2114'); return true;">Close</a></div>
  681.  
  682.             </div>
  683.             <div class="spacer"></div>
  684.             <div class="tbf_row" id="hc_message_box_2114" style="display:none">
  685.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_2114"></div></div>
  686.             </div>
  687.             <div class="spacer"></div>
  688.             <div class="tbf_row">
  689.                 <div class="tbf_wide"><div id="hc_recaptcha_2114"></div></div>
  690.             </div>
  691.             <div class="spacer"></div>
  692.             <div class="tbf_row">
  693.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '2114', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="1471"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  694.             </div>
  695.             <div class="spacer"></div>
  696.             </form>
  697.         </div><!-- end tip_box_form -->
  698.     </div><!-- end hum box innards -->
  699.     </div><!-- end tip box format -->
  700. </div><!-- end tip_submit box-->
  701.  
  702.  
  703.  
  704.         
  705.         
  706.         <!-- specific article details here -->
  707.         
  708.         
  709.             
  710.         
  711.     
  712.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  713.         
  714.         <div class="featured_meta"><div class="meta_article">29 May 1995 | <a href="/article/1471?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>
  715.  
  716.         <H2>Frontier Justice</H2>
  717.  
  718.         <p class="byline">by <a href="/author/Geoff%20Duncan">Geoff Duncan</a> <a href="javascript:void(0)" onClick="document.check_human_2114.submit_type.value='email'; document.check_human_2114.author_id.value='15'; ShowTipBox('hc_2114', 'hc_recaptcha_2114')"><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>
  719.  
  720.         <!-- article text -->
  721.         
  722.         <div id="article_box_2114"><p>As for back as November of 1992 (see <A HREF="http://www.tidbits.com/tb-issues/TidBITS-153.html">TidBITS-153</A> and <A HREF="http://www.tidbits.com/tb-issues/TidBITS-154.html">TidBITS-154</A>), TidBITS has been talking about Frontier, UserLand Software's system-level scripting environment for the Mac. It's commonly described as "AppleScript on steroids," or "AppleScript done right," but neither summary does it justice. Frontier is an OSA-compliant scripting system with a number of unique features that (in most cases) make it both more powerful and more robust than AppleScript. Frontier has also been around longer than AppleScript: Frontier was a real, working, shipping product when AppleScript was only much-touted vaporware from Apple.</p><p>If Frontier has a longer track record and offers more power, why doesn't everyone using Frontier instead of AppleScript? There are a number of reasons. First, Frontier's knowledge requirement: whereas QuicKeys and HyperTalk are relatively accessible to sophisticated Macintosh users, UserTalk (Frontier's scripting language) isn't for the faint of heart: essentially, in-depth use of Frontier requires some programming experience. Second, AppleScript: these days, Apple's own scripting system ships with System 7.5 and is widely available in other channels. Why bother with Frontier - even if it offers more power - when a "reasonable" solution is already on hand and supported by Apple? Third, until recently, Frontier had a price tag attached: to develop custom solutions using Frontier, it usually cost you over $200 to get in the game. Although Frontier was a powerful package with a devoted group of users (and Frontier Runtime made distributing Frontier scripts easier), clearly the "adoption threshold" for Frontier limited its audience.</p><p>So, Dave Winer and the folks at UserLand decided to eliminate reason number three: With release 4.0 - code named Aretha - Frontier will be available for <STRONG>free</STRONG>. And what's more, the new Frontier is setting its sights on the Internet and online publishing. The first public beta of Aretha is available on UserLand's Web site at HotWired; expect more betas (and more net-specific features) in the coming weeks:</p><p><A HREF="http://www.hotwired.com/Staff/userland/aretha/">http://www.hotwired.com/Staff/userland/aretha/</A></p><p>In short: if you run a Macintosh-based Web server or need to extract custom capabilities from your Internet applications, Aretha might rock your world.</p><p><STRONG>The Object Database</STRONG> -- On the surface, Aretha is not much different from the currently-shipping version of Frontier. (In fact, the core application and kernel of Aretha is identical to Frontier 3.0.3.) What's changed, then? One of Frontier's unique (and most useful) features is called the Object Database. Basically, the Object Database is a hierarchical, disk-based storage system for handling objects Frontier knows about. Those objects can be data (strings, outlines, a chunk of word-processing text, a menubar, raw binary data, and so on), and they can be scripts. These objects are stored in tables, and (of course) tables can contain still more tables, so objects can be organized in whatever manner most meets your needs. Because Frontier is OSA-compliant, the Object Database can store and manage scripts in UserTalk as well as other OSA languages you might have installed (such as AppleScript, QuicKeys, or - keep your fingers crossed! - MacPerl).</p><p>The power behind the Object Database is simple: everything is stored in one place, it's persistent between Frontier sessions, and it's much faster than storing all these objects as separate files in the Finder. This lets your scripts communicate with each other and share information very easily; it also encourages you to leverage work from other scripts and solve problems in small, reusable chunks. In fact, one of the neatest things about the Object Database is that UserLand ships it with a bunch of useful scripts already installed: these not only serve as examples of how to write Frontier scripts, but also how to re-use code.</p><p><STRONG>Scripting the Net</STRONG> -- Though the Frontier application may be the same as in the previous release, the Object Database in Aretha contains a number of scripts and utilities specific to using Frontier in conjunction with Internet applications like Netscape, Eudora, Anarchie, and WebSTAR (formerly known as MacHTTP). In future betas, you can expect these built-in utilities to expand considerably. You may be thinking that all these applications can be tied together with AppleScript, and you're right. But it's only in observing the power and utility Frontier brings to the equation that you start to understand what UserLand is thinking. For example:</p><UL><LI><p>WebWorm: The idea of a writing a worm for the World-Wide Web is not a new one (and it's not insidious - what do you think WebCrawler and Lycos are at heart?). The basic idea is this: point the worm at a Web page and it follows and catalogs every link it finds, essentially recording a tree of everywhere that particular page leads. The Web is too big and changes too fast for it to be fully cataloged by worms, but that doesn't mean they aren't useful utilities. I tried to write a Web worm using AppleScript a few months ago: let's just say I met with mixed success. Aretha has a basic Web worm built in that works in conjunction with Netscape 1.1N.</p><LI><p>CGI Scripts: CGI stands for Common Gateway Interface, and it lets a Web server execute custom commands based on user input (for instance, via a form or a button on a Web page). The programs the server executes are called CGI scripts. On a Unix system, they're often written in Perl (a language with strong text-handling capabilities). On the Mac, WebSTAR (and MacHTTP) support CGIs via AppleScript. Starting with beta 1 of Aretha, WebSTAR can have Frontier handle its CGIs. This doesn't mean rewriting any AppleScript CGI's you're already using - after all, Frontier handles AppleScript just fine. But using Frontier gives you more speed and flexibility, and (perhaps most importantly), you can use the Object Database to store information for your scripts.</p><LI><p>AutoWeb: The first beta of Aretha focuses almost exclusively on WebSTAR, but as future versions of Aretha tie directly into more Internet applications, the possibilities increase significantly. One good example of how these potentials might play out is AutoWeb, originally conceived as a separate product but now rolled into Aretha. AutoWeb is a tool to build and manage entire Web sites from a hierarchical set of folders and text and graphics files. You need only to look at UserLand's pages on HotWired to see the intent of AutoWeb. Note the consistency across the pages, the Next, Previous, and Home links, timestamps, and copyright info. AutoWeb also helps with generating anchors and links, plus managing the plethora of text and graphic files that inevitably make any significant Web site look like an escapee from a lost sectors convention. Before you say you're unimpressed, the point isn't that the elements on UserLand's pages are revolutionary, but that they're automatically managed and hassle-free.</p></UL><p><A HREF="http://www.hotwired.com/Staff/userland/aretha/autoweb_234.html">http://www.hotwired.com/Staff/userland/aretha/ autoweb_234.html</A></p><p><STRONG>Scripting You</STRONG> -- One of the most intriguing - and most controversial - aspects of Aretha's current integration with Netscape is the ability to embed Frontier scripts within a Web page. This sort of thing has been possible with AppleScript, although not exactly commonplace. However, if you're running Netscape 1.1N and have Aretha running at the same time, clicking a URL like this embedded in a Web page:</p><p><a href="usrtlk:dialog.alert%20(%22Guess%20who?%22)">click this</a></p><p>tells Aretha to display a dialog saying "Guess who?" on <STRONG>your</STRONG> screen. You'll notice the "usrtlk:" protocol tag at the beginning of the anchor: this tells Netscape to pass the URL along to the UserTalk language interpreter built into Frontier. (If Frontier isn't running, the URL generates a standard Netscape error.)</p><p>The implications of this idea are promising. The ability to execute script fragments on the <STRONG>client</STRONG> machine via the Web allows considerable custom functionality to be integrated into a Web site, almost regardless of the speed of the connection between the host and the client. It also lends itself to the new "hybrid" online-and-on-disk products that are beginning to appear. Suddenly a Web client can become an interface to a custom application with considerable functionality. With an scriptable application, interactive online tutorials and support via the World-Wide Web are suddenly a very real possibility. And just think what those crazy game developers could do...</p><p><STRONG>Security</STRONG> -- Some TidBITS readers will notice parallels between Aretha's ability to execute scripts on a client's machine and portions of Java, the language built into Sun Microsystems' Web browser, HotJava. Sun and Netscape recently announced plans to integrate the Java language into Netscape's browsers.</p><p><A HREF="http://java.sun.com/">http://java.sun.com/</A></p><p>One of the issues surrounding the execution of scripts on a client machine via the World-Wide Web is security. In the "usrtlk:" URL given above, it wouldn't take much more code to delete files or shut down your machine than it does to display that dialog. At the present time, Aretha has no security features built into it: if I created such a URL and you loaded it, you're at my mercy.</p><p>At the present time, the lack of security features is deliberate, although UserLand is very much aware of the issue and plans to roll security into future releases. (It might be noted that there are no security features built into AppleScript for this sort of implementation, either.) The issues surrounding security in script execution are complex and UserLand prefers to wait a bit and do it right, rather than do it wrong and shoot Aretha (and themselves) in the foot.</p><p><STRONG>Support and the Price of Freedom</STRONG> -- Make no mistake: Aretha isn't any more accessible to the average Mac user than Frontier was. However, UserLand has correctly realized that the real audience for a tool like Frontier isn't necessarily in the general population of Macintosh users, but in the subset that have to manage complex tasks and provide custom solutions across a number of applications. Given the Mac's popularity both as an Internet client and a server and Aretha's focus on the world of the Internet and the Web, Frontier may have finally found a niche where it can do more than flourish. By being freely available, Aretha also has a chance to set the standard for scriptability on the Mac and on the Internet.</p><p>UserLand has committed to participating and supporting Aretha through the Mac Scripting list at Dartmouth. Check it out for discussion of issues and features of Aretha.</p><p><A HREF="http://mmm.dartmouth.edu/pages/macscripting/macscripting-home.html">http://mmm.dartmouth.edu/pages/macscripting/ macscripting-home.html</A></p><BLOCKQUOTE><p>  Information from:<BR>    Pythaeus<BR>    UserLand Software</p></BLOCKQUOTE><!-- Frontier Justice Geoff Duncan --></div>
  723.         
  724.  
  725.         <!-- end article text -->
  726.     
  727.         
  728.         <!-- PayBITS -->
  729.         
  730.  
  731.         
  732. <p> </p><div class="sponsorbox">
  733. <div class="sponsortext"><A HREF="http://www.tidbits.com/about/support/contributors.html"><IMG SRC="http://db.tidbits.com/images/badges/tb-house-ad.gif" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>READERS LIKE YOU! Support TidBITS with a contribution today!<BR /><<a href="http://www.tidbits.com/about/support/contributors.html">http://www.tidbits.com/about/support/contributors.html</a>><BR />Special thanks this week to John & Nichola Collins, Chris Williams,<BR />John K. Lilley, and Honeymoons By Sunset for their generous support!
  734. </div>
  735. </div>
  736. <div class="sponsorbox_bottom"> </div>
  737.  
  738.  
  739.         <!-- comments section -->
  740.         
  741.         <!-- end comment show-->
  742.         
  743.         <!-- end comments section -->
  744.  
  745.  
  746.         <!-- end article loop details -->
  747.         
  748.         
  749.  
  750.         
  751.     </div><!-- end show article -->
  752.     
  753.     
  754.  
  755.  
  756. <!-- article_plus end -->
  757. <!--
  758. </DIV>
  759. --><!-- end main_column DIV -->
  760.  
  761.  
  762. <!-- google_ad_section_end -->
  763.  
  764. </div><!-- end center AJAX insert -->
  765.  
  766. <!-- TipBITS Search Results Lozenge -->
  767. <div id="tipbits_results_loz" style="display:none">
  768. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  769. <div class="tip_footer">
  770. <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>
  771. </div>
  772. <div class="tip_footer_bottom">
  773.  </div>
  774. </form>
  775. </div><!-- end TipBITS Search Results lozenge -->
  776.  
  777.  
  778.  
  779.  
  780. <!-- begin footer -->
  781. <div id="footer">
  782.  
  783. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/1471.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  784. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  785. Web and mailing list host.</p>
  786. <p>Unless otherwise noted, this article is copyright © 1995 <a href="/author/Geoff%20Duncan">Geoff Duncan</a></p>
  787. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  788. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  789.  
  790. <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>
  791.  
  792. </div><!-- end footer -->
  793.  
  794.  
  795. </div> <!-- end centercolumn -->
  796.  
  797. <div class="center_bottom"> </div>
  798.  
  799. </div> <!-- end centercolumn_border -->
  800.  
  801.  
  802. </div> <!-- end content_container -->
  803.  
  804. </div> <!-- end mainbody -->
  805.  
  806.  
  807. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  808. </script>
  809. <script type="text/javascript">
  810. _uacct = "UA-276924-3";
  811. urchinTracker();
  812. </script>
  813. <script type="text/javascript"
  814. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  815. <script type="text/javascript">
  816. var skimlinks_pub_id = '2559X585851';
  817. var skimlinks_domain = 'go.tidbits.com';
  818. skimlinks();
  819. </script>
  820. </body>
  821. </html>
  822.  
  823.