<rss version="2.0">
  <channel>
    <title>Affrus 2 on Mark Alldritt</title>
    <link>https://Alldritt.micro.blog/categories/affrus-2/</link>
    <description></description>
    
    <language>en</language>
    
    <lastBuildDate>Fri, 31 Dec 2010 16:20:24 -0700</lastBuildDate>
    
    <item>
      <title>A Better Text Find &amp; Replace User Interface</title>
      <link>https://Alldritt.micro.blog/2010/12/31/a-better-text.html</link>
      <pubDate>Fri, 31 Dec 2010 16:20:24 -0700</pubDate>
      
      <guid>http://Alldritt.micro.blog/2010/12/31/a-better-text.html</guid>
      <description>&lt;p&gt;I have never been happy with the Text Find &amp;amp; Replace panel in my applications (Script Debugger and Affrus).  I started with a version of the Find panel that first appeared in Apple&amp;rsquo;s Text Edit and many other early Mac OS X applications.  Here&amp;rsquo;s an example from the currently shipping version of Script Debugger 4.5:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://blog.latenightsw.com/wp-content/uploads/2010/12/SD4.5FindPanel.png&#34; alt=&#34;SD 4.5 Find Panel&#34;&gt;&lt;/p&gt;
&lt;p&gt;The problem here is that the user has to switch their focus away from the text they are editing to the Find &amp;amp; Replace panel.  They have to manage the Find panel window by summoning it, closing it, and moving it out of the way if the text they search for lies behind the window.&lt;/p&gt;
&lt;p&gt;Then, Xcode came along with its Find &amp;amp; Replace panel integrated directly into the text editor window (similar to how Safari integrated its text search directly into the web browser window):&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://blog.latenightsw.com/wp-content/uploads/2010/12/Xcode3InlineFind.png&#34; alt=&#34;xCode 3 Inline Find Panel&#34;&gt;&lt;/p&gt;
&lt;p&gt;I came to admire this UI in my day-to-day development and copied it for Affrus 2.  However, very quickly my Tech Writer and collaborator &lt;a href=&#34;http://www.apeth.net/matt/&#34;&gt;Matt Neuburg&lt;/a&gt; complained that he didn&amp;rsquo;t like it because he could not easily see or control the find options (Regular Expressions, Match Words, Ignore Case, etc.).  I had a search field popup menu that provided access to these features, but it was not obvious and was clumsy to use.  To solve this problem I expanded the inline find panel a little to make these options visible and easily changed.  Here&amp;rsquo;s how this appears in Affrus 2 Alpha:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://blog.latenightsw.com/wp-content/uploads/2010/12/Affrus2.0a5InlineFindReplace.png&#34; alt=&#34;Affrus 2.0a5 Inline Find Panel&#34;&gt;&lt;/p&gt;
&lt;p&gt;The problem here is that the inline Find &amp;amp; Replace panel is starting to use up too much valuable vertical space in the window and there are a lot of tightly packed small controls that are difficult to use.&lt;/p&gt;
&lt;p&gt;As I was working on a related problem in Script Debugger 5, I came across an idea.  Script Debugger 4.5&amp;rsquo;s dictionary window has a search field in its toolbar.  This search field includes a popup menu where the user can control the scope of the search:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://blog.latenightsw.com/wp-content/uploads/2010/12/SD4.5FindOptions.png&#34; alt=&#34;SD4.5 Dictioanry Search Field&#34;&gt;&lt;/p&gt;
&lt;p&gt;This UI was a total failure.  The users who were lucky enough to discover these search options found the menu difficult to use as they had to make several trips through the menu to configure the search.&lt;/p&gt;
&lt;p&gt;I came across &lt;a href=&#34;http://mattgemmell.com/2007/10/03/maattachedwindow-nswindow-subclass&#34;&gt;Matt Gemmell&amp;rsquo;s MAAttachedWindow NSWindow&lt;/a&gt; implementation which gave me the idea of placing the search options in a window that only appears when keyboard focus is in the search field:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://blog.latenightsw.com/wp-content/uploads/2010/12/SD5FindOptions.png&#34; alt=&#34;SD5.0 Dictionary Search Field&#34;&gt;&lt;/p&gt;
&lt;p&gt;While I still am not totally happy with the popup window&amp;rsquo;s appearance and reability, its functionally is dramatically better than the Script Debugger 4.5 approach.  The problem of users failing to discover these options totally goes away.&lt;/p&gt;
&lt;p&gt;Applying this design to the inline Text Find &amp;amp; Replace, I came up with this:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://blog.latenightsw.com/wp-content/uploads/2010/12/PopupInlineFind.png&#34; alt=&#34;Affrus 2 Inline Find Options&#34;&gt;&lt;/p&gt;
&lt;p&gt;This design seems to allow one to have a minimalist Find &amp;amp; Replace panel within an editing window while still offering a usable and discoverable range of search options to the user.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/2e1122e9cc.jpg&#34; /&gt; &lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/7596506698.jpg&#34; /&gt; &lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/9a3e173b35.jpg&#34; /&gt; &lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/514aa14a37.jpg&#34; /&gt; &lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/4c061c2746.jpg&#34; /&gt; &lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/954931b00e.jpg&#34; /&gt; &lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/1a89d1465d.jpg&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Affrus 2.0 Alpha</title>
      <link>https://Alldritt.micro.blog/2010/11/01/affrus-alpha.html</link>
      <pubDate>Mon, 01 Nov 2010 09:07:32 -0700</pubDate>
      
      <guid>http://Alldritt.micro.blog/2010/11/01/affrus-alpha.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;m pleased to announce that the first Affrus 2.0 Alpha build is ready for testing.  For those unfamiliar with this software, Affrus 2.0 is an editing and debugging environment that makes Perl and Ruby script development productive by keeping things simple.&lt;/p&gt;
&lt;p&gt;In recognition of your patience and invaluable input, Affrus 2.0 Alpha builds are initially available only to our existing Affrus 1.0 customers.  In order to join the Affrus 2.0 testing program you will need an Affrus 1.0 registration number and a Macintosh that runs Mac OS X 10.6 or later.  Affrus 2.0 presently supports Perl versions 5.8.9 and 5.10.0, as shipped by Apple with Mac OS X 10.6.  To join the Affrus 2.0 testing program, send your request, along with your Affrus 1.0 registration number, to &lt;a href=&#34;mailto:support@latenightsw.com&#34;&gt;support@latenightsw.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While I set out on this journey to primarily make Affrus 2.0 compatible with Snow Leopard, I could not resist adding a whole host of new features to really take things up a few notches.  Some of these include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fully native Mac OS X user interface&lt;/li&gt;
&lt;li&gt;Many Script Debugger 4.5 derived text editor features&lt;/li&gt;
&lt;li&gt;Split pane editing&lt;/li&gt;
&lt;li&gt;Viewing options&lt;/li&gt;
&lt;li&gt;Editing aids&lt;/li&gt;
&lt;li&gt;Simplified debugger window layout (less wasted space)&lt;/li&gt;
&lt;li&gt;Edit while debugging&lt;/li&gt;
&lt;li&gt;Inline Find/Replace with Regular Expression support&lt;/li&gt;
&lt;li&gt;Debugger Console accepts user input  (In Affrus 1.0, the Console could only display script output; in Affrus 2.0 you can type into the Console when a script requests input.)&lt;/li&gt;
&lt;li&gt;Debugger Console can appear in a separate window (frequent Affrus 1.0 feature request)&lt;/li&gt;
&lt;li&gt;Regular Expression Tester window&lt;/li&gt;
&lt;li&gt;Multi-languages including Perl, Ruby, and others in future (frequent Affrus 1.0 feature request)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;http://www.latenightsw.com/blog/wp-content/uploads/2010/06/Affrus2.0.png&#34;&gt;&lt;img src=&#34;http://www.latenightsw.com/blog/wp-content/uploads/2010/06/Affrus2.0Small.jpg&#34; alt=&#34;Affrus 2.0 Screenshot&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Keep in mind that this is an Alpha build so while it’s certainly functional, it’s not complete.  Expect bugs and missing features.  I ask that you decide if you can cope with the inevitable inconveniences that using an Alpha build presents before you download it.  You may also notice that certain Affrus 1.0 features are missing.  This is temporary.  Missing features will be added back as I work towards a Beta version of Affrus 2.0.  In exchange for this inconvenience, you get a chance to influence Affrus 2.0 as it nears completion.&lt;/p&gt;
&lt;p&gt;I really appreciate the support you’ve all shown during the development of this new version of Affrus.  I’ve always been focused on the needs of my fellow developers and strive to make the best tools possible.  I believe that Affrus 2.0, when complete, will not disappoint.&lt;/p&gt;
&lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/2565734d36.jpg&#34; /&gt; 
</description>
    </item>
    
    <item>
      <title>Affrus 2.0 Status Update</title>
      <link>https://Alldritt.micro.blog/2010/06/03/affrus-status-update.html</link>
      <pubDate>Thu, 03 Jun 2010 05:59:32 -0700</pubDate>
      
      <guid>http://Alldritt.micro.blog/2010/06/03/affrus-status-update.html</guid>
      <description>&lt;p&gt;The release of Mac OS X 10.6 (Snow Leopard) has rendered Affrus 1.0 unusable.  Over the last few years I&amp;rsquo;ve done little with the Affrus Perl debugger and I get regular queries about what is happening with the product.&lt;/p&gt;
&lt;p&gt;After several attempts to make Affrus 1.0 work on later Snow Leopard, I gave up.  Affrus 1 was built using CodeWarrior and Carbon and the transition to Xcode and modern versions of Carbon proved too difficult.  However, I can report that over the last few months, work has resumed on Affrus 2.0 which is a re-implementation of Affrus using Xcode and Cocoa.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a screenshot of the work to date running on Snow Leopard:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.latenightsw.com/blog/wp-content/uploads/2010/06/Affrus2.0.png&#34;&gt;&lt;img src=&#34;http://www.latenightsw.com/blog/wp-content/uploads/2010/06/Affrus2.0Small.jpg&#34; alt=&#34;Affrus 2.0 Screenshot&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am being deliberately circumspect about describing the product&amp;rsquo;s features and system requirements to avoid breaking any promises when the product is finally released.&lt;/p&gt;
&lt;p&gt;I am not yet at a point where I feel comfortable inviting Beta testers to use the product, but it won&amp;rsquo;t been too much longer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: &lt;a href=&#34;http://blog.latenightsw.com/?p=337&#34;&gt;Affrus 2.0 has gone Alpha&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/38cbe330c8.jpg&#34; /&gt; &lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/3390e9550f.jpg&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The Year Ahead - 2007</title>
      <link>https://Alldritt.micro.blog/2007/01/05/the-year-ahead.html</link>
      <pubDate>Fri, 05 Jan 2007 18:09:41 -0700</pubDate>
      
      <guid>http://Alldritt.micro.blog/2007/01/05/the-year-ahead.html</guid>
      <description>&lt;p&gt;2006 was a busy year.  I completed the re-write of Script Debugger 4 in Cocoa, ported it from CodeWarrior to Xcode, and transitioned to Intel Macs.  Along the way, there have been 5 maintenance Script Debugger 4 releases.  I had hoped to also release FaceSpan 5 in 2006, but that did not work out.&lt;/p&gt;
&lt;p&gt;As we begin another year I think its time to layout my plan for the coming year.&lt;/p&gt;
&lt;h2&gt;Script Debugger 4.0&lt;/h2&gt;
&lt;p&gt;In 2007 I’ll continue releasing maintenance updates for Script Debugger 4.  I have Script Debugger 4.0.6 waiting in the wings which will ship in the next month or so, and when Leopard (Mac OS X 10.5) ships I’m sure I’ll have to tweak the software some more.&lt;/p&gt;
&lt;h2&gt;FaceSpan 5.0&lt;/h2&gt;
&lt;p&gt;As some of you may recall, last year I acquired FaceSpan (an AppleScript-based User Interface builder) from Digital Technologies International.  I went on to release FaceSpan 4.3 which addressed the most pressing bugs in the product.&lt;/p&gt;
&lt;p&gt;In the time since the release of FaceSpan 4.3 I have been working on FaceSpan 5.  There have been some setbacks along the way and its taking more time than I planned.  However, FaceSpan 5 is progressing and I think the results are going to be worth all the effort.&lt;/p&gt;
&lt;p&gt;FaceSpan 5, Script Debugger 5 and Affrus 2 all share the same script editing code.  This means that editor improvements in one product (e.g. Regular Expression search and replace) are now quickly shared with the others.  Also, FaceSpan 5 and Script Debugger 5 share the same dictionary viewing and AppleScript debugger code.  I believe that this will make all the products progress much more quickly in the future.  Since I work largely alone, this kind of code sharing is critical to making it possible to maintain so much software.&lt;/p&gt;
&lt;p&gt;Here’s a teaser showing the new FaceSpan 5.0 project window and some of its inspectors:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.latenightsw.com/blog/wp-content/uploads/2007/01/Picture%203-22.png&#34; onclick=&#34;window.open(&#39;http://www.latenightsw.com/blog/wp-content/uploads/2007/01/Picture%203-22.png&#39;,&#39;popup&#39;,&#39;width=1076,height=778,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0&#39;);return false&#34;&gt;&lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/9392cf7f1e.jpg&#34; height=&#34;100&#34; width=&#34;138&#34; border=&#34;1&#34; hspace=&#34;4&#34; vspace=&#34;4&#34; alt=&#34;Picture 3-2&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The script editing areas you see have all of Script Debugger 4’s editing capabilities (snippets, paste tell, etc.), and when you run a project, you have all of Script Debugger’s debugging capabilities integrated directly into the FaceSpan IDE.&lt;/p&gt;
&lt;h2&gt;Affrus 2.0&lt;/h2&gt;
&lt;p&gt;Affrus 2.0 is a re-write of Affrus 1.0 (a Perl editor and Debugger) using Apple’s Cocoa Frameworks.  This is similar to the work I undertook to re-write Script Debugger as a Cocoa application.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.latenightsw.com/blog/wp-content/uploads/2007/01/Picture%202-2.png&#34; onclick=&#34;window.open(&#39;http://www.latenightsw.com/blog/wp-content/uploads/2007/01/Picture%202-2.png&#39;,&#39;popup&#39;,&#39;width=1007,height=573,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0&#39;);return false&#34;&gt;&lt;img src=&#34;https://Alldritt.micro.blog/uploads/2022/583a21abab.jpg&#34; height=&#34;100&#34; width=&#34;175&#34; border=&#34;1&#34; hspace=&#34;4&#34; vspace=&#34;4&#34; alt=&#34;Picture 2-2&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here’s a little teaser.  This screen shot shows just two Affrus 2 features: projects and tabbed editing.  Other key features for Affrus 2 are Ruby and Python debugging.&lt;/p&gt;
&lt;h2&gt;Script Debugger 4.5&lt;/h2&gt;
&lt;p&gt;Once FaceSpan 5.0 and Affrus 2.0 have shipped (and all the code has been debugged), I will release Script Debugger 4.5.  This update for Script Debugger 4.0 owners will deliver on my promise to provide scripting support and split-pane editing.&lt;/p&gt;
&lt;p&gt;Script Debugger 5.0 will have to wait for 2008, but I have big plans.  Oh, and JavaScript OSA will get some TLC along the way as well.&lt;/p&gt;
&lt;p&gt;So thats the plan for 2007.  It should be a great year with lots of new toys for everyone to play with.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>