home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=04899.orig < prev    next >
Text File  |  2010-09-23  |  48KB  |  796 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: Rhapsody a Mac Developer Could Love</title>
  9.  
  10.     <meta name="title" content="TidBITS : Mac OS X: Rhapsody a Mac Developer Could Love">
  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='3578'>
  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/434" >#434, 15 Jun 98</A></li>
  307. <li><A HREF="/issue/433" >#433, 08 Jun 98</A></li>
  308. <li><A HREF="/issue/432" >#432, 01 Jun 98</A></li>
  309. <li><A HREF="/issue/431" >#431, 25 May 98</A></li>
  310. <li><A HREF="/issue/430" >#430, 18 May 98</A></li>
  311. <li><A HREF="/issue/429" >#429, 11 May 98</A></li>
  312. <li><A HREF="/issue/428" >#428, 04 May 98</A></li>
  313. <li><A HREF="/issue/427" >#427, 27 Apr 98</A></li>
  314. <li><A HREF="/issue/426" >#426, 20 Apr 98</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.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  358.  
  359. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  360.  
  361. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  362.  
  363. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  364.  
  365. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  366.  
  367. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  368.  
  369. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  370.  
  371. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  372.  
  373. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  374.  
  375. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</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.  
  464. </div>
  465. <h6>iPhone Calendar Starting on Sunday</h6>
  466. <p><p>Annoyed that the iPhone's Calendar app shows the weeks starting with Monday, although iCal (and most paper calendars) start on Sunday? Here's the answer: go to Settings > General > International and change the Region Format from English to United States.</p></p>
  467. <p>Visit <a href="http://www.the-iblog.com/2008/08/07/iphone-calendar-craziness-when-does-your-week-start/">The iBlog.com</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/171">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472. <p class="credit">Submitted by<br>Don Walker</p>
  473. </div></div>
  474.  
  475. </div>
  476.  
  477. <div class="tearoffbox_wide_tips_submit">
  478. <form method="post" onsubmit="return false" id="tipbits_form" name="tipbits_form" action="noaction.cgi"><p><a href="javascript:void(0)" onmousedown="ShowTipBox('ts','ts_recaptcha', 50, 'tip_title_id'); return true;">Share your own tip!</a> | <a href="javascript:void(0)" onClick="generic_show_hide('search_tipbits'); document.tipbits_form.tipbits_searchvalue.focus()">Search TipBITS</a></p>
  479. <p style="display:none" id="search_tipbits"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue'); }" id="tipbits_searchvalue" name="tipbits_searchvalue"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue')">Search</a></p></form>
  480. </div>
  481. <div class="tearoffbox_wide_bottom_tips_submit">
  482.  
  483. </div>
  484.  
  485. </div><!-- end tearoffbox_wide_tips -->
  486. </div><!-- end tearoffbox_wide_container for tips-->
  487. <!-- end tearoff box wide -->
  488.  
  489.  
  490.  
  491. <!-- begin 300 x 250 ad -->
  492.  
  493. <div id="content_ad_square">
  494. <script type='text/javascript'><!--// <![CDATA[
  495.     OA_show(5);
  496. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TB7671f69'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=5&n=TB7671f69'></a></noscript>
  497. </div><!-- end 300 x 250 ad -->
  498.  
  499. <!-- TBTalk items -->
  500. <div class="tearoffbox_wide_container">
  501.  
  502. <div class="tearoffbox_wide_p">
  503. <p class="tearoffbox_wide_top_p"> </p>
  504.  
  505. <h5>Recent TidBITS Talk Discussions</h5>
  506. <ul>
  507.  
  508. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf95241">Alternatives to MobileMe for syncing calendars between iPad/Mac</a> (1 message)</LI>
  509.  
  510. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf94dbb">Free anti-virus for the Mac</a> (20 messages)</LI>
  511.  
  512. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf934e6">iTunes 10 syncing iPod Touch 4.1</a> (2 messages)</LI>
  513.  
  514. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf92a22">Thoughts about Ping</a> (16 messages)</LI>
  515.  
  516. </ul>
  517.  
  518. <div class="tearoffbox_wide_bottom_p"> </div>
  519.  
  520. </div><!-- end tearoffbox_wide -->
  521.  
  522. </div><!-- end tearoffbox_wide_container for TBtalk items -->
  523.  
  524. <!-- start takecontrol_ad -->
  525. <script type='text/javascript'><!--// <![CDATA[
  526.     OA_show(7);
  527. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe46d56f'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=7&n=TBe46d56f'></a></noscript><!-- end takecontrol_ad -->
  528.  
  529. <!-- begin tearoff box 2 -->
  530.  
  531. <div class="tearoffbox_wide_container">
  532.  
  533. <div class="tearoffbox_wide_p">
  534. <p class="tearoffbox_wide_top_p"> </p>
  535.  
  536. <h5>Related Articles</h5>
  537. <ul>
  538. <li><a href="/article/5415">Mac OS X or Mac OS NeXT?</a> (31 May 99)</li>
  539. <li><a href="/article/5235">New iMacs, New G3s, and Mac OS X Server</a> (11 Jan 99)</li>
  540. <li><a href="/article/4978">Jobs Delivers Upbeat Macworld Keynote</a> (13 Jul 98)</li>
  541. <li><a href="/article/4974">Jobs Delivers Macworld Keynote</a> (08 Jul 98)</li>
  542. <li><a href="/article/4881">Jobs Outlines Mac OS Strategy at WWDC</a> (11 May 98)</li>
  543.  
  544. </ul>
  545.  
  546. <p class="tearoffbox_wide_bottom_p"> </p>
  547.  
  548. </div><!-- end tearoffbox_wide -->
  549. </div><!-- end tearoffbox_wide_container -->
  550.  
  551. <!-- end tearoff box 2 -->
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559. <!-- begin tearoff box 1 -->
  560.  
  561. <div class="tearoffbox_wide_container">
  562.  
  563. <div class="tearoffbox_wide">
  564. <p class="tearoffbox_wide_top"> </p>
  565.  
  566. <h5>Published in <a href="/issue/430">TidBITS 430</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  567. <ul>
  568. <li><A HREF="/article/4889">Antitrust Lawsuits Filed Against Microsoft</A></li>
  569. <li><A HREF="/article/4890">Farewell MacWEEK, Welcome e/media Weekly</A></li>
  570. <li><A HREF="/article/4891">Internet Explorer 4.01: Faster, More Stable</A></li>
  571. <li><A HREF="/article/4892">New Photoshop 5 Learns to Edit Type</A></li>
  572. <li><A HREF="/article/4893">CyberStudio 3 Goes Live</A></li>
  573. <li><A HREF="/article/4894">Apple Logo Losing Its Colors</A></li>
  574. <li><A HREF="/article/4895">AutoShare 2.3 Released</A></li>
  575. <li><A HREF="/article/4896">Crossed Chips and Cables</A></li>
  576. <li><A HREF="/article/4897">Apple Revises QuickTime 3 Licensing</A></li>
  577. <li><A HREF="/article/4898">Look Different: Excellence in Apple Design</A></li>
  578.  
  579. </ul>
  580.  
  581. <p class="tearoffbox_wide_bottom"> </p>
  582.  
  583. </div><!-- end tearoffbox_wide -->
  584. </div><!-- end tearoffbox_wide_container -->
  585.  
  586. <!-- end tearoff box 1 -->
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594. <div id="rightcolumn_bottom">
  595.  
  596. </div>
  597.  
  598.     </div><!-- end rightcolumn -->
  599.  
  600.  
  601. </div><!-- end rightcolumn_container -->
  602.  
  603.  
  604.  
  605. <!-- featured articles -->
  606.  
  607. <div id="center_ajax_sub" class="instapaper_body">
  608.  
  609. <!-- google_ad_section_start -->
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630. <!-- issue, article, or series -->
  631.  
  632.     
  633.     
  634.     
  635.     
  636.     
  637.         
  638.     <!-- show article(s) -->
  639.     <div class="article"><a name="3578"></a>
  640.     
  641. <!-- comment initialization routine as needed -->
  642. <div class="popup_box_with_captcha" id="hc_3578" style="display: none">
  643.     <div class="tip_box_format">
  644.     <div id="hc_innards_alt_3578" style="display: none">
  645.             <div class="tbf_row">
  646.                 <div class="tbf_wide_80" id="hc_small_response_3578"></div><div class="x_close_row" id="hc_upper_right1_3578"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_3578', 'hc', '3578'); return true;">Close</a></div>
  647.  
  648.             </div>
  649.     </div>
  650.     <div id="hc_innards_3578">
  651.         <div class="tip_box_form">        
  652.             <form action="foobar.cgi" method="get" name="check_human_3578">
  653.             <div class="tbf_row">
  654.                 <div class="tbf_wide_80" id="hc_rc_3578">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_3578"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_3578', 'hc', '3578'); return true;">Close</a></div>
  655.  
  656.             </div>
  657.             <div class="spacer"></div>
  658.             <div class="tbf_row" id="hc_message_box_3578" style="display:none">
  659.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_3578"></div></div>
  660.             </div>
  661.             <div class="spacer"></div>
  662.             <div class="tbf_row">
  663.                 <div class="tbf_wide"><div id="hc_recaptcha_3578"></div></div>
  664.             </div>
  665.             <div class="spacer"></div>
  666.             <div class="tbf_row">
  667.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '3578', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="4899"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  668.             </div>
  669.             <div class="spacer"></div>
  670.             </form>
  671.         </div><!-- end tip_box_form -->
  672.     </div><!-- end hum box innards -->
  673.     </div><!-- end tip box format -->
  674. </div><!-- end tip_submit box-->
  675.  
  676.  
  677.  
  678.         
  679.         
  680.         <!-- specific article details here -->
  681.         
  682.         
  683.             
  684.         
  685.     
  686.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  687.         
  688.         <div class="featured_meta"><div class="meta_article">18 May 1998 | <a href="/article/4899?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>
  689.  
  690.         <H2>Mac OS X: Rhapsody a Mac Developer Could Love</H2>
  691.  
  692.         <p class="byline">by <a href="/author/Geoff%20Duncan">Geoff Duncan</a> <a href="javascript:void(0)" onClick="document.check_human_3578.submit_type.value='email'; document.check_human_3578.author_id.value='15'; ShowTipBox('hc_3578', 'hc_recaptcha_3578')"><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>
  693.  
  694.         <!-- article text -->
  695.         
  696.         <div id="article_box_3578"><P>Last week during his keynote address at Apple's Worldwide Developers Conference, Steve Jobs outlined Apple's plans for Mac OS 8 and Rhapsody and introduced two new elements: the Carbon API and Mac OS X ("Ten"). As WWDC unfolded, Apple revealed more information about Mac OS X and future operating system plans. Although many unanswered questions remain, enough detail is available to begin analyzing Apple's OS plans.</P><P><<A HREF="http://db.tidbits.com/article/04881">http://db.tidbits.com/article/04881</A>></P><P><STRONG>The Lineage of Mac OS X</STRONG> -- Although this is an oversimplification, Mac OS X is best described as an enhanced version of Rhapsody, Apple's forthcoming operating system derived from NeXT's OpenStep technology. Rhapsody is based on the Mach microkernel and runs a version of BSD Unix under the hood, although it hides the Unix command line unless the user specifically asks for it. Also included is the "Blue Box," essentially a Rhapsody application that runs the Mac OS and thus Mac OS applications, although those applications don't receive the benefits of the modern Rhapsody OS, like memory protection and preemptive multitasking.</P><P>Rhapsody also includes the Yellow Box, a sophisticated application environment. Mac OS applications would have to be rewritten to take advantage of the Yellow Box, but in doing so would become "first class citizens" under Rhapsody, gaining the advantages of the new operating system. In addition, developers would be able to recompile Yellow Box applications for versions of the Yellow Box which run on Intel-based systems or even under the old Mac OS. These capabilities would, arguably, make the Yellow Box the best choice for cross-platform development. Rhapsody also supports Java, so Java applications under Rhapsody reap the full benefits of the operating system.</P><P>So, essentially Rhapsody can run four kinds of programs:</P><UL><LI>Mac OS (via the Blue Box)<LI>Java<LI>Yellow Box<LI>BSD Unix</UL><P>Mac OS X adds to this picture. Mac OS X will still be based on the Mach microkernel (version 3), and will also run BSD Unix under the hood and feature a Blue Box that will run most existing Mac OS applications, although without the advanced features of the new operating system. And, Mac OS X will still include Java support and the Yellow Box.</P><P>The problem that Apple - and Macintosh developers - encountered with Rhapsody was that to gain the benefits of a modern operating system, developers had to rewrite their applications for the Yellow Box from scratch. So, Apple has introduced the Carbon API, a large subset of the existing Mac OS system services that will be fully supported under Mac OS X. Programs written to the Carbon API gain all the benefits of a modern operating system, but don't need to have their Mac OS source code entirely rewritten. According to Apple, typical Mac OS applications would need a 10 percent tune-up to become a "carbon life form." In addition, Apple plans to release Carbon as a set of libraries for the current Mac OS 8.x, so "carbon life forms" can run under Mac OS X <EM>and</EM> under future derivations of Mac OS 8 without alteration.</P><P>So, Mac OS X will be able to run five kinds of programs:</P><UL><LI>Mac OS (via the Blue Box)<LI>Java<LI>Yellow Box<LI>BSD Unix<LI>Carbon</UL><P>Architecturally, Mac OS X is essentially the same as Rhapsody: the difference is that it's allowing a much simpler (and more practical) means for current Mac OS developers to make their programs first class citizens.</P><P><STRONG>What's In & What's Out... For Now</STRONG> -- In addition to the primary features of Rhapsody, Apple also elaborated on some of the components of Mac OS X at WWDC.</P><UL><LI><P>Blue Box applications will run alongside other Mac OS X applications, rather than the Blue Box being accessible only via a full-screen mode or within a separate window. This is a key point for the usability of Blue Box applications, although it may lead to some user confusion about which applications are running in the Blue Box, which are not, and what the differences might be.</P><LI><P>Mac OS X will not have a 68K emulator, although (presumably) the Blue Box within Mac OS X  will contain an emulator in order to run current Mac OS applications. Mac OS X will be fully PowerPC-native.</P><LI><P>Display Postscript, a much-ballyhooed feature of OpenStep and Rhapsody, will <EM>not</EM> be present in Mac OS X since Adobe has ceased development of Display PostScript. Instead, Apple says it will support a PostScript-like imaging model in Mac OS X and replace the default EPS image format used in OpenStep with Adobe's PDF format. Apple also says it will be adding GX-like capabilities to both QuickDraw and Mac OS X's typographic features. Unfortunately, QuickDraw GX will be dead under Mac OS X and Carbon, which is a shame since it's considerably more advanced than anything Adobe has to offer and Apple owns it.</P><LI><P>Mac OS X will include full scripting support for Carbon, Yellow Box, Java, and Mac OS applications.</P><LI><P>Apple says full-featured cryptographic technologies will be included in Mac OS X, along with utilities resembling the digital signature manager and keychain that originally appeared with PowerTalk in System 7 Pro.</P><LI><P>Although Apple has been emphatic about releasing libraries to enable Mac OS 8.x to run Carbon applications, Apple hasn't been clear about whether it will live up to last year's big WWDC promise to release the Yellow Box for Mac OS 8.x.</P><LI><P>Mac OS X will be "optimized" for PowerPC G3 systems; it's not clear whether Mac OS X will support earlier PowerPC 603- or 604-based machines.</P></UL><P>A perusal through Apple's preliminary specification for the Carbon API reveals that some programs will be harder to port to Mac OS X than others. Extensions as we know them won't exist under Mac OS X - although they apparently can load under the Blue Box and thus only be available to Blue Box applications, which could lead to a confusing user experience. It's not clear what sort of mechanism Apple will provide under Mac OS X to replace extensions. In addition, any program that accesses hardware directly - like Ethernet or PC Cards - will need to be revised to run under Carbon since hardware access is the exclusive province of the Mac OS X operating system. Apple hasn't made decisions on the extent to which some technologies like Game Sprockets, Speech, and the Power Manager will be supported in Carbon.</P><P>You can check out session notes from WWDC online, although, unfortunately, much of this material consists of large JPEG images of session slides. Apple's preliminary Carbon specification is also available (in PDF format) from Apple's Mac OS X developer site.</P><P><<A HREF="http://www.developer.com/calendar/minisites/wwdc98/">http://www.developer.com/calendar/minisites/ wwdc98/</A>><BR><<A HREF="http://developer.apple.com/macosx/">http://developer.apple.com/macosx/</A>></P><P><STRONG>What About Intel?</STRONG> A big question on the minds of some developers is the fate of Yellow Box for Intel, a set of Windows 95/NT libraries that allow applications written for the Yellow Box to run on the Windows platform with virtually no fuss. According to Apple, the Intel version of Yellow Box is alive and well, but the Intel runtime will <EM>not</EM> be freely distributable, in contradiction to what Apple said at WWDC in 1997. Reportedly per-copy royalty fees will be small (in the $20 arena) and Apple is working on the situation, but the fact there's a fee at all could pose a major problem for developers who are trying to do cross-platform development work for Rhapsody or Mac OS X.</P><P>Another common question is whether Apple plans to develop Mac OS X for Intel processors: for now, the answer is no. Although the Mach/BSD underpinnings of Mac OS X could be made to run on Intel hardware - and Carbon does not require Macintosh ROMs - all reports indicate Apple has no plans to port either the Blue Box or Carbon to Intel processors.</P><P><STRONG>Schedule in a Nutshell</STRONG> -- Here, then, is Apple's current schedule of operating system releases, along with their lineage, key features, and requirements.</P><UL><LI><P>Q3 1998: Mac OS 8.5, codenamed Allegro. A major revision derived from the current Mac OS 8.1 release, which features PowerPC-native AppleScript; HTML-based help (and the V-Twin text search engine) in Apple Guide; anti-aliased text capabilities; appearance "themes"; Internet Config 2.0; new Navigation Services; and numerous interface enhancements. Mac OS 8.5 will be available only for PowerPC systems.</P><LI><P>Q3 1998: Rhapsody 1.0. Derived from OpenStep technologies acquired from NeXT. Features: Mach kernel running BSD Unix; Blue Box for running Mac OS applications, Yellow Box for Rhapsody applications, plus Java. Intended for publishing and server markets; should require a PCI-based PowerPC system.</P><LI><P>Q1 1999: Mac OS 8.6(?). Incremental update to Mac OS 8.5; support for new CPUs, bug fixes. PowerPC systems only.</P><LI><P>Q1 1999: First developer seeds of Mac OS X.</P><LI><P>Q3 1999: Mac OS 9(?), codenamed Sonata. Major update to the Mac OS.</P><LI><P>Q3 1999: Mac OS X. Features a Mach 3.0 kernel running BSD Unix; support for Mac OS 8 programs via Blue Box, Carbon, Java, and Yellow Box. Optimized for PowerPC G3 systems.</P></UL><P>Note that the current release schedule calls for Mac OS X to appear at the same time as a major update to the existing Mac OS, indicating Apple anticipates a transitional period where both Mac OS X and future versions of the current Mac OS will be available to consumers. It's not clear how Apple plans to differentiate between these releases, but it's likely Mac OS X, like Rhapsody, will be initially targeted at the high end of the Macintosh market - publishing, media production, servers, and power users - while users with older machines or smaller budgets can continue to update their systems with improved versions of the old Mac OS, sans all the Rhapsody technology.</P><P><STRONG>What Will Developers Do?</STRONG> It's difficult to look into Apple's operating system future. Mac OS X won't ship for about a year and a half; considering that a year and a half ago, the Mac development world was in a tizzy about the BeOS, take all predictions with a grain of salt.</P><P>Although Rhapsody offers key technologies the Macintosh needs in an operating system along with several compelling features, few developers are enthusiastic about rewriting applications from the ground up. Until now, most figured they'd let Rhapsody's Blue Box support their current Mac OS programs, then see what happened. After all, if they were going to rewrite from scratch, why not rewrite for Windows NT, which already exists and has an expanding market share?</P><P>With Mac OS X, however, Apple's message to its developers is much more palatable: most programs will need only minor revisions to conform to the Carbon API, and developers can continue to use their current Mac OS programming expertise under Mac OS X. Increasingly, the transition from Mac OS 8 to Carbon is being compared with the transition from 68K to PowerPC: difficult for some programs, but not bad for most. Not surprisingly, Metrowerks - the company that almost single-handedly made it possible for Mac developers to produce PowerPC applications five years ago - has announced it will fully support Carbon in its forthcoming CodeWarrior releases (withdrawing its similar Latitude technology for Rhapsody). Although Mac OS X won't ship until a year after Rhapsody's debut, it stands a better chance of widespread developer adoption.</P><P><<A HREF="http://www.metrowerks.com/db/Press.qry?function=PR&rowid=148">http://www.metrowerks.com/db/Press.qry? function=PR&rowid=148</A>></P><P>However, the introduction of the Carbon API in Mac OS X paints a large question mark on the future of the Yellow Box. Although Carbon brings more developers and applications to Mac OS X, those developers aren't any more likely to rewrite their applications for the Yellow Box than they were a year ago. Apple is telling developers any new development should be done for the Yellow Box, especially if the developers intend to release Windows versions of those programs. However, if developers must pay a licensing fee for Yellow Box applications on Intel hardware and Apple backs away from its promise to release Yellow Box for the Mac OS, programming for the Yellow Box might become purely an intellectual pursuit.</P><!-- Mac OS X: Rhapsody a Mac Developer Could Love Geoff Duncan --></div>
  697.         
  698.  
  699.         <!-- end article text -->
  700.     
  701.         
  702.         <!-- PayBITS -->
  703.         
  704.  
  705.         
  706. <p> </p><div class="sponsorbox">
  707. <div class="sponsortext"><A HREF="http://www.smithmicro.com/tidbits"><IMG SRC="http://db.tidbits.com/images/badges/StuffItDeluxe2010.gif" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>StuffIt Deluxe 2011 has everything you need to backup, encrypt,<br />share, and compress all of your photos, audio and documents.<br />Compress it. Secure it. Send it. Try StuffIt Deluxe 2011 today!<br />Click here for a free 30-day trial: <<a href="http://stuffIt.com/tidbits/">http://stuffIt.com/tidbits/</a>></div>
  708. </div>
  709. <div class="sponsorbox_bottom"> </div>
  710.  
  711.  
  712.         <!-- comments section -->
  713.         
  714.         <!-- end comment show-->
  715.         
  716.         <!-- end comments section -->
  717.  
  718.  
  719.         <!-- end article loop details -->
  720.         
  721.         
  722.  
  723.         
  724.     </div><!-- end show article -->
  725.     
  726.     
  727.  
  728.  
  729. <!-- article_plus end -->
  730. <!--
  731. </DIV>
  732. --><!-- end main_column DIV -->
  733.  
  734.  
  735. <!-- google_ad_section_end -->
  736.  
  737. </div><!-- end center AJAX insert -->
  738.  
  739. <!-- TipBITS Search Results Lozenge -->
  740. <div id="tipbits_results_loz" style="display:none">
  741. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  742. <div class="tip_footer">
  743. <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>
  744. </div>
  745. <div class="tip_footer_bottom">
  746.  </div>
  747. </form>
  748. </div><!-- end TipBITS Search Results lozenge -->
  749.  
  750.  
  751.  
  752.  
  753. <!-- begin footer -->
  754. <div id="footer">
  755.  
  756. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/4899.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  757. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  758. Web and mailing list host.</p>
  759. <p>Unless otherwise noted, this article is copyright © 1998 <a href="/author/Geoff%20Duncan">Geoff Duncan</a></p>
  760. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  761. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  762.  
  763. <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>
  764.  
  765. </div><!-- end footer -->
  766.  
  767.  
  768. </div> <!-- end centercolumn -->
  769.  
  770. <div class="center_bottom"> </div>
  771.  
  772. </div> <!-- end centercolumn_border -->
  773.  
  774.  
  775. </div> <!-- end content_container -->
  776.  
  777. </div> <!-- end mainbody -->
  778.  
  779.  
  780. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  781. </script>
  782. <script type="text/javascript">
  783. _uacct = "UA-276924-3";
  784. urchinTracker();
  785. </script>
  786. <script type="text/javascript"
  787. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  788. <script type="text/javascript">
  789. var skimlinks_pub_id = '2559X585851';
  790. var skimlinks_domain = 'go.tidbits.com';
  791. skimlinks();
  792. </script>
  793. </body>
  794. </html>
  795.  
  796.