{"id":235,"date":"2005-03-07T13:00:34","date_gmt":"2005-03-07T05:00:34","guid":{"rendered":"http:\/\/www.nargalzius.com\/blog2\/http:\/www.nargalzius.com\/blog2\/archives\/2005\/03\/2005_03_07_1300.php"},"modified":"2017-02-10T04:05:42","modified_gmt":"2017-02-10T04:05:42","slug":"ecto-schmecto","status":"publish","type":"post","link":"http:\/\/nargalzius.com\/blog\/archives\/2005\/03\/07\/ecto-schmecto","title":{"rendered":"Ecto-schmecto"},"content":{"rendered":"<p>I apologize to the <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a>-supporters out there, but quite frankly, that piece of software you love, can be quite intrusive at times.<\/p>\n<p>Since I heard <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> was the best offline blog-manager out there, of course I had to see what&#8217;s up and give it a try. I&#8217;ve been using <a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a> for the longest time and was quite happy with it save for one problem: You could only keep an offline cache of the last 30 posts you&#8217;ve made.<\/p>\n<p>I thought <em>&#8220;Hey, since <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> can do <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">Markdown<\/a> too, then there&#8217;s nothing to lose.&#8221;<\/em> &#8211; or so I thought.<\/p>\n<!--more-->\n<p>Before everything else, I acknowledge that <a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a> probably has a differnet &#8220;type-of-user-market&#8221; from <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> altogether&#8230; so some points here may be contested by either side saying <em>&#8220;but this is how <strong>we<\/strong> do this, and this is how <strong>we<\/strong> do that.&#8221;<\/em> If you&#8217;re that type of user, then this article is probably not for you.<\/p>\n<h1>MarsEdit: How <em>I<\/em> blog<\/h1>\n<p>Ok first you&#8217;d have to understand how I go about my blogging business. As you know <a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a> and <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a>, basically offer the same thing: a faster way to blog. By not being at the mercy of servers processing requests here and there, these tools allow you to draft your posts offline, then simply contact the server and apply the necessary additions\/changes <strong>when you&#8217;re done.<\/strong><\/p>\n<p>For me, using an offline weblog manager is a no-brainer&#8230; but which one to use&#8230; <em>aye there&#8217;s the rub!<\/em><\/p>\n<p>I&#8217;ve been a rabid <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> supporter ever since I first heard of it, I has managed to keep my back-end code neat and clean: I can export <strong>all<\/strong> my blog entries to mere textfiles and they would <em>still<\/em> be readable (with minimal or no HTML code clutter)<\/p>\n<p>If you check my blog&#8217;s pagesource, you&#8217;d see it&#8217;s still in xhtml. That&#8217;s because <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> is only applied when publishing. What does this imply? The actual <strong>source<\/strong> (which is stored in the database) is <em>still<\/em> in the simplified <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> format. Why am I mentioning this? Because this is where Ecto seems to drop the ball on their <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> support.<\/p>\n<p>Just as I prefer my code in web-development in Notepad\/BBEdit, I want my blog code <strong>untouched<\/strong> So basically, my <strong>only<\/strong> requirement is <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> support &#8211; and that support is of course just for the &#8220;preview&#8221; pane <strong>alone<\/strong>.<\/p>\n<p><a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a> does this perfectly: I still edit my code as-is, but the preview pane shows it with the <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> formatting applied<\/p>\n<h1>Enter Ecto<\/h1>\n<p><a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> has been around a long time, hence the software has matured as far as &#8220;features&#8221; are concerned. It&#8217;s really a beautiful piece of software. I&#8217;d switch to it in a heartbeat if it would just resolve the issues I&#8217;m about to discuss in this post.<\/p>\n<p>One of the main feature&#8217;s <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> has to offer is of course code-automation, meaning shortcuts that can generate your tedious xhtml tags quickly. Hence their <code>Rich Text<\/code> formatting is a big hit to the users who want that <em>WYSIWYG<\/em> feel. It requires less brainpower to use, hence <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> users can just focus on the <em>content<\/em> of their posts.<\/p>\n<p>Now, <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> supports <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a>, and <strong>if<\/strong> enabled, you basically have no problems with it. But that is a resounding <strong>if.<\/strong> This is also where <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a>&#8216;s intrusiveness come&#8217;s in.<\/p>\n<h2>The Story<\/h2>\n<p>I set <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> up, everything went fine. I also am very pleased to see that I can import any <em>n<\/em> number of posts. Great! I set it to import <strong>all<\/strong> my posts. No problem! Then I check out how it &#8220;edits&#8221; published posts. Now this is where the madness begins (cue <em>The Shining<\/em> background noise\/music)<\/p>\n<p>First of, to <em>use<\/em> <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a>, you have to set it to <code>xhtml\/html<\/code> mode (default is <code>rich text<\/code>) Fair enough. But you can <em>only<\/em> set this &#8220;editing mode&#8221; <strong>after<\/strong> it has opened the post\/draft. The editing mode is grayed out when you&#8217;re in the main window&#8230; and there&#8217;s no option to <em>force<\/em> or <em>disable<\/em> editing modes to circumvent the problem.<\/p>\n<p>What does this entail? Assuming you&#8217;ve written something with <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> code before &#8211; if <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> <em>happens to<\/em> open it in <code>rich text<\/code> (I say &#8220;happens to&#8221; because as I said before, you don&#8217;t get to pick editing modes from the main window), it will parse the source as such, and when you <em>then<\/em> switch to <code>html<\/code> mode, your once simple syntax is now riddled with html code! In short, you lose your <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> syntax totally &#8211; no way to bring it back.<\/p>\n<p>This is a horrible situation to be put in, especially if you like editing previously published posts. It mentions something about &#8220;setting the default formatting options,&#8221; which again is only accessible on the draft\/edit window (and only applies to such). I did that, and for some reason it <em>sometimes<\/em> remembers the settings, and <em>sometimes<\/em> it just goes back to <code>rich text<\/code> mode.<\/p>\n<p>If you hand-code via <code>html<\/code> syntax, it would be fine since toggling between <code>rich text<\/code> and <code>html<\/code> retains the inherent &#8220;source&#8221; which is html-formatted. If you&#8217;re a <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> user however, you have to be <strong>extremely careful<\/strong> with the formatting buttons you press &#8211; you may just lose everything in a heartbeat.<\/p>\n<h2>So what? It&#8217;s not like users care about the &#8220;source&#8221;<\/h2>\n<p>That is true as far as the readers are concerned, they still see the html output anways. But as I mentioned before, the reason I use <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> is so I have a clean readable format in case I decide to simply print directly from the DB. Plus the less clutter you have, the easier it is to edit. The problem with <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> is that if you edit something made with <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> (and assuming it successfully opens it <code>html<\/code> mode (which retains the <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> syntax) &#8211; if you switch to <code>rich text<\/code> then re-publish, the code stored on the database itself will now be html formatted, hence if you try to edit that again&#8230; you can <strong>never<\/strong> get your <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\" title=\"What is MarkDown\">MarkDown<\/a> syntax back&#8230; <strong>ever!<\/strong><\/p>\n<h2>Categories<\/h2>\n<p>Another issue is the way <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> handles multiple categories: In my blog I have category icons &#8211; the icon accompanying a post is usually the <em>primary<\/em> category of that post. Ergo I can have a post included in 10 categories, but the icon still will show the category of <strong>my choosing<\/strong><\/p>\n<p>What makes this significant? Weblog systems usually list categories in alphabetical order. If you select multiple categories, regardless which category you set as primary, it still will display it in alphabetical order.<\/p>\n<p>The problem in <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> is it assumes the latter argument for all users, when clearly it&#8217;s not the case. So if you have 2 posts, spanning 3 categories called <em>general, technology,<\/em> and <em>nonsense.<\/em> Suppose you wanted the first&#8217;s primary as technology, and the other&#8217;s primary as nonsense. When you publish that with <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a>, it will display <strong>both<\/strong> as <em>General.<\/em> Why? Because it entered the categories alphabetically &#8211; and the server probably assumed the first one entered was the <em>primary<\/em> category.<\/p>\n<p><a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a> on the other hand, <strong>boldens<\/strong> the first category you check and sets it as the primary (I surmise that when submitting to the server, it sends that category first, then the rest alphabetically. So in my blog, even if the categories under the title are still alphabetically arranged &#8211; you can still see that the icon correctly represents the <em>primary<\/em> category I chose.<\/p>\n<p>Developers should <strong>never<\/strong> assume how end-users use services. It&#8217;s one thing to anticipate stuff to make an interface more intuitive &#8211; provide the functions that can make a task easier. It&#8217;s another thing to assume the required processes in which these tasks are done.<\/p>\n<h1>Back to MarsEdit<\/h1>\n<p>So now, I&#8217;m back to <a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a>, I have to live with the problem of it downloading 30 posts maximum. Now I know <a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a> developers should also not assume that people will never need more than <em>n<\/em> number of recent posts cached offline &#8211; but I&#8217;m sure you agree with me that <em>that<\/em> fault is far more forgivable than <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a>&#8216;s formatting antics.<\/p>\n<p>Still I still give props to <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> for their feature-set. But they have to understand the reason why <a href=\"http:\/\/ranchero.com\/marsedit\/\" title=\"What is MarsEdit\">MarsEdit<\/a> is thriving despite its lack of features, is because it implements the &#8220;basic stuff&#8221; better than <a href=\"http:\/\/ecto.kung-foo.tv\/\" title=\"What is Ecto?\">Ecto<\/a> does.<\/p>","protected":false},"excerpt":{"rendered":"<p>I apologize to the Ecto-supporters out there, but quite frankly, that piece of software you love, can be quite intrusive at times. Since I heard Ecto was the best offline blog-manager out there, of course I had to see what&#8217;s up and give it a try. I&#8217;ve been using MarsEdit for the longest time and &hellip; <p class=\"link-more\"><a href=\"http:\/\/nargalzius.com\/blog\/archives\/2005\/03\/07\/ecto-schmecto\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Ecto-schmecto&#8221;<\/span><\/a><\/p><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[4,5,9,6,13],"tags":[377,741,745],"class_list":["post-235","post","type-post","status-publish","format-standard","hentry","category-general","category-internet","category-nargalzius","category-reviews","category-technology","tag-ecto","tag-markdown","tag-marsedit"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts\/235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/comments?post=235"}],"version-history":[{"count":1,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts\/235\/revisions"}],"predecessor-version":[{"id":1820,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/posts\/235\/revisions\/1820"}],"wp:attachment":[{"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/media?parent=235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/categories?post=235"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nargalzius.com\/blog\/wp-json\/wp\/v2\/tags?post=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}