var org = {p3k: ({url:"http://dreadfulgate.comze.com/wp/?feed=rss2", xml:"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\"\n\txmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n\txmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n\txmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n\txmlns:atom=\"http://www.w3.org/2005/Atom\"\n\txmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n\t>\n\n<channel>\n\t<title>Comic Soon(ish)</title>\n\t<atom:link href=\"http://dreadfulgate.comze.com/wp/?feed=rss2\" rel=\"self\" type=\"application/rss+xml\" />\n\t<link>http://dreadfulgate.comze.com/wp</link>\n\t<description>Everything I want you to know about making comics</description>\n\t<pubDate>Sat, 06 Feb 2010 18:42:33 +0000</pubDate>\n\t<generator>http://wordpress.org/?v=2.7.1</generator>\n\t<language>en</language>\n\t<sy:updatePeriod>hourly</sy:updatePeriod>\n\t<sy:updateFrequency>1</sy:updateFrequency>\n\t\t\t<item>\n\t\t<title>Union of Guest Heroes</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=152</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=152#comments</comments>\n\t\t<pubDate>Wed, 03 Feb 2010 13:06:23 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Networking]]></category>\n\n\t\t<category><![CDATA[Germany]]></category>\n\n\t\t<category><![CDATA[guest stirp]]></category>\n\n\t\t<category><![CDATA[webcomic]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=152</guid>\n\t\t<description><![CDATA[If you know your webcomics, you probably know Union of Heroes, Arne Schulenberg&#8217;s photo webcomic about superheroes in Germany&#8217;s Ruhrgebiet. If you don&#8217;t, I recommend it. It&#8217;s funny and strange, but it also takes its characters seriously, altogether making for very good read. And as of today, I&#8217;m part of the experience, because I&#8217;m today&#8217;s [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>If you know your webcomics, you probably know <a href=\"http://www.unionofheroes.com/\" target=\"_blank\">Union of Heroes</a>, Arne Schulenberg&#8217;s photo webcomic about superheroes in Germany&#8217;s Ruhrgebiet. If you don&#8217;t, I recommend it. It&#8217;s funny and strange, but it also takes its characters seriously, altogether making for very good read. And as of today, I&#8217;m part of the experience, because <a href=\"http://www.unionofheroes.com/comic/278-gastkuenstler-jaehling.html\" target=\"_blank\">I&#8217;m today&#8217;s guest artist</a>!</p>\n<p>It was fun working with somebody else&#8217;s characters for a change. Of course, despite trying to stay true to the characters, I took some liberties - for example, I don&#8217;t really know if the Erzengel can actually do what he does in panel 2. Well, Arne liked it, so I guess it&#8217;s okay.</p>\n<p><a href=\"http://www.unionofheroes.com/comic/278-gastkuenstler-jaehling.html\" target=\"_blank\">Enjoy!</a></p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D152&amp;linkname=Union%20of%20Guest%20Heroes\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=152</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>The Inevitable Pricing Question</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=145</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=145#comments</comments>\n\t\t<pubDate>Tue, 02 Feb 2010 14:18:39 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Book Editing]]></category>\n\n\t\t<category><![CDATA[Uncategorized]]></category>\n\n\t\t<category><![CDATA[the German book]]></category>\n\n\t\t<category><![CDATA[apps]]></category>\n\n\t\t<category><![CDATA[digital]]></category>\n\n\t\t<category><![CDATA[download]]></category>\n\n\t\t<category><![CDATA[ePublishing]]></category>\n\n\t\t<category><![CDATA[iPad]]></category>\n\n\t\t<category><![CDATA[tablet]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=145</guid>\n\t\t<description><![CDATA[You may have heard about the quarrel between bookseller Amazon and publisher Macmillan. In a nutshell, Macmillan wanted to sell their eBooks at whatever price they felt best while Amazon insisted on keeping all eBooks below $9.99. Since Amazon is That Big Market and their Kindle is pretty much the major game in town for [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>You may have heard about the quarrel between bookseller Amazon and publisher Macmillan. In a nutshell, Macmillan wanted to sell their eBooks at whatever price they felt best while Amazon insisted on keeping all eBooks below $9.99. Since Amazon is That Big Market and their Kindle is pretty much the major game in town for now, they have the power to say things like that. Usually. Macmillan disagreed, and Amazon dropped the &#8220;buy&#8221; option on all of their books, including printed ones. Later, after much hate from the bloggers&#8217; world, they released a statement that basically said they&#8217;d eventually give in to Macmillan&#8217;s pricing, but they had wanted to make a statement first.</p>\n<p>This discussion is interesting for me because I&#8217;m about to release several eBooks myself, and pricing is one of the major questions here. For years, I&#8217;ve priced my books way too low. Only recently, I&#8217;ve issued my printed book at more realistic prices while keeping the eBook prices still pretty low (&lt;1\u20ac). I really don&#8217;t have a good feeling for pricing. In print, I have a rough guideline (the printing cost), but in digital format?</p>\n<p>So when other people discuss pricing, I&#8217;m listening. Even though I&#8217;m not planning to charge anything above $9.99 myself (for the eBooks anyway), and even though this quarrel doesn&#8217;t concern me - I&#8217;m not with Macmillan, nor will Amazon carry my books any time soon. (Actually, that&#8217;s not quite true.<a href=\"http://stores.lulu.com/jaehling\" target=\"_blank\"> Lulu</a>&#8217;s new offers include Amazon listing, and one of my German books - <a href=\"http://www.amazon.com/Reception-Man-Olga-Stark-Doppel-Ausgabe/dp/B002ACZWLI/ref=sr_1_9?ie=UTF8&amp;s=books&amp;qid=1265059473&amp;sr=8-9\" target=\"_blank\">the Reception Man / Olga Stark flip book</a> - is already available at Amazon. com.)</p>\n<p>Of course, I can&#8217;t agree with Amazon&#8217;s bullying. But I have to admit I&#8217;m having a hard time sympathizing with anybody who calls $9.99 cheap. As a customer, I think that&#8217;s a lot of money for a digital file. After all, an eBook is just a cheap knock-off of its paper equivalent, and it should well be cheaper, shouldn&#8217;t it?</p>\n<p>Not from a publisher&#8217;s perspective. As <a href=\"http://scottwesterfeld.com/blog/?p=2138\" target=\"_blank\">Scott Westerfield</a> points out, printing and shipping and all the chores making the printed book expensive are just a small fraction of the book&#8217;s cover price. I&#8217;m not sure I can trust Westerfield&#8217;s math - high marketing costs will only apply to some books while the majority will have to do with a small ad in a publishing periodical -, but from a publisher&#8217;s POV, $9.99 isn&#8217;t as much as you&#8217;d think, especially when competing with a hardcover sale. Customer expectations and publishers&#8217; needs seem incompatible here.</p>\n<p>Still, two arguments seem to work in favor of cheaper eBooks:</p>\n<ul>\n<li>Since the production costs per book are zero, the relative marketing costs will diminish very quickly. Soon, you&#8217;ll have all your initial costs covered, and you still keep selling. (Ideally.)</li>\n<li>Since the eBook version, unless it&#8217;s a shiny animated high-concept eBook with an audio track, isn&#8217;t the high-profile physical object the hardcover is, it doesn&#8217;t really compete with the hardcover in the long run. It competes with the paperback. (Macmillan offered to release the eBook later, along with the paperback, but that&#8217;s not really an option, of course. People will want to read the eBook right away.)</li>\n</ul>\n<p>I don&#8217;t have a solution for this. Pricing is a bitch, and pricing a non-physical object is even harder because it doesn&#8217;t look like much, so people won&#8217;t want to pay much. Meeting in the middle doesn&#8217;t work either, because it either pays, or it doesn&#8217;t.</p>\n<p style=\"font-weight: bold;\">I do have an idea, though.</p>\n<p>People have been publishing <span style=\"font-style: italic;\">alternate versions</span> of media for ages. Hardcover books vs. paperbacks, DVDs with or without extras, the old LP/CD/cassette package. I&#8217;ve published a <a href=\"http://www.loesje.de/maxfiles/conny/albumalbum.php\">comic album both with and without an audio commentary on CD</a>, and the CD version sold much better than I&#8217;d anticipated. It <span style=\"font-style: italic;\">could</span> work for eBooks, too.</p>\n<p>If you insist on selling eBooks for more than $9.99, make them shiny. Offer a cheap, b&amp;w, DRM-infested Kindle version at Amazon for $9.99 or less -<span style=\"font-style: italic;\"> and</span> a beautiful, full-color, extended version from your own site. Extras could include an interview with the author, an additional introduction - stuff you can use in your marketing campaign anyway.</p>\n<p>I&#8217;m planning to do the same with my next book. (Not the Conny book, something else.) Three versions: One will only contain the comic, one&#8217;s a solid 36pp book with a lot of extra material, and just for fun I&#8217;m adding a 48pp hardcover book for a truckload of money (don&#8217;t you just love POD?) - all with fitting eBooks.</p>\n<p>Of course, I&#8217;m a self-publisher. I get away with a lot of things. And I don&#8217;t know if Amazon&#8217;s contracts even allow for this. But they should. After all, it&#8217;s literally none of their business.</p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D145&amp;linkname=The%20Inevitable%20Pricing%20Question\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=145</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>I&#8217;d have posted my scripts long ago, but&#8230;</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=136</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=136#comments</comments>\n\t\t<pubDate>Thu, 07 Jan 2010 18:59:01 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Vol. 2]]></category>\n\n\t\t<category><![CDATA[Writing]]></category>\n\n\t\t<category><![CDATA[celtx]]></category>\n\n\t\t<category><![CDATA[script]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=136</guid>\n\t\t<description><![CDATA[One thing I&#8217;ve always enjoyed on other people&#8217;s sites is the possibility to download and read scripts. It helps a lot when you&#8217;re preparing to write your own, and it&#8217;s still fun when you&#8217;re used to writing your own.\nAlways keen on being helpful, I&#8217;ve started posting some scripts of mine over at my German blog, [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>One thing I&#8217;ve always enjoyed on other people&#8217;s sites is the possibility to download and read scripts. It helps a lot when you&#8217;re preparing to write your own, and it&#8217;s still fun when you&#8217;re used to writing your own.</p>\n<p>Always keen on being helpful, I&#8217;ve started posting some scripts of mine over at my <a href=\"http://dreadfulgate.blogger.de\">German blog</a>, and I&#8217;d love to do the same here. There&#8217;s just one problem.</p>\n<p>They&#8217;re all in German.</p>\n<p>I could translate them, but that&#8217;s not the same, is it? I&#8217;ll probably do it anyway when the books are due and I need back space material. Until then, I present the German scripts here anyway, for the minority of you who read German, don&#8217;t care or just want to look at the layouts.</p>\n<p><span style=\"font-weight: bold;\">Sandkastengeschichten</span> (English: <a href=\"http://www.webcomicsnation.com/jaehling/conny/series.php?view=archive&amp;chapter=33122\">Tales From the Sandpit</a>): <strong><a href=\"http://www.fileden.com/files/2007/10/22/1530740/Preview/Sandkastengeschichten.pdf\">PDF</a></strong></p>\n<p><span style=\"font-weight: bold;\">Die!</span> (engl: <a href=\"http://www.webcomicsnation.com/jaehling/conny/series.php?view=archive&amp;chapter=37268%3C\">Playground Politics</a>): <strong><a href=\"http://dreadfulgate.blogger.de/getfile?name=script-die.pdf\">PDF</a> - <a href=\"http://dreadfulgate.blogger.de/getfile?name=script-die\">HTML</a></strong><br />\n<span id=\"more-136\"></span><br />\nThe scripts were written with <a href=\"http://www.celtx.com/\">Celtx</a>, and the&#8217;re formatted in Celtx&#8217; somewhat peculiar table layout that doesn&#8217;t look like the screenplay-like format we&#8217;re all used to at all. Don&#8217;t let that bug you, though. It turned out to be very practical in the writing process because it really forces you to think panel by panel. Plus, you probably won&#8217;t be able to read it anyway. (The html script looks more like the screenplay layout.)</p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D136&amp;linkname=I%26%238217%3Bd%20have%20posted%20my%20scripts%20long%20ago%2C%20but%26%238230%3B\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=136</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>So, Dollhouse, huh?</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=123</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=123#comments</comments>\n\t\t<pubDate>Mon, 16 Nov 2009 19:01:10 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Inspiration]]></category>\n\n\t\t<category><![CDATA[Writing]]></category>\n\n\t\t<category><![CDATA[television]]></category>\n\n\t\t<category><![CDATA[whedonverse]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=123</guid>\n\t\t<description><![CDATA[\nI&#8217;m sure you heard about FOX sacking DOLLHOUSE, Joss Whedon&#8217;s current show featuring Eliza Dushku? They won&#8217;t get a third season, for the usual reasons - not enough viewers by Fox standards. \nIf you know me, you know how much of a Joss Whedon fan I am. So, bummer. But I&#8217;m not just writing as [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<div style=\"float:right; margin:5px;\"><div id=\"attachment_129\" class=\"wp-caption alignright\" style=\"width: 210px\"><a href=\"http://dreadfulgate.comze.com/wp/wp-content/uploads/2009/11/eliza.jpg\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/uploads/2009/11/eliza-200x300.jpg\" alt=\"\xa9 Glenn Francis, www.PacificProDigital.com\" title=\"Eliza Dushku\" width=\"200\" height=\"300\" class=\"size-medium wp-image-129\" /></a><p class=\"wp-caption-text\">Wrong choice? Nah! - Photo: \xa9Glenn Francis, www.PacificProDigital.com</p></div></div>\n<p>I&#8217;m sure you heard about FOX sacking <a href=\"http://dollhousewiki.fox.com/page/Dollhouse+Blog\">DOLLHOUSE</a>, Joss Whedon&#8217;s current show featuring Eliza Dushku? They won&#8217;t get a third season, for the usual reasons - not enough viewers by Fox standards. </p>\n<p>If you know me, you know how much of a Joss Whedon fan I am. So, bummer. But I&#8217;m not just writing as a fan here. So, as an author, let me add: Bummer!</p>\n<p>I think we can learn a lot from this show, as writers. Both from its qualities and from its shortcomings. What makes a series compelling? How far can you deviate from that before it falls apart? How can you make it work if you can&#8217;t afford Eliza Dushku? </p>\n<p>So, while fandom is gearing up to <a href=\"http://www.whyiwatch.com/\">save the Dollhouse</a>, let me take a step back.</p>\n<p>Before the outrage, before the fears that the show might not even get a second season, back at the very beginning, even die-hard Joss Whedon fans had a hard time getting accustomed to this show. I may be wrong, but it seemed that a lot of would-be fans didn&#8217;t even know why they failed to connect with it. Some blamed it on the writing, others suggested that Eliza Dushku may have been the wrong choice to star. (Wrong! And wrong!)</p>\n<p>Me, I always liked the show, although I didn&#8217;t <em>love</em> it right away. At its worst moments, it was a lot like <a href=\"http://www.imdb.com/title/tt0364817/\" target=\"_blank\">TRU CALLING</a>, and I liked that a lot, too. At its best, DOLLHOUSE is one of the smartest shows around at the moment. (Well, as far as I know. I don&#8217;t watch that much TV.) </p>\n<p>The unique setting provokes difficult moral questions (whatdoyoumean, there&#8217;s a good side to sex slavery and brainwashing?!), and the authors don&#8217;t dodge the political consequences a dollhouse would have if it existed. All the characters have unique and believable attitudes about what they&#8217;re doing in the Dollhouse. There are a lot of grey areas, which makes this show seem more&#8230; adult than Whedon&#8217;s previous shows. </p>\n<p>But the setting also has one flaw, and I think that&#8217;s the problem with DOLLHOUSE.</p>\n<p>A good mainstream show needs a strong lead who connects to everybody around him or her. That&#8217;s because when you&#8217;re following a show, you follow the characters, not the style or ambition. They&#8217;re your way in. Your way in is your way back in, too.</p>\n<p>BUFFY had, well, Buffy, a very fine-written character with a well-defined circle of friends and foes who all had one thing in common: Her. FIREFLY, though more of an ensemble show than a strong lead show, has Mal at the heart of the crew (And when the group falls apart, he&#8217;s still at the center of it.) </p>\n<p>DOLLHOUSE has Echo. Whose very definition is that she&#8217;s not really a character. Everything circles and centers around her, but she doesn&#8217;t connect to anybody because most of the time, she&#8217;s not herself, and she doesn&#8217;t even know all those people. As a result, the show seemed uncentered at first. It&#8217;s hard to root for a character who&#8217;s somebody else each week. You don&#8217;t have a history with her.</p>\n<p>The writers solved the problem by making Caroline&#8217;s personality seep through into Echo&#8217;s, via flaws in the tech. Which made it matter on the &#8216;political&#8217; level, too. See? Told you Dollhouse is a smartly-written show.</p>\n<p>But it&#8217;s a difficult show. Of course it is. It&#8217;s a Joss Whedon show. It&#8217;s hard to connect with anybody if most everybody isn&#8217;t really a person. And that makes it a lot harder to follow the &#8216;political&#8217; dimension. </p>\n<p>I understand the network decision to cancel it. Doesn&#8217;t mean I agree - I don&#8217;t think it&#8217;s a wise choice because you can&#8217;t always put the ad revenues first - reputation is a capital, too. But I understand how it makes sense from a network executive&#8217;s point if view. (Makes me glad I&#8217;m not a network executive.)</p>\n<p>So, conclusion: We can count our blessings (all 26 of them), enjoy the hell out of the rest of the season and wait for Joss&#8217; next move; or, y&#8217;know, <a href=\"http://www.whyiwatch.com/\">save the Dollhouse</a>. Buy DVDs and all that. Don&#8217;t invite your friends over when you watch the next episodee on Dec. 4th. Tell them to watch it on their own TV set, or at least switch it on before they come over.  </p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D123&amp;linkname=So%2C%20Dollhouse%2C%20huh%3F\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=123</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>Counting my Pages</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=99</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=99#comments</comments>\n\t\t<pubDate>Fri, 06 Nov 2009 11:55:40 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Book Editing]]></category>\n\n\t\t<category><![CDATA[Vol. 2]]></category>\n\n\t\t<category><![CDATA[the German book]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=99</guid>\n\t\t<description><![CDATA[Right now, I should be thinking about the next Conny Van Ehlsing storyline - the plot idea I had fell apart when I tried to fixate it in writing -, but instead I find myself moving vector blocks around a layout file to simulate the book version. \nAll in all, Vol. 2 will probably be [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>Right now, I should be thinking about the next Conny Van Ehlsing storyline - the plot idea I had fell apart when I tried to fixate it in writing -, but instead I find myself moving vector blocks around a layout file to simulate the book version. </p>\n<p>All in all, Vol. 2 will probably be about 70-80 comics pages. 40-50 of which I&#8217;ve already got. (Having a regular webcomic really helps here!) I&#8217;m thinking of including sketches within the comics section to loosen the appearance, and there will be a making-of section as well as a small gallery, so I may end up with a 90+ page TPB. Which divides well into three 32pp singles.</p>\n<p>Since those singles will be available as downloads more than not, I&#8217;m thinking about splitting them some more. (I don&#8217;t know about you, but I like my ebooks to be a little shorter than dead tree ones. And it wouldn&#8217;t be <em>that</em> short. Also, Terry Moore seems to get away with 20 page installments, doesn&#8217;t he?) I&#8217;ve fiddled about a bit, and I could make four singles just as well as three. While I&#8217;m at it, I can even split the trade and spread it over two 48pp albums, which is a pretty regular format here. Which would, of course, do away with all the Vol.2 spin I&#8217;ve built around this run of Conny. Oh well. Small cost.</p>\n<p>I&#8217;m not aiming toward that, but it&#8217;s a good plan B. I remember the extra work I had to put in to make the 72 pages of Vol. 1 happen. It definitely beats not having an album at all for the next con. </p>\n<p>So, when am I going to publish all that? AND the English versions? AND the 24 hour comic I made last month? All before June? Because I really want to get the album out in time for to the Comic Salon in Erlangen, which is basically our version of SDCC. </p>\n<p>Four books spread across six months? Easy. December - February - April - June. I don&#8217;t want book 4 to issue after the album. I had that the last time, and I still haven&#8217;t wrapped up all of Vol. 1. Which reminds me: <em>Five</em> downloads. November - January - March - May &#8212; July? Huh. Makes Plan B more realistic, though. Or the three book edition: November - January (because there&#8217;s some seasonal stuff in #1) - March - May. And the 24h comic? Whenever. </p>\n<p>So I&#8217;ll have to weigh the different preferences against each other. Preferred page count vs. preferred story sequence vs. preferred publishing sequence. All before December because that would make me reschedule.</p>\n<p>The next idea came as an afterthought to splitting the album. There&#8217;s no reason to split it into two equal parts! I can make a 72 page album now, as Vol.2, and start saving up for Vol. 3. Instead of ending Vol. 2 with Conny re-entering school, I&#8217;d wrap it up with <a href=\"http://www.webcomicsnation.com/jaehling/conny/series.php?view=archive&#038;chapter=40417\">Professional Perspective</a>, which would work even if it&#8217;s a different focus than the one I intended. Then begin Vol. 3 in pretty much the same way as Vol. 1 - with Conny entering a new school. </p>\n<p>Of course if I do that I won&#8217;t have the opportunity to advertise the volume&#8217;s conclusion because it&#8217;s already over. On the other hand, I&#8217;m thinking about joining more webcomics networks, and the beginning of Vol. 3 would be a good starting point.</p>\n<p>I shouldn&#8217;t be thinking about these things now. What I should do is translate the next story for the German platforms and write the next adventure for the webcomic. But that&#8217;s just it. I want the next German story to be from the first single, so I&#8217;ll have to decide what&#8217;s in that issue. And the album plans make a difference for the webcomic, too - originally, the next story would have been the lead-in towards the finale. If the finale&#8217;s already done, there&#8217;s no point in that.</p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D99&amp;linkname=Counting%20my%20Pages\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=99</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>Assumed Audience Approval</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=89</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=89#comments</comments>\n\t\t<pubDate>Tue, 11 Aug 2009 13:47:59 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Comic-Making]]></category>\n\n\t\t<category><![CDATA[Writing]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=89</guid>\n\t\t<description><![CDATA[Recently on Whitechapel, somebody posted a link to America&#8217;s &#8216;most unwanted song&#8217; that got me thinking (and ranting, on Twitter - if this seems familiar to you, that may be why). This weird yet strangely compelling composition was based on a survey asking people what they really wouldn&#8217;t want to hear in a song. There&#8217;s [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>Recently <a href=\"http://freakangels.com/whitechapel/comments.php?DiscussionID=6482&amp;page=1\" target=\"_blank\">on Whitechapel</a>, somebody posted a link to America&#8217;s &#8216;most unwanted song&#8217; that got me thinking (and ranting, on <a href=\"http://www.twitter.com/dreadfulgate\" target=\"_blank\">Twitter</a> - if this seems familiar to you, that may be why). This weird yet strangely compelling composition was based on a survey asking people what they really wouldn&#8217;t want to hear in a song. There&#8217;s a companion piece, the &#8216;most wanted song&#8217;, based on the other end of that survey. <a href=\"http://bit.ly/QiUih\" target=\"_blank\">Read about the method here</a>.</p>\n<p><span class=\"status-body\"><span class=\"entry-content\">The method may seem strange, taken out of context like this, but it&#8217;s actually quite common. I wouldn&#8217;t be surprised to find most of this week&#8217;s pop charts following similar formulas. Consequently, this survey&#8217;s poster child sounds a lot like what&#8217;s on the charts anyway, only more generic and almost annoyingly boring. Really, it creeps me out, whereas the unwanted tune is </span></span><span class=\"status-body\"><span class=\"entry-content\">wacky, over-the-top, funny, extreme. I liked it.</span></span></p>\n<p><span class=\"status-body\"><span class=\"entry-content\">Of course, I don&#8217;t <span style=\"font-style: italic;\">know </span>that most music production works like this - I haven&#8217;t been there. I do seem to recall that marketing works like this, though. Anyway, the principle holds for just about any form of art. Comics, too, in case you&#8217;re wondering why you&#8217;re reading this on a comic site. How many of us have heard a publisher turn down a pitch, saying: &#8220;I love it, but our audience won&#8217;t go for it&#8221;? Different method, same idea. </span></span></p>\n<p><span class=\"status-body\"><span class=\"entry-content\">But why is the tune that&#8217;s destined to be liked &#8216;</span></span><span class=\"status-body\"><span class=\"entry-content\">unavoidably and uncontrollably&#8217; by the vast majority of listeners so horrible? Well, it&#8217;s not really a surprise if you think about it. It&#8217;s </span></span><span class=\"status-body\"><span class=\"entry-content\">trying too hard to please by catering to what the composer thought was the middle ground of mass perception. Any individual spark that makes a song unique wasn&#8217;t part of the equation - by definition. There are four ways for this survey to be a recipe for desaster:</span></span></p>\n<ul>\n<li><span class=\"status-body\"><span class=\"entry-content\">First of all, the elements collected as popular have been pre-programmed by what&#8217;s popular already. People don&#8217;t suddenly ask for surprises.</span></span></li>\n<li><span class=\"status-body\"><span class=\"entry-content\">Even if people want to be surprised, having them define exactly by what won&#8217;t get you there. Which is pretty obvious, if you think about it. They&#8217;ll just give you samples of what worked before.</span></span></li>\n<li><span class=\"status-body\"><span class=\"entry-content\">The 72% of listeners who will &#8216;unavoidably and uncontrollably&#8217; like the generic song are probably mostly people who don&#8217;t really care about music. You see, </span></span><span class=\"status-body\"><span class=\"entry-content\">most people <span style=\"font-style: italic;\">like</span> music. Not quite so many <span style=\"font-style: italic;\">care</span> about it. Those who don&#8217;t care will be content with whatever the radio offers. </span></span><span class=\"status-body\"><span class=\"entry-content\">When asked what they want to hear, people who don&#8217;t really care won&#8217;t bother to think beyond what&#8217;s already there. Only enthusiasts do that.</span></span></li>\n<li><span class=\"status-body\"><span class=\"entry-content\">A song based on a poll will unavoidably aim for the middle ground of whatever variety in tastes was surveyed. </span></span><span class=\"status-body\"><span class=\"entry-content\">Ask too many people, you&#8217;ll wash off all the edges. But t</span></span><span class=\"status-body\"><span class=\"entry-content\">he edges are what makes a song remarkable. That&#8217;s where its character lives.</span></span></li>\n</ul>\n<p><span class=\"status-body\"><span class=\"entry-content\">It&#8217;s the old difference between beauty and prettiness. About a century ago, a photographer/scientist whose name I&#8217;m too lazy to look up right now photographed a lot of prisoners in order to find the typical criminal face by merging all those faces. The result didn&#8217;t look like a criminal. It looked like an unremarkable, but pretty face. That&#8217;s what our perception of prettiness is: a mashup of all the faces we&#8217;ve seen so far. The middle ground. Beauty? That&#8217;s what makes a face stand out. Or a song. </span></span></p>\n<p><span class=\"status-body\"><span class=\"entry-content\">I&#8217;m not saying you won&#8217;t have a hit doing what the survey says. Most Top Ten material is stereotypical, uninspired, generic crap that&#8217;s targeted to as large a middle ground of individual tastes as possible. You don&#8217;t get to the top if you don&#8217;t reach the masses. </span></span></p>\n<p><span class=\"status-body\"><span class=\"entry-content\">But you&#8217;re going to annoy the hell out of everybody who cares about your line of work if you do. It&#8217;s the definition of sellout. </span></span></p>\n<p><span class=\"status-body\"><span class=\"entry-content\">What&#8217;s more: Most of the music custom-made for mainstream success fails. Record store junk shelves are full of music that tried too hard to aim for the middle ground and ended up with nothing worth remembering. Only ten at a time get to be in the Top Ten. Out of how many?</span></span></p>\n<p><span class=\"status-body\"><span class=\"entry-content\">If you don&#8217;t have the marketing budget to carry your stuff to the top, mass compatibility won&#8217;t help you. Worse, it&#8217;ll brand you as a sellout and ruin your reputation along with your budget. The further down the <a href=\"http://www.wired.com/wired/archive/12.10/tail.html\" target=\"_blank\">Long Tail</a> you are, the better to follow your own inspiration and create something that stands out, even if there isn&#8217;t anybody around to see it stand out yet. You may still fail. Actually, your chances at failing are still overwhelming. But it&#8217;ll be <span style=\"font-style: italic;\">your</span> failure. </span></span></p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D89&amp;linkname=Assumed%20Audience%20Approval\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=89</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>More thoughts about formats</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=65</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=65#comments</comments>\n\t\t<pubDate>Fri, 12 Jun 2009 17:15:38 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Book Editing]]></category>\n\n\t\t<category><![CDATA[Issue 1]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=65</guid>\n\t\t<description><![CDATA[So, once I&#8217;ve settled on publishing vol. 1 in one, er, volume, and keeping the smaller units electronic, there isn&#8217;t really any point in keeping them at 32 pages, is there?\nPersonally, I like my screen reads short. That&#8217;s how I came up with the split downloads in the first place. And if you look around, [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>So, once I&#8217;ve settled on <a href=\"http://dreadfulgate.comze.com/wp/?p=51\">publishing vol. 1 in one, er, volume</a>, and keeping the smaller units electronic, there isn&#8217;t really any point in keeping them at 32 pages, is there?</p>\n<p>Personally, I like my screen reads short. That&#8217;s how I came up with the split downloads in the first place. And if you look around, you&#8217;ll find a lot of experimentation with eBooks formats, usually settling for the shorter form. That&#8217;s only natural. Screen reading <span style=\"font-style: italic;\">is</span> still a drag for a lot of people.</p>\n<p>When you&#8217;re not putting a book jacket around it, the size of the thing just doesn&#8217;t matter. What we perceive as a comfortable book size is a convention that was brought about by the book market. It&#8217;s cheaper and altogether less troublesome to assemble 200 pages into a book than to market five installments of 40 pages each. A hundred years ago, 28 page books weren&#8217;t that unusual. I believe they&#8217;re coming back.</p>\n<p>Then, there&#8217;s the real small size unit - the webcomic installment. A page a week, in my case. A strip a day. Or the blog post. Don&#8217;t even get me started about Twitter. There are possibilities here.</p>\n<p>When I broke the Conny collection down into two download books, I considered all this. Why two? Why not three or four? Why not market each story individually? I decided against smaller units because I still entertained the idea of adapting the downloads into printed pamphlets. Plus, the stories varied between one and fifteen pages, and 24 comic pages are a good chunk to break that into - if you want one size for all of them, that is.</p>\n<p>But the real small book idea hasn&#8217;t died on me yet. Last year, I collected <a href=\"http://bit.ly/29dF3v\" target=\"_blank\">A CHRISTMAS CONNY</a> into a five-page pdf for my German readers. And wouldn&#8217;t the <a href=\"http://bit.ly/DmDlk\" target=\"_blank\">Conny demo at Comic Space</a> make a good eBook? I even considered custom-made downloads - assemble your favorite stories (or chunks) from a menu, and I collect them into an eBook for you at a flatrate price. I might get back to this concept, as soon as I&#8217;ve found a practical way of marketing it.</p>\n<p>For now, I&#8217;ll stick to the format I&#8217;ve planned for all along. I&#8217;ve wasted enough time not getting the books assembled as is.</p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D65&amp;linkname=More%20thoughts%20about%20formats\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=65</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>Buffer off</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=61</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=61#comments</comments>\n\t\t<pubDate>Tue, 12 May 2009 19:25:39 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Comic-Making]]></category>\n\n\t\t<category><![CDATA[Conny Van Ehlsing]]></category>\n\n\t\t<category><![CDATA[Writing]]></category>\n\n\t\t<category><![CDATA[buffer]]></category>\n\n\t\t<category><![CDATA[burst culture]]></category>\n\n\t\t<category><![CDATA[schedule]]></category>\n\n\t\t<category><![CDATA[webcomic]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=61</guid>\n\t\t<description><![CDATA[There&#8217;s been a lot of talk in the forums recently about how far ahead of your comic&#8217;s updating schedule you should be, and if you should bother at all. There seem to be two schools of thought about this issue, the pro side claiming professionality always shows in time, while the con side is more [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>There&#8217;s been a lot of talk in the forums recently about how far ahead of your comic&#8217;s updating schedule you should be, and if you should bother at all. There seem to be two schools of thought about this issue, <a href=\"http://webcomics.com/2008/12/09/in-favor-of-the-bigger-buffer\">the pro side</a> claiming professionality always shows in time, while <a href=\"http://webcomics.com/2008/11/13/buffering/\">the con side</a> is more about not stressing yourself out because that&#8217;ll kill your comic for sure. (No pun intended in either case of naming, btw.) <a href=\"http://webcomics.com/2009/04/02/the-buffer-%e2%80%93-another-point-of-view\">David Goodman offered a good spin on it at Webcomics.com</a> that&#8217;s not just about one versus the other. (Yes, the topic has been at other sites than Webcomics.com, too, but these articles were just so easy to find.)</p>\n<p>Personally, I&#8217;d love to keep a large buffer, but I know I&#8217;d blow it within the first couple of weeks. Like a bike helmet or a cell phone on a mountaineering trip, it can make you overconfident. I need deadlines to get my work done, or I&#8217;ll waste time researching and designing stuff. Because I have so much time, you know. On the other hand I believe in punctuality. I&#8217;ve promised my readers that I&#8217;ll update <a href=\"http://www.webcomicsnation.com/jaehling/conny\">Conny Van Ehlsing</a> every Friday. How can I expect anybody to take my comic seriously if I don&#8217;t even bother to commit to it in time? (Recently, I&#8217;ve added &#8220;usually before 8 AM EST&#8221; to the promise because I had been cutting it close a couple of times.) You don&#8217;t need a buffer to be on time, but it&#8217;s a good safety net. Of course, you have to ignore that the logic behind the buffer is very, very flawed.</p>\n<p>A buffer allows for two things the update-by-update approach doesn&#8217;t:</p>\n<ul>\n<li>You can work in spurts, which can be very exciting and fun. I did that with <a href=\"http://www.webcomicsnation.com/jaehling/conny/series.php?view=archive&amp;chapter=35846\" target=\"_blank\">NOT REALLY THERE</a> - the bulk of that story was done within two weeks, due to organisational problems that were totally mine.</li>\n<li>You can go back and fix things you didn&#8217;t see at first before it&#8217;s too late. It can be a safety net - but also a recipe for desaster, if you do it too much. Because it takes time off the current page you&#8217;re working on.</li>\n</ul>\n<p>The third advantage - buying you time - is where the logic breaks down. Let&#8217;s assume I have a two-week buffer, and I leave for a two-week holiday. I&#8217;ll have to work double shifts after the holiday or continue without the buffer. Any way you slice it, I&#8217;ll still have to finish one page a week, on average. If you&#8217;re finishing one page a week anyway, it doesn&#8217;t really make a difference if the page you&#8217;re working on this week is up this week or next month. Well, until something unexpected comes up, and it does matter.</p>\n<p>Since I used up the buffer that was NOT REALLY THERE, I&#8217;ve been working in real time. I used to work in spurts whenever I felt a new story was up, then send the completed stories to zines. Now, I&#8217;m really just working on the current week&#8217;s page, and later I collect the finished stories to submit them. Of course, I can still switch to burst mode if I&#8217;m in the mood and find the time to do it (and with all the other comics I keep planning to do one day, I&#8217;ll have to, just to get them started). But that&#8217;s just the thing - the webcomic is keeping me busy from Tuesday to Friday, so with life demanding attention every now and then, there isn&#8217;t that much time to go into burst mode.</p>\n<p>Things being as they are, I&#8217;m stuck doing the other Very Professional Thing now -\xa0 making it up as I go.</p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D61&amp;linkname=Buffer%20off\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=61</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>Rethinking, Resizing</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=51</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=51#comments</comments>\n\t\t<pubDate>Tue, 07 Apr 2009 20:39:00 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Book Editing]]></category>\n\n\t\t<category><![CDATA[Conny Van Ehlsing]]></category>\n\n\t\t<category><![CDATA[Issue 1]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=51</guid>\n\t\t<description><![CDATA[Now I'm thinking of aiming straight for the trade nonetheless: Release a trade of Vol. 1, the way I did in Germany, then continue with \"floppies\" of Vol. 2. Use both to interest publishers in a Vol. 2 trade.]]></description>\n\t\t\t<content:encoded><![CDATA[<p>When I started working on the <a href=\"http://dreadfulgate.comze.com/wp/?cat=6\" target=\"_blank\">Conny book</a>, my plan was to publish two 36 page books via POD, and maybe later release a shiny trade paperback with an actual publisher that I&#8217;d lure in with those books. The main reason for that is, I can&#8217;t provide proper International distribution myself, and I want the trade to get the best chances possible.</p>\n<p>Now I&#8217;m thinking of aiming straight for the trade nonetheless: Release a trade of Vol. 1, <a href=\"http://connydasalbum.dreadful-gate.de\" target=\"_blank\">the way I did in Germany</a>, then continue with &#8220;floppies&#8221; of Vol. 2. Use both to interest publishers in a Vol. 2 trade.</p>\n<p>What got me thinking is the impression that floppies are on their way out. (Of course, right now, I can&#8217;t find the links I thought I had to back this up. But it isn&#8217;t just my impression.) Especially small press publishers seem to root for the trades now. The current success of graphic novels may be one reason for that. And then, of course, there&#8217;s the web.</p>\n<p>In analogy to the music business, trades are albums (actually, that&#8217;s how we call the closest to that format in the European tradition), and floppies are singles. The stuff that gets airplay to promote the album, the tour, the band and also the single itself. But nowadays, we have webcomics to do that, don&#8217;t we? <a href=\"http://www.webcomicsnation.com/jaehling\" target=\"_blank\">I know I do.</a> And all those new eBook formats, too. I&#8217;d love to look into those some more, but not right away. Anyway, webcomics. As singles go, they&#8217;re even better than booklets because the airplay is included in the format.</p>\n<p>There&#8217;s more. If you follow that analogy a little further, singles are contemporary, albums are made to last. But those two singles of mine aren&#8217;t contemporary any more, are they? I finished Vol. 1 of Conny a year ago. In a way, they aren&#8217;t singles at all, they&#8217;re EPs or something.</p>\n<p>I&#8217;ll have to think about this some more. For now, read on to find a top-of-my-head list of pros and cons.</p>\n<p><span id=\"more-51\"></span>Advantages:</p>\n<ul>\n<li>It reduces the promotion hassle by half.</li>\n<li>It&#8217;s only two books to begin with, what kind of a TPB would that be?</li>\n<li>It&#8217;s a narrative unit. There&#8217;s a story arc to Vol. 1, if you get to read all of it.</li>\n<li>I might not find a publisher for the Vol. 1 TPB, and then I&#8217;d feel cheated.</li>\n<li>I&#8217;d get to Vol. 2 more quickly.</li>\n</ul>\n<p>Disadvantages:</p>\n<ul>\n<li>Like I said, I can&#8217;t do that much in terms of International promotion.</li>\n<li>Which means, I&#8217;d postpone my shot at whatever commercial success a title like Conny holds until Vol. 2 is out.</li>\n<li>I might be back at this point when it&#8217;s time to edit Vol. 2, book 1.</li>\n<li>Vol. 1 will take longer to launch because I can&#8217;t split the workload into two easy batches.</li>\n<li>By then, the first book of Vol. 2 might not be that contemporary either.</li>\n</ul>\n<p>It&#8217;s really just coincidence that I found five points for each position. Not that it matters: What counts is the strength of each point, not how many I find. So, how strong are they?</p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D51&amp;linkname=Rethinking%2C%20Resizing\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=51</wfw:commentRss>\n\t\t</item>\n\t\t<item>\n\t\t<title>So&#8230; I guess this is a re-start</title>\n\t\t<link>http://dreadfulgate.comze.com/wp/?p=47</link>\n\t\t<comments>http://dreadfulgate.comze.com/wp/?p=47#comments</comments>\n\t\t<pubDate>Wed, 01 Apr 2009 18:47:15 +0000</pubDate>\n\t\t<dc:creator>Max Vaehling</dc:creator>\n\t\t\n\t\t<category><![CDATA[Site Stuff]]></category>\n\n\t\t<guid isPermaLink=\"false\">http://dreadfulgate.comze.com/wp/?p=47</guid>\n\t\t<description><![CDATA[Hi everybody,\n&#8220;Comic Soon(ish)&#8221; used to be a production blog for the ever upcoming new comic book Conny Van Ehlsing, Monster Hunter, based on the webcomic by the same name. It still is, in a way. (I&#8217;m still planning to make that book.) But I&#8217;ve extended the range of this site, so it&#8217;s not just about [...]]]></description>\n\t\t\t<content:encoded><![CDATA[<p>Hi everybody,</p>\n<p><a href=\"http://dreadfulgate.comze.com/\">&#8220;Comic Soon(ish)&#8221;</a> used to be a production blog for the ever upcoming new comic book <a href=\"http://dreadfulgate.comze.com/wp/?page_id=4\" target=\"_self\">Conny Van Ehlsing, Monster Hunter</a>, based on the <a href=\"http://www.webcomicsnation.com/jaehling/conny\" target=\"_blank\">webcomic by the same name</a>. It still is, in a way. (I&#8217;m still planning to make that book.) But I&#8217;ve extended the range of this site, so it&#8217;s not just about Conny anymore. If I do this right, this site will be a central hub for all my stuff. And since it&#8217;s all about the process of writing, drawing, editing and publishing these things, it&#8217;s also a site for information, inspiration and (good or bad) examples.</p>\n<p>Learn how to make comics the Vaehling way! Forget half to learn how to do it your own way! It&#8217;s interactive, too: You choose which half to forget!</p>\n<p>Long-time readers (who am I kidding?) will notice that I&#8217;ve deleted a few posts that didn&#8217;t seem relevant to the new theme anymore. If that destroyed your favorite post, don&#8217;t worry. If it was important, it&#8217;ll probably come up again. More edits will follow, and I&#8217;ll try to stick to something like a posting schedule this time around, so I hope I&#8217;ll be back soon with an actual post about comics!</p>\n<a class=\"a2a_dd addtoany_share_save\" href=\"http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdreadfulgate.comze.com%2Fwp%2F%3Fp%3D47&amp;linkname=So%26%238230%3B%20I%20guess%20this%20is%20a%20re-start\"><img src=\"http://dreadfulgate.comze.com/wp/wp-content/plugins/add-to-any/share_save_171_16.png\" width=\"171\" height=\"16\" alt=\"Share/Bookmark\"/></a>]]></content:encoded>\n\t\t\t<wfw:commentRss>http://dreadfulgate.comze.com/wp/?feed=rss2&amp;p=47</wfw:commentRss>\n\t\t</item>\n\t</channel>\n</rss>\n", message:undefined, modified:(new Date(1265721260039)), baseUri:"http://p3k.org/rss/", query:"frameColor=black&textColor=#dfcda4&_=1228865413306&titleBarColor=black&compact=&fontFace=sans-serif&align=&showXmlButton=true&maxItems=5&boxFillColor=black&titleBarTextColor=#fffacd&width=400&url=http://dreadfulgate.comze.com/wp/?feed=rss2&", param:{textColor:"#dfcda4", width:"400", align:"", fontFace:"sans-serif", url:"http://dreadfulgate.comze.com/wp/?feed=rss2", compact:"", frameColor:"black", showXmlButton:"true", boxFillColor:"black", _:"1228865413306", titleBarColor:"black", maxItems:"5", titleBarTextColor:"#fffacd"}, box:"<table class=\"rssBox\" width=\"${width}\" bgcolor=\"${frameColor}\" \n      style=\"table-layout: fixed; overflow: hidden; font-family: ${fontFace};\" \n      align=\"${align}\" cellspacing=\"1\" cellpadding=\"7\" border=\"0\">\n<tr bgcolor=\"${titleBarColor}\">\n<td>\n   ${xmlButton}\n   <strong>${title}</strong>\n   <div>\n      <small style=\"color: ${titleBarTextColor};\">${date}</small>\n   </div>\n</td>\n</tr>\n<tr bgcolor=\"${boxFillColor}\">\n<td class=\"rssBoxContent\" style=\"color: ${textColor};\">\n   ${image}\n   ${items}\n   ${input}\n   <div class=\"rssBoxPromo\" style=\"margin-top: 0px; text-align: left; \n         font: 9px verdana, sans-serif\">\n      RSS box by <a href=\"http://p3k.org/rss\">p3k.org</a>.\n   </div>\n</td>\n</tr>\n</table>\n\n", image:"<a href=\"${link}\"><img src=\"${source}\" width=\"${width}\" height=\"${height}\" \nalt=\"${title}\" title=\"${title}\" align=\"${align}\" valign=\"${valign}\" \nhspace=\"${hspace}\" vspace=\"${vspace}\" border=\"0\" /></a>\n\n", input:"<form method=\"get\" action=\"${link}\">\n${description}\n<input type=\"text\" name=\"${name}\" size=\"15\" /> <input type=\"submit\" \nvalue=\"${title}\" />\n</form>\n\n", item:"<div class=\"rssBoxItemContent\">\n${title}\n${break}\n${description}\n${buttons}\n</div><br />\n\n", date:"${year}-${month}-${day}, ${hours}:${minutes}h\n\n", link:"<a class=\"${class}\" href=\"${link}\" style=\"${style}\">${text}</a>\n", error:"<?xml version=\"1.0\"?>\n<rss version=\"error\">\n   <channel>\n      <title>RSS Box Error</title>\n      <link>${link}</link>\n      <description>This output was automatically generated to report an error \n      that occurred during a request to the JavaScript RSS Box Viewer.</description>\n      <item>\n         <title>Oops, something went wrong...</title>\n         <description>An error occurred while processing the request to the \n         JavaScript RSS Box Viewer.</description>\n      </item>\n      <item>\n         <title>An error message was returned by the server.</title>\n         <description>${message}</description>\n      </item>\n      <item>\n         <description>Most likely, this might have happened because of a \n         non-existent or invalid RSS feed URL. Please check and possibly correct \n         your input, then try again.</description>\n      </item>\n   </channel>\n</rss>\n\n"})};
function debug(str) {
   return document.write('<p><span style="background-color: yellow;">', 
         str, '</span><p>');
}

org.p3k.RssBox = function() {
   var ref;
   var ISOPATTERN = /([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9:]+).*$/;
   
   var data = org.p3k;
   data.defaults = {
      url: "http://blog.p3k.org/rss",
      maxItems: 7,
      width: 200,
      align: "",
      frameColor: "black",
      titleBarColor: "lightblue",
      titleBarTextColor: "black",
      boxFillColor: "white",
      textColor: "black",
      showXmlButton: "",
      compact: ""
   };
   
   var baseUri = data.baseUri;
    
   var getColor = function(str) {
      if (str.length === 6 && parseInt(str, 16) && str.indexOf("#") !== 0) {
         str = "#" + str;
      }
      return str.toLowerCase();
   }

   var value;
   for (var i in data.defaults) {
      value = data.param[i];
      if (!value || value.length === 0) {
         data.param[i] = data.defaults[i];
      } else if (i.indexOf("Color") > 0) {
         data.param[i] = getColor(value);
      }
   }

   // FIXME: Ugly work-around for many boxes using too small width 
   // values because the former version did not show the exact output.
   if (data.param.javascript && data.param.width < 200) {
      data.param.width = 200;
   }
   // Remove obsolete parameters from param and query
   delete data.param.javascript;
   data.query = data.query.replace("javascript=true", "");   

   var NAMESPACES = {
      dc: "http://purl.org/dc/elements/1.1/",
      rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   };

   var getUrl = function(url) {
      url = baseUri + "proxy.r?" + encodeURIComponent(url);
   
      var HttpRequest = function() {
         return (typeof XMLHttpRequest !== "undefined") ?
            new XMLHttpRequest() : new ActiveXObject("Msxml2.XMLHTTP");
      }
   
      var request = new HttpRequest();
      request.open("GET", url, false);
      request.send(null);   
      if (!request.getResponseHeader("Date")) {
         var cached = request;
         var ifModifiedSince = cached.getResponseHeader("Last-Modified") || 
               new Date(0); // January 1, 1970
         request = new HttpRequest();
         request.open("GET", url, false);
         request.setRequestHeader("If-Modified-Since", ifModifiedSince);
         request.send("");
         if (request.status === 304) {
            request = cached; 
         }
      }
      return request;
   }
   
   var getDocument = function(source) {
      if (source) {
         if (document.implementation.createDocument) {
            var parser = new DOMParser();
            var doc = parser.parseFromString(source, "text/xml");
            return doc;
         } else if (window.ActiveXObject) {
            var doc = new ActiveXObject("Microsoft.XMLDOM");
            doc.async = "false";
            doc.loadXML(source);
            return doc;
         }
      }
      return null;
   }
   
   var getError = function() {
      var msg = null, root;
      if (!xml || data.message) {
         msg = data.message || "Unknown error.";
      } else if (xml.parseError && xml.parseError.errorCode) {
         msg = xml.parseError.reason; // IExplore
      } else if (root = xml.documentElement) {
         var errorNode;
         if (root.nodeName === "parsererror") {
            msg = xml.documentElement.textContent; // Mozilla
         } else if ((errorNode = root.childNodes[0]) && 
               errorNode.nodeName === "parsererror") {
            msg = errorNode.textContent; // Safari
         } else if (!/rss|rdf|scriptingNews/i.test(xml.documentElement.nodeName)) {
            msg = "Incompatible data format. Are you sure this is an RSS feed?";
         }
      }
      return msg;
   }
   
   var getNode = function(parent, name, namespace) {
      if (namespace) {
         if (typeof parent.getElementsByTagNameNS === "undefined") {
            var elements = parent.getElementsByTagName(namespace + ":" + name);
         } else {
            var elements = parent.getElementsByTagNameNS(NAMESPACES[namespace], name);
         }
      } else {
         var elements = parent.getElementsByTagName(name);
      }
      if (elements && elements[0]) {
         return elements[0];
      }
      return null;
   }
   
   var getText = function(node) {
      if (node && node.childNodes && node.childNodes.length > 0) {
         return node.childNodes[0].nodeValue || "";
      }
      return "";
   }
   
   var trim = function(str) {
      if (str) {
         return str.replace(/^\s*(\S*)\s*$/, "$1");
      }
      return "";
   }
   
   var padZero = function(n) {
      if (n < 10) {
         return "0" + n
      }
      return n;
   }

   var encodeXml = function(str) {
      if (!str) {
         return "";
      }
      return str.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/&/g, "&amp;");
   }
      
   var render = function(template, param) {
      if (!template || !param) {
         return template;
      }
      template = template.replace(/\$\{([^}]+)\}/g, function() {
         var key = arguments[1];
         return param[key] || "";
      });
      return template;
   }
   
   var renderDate = function(date) {
      if (date.constructor !== Date) {
         var str = String(date);
         var millis = Date.parse(str.replace(ISOPATTERN, "$1/$2/$3 $4"));
         if (millis) {
            date = new Date(millis);
         } else {
            date = new Date;
         }
      }

      return render(data.date, {
         year: date.getFullYear(),
         month: padZero(date.getMonth() + 1),
         day: padZero(date.getDate()),
         hours: padZero(date.getHours()),
         minutes: padZero(date.getMinutes()),
         seconds: padZero(date.getSeconds()),
         timeZone: "" // date.getTimezoneOffset()
      });
   }
   
   var renderButtons = function(enclosure, source) {
      var result = "";
      if (enclosure && enclosure.link) {
         result += render(data.image, {
            source: baseUri + "enclosure.gif",
            title: enclosure.type,
            link: encodeURI(enclosure.link),
            width: 13,
            height: 16
         });
      }
      if (source && source.link) {
         result += render(data.image, {
            source: baseUri + "source.gif",
            title: source.title,
            link: encodeURI(source.link),
            width: 15,
            height: 15
         });
      }
      return result;         
   }
   
   var param = data.param;
   var rss = data.rss = {items: []};
   var xml = getDocument(data.xml);

   rss.error = getError();
   if (rss.error !== null) {
      xml = getDocument(render(data.error, {
         link: baseUri + "?" + encodeXml(data.query),
         message: encodeXml(rss.error)
      }));
      param.compact = 0;
      param.showXmlButton = 1;
   }

   var root = xml.documentElement;
   var type = root.nodeName;

   if (type === "scriptingNews") {
      var channel = getNode(xml, "header");
      rss.format = "Scripting News";
      rss.version = getText(getNode(channel, "scriptingNewsVersion"));
      rss.title = getText(getNode(channel, "channelTitle"));
      rss.description = getText(getNode(channel, "channelDescription"));
      rss.link = getText(getNode(channel, "channelLink"));
      if (ref = getText(getNode(channel, "imageUrl"))) {
         ref = rss.image = {source: ref};
         ref.title = getText(getNode(channel, "imageTitle"));
         ref.link = getText(getNode(channel, "imageLink"));
         ref.width = getText(getNode(channel, "imageWidth"));
         ref.height = getText(getNode(channel, "imageHeight"));
         ref.description = getText(getNode(channel, "imageCaption"));
      }
   } else {
      var channel = getNode(xml, "channel");
      rss.format = "RSS";
      rss.version = (type === "rdf:RDF") ? "1.0" : 
            root.getAttribute("version");
      rss.title = getText(getNode(channel, "title"));
      rss.description = getText(getNode(channel, "description"));
      rss.link = getText(getNode(channel, "link"));
      var image = getNode(xml, "image");
      if (image) {
         ref = rss.image = {};
         ref.source = getText(getNode(image, "url"));
         ref.title = getText(getNode(image, "title"));
         ref.link = getText(getNode(image, "link"));
         ref.width = getText(getNode(image, "width"));
         ref.height = getText(getNode(image, "height"));
         ref.description = getText(getNode(image, "description"));
      }
   }
   
   if (type === "rdf:RDF") {
      rss.date = renderDate(getText(getNode(channel, "date", "dc")) || data.modified);
      rss.rights = getText(getNode(channel, "creator", "dc"));
      var input = getNode(root, "textinput");
      if (input && !getNode(input, "link")) {
         input = root.getElementsByTagName("textinput")[1];
      }
      if (input) {
         ref = rss.input = {};
         ref.link = getText(getNode(input, "link"));
         ref.description = getText(getNode(input, "description"));
         ref.name = getText(getNode(input, "name"));
         ref.title = getText(getNode(input, "title"));
      }
   } else {
      rss.date = renderDate(getText(getNode(channel, "lastBuildDate") || getText(getNode(channel, "pubDate"))) || data.modified);
      rss.rights = getText(getNode(channel, "copyright"));
   }
   
   var item, text, node;
   var items = xml.getElementsByTagName("item");

   for (var i=0; i<Math.min(items.length, param.maxItems); i+=1) {
      item = items[i];

      if (type === "scriptingNews") {
         ref = {title: ""};
         ref.description = getText(getNode(item, "text")).replace(/\n/g, " ");
         ref.link = getText(getNode(item, "link"));
         if (text = trim(getText(getNode(item, "linetext")).replace(/\n/g, " "))) {
            ref.description = ref.description.replace(new RegExp(text), 
                  '<a href="' + getText(getNode(item, "url")) + '">' + text + '</a>');
         }
      } else {
         ref = {
            title: getText(getNode(item, "title")),
            description: getText(getNode(item, "description")),
            link: getText(getNode(item, "link") || getNode(item, "guid"))
         };
     }

     if (node = getNode(item, "source")) {
        ref.source = {
           link: node.getAttribute("url"),
           title: getText(node)
        }
     }
     
     if (node = getNode(item, "enclosure")) {
        ref.enclosure = {
           link: node.getAttribute("url"),
           length: node.getAttribute("length"),
           type: node.getAttribute("type")
        }
     }
     
     if (node = getNode(item, "category")) {
        ref.category = {
           domain: node.getAttribute("domain") || "",
           content: getText(node)
        }
     }
     
     rss.items.push(ref);
   }
   
   var item, items = "";
   for (var i=0; i<rss.items.length; i+=1) {
      item = rss.items[i];
      items += render(data.item, {
         title: new function() {
            var title = (!param.compact ? "<strong>" : "");
            if (item.link) {
               title += render(data.link, {
                  link: encodeURI(item.link),
                  text: item.title,
                  'class': "rssBoxItemTitle"
               });
            } else {
               title += item.title;
            }
            !param.compact && (title += "</strong>");
            return new String(title); // FIXME: Funny, title alone will be rendered as [object]
         }(),
         'break': item.title && item.description ? "<br />" : "",
         description: (!param.compact || !item.title) && item.description,
         buttons: renderButtons(item.enclosure, item.source)
      });
   }
   
   var box = render(data.box, {
      title: rss.link ? render(data.link, {
         link: encodeURI(rss.link),
         text: rss.title,
         'class': "rssBoxTitle",
         style: "color: " + param.titleBarTextColor
      }) : rss.title,
      description: rss.description,
      items: items,

      xmlButton: param.showXmlButton && render(data.image, {
         link: param.url,
         source: baseUri + "rss.png",
         title: rss.format + " " + rss.version,
         width: 16,
         height: 16,
         align: "right",
         hspace: 3
      }),
      
      image: !param.compact && rss.image && render(data.image, {
         link: encodeURI(rss.image.link),
         source: rss.image.source,
         width: rss.image.width,
         height: rss.image.height,
         title: rss.image.title,
         align: "right",
         valign: "baseline",
         hspace: 5,
         vspace: 5
      }),
      
      input: !param.compact && rss.input && render(data.input, {
         link: encodeURI(rss.input.link),
         description: rss.input.description,
         name: rss.input.name,
         title: rss.input.title
      }),
      
      date: rss.date,
      width: param.width,
      frameColor: param.frameColor,
      fontFace: param.fontFace,
      align: param.align,
      titleBarColor: param.titleBarColor,
      titleBarTextColor: param.titleBarTextColor,
      boxFillColor: param.boxFillColor,
      textColor: param.textColor
   });

   if (!window.rssBoxSetup) {
      document.write(box);
   }
   
   return box;
};

org.p3k.RssBox();

