home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=02195.orig < prev    next >
Text File  |  2010-09-23  |  49KB  |  824 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 : Spinning the Web Part I: Trade-offs and PageSpinner</title>
  9.  
  10.     <meta name="title" content="TidBITS : Spinning the Web Part I: Trade-offs and PageSpinner">
  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='2925'>
  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/388" >#388, 14 Jul 97</A></li>
  307. <li><A HREF="/issue/387" >#387, 07 Jul 97</A></li>
  308. <li><A HREF="/issue/386" >#386, 30 Jun 97</A></li>
  309. <li><A HREF="/issue/385" >#385, 23 Jun 97</A></li>
  310. <li><A HREF="/issue/384" >#384, 16 Jun 97</A></li>
  311. <li><A HREF="/issue/383" >#383, 09 Jun 97</A></li>
  312. <li><A HREF="/issue/382" >#382, 02 Jun 97</A></li>
  313. <li><A HREF="/issue/381" >#381, 26 May 97</A></li>
  314. <li><A HREF="/issue/380" >#380, 19 May 97</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.econtechnologies.com/tb">Econ Technologies</a></li>
  358.  
  359. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  360.  
  361. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  362.  
  363. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  364.  
  365. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  366.  
  367. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  368.  
  369. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  370.  
  371. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  372.  
  373. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  374.  
  375. <li><a href="http://www.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  376.  
  377. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  378.  
  379. </ul><div class='sponsor_sidebox_bottom'> </div>
  380. </div>
  381.  
  382.  
  383. <!-- end sponsor_sidebox -->
  384.  
  385.  
  386. </div> <!-- end leftcolumn div -->
  387.  
  388. <!-- end left column -->
  389.  
  390.  
  391. <!-- begin centercolumn_border -->
  392.  
  393. <div id="centercolumn_border">
  394.  
  395. <div class="center_top">Thoughtful, detailed coverage of the Mac, iPhone, and iPad, plus the best-selling <a href="http://www.takecontrolbooks.com/?pt=TB-TAGLINE" style="color:yellow">Take Control</a> ebooks.</div>
  396.  
  397. <!-- begin centercolumn -->
  398. <div id="centercolumn">
  399.  
  400.  
  401.  
  402. <!-- begin rightcolumn_container -->
  403. <div id="rightcolumn_container">
  404.  
  405. <!-- begin rightcolumn -->
  406.     <!-- rightcolumn is embedded within centercolumn so featured text wraps around it -->
  407.     <div id="rightcolumn">
  408.  
  409. <p class="top"> </p>
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420. <!-- Watchlist items -->
  421. <div class="tearoffbox_wide_container">
  422. <div class="tearoffbox_wide_watchlist">
  423. <p class="tearoffbox_wide_top_watchlist"> </p>
  424.  
  425. <h6><a href="/section/watchlist">TidBITS Watchlist</a></h6>
  426. <ul>
  427.  
  428. <LI><a href="/article/11625">Adobe Flash Player 10.1.85.3</a></LI>
  429.  
  430. <LI><a href="/article/11622">DEVONthink and DEVONnote 2.0.4</a></LI>
  431.  
  432. <LI><a href="/article/11620">Security Update 2010-006</a></LI>
  433.  
  434. <LI><a href="/article/11619">TinkerTool 4.2</a></LI>
  435.  
  436. <LI><a href="/article/11618">Mailplane 2.2</a></LI>
  437.  
  438. <LI><a href="/article/11617">Pro Applications Update 2010-02</a></LI>
  439.  
  440. <LI><a href="/article/11611">Dialectic 1.7</a></LI>
  441.  
  442. <LI><a href="/article/11604">Transmit 4.1.1</a></LI>
  443.  
  444. <LI><a href="/article/11603">MarsEdit 3.1.1</a></LI>
  445.  
  446. <LI><a href="/article/11600">Savescreenie 2.0</a></LI>
  447.  
  448. </ul>
  449.  
  450. <div class="tearoffbox_wide_bottom_watchlist"> </div>
  451.  
  452. </div><!-- end tearoffbox_wide -->
  453.  
  454. </div><!-- end tearoffbox_wide_container for watchlist items -->
  455.  
  456. <!-- begin tearoff box wide -->
  457.  
  458. <div class="tearoffbox_wide_container">
  459. <div class="tearoffbox_wide_tips">
  460.  
  461. <div class="tip_display">
  462. <div class="tips_sponsor_logo">
  463. <a href="http://www.usefulfruit.com/tb"><img src="/images/sponsors/tearoffbox_wide_tips_usefulfruit.gif" height="58" width="164" border="0" alt="sponsor logo"></a>
  464. </div>
  465. <h6>Record Online Meetings in Pear Note</h6>
  466. <p><p>While Pear Note is primarily geared toward recording notes in the physical world, it's possible to use it to record things in the virtual world as well. For instance, you can use it to record and take notes on Skype calls. To do this:</p><ol>
  467.     <li>Download Soundflower and install it (along with the Soundflowerbed app that comes with it).</li>
  468.     <li>Download LineIn and install it.</li>
  469.     <li>Start Soundflowerbed, and select Built-in Output (or whatever output you'd like to listen to the conversation on).</li>
  470.     <li>Start LineIn, and select your microphone (e.g. Built-in Mic) as the input and Soundflower (2ch) as the output, then press Pass Thru.</li>
  471.     <li>Open Pear Note Preferences, select Recording, and select Soundflower (2ch) as the audio device.</li>
  472.     <li>Open Skype Preferences, select Audio, and select Soundflower (2ch) as the audio output and your microphone (e.g. Built-in Mic) as the audio input.</li>
  473.     <li>Hit record in Pear Note and make your Skype call.</li>
  474. </ol>
  475. <p>This will allow you to conduct your Skype call while Pear Note records both your audio and the other participant's.</p></p>
  476. <p>Visit <a href="http://www.usefulfruit.com/tb">Useful Fruit Software</a></p>
  477. </div>
  478.  
  479. <div class="tearoffbox_wide_bottom_tips">
  480. <div style="padding-bottom:35px"><div class="tip_display" style="float:left"><p><br><a href="/tipbits/238">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  481.  
  482. <p class="credit">Written by<br><a href="/author/Adam%20C.%20Engst">Adam C. Engst</a></p></div></div>
  483.  
  484. </div>
  485.  
  486. <div class="tearoffbox_wide_tips_submit">
  487. <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>
  488. <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>
  489. </div>
  490. <div class="tearoffbox_wide_bottom_tips_submit">
  491.  
  492. </div>
  493.  
  494. </div><!-- end tearoffbox_wide_tips -->
  495. </div><!-- end tearoffbox_wide_container for tips-->
  496. <!-- end tearoff box wide -->
  497.  
  498.  
  499.  
  500. <!-- begin 300 x 250 ad -->
  501.  
  502. <div id="content_ad_square">
  503. <script type='text/javascript'><!--// <![CDATA[
  504.     OA_show(5);
  505. // ]]> --></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>
  506. </div><!-- end 300 x 250 ad -->
  507.  
  508. <!-- TBTalk items -->
  509. <div class="tearoffbox_wide_container">
  510.  
  511. <div class="tearoffbox_wide_p">
  512. <p class="tearoffbox_wide_top_p"> </p>
  513.  
  514. <h5>Recent TidBITS Talk Discussions</h5>
  515. <ul>
  516.  
  517. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf95241">Alternatives to MobileMe for syncing calendars between iPad/Mac</a> (1 message)</LI>
  518.  
  519. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf94dbb">Free anti-virus for the Mac</a> (20 messages)</LI>
  520.  
  521. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf934e6">iTunes 10 syncing iPod Touch 4.1</a> (2 messages)</LI>
  522.  
  523. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf92a22">Thoughts about Ping</a> (16 messages)</LI>
  524.  
  525. </ul>
  526.  
  527. <div class="tearoffbox_wide_bottom_p"> </div>
  528.  
  529. </div><!-- end tearoffbox_wide -->
  530.  
  531. </div><!-- end tearoffbox_wide_container for TBtalk items -->
  532.  
  533. <!-- start takecontrol_ad -->
  534. <script type='text/javascript'><!--// <![CDATA[
  535.     OA_show(7);
  536. // ]]> --></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 -->
  537.  
  538. <!-- begin tearoff box 2 -->
  539.  
  540. <div class="tearoffbox_wide_container">
  541.  
  542. <div class="tearoffbox_wide_p">
  543. <p class="tearoffbox_wide_top_p"> </p>
  544.  
  545. <h5>Related Articles</h5>
  546. <ul>
  547. <li><a href="/article/6129">PageSpinner 3.0 Enhances HTML Editor</a> (25 Sep 00)</li>
  548. <li><a href="/article/5246">PageSpinner 2.1 Released</a> (25 Jan 99)</li>
  549. <li><a href="/article/5245">PageSpinner 2.1 Released</a> (20 Jan 99)</li>
  550. <li><a href="/article/4848">PageSpinner Extension Spins Sites</a> (27 Apr 98)</li>
  551. <li><a href="/article/4824">PageSpinner Extension Spins Sites</a> (15 Apr 98)</li>
  552. <li><a href="/article/4216">HTMLbits: Taking New Software Out for a Spin</a> (27 Oct 97)</li>
  553. <li><a href="/article/741">BBEdit 4.0.2: Speaks Softly but Carries a Big Stick</a> (10 Feb 97)</li>
  554.  
  555. </ul>
  556.  
  557. <p class="tearoffbox_wide_bottom_p"> </p>
  558.  
  559. </div><!-- end tearoffbox_wide -->
  560. </div><!-- end tearoffbox_wide_container -->
  561.  
  562. <!-- end tearoff box 2 -->
  563.  
  564.  
  565. <!-- begin tearoff box for series -->
  566.  
  567. <div class="tearoffbox_wide_container">
  568.  
  569. <div class="tearoffbox_wide_p">
  570. <p class="tearoffbox_wide_top_p"> </p>
  571.  
  572. <h5>Other articles in the series <a href="/series/1010">HTML Editors</a></h5>
  573. <ul>
  574. <li><a href="/article/4216">HTMLbits: Taking New Software Out for a Spin</a> (27 Oct 97)</li>
  575. <li><a href="/article/4086">Spinning the Web Part 7: FrontPage, Fusion, and Final Thoughts</a> (04 Aug 97)</li>
  576. <li><a href="/article/4080">Spinning the Web Part 6: Linking up with Site Managers</a> (28 Jul 97)</li>
  577. <li><a href="/article/2699">Spinning the Web Part 5: New Frontiers</a> (21 Jul 97)</li>
  578. <li><a href="/article/2218">Spinning the Web Part 4: CyberStudio</a> (07 Jul 97)</li>
  579. <li><a href="/article/2210">Spinning the Web Part 3: Basic Visual HTML Editing</a> (30 Jun 97)</li>
  580. <li><a href="/article/2205">Spinning the Web Part 2: PageSpinner Meets the Competition</a> (23 Jun 97)</li>
  581.  
  582. </ul>
  583.  
  584. <p class="tearoffbox_wide_bottom_p"> </p>
  585.  
  586. </div><!-- end tearoffbox_wide -->
  587. </div><!-- end tearoffbox_wide_container -->
  588.  
  589. <!-- end tearoff box -->
  590.  
  591.  
  592.  
  593.  
  594. <!-- begin tearoff box 1 -->
  595.  
  596. <div class="tearoffbox_wide_container">
  597.  
  598. <div class="tearoffbox_wide">
  599. <p class="tearoffbox_wide_top"> </p>
  600.  
  601. <h5>Published in <a href="/issue/384">TidBITS 384</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  602. <ul>
  603. <li><A HREF="/article/2192">Virtual PC News</A></li>
  604. <li><A HREF="/article/2193">WebCollage</A></li>
  605. <li><A HREF="/article/2194">Crossing the Platform Bar</A></li>
  606.  
  607. </ul>
  608.  
  609. <p class="tearoffbox_wide_bottom"> </p>
  610.  
  611. </div><!-- end tearoffbox_wide -->
  612. </div><!-- end tearoffbox_wide_container -->
  613.  
  614. <!-- end tearoff box 1 -->
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622. <div id="rightcolumn_bottom">
  623.  
  624. </div>
  625.  
  626.     </div><!-- end rightcolumn -->
  627.  
  628.  
  629. </div><!-- end rightcolumn_container -->
  630.  
  631.  
  632.  
  633. <!-- featured articles -->
  634.  
  635. <div id="center_ajax_sub" class="instapaper_body">
  636.  
  637. <!-- google_ad_section_start -->
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658. <!-- issue, article, or series -->
  659.  
  660.     
  661.     
  662.     
  663.     
  664.     
  665.         
  666.     <!-- show article(s) -->
  667.     <div class="article"><a name="2925"></a>
  668.     
  669. <!-- comment initialization routine as needed -->
  670. <div class="popup_box_with_captcha" id="hc_2925" style="display: none">
  671.     <div class="tip_box_format">
  672.     <div id="hc_innards_alt_2925" style="display: none">
  673.             <div class="tbf_row">
  674.                 <div class="tbf_wide_80" id="hc_small_response_2925"></div><div class="x_close_row" id="hc_upper_right1_2925"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2925', 'hc', '2925'); return true;">Close</a></div>
  675.  
  676.             </div>
  677.     </div>
  678.     <div id="hc_innards_2925">
  679.         <div class="tip_box_form">        
  680.             <form action="foobar.cgi" method="get" name="check_human_2925">
  681.             <div class="tbf_row">
  682.                 <div class="tbf_wide_80" id="hc_rc_2925">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_2925"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2925', 'hc', '2925'); return true;">Close</a></div>
  683.  
  684.             </div>
  685.             <div class="spacer"></div>
  686.             <div class="tbf_row" id="hc_message_box_2925" style="display:none">
  687.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_2925"></div></div>
  688.             </div>
  689.             <div class="spacer"></div>
  690.             <div class="tbf_row">
  691.                 <div class="tbf_wide"><div id="hc_recaptcha_2925"></div></div>
  692.             </div>
  693.             <div class="spacer"></div>
  694.             <div class="tbf_row">
  695.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '2925', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="2195"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  696.             </div>
  697.             <div class="spacer"></div>
  698.             </form>
  699.         </div><!-- end tip_box_form -->
  700.     </div><!-- end hum box innards -->
  701.     </div><!-- end tip box format -->
  702. </div><!-- end tip_submit box-->
  703.  
  704.  
  705.  
  706.         
  707.         
  708.         <!-- specific article details here -->
  709.         
  710.         
  711.             
  712.         
  713.     
  714.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  715.         
  716.         <div class="featured_meta"><div class="meta_article">16 Jun 1997 | <a href="/article/2195?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>
  717.  
  718.         <H2>Spinning the Web Part I: Trade-offs and PageSpinner</H2>
  719.  
  720.         <p class="byline">by <a href="/author/Tonya%20Engst">Tonya Engst</a> <a href="javascript:void(0)" onClick="document.check_human_2925.submit_type.value='email'; document.check_human_2925.author_id.value='10'; ShowTipBox('hc_2925', 'hc_recaptcha_2925')"><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>
  721.  
  722.         <!-- article text -->
  723.         
  724.         <div id="article_box_2925"><P>Watching the Web authoring field change is like watching a volcano-studded island. Sure, you get a few months of calm, but then a spurt of new product releases wreaks havoc on the landscape. TidBITS hasn't reviewed many Web authoring programs lately, and it's time to correct that lapse. In this multi-part series, I plan to discuss much of the Web authoring software that has come out recently, with a focus on products that I think are most notable.</P><P><STRONG>Choose Your Poison</STRONG> -- In choosing software for making Web pages, you generally trade easy layout for precise control, and most products fit neatly in a range between those two ideals. When choosing software, it's important to match your requirements to that range.</P><P>Our Web site is a great example of one that leans toward precise control. Because our pages stick around for so long, we avoid newfangled techniques that look great in modern browsers but have a greater potential to break in the future. A Web authoring tool that creates HTML behind the scenes make us nervous, because we can't control what it's doing. Also, in our seven-year history, we've undergone two major conversions of back issues: HyperCard to setext, and then setext to HTML. This has taught us the value of uniform formatting - it's easier to run macros on uniformly formatted documents. We also don't have bosses breathing down our necks, so our site can evolve slowly.</P><P><<A HREF="http://www.tidbits.com/">http://www.tidbits.com/</A>></P><P>In contrast, webmasters creating sites that must go up overnight or that will have short lives have neither time nor incentive to worry about perfect, uniform HTML. These people require quick, easy layout.</P><P>For instance, programs like NetObjects Fusion offers easy layout - page layout always occurs on a grid, and you can drag page elements to any location. The grid converts to an HTML table behind the scenes. You cannot edit HTML within Fusion, and you would not wish to - the table tags are extremely complex. (Although Fusion 2.0 ships with the free BBEdit Lite, BBEdit Lite is for use with "external pages," which cannot be edited in Fusion.) However, Fusion makes it easy to prototype and assemble a site rapidly.</P><P><<A HREF="http://www.netobjects.com/">http://www.netobjects.com/</A>><BR><<A HREF="http://www.barebones.com/freeware.html">http://www.barebones.com/freeware.html</A>></P><P>Next come tools like Adobe PageMill. PageMill expects you to work in a view that works like a word processor - you can't drag stuff around willy-nilly as you can in Fusion. There is an HTML view for editing HTML directly, but you get the impression Adobe doesn't understand why you'd want to. The HTML from the likes of PageMill is usually human readable, though it tends to lack the uniformity required for automation.</P><P><<A HREF="http://www.adobe.com/prodindex/pagemill/main.html">http://www.adobe.com/prodindex/pagemill/ main.html</A>></P><P>Finally, the spectrum ends with HTML editors like PageSpinner, where you work with HTML directly and see the visual results secondarily in a Web browser. Such an application makes it easy to create uniform, precise HTML, but you may have trouble visualizing what you are doing, and experimenting with layouts will be time consuming.</P><P><<A HREF="http://www.algonet.se/~optima/pagespinner.html">http://www.algonet.se/~optima/pagespinner.html</A>></P><P>A program that spans the divide between easy layout and precise control is GoLive's CyberStudio Pro. CyberStudio Pro gives you an optional grid for drag-it-anywhere layouts, and it also provides quick access to the underlying HTML of any page.</P><P><<A HREF="http://www.golive.com/">http://www.golive.com/</A>></P><P>Of course, there are other criteria for choosing Web authoring software, like whether you want to learn HTML, whether you tend to include a lot of plug-ins, whether you require site management features, and so on. Whatever your requirements, the rest of this installment will fill you in on PageSpinner 2.0.1 from Optima Systems and glance at cascading style sheets, a cool HTML specification.</P><P><STRONG>A Great Value</STRONG> -- At $25, PageSpinner represents one of the best shareware values I've seen. At first glance, PageSpinner is deceptively simple. After launching, it displays a new document, populated by the HTML skeleton of a Web page. A simple toolbar holds basic options for tagging for the likes of bold text and horizontal rules, and a quick tour of the menus shows commands for styling text, setting up a table, and so on. A new user might read the fairly good Apple Guide-based description of how HTML works, and then plunge in using these immediately obvious options. Alert users will quickly identify modern features like an FTP upload (via a link to Fetch or Anarchie, though no download or integrated on-server editing), forms, and frames.</P><P><STRONG>Options Galore</STRONG> -- PageSpinner's preferences offer a startling level of flexibility. For instance, if you don't want to see a new document when you start up, you can instead show an Open dialog, show a New dialog (which has extensive page setup features), or do nothing. Another notable setting is whether the bold and italic toolbar buttons set bold and italic tags, or strong and emphasis tags. In PageSpinner you can set whether Return or Command-Return automatically inserts a paragraph tag (you can use paragraph end-tags also, if you like). PageSpinner also has sensible keyboard shortcuts for inserting line breaks and horizontal rules.</P><P>Those who frequently work with upper-ASCII characters will love how PageSpinner treats these characters. One option keeps them in the document as they are typed on the Mac. Another converts them to the ISO 8859-1 character set, often used internationally. Save a file in either of these two formats, and the characters will look the same after the save. Finally, upper-ASCII characters can be converted to HTML entities, which, though correct, are awkward to read within an HTML document.</P><P>Another option that speaks to PageSpinner's flexibility is the User Tags feature, which enables users to create up to 18 tags of their own.</P><P><STRONG>Just Kitting</STRONG> -- What makes PageSpinner a great value isn't its basic feature set, or even its flexibility. PageSpinner is less a program and more an HTML Assembly Kit - much like a Young Scientists' Chemistry Kit, with helpful instructions and easy projects for creating your very own quivering goo. It also has advanced projects, and those require exploration to find.</P><P>PageSpinner provides an HTML Assistant (accessed via a menu or you can just keep its window open), which has plenty of in-context help and gives working examples that you can paste into a document. Examples range from basic HTML (such as setting up links or headers) to advanced topics like JavaScript and frames. I've found the Assistant a great way to refresh my memory, and also a helpful stepping stone to learning new tags.</P><P>PageSpinner uses extensions (these work like plug-in modules, not system extensions) to add new features, and those who want to venture past the basic feature set will note an extension (plus help) for creating cascading style sheets (technically known as Cascading Style Sheets, Level 1, or CSS1). In its full implementation, CSS1 can flexibly specify fonts, sizes, position, blank space, colors, and more. Most measurements can be set specifically or generally (for instance, a font size could be 18 point or "extra large"). CSS1 is partially supported by Microsoft Internet Explorer and - in theory - will be robustly supported in Internet Explorer 4 and Netscape Communicator 4.</P><P><<A HREF="http://www.w3.org/pub/WWW/TR/REC-CSS1">http://www.w3.org/pub/WWW/TR/REC-CSS1</A>></P><P>Style sheets have two compelling features. First, they work much like style sheets in a word processor - to change the look of every heading in a document, you change it once in the style sheet, not 50 times in the document. Style sheets can apply to a page section, an entire page, or even an entire site. Second, they separate structure from style, so pages can have simple HTML but still display in visually oriented glory in CSS1-savvy browsers (and, yes, at least in current examples and the spec, you can turn off style sheets in CSS1-savvy browsers, if you wish).</P><P>Other PageSpinner extensions help with creating JavaScripts, inserting Java applets, and handling Netscapisms like snaking columns and spacer tags.</P><P>PageSpinner unfolds further if you examine the files that come with it. I found directions for setting up "include" files (these are not server-side includes). An include file acts as a container for information referenced from within an HTML file. For example, if a group of Web pages all end with the same content, you could put that content in an include file. Then, on the Web pages, you'd simply add a pointer to the include file. Should you wish to change the content, you change only the include file and then update the entire group of pages, a much faster process than modifying each page by hand. Includes can also quickly update the time or date.</P><P>There's also a collection of sample AppleScripts that link PageSpinner to other applications. For example, one script turns the contents of a Eudora mailbox into a sensibly organized Web page (this works best for smaller mailboxes). More generally, sample scripts show how to create Web pages from FileMaker Pro, HyperCard, and 4D Server. I generally shy away from scripting; however, when exploring PageSpinner, I easily created my first JavaScript and modified the AppleScript that turns Eudora mailboxes into Web pages. I feel as though PageSpinner helped me wedge open a heavy door.</P><P><STRONG>Team Player</STRONG> -- As icing on the cake of PageSpinner's you-can-do-it attitude, PageSpinner is a team player. For example, PageSpinner doesn't come with a spelling checker, but you can link its Check Spelling command to any clipboard-based spelling checker. More impressively, PageSpinner comes with a hierarchical Web Tools menu, loaded with commands that you configure to match popular non-commercial utilities that ably supplement PageSpinner's feature set.</P><P><STRONG>But What About...?</STRONG> PageSpinner has a few problems that need fixing: drag & drop for words isn't smart about inserting an extra space to accommodate a dropped-in word, the Find and Replace feature can't search on "whole word only," (so a search for "test" also finds "testing"), and there are a few references to an Alt key in the dialog boxes. Perhaps my main criticism of PageSpinner is that its documentation is scattered among numerous documents - there's no uniform way to access the information.</P><P>In terms of price, PageSpinner's closest competitor is the shareware HTML Web Weaver Lite, from Miracle Software, which costs $25 ($15 educational). HTML Web Weaver Lite feels rougher than PageSpinner in overall use and lacks key features like tables, frames, and forms. You might also compare PageSpinner to the freeware BBEdit Lite 4.0.1 from Bare Bones Software, which - when supplemented with appropriate BBEdit extensions - is a serviceable HTML editor with a price that can't be beat.</P><P><<A HREF="http://www.miracleinc.com/">http://www.miracleinc.com/</A>><BR><<A HREF="http://www.barebones.com/freeware.html">http://www.barebones.com/freeware.html</A>></P><P>Feature-wise, PageSpinner compares most directly to BBEdit 4.0.4 and Miracle Software's commercial World Wide Web Weaver 2.1 (W4). Next week, we'll check out W4 in more detail (especially its cool auto-preview feature) and note some of BBEdit's key HTML features. (For a full review of BBEdit, see <A HREF="http://www.tidbits.com/tb-issues/TidBITS-365.html">TidBITS-365</A>.)</P><!-- Spinning the Web Part I: Trade-offs and PageSpinner Tonya Engst --></div>
  725.         
  726.  
  727.         <!-- end article text -->
  728.     
  729.         
  730.         <!-- PayBITS -->
  731.         
  732.  
  733.         
  734. <p> </p><div class="sponsorbox">
  735. <div class="sponsortext"><A HREF="http://crashplan.com/ref/tidbits.html"><IMG SRC="http://db.tidbits.com/images/badges/CrashPlan.png" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>CrashPlan is easy, secure backup that works everywhere. Back up<br />to your own drives, computers, and online with unlimited storage.<br />With unlimited online backup, this is one resolution you can keep.<br />Back Up Your Life Today! <<a href="http://crashplan.com/ref/tidbits.html">http://crashplan.com/ref/tidbits.html</a>></div>
  736. </div>
  737. <div class="sponsorbox_bottom"> </div>
  738.  
  739.  
  740.         <!-- comments section -->
  741.         
  742.         <!-- end comment show-->
  743.         
  744.         <!-- end comments section -->
  745.  
  746.  
  747.         <!-- end article loop details -->
  748.         
  749.         
  750.  
  751.         
  752.     </div><!-- end show article -->
  753.     
  754.     
  755.  
  756.  
  757. <!-- article_plus end -->
  758. <!--
  759. </DIV>
  760. --><!-- end main_column DIV -->
  761.  
  762.  
  763. <!-- google_ad_section_end -->
  764.  
  765. </div><!-- end center AJAX insert -->
  766.  
  767. <!-- TipBITS Search Results Lozenge -->
  768. <div id="tipbits_results_loz" style="display:none">
  769. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  770. <div class="tip_footer">
  771. <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>
  772. </div>
  773. <div class="tip_footer_bottom">
  774.  </div>
  775. </form>
  776. </div><!-- end TipBITS Search Results lozenge -->
  777.  
  778.  
  779.  
  780.  
  781. <!-- begin footer -->
  782. <div id="footer">
  783.  
  784. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/2195.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  785. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  786. Web and mailing list host.</p>
  787. <p>Unless otherwise noted, this article is copyright © 1997 <a href="/author/Tonya%20Engst">Tonya Engst</a></p>
  788. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  789. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  790.  
  791. <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>
  792.  
  793. </div><!-- end footer -->
  794.  
  795.  
  796. </div> <!-- end centercolumn -->
  797.  
  798. <div class="center_bottom"> </div>
  799.  
  800. </div> <!-- end centercolumn_border -->
  801.  
  802.  
  803. </div> <!-- end content_container -->
  804.  
  805. </div> <!-- end mainbody -->
  806.  
  807.  
  808. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  809. </script>
  810. <script type="text/javascript">
  811. _uacct = "UA-276924-3";
  812. urchinTracker();
  813. </script>
  814. <script type="text/javascript"
  815. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  816. <script type="text/javascript">
  817. var skimlinks_pub_id = '2559X585851';
  818. var skimlinks_domain = 'go.tidbits.com';
  819. skimlinks();
  820. </script>
  821. </body>
  822. </html>
  823.  
  824.