home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=05415.orig < prev    next >
Text File  |  2010-09-23  |  48KB  |  794 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 : Mac OS X or Mac OS NeXT?</title>
  9.  
  10.     <meta name="title" content="TidBITS : Mac OS X or Mac OS NeXT?">
  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='4092'>
  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/487" >#487, 05 Jul 99</A></li>
  307. <li><A HREF="/issue/486" >#486, 21 Jun 99</A></li>
  308. <li><A HREF="/issue/485" >#485, 14 Jun 99</A></li>
  309. <li><A HREF="/issue/484" >#484, 07 Jun 99</A></li>
  310. <li><A HREF="/issue/483" >#483, 31 May 99</A></li>
  311. <li><A HREF="/issue/482" >#482, 24 May 99</A></li>
  312. <li><A HREF="/issue/481" >#481, 17 May 99</A></li>
  313. <li><A HREF="/issue/480" >#480, 10 May 99</A></li>
  314. <li><A HREF="/issue/479" >#479, 03 May 99</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://www.smithmicro.com/tidbits">Smith Micro</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://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  362.  
  363. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  364.  
  365. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  366.  
  367. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  368.  
  369. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  370.  
  371. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  372.  
  373. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  374.  
  375. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  376.  
  377. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</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>Just Show Me the Pictures!</h6>
  466. <p><p>Do you ever find that you don't have time to read those long email missives from Aunt Carol, but really do want to see the photos that she has lovingly attached? In Apple Mail, click the Quick Look button located in the message header. You'll get an easily browsed view of  just the attached photos, and you can even add them to iPhoto, if you like!</p></p>
  467.  
  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/154">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/8437">Of Files, Forks, and FUD</a> (27 Feb 06)</li>
  539. <li><a href="/article/5773">A Quick Dip into Aqua, the Mac OS X Interface</a> (17 Jan 00)</li>
  540. <li><a href="/article/5753">Don't Panic - Be Informed about Net Security</a> (03 Jan 00)</li>
  541. <li><a href="/article/5554">Talking Back to Apple at MacHack</a> (13 Sep 99)</li>
  542. <li><a href="/article/5516">Stairways Releases Anarchie 3.6</a> (23 Aug 99)</li>
  543. <li><a href="/article/4899">Mac OS X: Rhapsody a Mac Developer Could Love</a> (18 May 98)</li>
  544. <li><a href="/article/2403">PowerTalk Arrives</a> (27 Sep 93)</li>
  545. <li><a href="/article/694">Apple's Decisions</a> (31 Mar 97)</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/483">TidBITS 483</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  570. <ul>
  571. <li><A HREF="/article/5410">Timbuktu Pro 5.0 & HouseCall</A></li>
  572. <li><A HREF="/article/5411">LetterRip Pro 3.0.5 Adds POP Features & Server Tweaks</A></li>
  573. <li><A HREF="/article/5412">Apple's New Technology Gap</A></li>
  574. <li><A HREF="/article/5413">BBEdit 5.1 Rolls In Support for MacPerl</A></li>
  575. <li><A HREF="/article/5414">Maximizing the Mouse</A></li>
  576.  
  577. </ul>
  578.  
  579. <p class="tearoffbox_wide_bottom"> </p>
  580.  
  581. </div><!-- end tearoffbox_wide -->
  582. </div><!-- end tearoffbox_wide_container -->
  583.  
  584. <!-- end tearoff box 1 -->
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592. <div id="rightcolumn_bottom">
  593.  
  594. </div>
  595.  
  596.     </div><!-- end rightcolumn -->
  597.  
  598.  
  599. </div><!-- end rightcolumn_container -->
  600.  
  601.  
  602.  
  603. <!-- featured articles -->
  604.  
  605. <div id="center_ajax_sub" class="instapaper_body">
  606.  
  607. <!-- google_ad_section_start -->
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628. <!-- issue, article, or series -->
  629.  
  630.     
  631.     
  632.     
  633.     
  634.     
  635.         
  636.     <!-- show article(s) -->
  637.     <div class="article"><a name="4092"></a>
  638.     
  639. <!-- comment initialization routine as needed -->
  640. <div class="popup_box_with_captcha" id="hc_4092" style="display: none">
  641.     <div class="tip_box_format">
  642.     <div id="hc_innards_alt_4092" style="display: none">
  643.             <div class="tbf_row">
  644.                 <div class="tbf_wide_80" id="hc_small_response_4092"></div><div class="x_close_row" id="hc_upper_right1_4092"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_4092', 'hc', '4092'); return true;">Close</a></div>
  645.  
  646.             </div>
  647.     </div>
  648.     <div id="hc_innards_4092">
  649.         <div class="tip_box_form">        
  650.             <form action="foobar.cgi" method="get" name="check_human_4092">
  651.             <div class="tbf_row">
  652.                 <div class="tbf_wide_80" id="hc_rc_4092">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_4092"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_4092', 'hc', '4092'); return true;">Close</a></div>
  653.  
  654.             </div>
  655.             <div class="spacer"></div>
  656.             <div class="tbf_row" id="hc_message_box_4092" style="display:none">
  657.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_4092"></div></div>
  658.             </div>
  659.             <div class="spacer"></div>
  660.             <div class="tbf_row">
  661.                 <div class="tbf_wide"><div id="hc_recaptcha_4092"></div></div>
  662.             </div>
  663.             <div class="spacer"></div>
  664.             <div class="tbf_row">
  665.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '4092', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="5415"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  666.             </div>
  667.             <div class="spacer"></div>
  668.             </form>
  669.         </div><!-- end tip_box_form -->
  670.     </div><!-- end hum box innards -->
  671.     </div><!-- end tip box format -->
  672. </div><!-- end tip_submit box-->
  673.  
  674.  
  675.  
  676.         
  677.         
  678.         <!-- specific article details here -->
  679.         
  680.         
  681.             
  682.         
  683.     
  684.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  685.         
  686.         <div class="featured_meta"><div class="meta_article">31 May 1999 | <a href="/article/5415?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>
  687.  
  688.         <H2>Mac OS X or Mac OS NeXT?</H2>
  689.  
  690.         <p class="byline">by <a href="/author/Adam%20C.%20Engst">Adam C. Engst</a> <a href="javascript:void(0)" onClick="document.check_human_4092.submit_type.value='email'; document.check_human_4092.author_id.value='6'; ShowTipBox('hc_4092', 'hc_recaptcha_4092')"><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>
  691.  
  692.         <!-- article text -->
  693.         
  694.         <div id="article_box_4092"><P>When Apple acquired NeXT in late 1996 the goal was ostensibly to acquire a next-generation operating system that could replace the Mac OS, since Apple had bought into the notion that the Mac OS was creaky and could barely cross the street under its own steam. As the past two and half years have demonstrated, the most valuable part of the NeXT acquisition was in fact the return of Steve Jobs to Apple's helm. Since Jobs has become interim CEO, Apple has successfully executed a number of daring moves, most notably the release of the iMac.</P><P>It's easy to forget that the other effects of NeXT acquisition have barely begun to be recognized. Sure, Apple has talked about a road map to future versions of the Mac OS and has even released Mac OS X Server, but for the most part, we've simply seen improvements to the Mac OS we know well. But if you look back the schedule Jobs laid out at the Worldwide Developer's Conference (WWDC) a year ago, you'll see that Apple has done well at meeting those self-imposed deadlines. Mac OS 8.5 shipped on schedule in Q3 of 1998, Mac OS X Server was only a little late in Q1 of 1999, and Mac OS 8.6 appeared soon after its scheduled Q1 1999 launch. The next major release comes in Q3 of 1999, when Apple plans to ship the next version of Mac OS 8, codenamed Sonata, with the first full release of Mac OS X scheduled for early 2000.</P><P><<A HREF="http://db.tidbits.com/article/04899">http://db.tidbits.com/article/04899</A>></P><P>One friend who attended this year's WWDC called it "nicely boring," because along with the schedule, Apple was sticking to the same stories told at the previous year's WWDC. Despite the lack of excitement, that's great news to hear, since developers in the past have griped about paying a lot of money to go and listen to Apple evangelize technologies that would meet the guillotine shortly thereafter. Consistency is good, and for Apple, consistency seems to mean adding underlying improvements to Mac OS 8.x and concentrating on the release of Mac OS X.</P><P><STRONG>Mac OS X Details</STRONG> -- Perhaps the most interesting aspect of Mac OS X for current Macintosh users is that it is slated to support most existing Mac OS 8.x applications, some that won't be able to take advantage of Mac OS X's advanced features, and others that can become full-fledged citizens by sticking to a set of current Mac OS application programming interfaces (APIs) called Carbon, which Mac OS X will support directly. If Apple and Macintosh developers are able to pull off the Carbon strategy, it will truly be a best case situation where existing applications can take advantage of Mac OS X's features without needing complete rewrites. Here are the basic levels in Mac OS X:</P><UL><LI><P>Classic: This "Mac OS virtual machine," which replaces the Blue Box (a part of Rhapsody, the precursor to Mac OS X), will let us run current applications that are not Carbon-compatible and thus won't benefit from the advanced features of Mac OS X. At WWDC, Apple showed Classic applications running in their own windows, not all together in a single Blue Box window as previously shown.</P><LI><P>Carbon: Applications compiled for use with Carbon will run directly under Mac OS X, taking advantage of protected memory, preemptive multitasking, and other features of Mac OS X. Carbon is important to Mac OS X's success, since Apple claims it's easy to make existing Mac OS applications Carbon-compatible. Some developers dispute the ease of making an existing application Carbon-compatible, but none argue that it will be easier than porting to Cocoa or rewriting from scratch.</P><LI><P>Cocoa: Applications written for NeXT's OpenStep (perhaps with some tweaking) and future applications written specifically to Mac OS X take advantage of all of Mac OS X's features. This native layer of Mac OS X, previously called the Yellow Box, is now called Cocoa. Cocoa will also offer advanced support for Java.</P><LI><P>Command-line: Yes, Virginia, there will be a command-line option in Mac OS X for working with command-line Unix applications. For the sake of most Mac users, we hope it's a totally ancillary interface.</P></UL><P>This combination of the best of the Macintosh with the best of NeXT's operating system technology sounds great in theory, but as Mac OS X's release date looms closer, concerns arise. Most of the public moves from Apple have focused on improving the Mac OS and releasing new Macintosh hardware. But all those employees who came over from NeXT haven't been sitting still. They may wear Apple badges now, but it's possible that on some levels these people are more interested in turning the Macintosh into a NeXT-like system than in making a Macintosh system built in part from NeXT technologies. I commented on this back in 1997, when the lines between Apple and NeXT technologies were more distinct. Things have blurred since then, but a sense of NeXT/Unix mentalities being forced onto Mac OS X still remains.</P><P><<A HREF="http://db.tidbits.com/article/00694">http://db.tidbits.com/article/00694</A>></P><P>Examples of this unsettled feeling broke the surface at this month's WWDC. In each case, Apple has made promises about maintaining the best of the Macintosh, but after discussions with Macintosh developers, we're left with concerns about how the situations will play out in reality. Consider the following:</P><P><STRONG>Carbon Finder</STRONG> -- At WWDC, Jobs and Apple vice president Phil Schiller showed the "Carbon Finder," a version of the Finder rewritten from scratch. Unfortunately, on the surface it bore little resemblance to the Finder that tens of millions of Macintosh users use every day, and the audience greeted it with a combination of hisses and silence (comments after the keynote were even less polite). Instead, the "Carbon Finder" looked like an updated version of the NeXT Workspace Manager file browser (see the Macworld Online picture linked below) that was used by at best tens of thousands of people in NeXT's heyday.</P><P><<A HREF="http://macworld.zdnet.com/1999/05/02/wwdc/photogallery/wwdc5.html">http://macworld.zdnet.com/1999/05/02/wwdc/ photogallery/wwdc5.html</A>></P><P>It seems that with proper settings, the Carbon Finder could be made to look like the current Finder, and it should provide a better interface for network browsing than the Chooser or even the Network Browser, which isn't part of the Finder. Apple has long needed to resurrect something along the lines of the PowerTalk Catalog, a desktop icon that provided access to networked servers (see "PowerTalk Arrives" from <A HREF="http://www.tidbits.com/tb-issues/TidBITS-195.html">TidBITS-195</A> for description).</P><P>There's nothing wrong with multiple pane file browsers, but they often aren't as flexible as today's Finder. No one minds Apple providing a file browser as an option, even as a View option, but if Apple attempts to replace the Finder with a less-capable file browser, current Mac users will revolt. For a preview of a file browser, try Greg Landweber's shareware utility Greg's Browser.</P><P><<A HREF="http://db.tidbits.com/article/02403">http://db.tidbits.com/article/02403</A>><BR><<A HREF="http://kaleidoscope.net/greg/browser.html">http://kaleidoscope.net/greg/browser.html</A>></P><P><STRONG>The Yellow Brick Pathname</STRONG> -- Mac OS X is based on Unix, and one of the basic aspects of Unix is a reliance on special directories with cryptic names like /bin, /etc, /usr, and so on. That's not all that different than the Mac OS's reliance on special folders like the Extensions, Control Panels, and Preferences folders. The main difference is that Unix file systems rely on pathnames not just for the special directories, but for all directories. In contrast, the Mac's HFS and HFS Plus file systems assign every file and folder a unique ID number. The beauty of file IDs is that their independence from names and paths allows a level of abstraction that's not possible under Unix. For instance, if you rename the folder that contains your applications, everything works as it did before, because file IDs don't change. In Unix, such an action would cause all pathnames to change, in turn causing applications to lose track of support files.</P><P>In addition, it's possible on the Mac to have multiple volumes with the same name, something that doesn't come up with Unix (where the root level is always /) or Windows (where every volume has a unique letter). The impact of losing the capability to have multiple volumes with the same name could range from annoying to disastrous.</P><P>Mac OS X is slated to support HFS Plus by default, so file IDs should continue to work on disks that use HFS Plus. However, the fact that standard NeXT programming practices encourage pathname use may result in file IDs not being used. It's also unclear what will happen when sophisticated users move back and forth between the different file systems also supported by Mac OS X. Even mentioning multiple file systems to most Mac users is a bad thing, so let's hope Apple manages to hide the entire situation from normal users.</P><P><STRONG>What's Your Type?</STRONG> Mac OS X, being Unix, may also rely in part on filename extensions to assign types to files, just like Windows. A GIF file must have a .gif extension, a text file must have a .txt extension, and so on. The Mac OS instead uses file type and creator data structures to type files, so although you're welcome to add .gif to a GIF file's name, the operating system identifies the file as a GIF based on its file type code, not its file name.</P><P>Another feature Macintosh users expect is that files of the same type can open in different applications when double-clicked. One text file might open in SimpleText, whereas another might open in BBEdit or Nisus Writer. In Unix, as in Windows, files of the same type can be linked only with a single application. Aside from the obvious loss of functionality here, there's a loss of control for the user. Suddenly, you must name your files correctly or they won't work as you expect. I can't imagine trying to explain to my grandmother that every file she creates must have a specific set of characters at the end of the filename. Applications could add them automatically, as many Windows programs do, but that's also confusing.</P><P>Again, since Mac OS X will support HFS Plus, type and creator codes will probably be retained at least when using an HFS Plus file system. Expert users are curious how Mac OS X's Unix utilities will interoperate with HFS Plus volumes, since it's unlikely that the Unix file copy command cp, for instance, would retain type and creator codes when copying files on an HFS Plus file system.</P><P><STRONG>To Text or not to Text</STRONG> -- As a final concern, consider the humble preferences file. Normal Macintosh users seldom interact with their preferences files directly, because it's an accepted tenet of the Macintosh world that applications must provide an interface to their preferences. In the Unix world, though, text-based preferences files rule.</P><P>As a friend has noted, attempt a real Apache configuration in today's Mac OS X Server and you're in vi (an arcane Unix text editor). Want to change a setting? Just edit the appropriate line in this text file! That may work fine for Unix power users, but it's a recipe for disaster in the Macintosh world. Text-based preferences files are brittle; make a single character mistake and the application won't behave as you expect.</P><P>Of course, an application could provide a graphical interface to its preferences and save the results in textual form, but as we've seen in programs ported from the Unix world, once there's a text-based preferences file in use, creating a graphical interface becomes a low priority and may never happen.</P><P><STRONG>Reading the Cocoa Leaves</STRONG> -- These concerns are for the moment just that, concerns. Mac OS X isn't scheduled to ship for at least seven months, and since Mac OS X Server slipped from Q3 1998 to Q1 1999, it's entirely likely that the full Mac OS X will slip as well.</P><P>That gives Apple time to make sure that Mac OS X truly incorporates the combination of the best features of the Mac OS (the user experience) and the best features of the NeXT (modern operating system features). Steve Jobs has called the Mac OS Apple's "crown jewels," saying that Apple had to concentrate on the Mac OS because that was where the company's customers were. No one bought Macs during Apple's death spiral days because they cared that Apple would one day release a totally different operating system. They bought Macs then, as they do now, because the Mac OS remains the best computing experience available today.</P><P>I sincerely hope that Jobs wasn't buttering up existing Macintosh users merely to bolster Apple's then-waning fortunes, because his comments then were on target. As good as aspects of the NeXT may have been, it was not a commercial success, whereas the Macintosh changed the face of computing. Keep the Macintosh face, Apple, and utilize the NeXT technology behind the scenes where it can work its magic without disturbing millions of Macintosh users.</P><!-- Mac OS X or Mac OS NeXT? Adam C. Engst --></div>
  695.         
  696.  
  697.         <!-- end article text -->
  698.     
  699.         
  700.         <!-- PayBITS -->
  701.         
  702.  
  703.         
  704. <p> </p><div class="sponsorbox">
  705. <div class="sponsortext"><A HREF="http://markspace.com/bits?source=tidbits"><IMG SRC="http://db.tidbits.com/images/badges/mark-space.gif" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>SYNC YOUR PHONE with The Missing Sync: Sync your calendar,<br />address book, music, photos and much more between your phone<br />and Mac. Supports ANDROID, BLACKBERRY, PALM PRE and many<br />other phones. <<a href="http://markspace.com/bits?source=tidbits">http://www.markspace.com/bits</a>></div>
  706. </div>
  707. <div class="sponsorbox_bottom"> </div>
  708.  
  709.  
  710.         <!-- comments section -->
  711.         
  712.         <!-- end comment show-->
  713.         
  714.         <!-- end comments section -->
  715.  
  716.  
  717.         <!-- end article loop details -->
  718.         
  719.         
  720.  
  721.         
  722.     </div><!-- end show article -->
  723.     
  724.     
  725.  
  726.  
  727. <!-- article_plus end -->
  728. <!--
  729. </DIV>
  730. --><!-- end main_column DIV -->
  731.  
  732.  
  733. <!-- google_ad_section_end -->
  734.  
  735. </div><!-- end center AJAX insert -->
  736.  
  737. <!-- TipBITS Search Results Lozenge -->
  738. <div id="tipbits_results_loz" style="display:none">
  739. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  740. <div class="tip_footer">
  741. <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>
  742. </div>
  743. <div class="tip_footer_bottom">
  744.  </div>
  745. </form>
  746. </div><!-- end TipBITS Search Results lozenge -->
  747.  
  748.  
  749.  
  750.  
  751. <!-- begin footer -->
  752. <div id="footer">
  753.  
  754. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/5415.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  755. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  756. Web and mailing list host.</p>
  757. <p>Unless otherwise noted, this article is copyright © 1999 <a href="/author/Adam%20C.%20Engst">Adam C. Engst</a></p>
  758. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  759. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  760.  
  761. <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>
  762.  
  763. </div><!-- end footer -->
  764.  
  765.  
  766. </div> <!-- end centercolumn -->
  767.  
  768. <div class="center_bottom"> </div>
  769.  
  770. </div> <!-- end centercolumn_border -->
  771.  
  772.  
  773. </div> <!-- end content_container -->
  774.  
  775. </div> <!-- end mainbody -->
  776.  
  777.  
  778. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  779. </script>
  780. <script type="text/javascript">
  781. _uacct = "UA-276924-3";
  782. urchinTracker();
  783. </script>
  784. <script type="text/javascript"
  785. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  786. <script type="text/javascript">
  787. var skimlinks_pub_id = '2559X585851';
  788. var skimlinks_domain = 'go.tidbits.com';
  789. skimlinks();
  790. </script>
  791. </body>
  792. </html>
  793.  
  794.