Words Software Fun Stuff About me

RSS feed for my blog
Atom feed for my blog
CDF feed for my blog

Thursday, February 17, 2005

iComic 4 - the itch you can't scratch... yet 

So there's finally some news on the iComic front!!

I'm working on a new version which I guess will be called 4.0 ... but could equally well be called the iComic Dashboard Edition.

In case you didn't guess, the new version runs as a widget in the Dashboard of Tiger (aka MacOS X 10.4).

There's still quite a few things left to do. The background updating is horribly messed up right now, but the app functions in principal - check out the screenshot below.



With this new version I've taken a different tack in terms of greatly simplifying the app logic, mostly by removing features that would be either hard to implement in a web-based app, or which are seldom used features that complicate the app beyond reason.

A summary of changes:
  • Runs as a Dashboard widget. Press F12 - there are your comics
  • You can open as many iComic windows as you like. Each can be pointed at a different comic, which you choose by "flipping over" the comic window and choosing a comic plugin from a list
  • Rather than using the "metal" interface and having a bunch of toolbar buttons, iComic 4 looks like the comic was cut from a newspaper and stuck to your screen!
  • To navigate between comics, click on the curled up edges, or use the arrow keys on the keyboard
So thats all goodness... what about the bad news?
  • iComic 3 used Perl for plugins, but that isn't a secure scripting environment. iComic 4 uses JavaScript and doesn't support the old Perl plugins. While this may seem like a terrible move, I think the new system will be a lot better.

    For example: in the new model, all HTML and image downloading is done by Safari, so it automatically supports proxy servers.

    Secondly, because Safari loads HTML into a DOM, your JavaScript plugin gets given a DOM so you're using a well known, well documented way to find the images. iComic then provides callbacks to let you load other documents or register the images you found.
  • I dropped several features, notably: Calendar, Comments and Favorites.

    The calendar seemed useful, but it didn't really buy you very much, as the most common scenario was to use the app to browse today's comics across a number of strips. In iComic 4 you can have several strips all open at once and they'll all be up to date, so this most common scenario is greatly improved.

    Favorites seemed like it might be useful to, but I personally never used it. It just made the app code more complicated but didn't do much.

    Comments was my favorites useless feature. I know of almost nobody that bothered to comment (and subsequently search) their comics, but the code for this feature was evil.
There's one other feature I wanted to mention: text-only plugins. In iComic 3, the plugins were implemented as packages containing a plist files and the Perl script.

In iComic 4 you can have a text-only plugin - an XML document with a .xcomic extension. The format of the file is like a simplified version of the old inventory.plist file. The benefit of this approach is that it makes it very easy to develop a new plugin and get it out there - you don't have to create a .sit file because its just text.

I have an example of the Dilbert plugin in iComic 4 implemented as a .xcomic file in case you are interested.

A few things about the new JavaScript plugins:
  • The main() function is what iComic runs first. This is where you would load the comic's initial page.
  • The loadDocument call returns immediately. Once the HTML has loaded, your onloadDocument() method is called.
  • There is another method called loadDocumentForDate that can be called to load a HTML page that you know to be associated with a specific date. This gives iComic a chance to ignore the request if it knows it has already loaded the image from the target page. Therefore for the Dilbert site, if the plugin was run every day, it would only ever load the archive page because it would have already seen the others.
  • The registerImage method is what you call to tell iComic the image url associated with a particular day.
  • Finally, there is a log() function that you can use to log messages in the Console log. This means you can use Console.app to help you debug your plugin - something that was hard to do in iComic 3
So the biggest unanswered question is: when is this new version going to be released? My aim is to have it ready when Tiger launches... but right now no date has been set for that. I may do a beta release for folks that have Tiger betas but it won't be until I've resolved some of the current issues.

# posted 2/17/2005 11:02:00 PM | 15 comments

15 Comments:

I am a little saddened, since I am learning perl and was expecting to write some plugins for some of my favorite comics that have not been done yet. However, I trust your judgement in this.

Something I am wondering, how is the dashboard working for you? How much ram are you using?

Also, have you ever considered opening the source? I don't want to draw you into a discussion about this, I am just wondering. If you have, and chose not to, I am sure you have your reasons. I just starting using this a short while ago, and was not able to catch the webcomics forums. Are you planning to host something like that again?

マイキ

 

By maiki, at 2/18/2005 12:17 AM

     

iComic has actually been open source for quite some time. There was a blog posting about it, but you would have to search the archive to find it.

As this seems to be a constant source of confusion, I've made a new page that talks about it...

http://www.ruxp.net/iComic/default.asp?~p=3

 

By xmlguy, at 2/18/2005 6:56 AM

     

Well, I have certainly shown my lack of attention to details. Thank you for that page though, I found it very useful. I will check out the SF page for it.

I am new to programming in general, besides the occasional script, and had not until recently realized what I could do with my Cube, so this is all very interesting to me.

On another note, I am looking forward to the Dashboard. I was using Konfabulator, but it uses a lot of memory, and I am hoping the dashboard gets around that. Heres hoping. ^_^

マイキ

 

By maiki, at 2/18/2005 9:22 AM

     

Hurrah! Great news!

I love iComic and still use it in spite of its slightly tempremental nature. Coding it as a plugin for Dashboard is the most natural and intelligent evolution I can think of - pat on the back to you sir!

As for Dashboard not hoggin memory, you needn't worry. See rather than simply working in the java runtime environment provided by Konfabulator to execute (and hence giving Konfabulator a huge footprint) Dashboard widgets execute using the Webkitt.

Anyhow, awesome news! Thanks for making my day!

 

By John, at 2/18/2005 9:50 PM

     

You go, Steve0! You git...

srh

 

By Anonymous, at 2/18/2005 11:12 PM

     

This is great news! Thank you for taking iComic to the next level. I will miss the calendar. I did not use favorites really (and I still don't know why). Comments were not really used by most plug-ins so they will not be missed. I would still like to click on links associated with the strip. Perhaps there is a way to use Spotlight to search for strips and tag strip images with meta data - like date published and strip creator, maybe web links associated with the strip. Anyway, I think it is great that you are taking iComic in this brave new direction.

 

By Dondi, at 2/18/2005 11:17 PM

     

xmlguy,

Would there be any way which you could keep some semblance of a calendar, because that comes in really handy with comics like MegaTokyo to go searching back into the archives.

Thanks.

 

By Ben, at 2/22/2005 9:00 AM

     

Noooo! Not the calendar! Not the favorites! Those are two of the most usefull features of iComic. I have close to a gig of saved strips over the last 2-3 years. The calendar allows me to go back and browse through the old ones. And the favorites allows me to mark down the really really good ones.

I implore you! keep those two features! Drop the comments field, that was a bit useless...

Now, another question. Is there a way you could update the iBert app to work on 10.4? While iComic is great, I simply love having the dilbert strip in a separate app of its own, rather than another iComic plugin.

And once more, please not the calendar and the favorites! Pretty please...?

Thanks!!!
-M.

 

By Martin, at 2/23/2005 10:53 PM

     

Thank you Steve! Now if we could just have a forum again...

 

By dukemeiser, at 2/24/2005 5:19 PM

     

I use the comments part of the original iBert (never needed iComic as I only care about Dilbert) and am dismayed that you are discontinuing said feature.

What you really want to do is get iComic to scrape the text from the comic using OCR and then making a spotlight-compatible searchable index.

 

By Anonymous, at 3/04/2005 1:40 PM

     

Wow, that looks great! Can't wait to see how iComic works with Dashboard.

Thanks for the good news!

 

By Joe, at 3/06/2005 1:56 AM

     

I just started to use iComic 3, and I find it to be a great app.

After reading this post, I just can't wait for Tiger to be released, so we can all use this cool application. But, I strongly encourage you to keep the favorites and calendar feature, for these are VERY useful for huge comic collections. Many Mac users that use this app love it simply for these two main features.

Thanks again for this wonderful piece of work!

LokiSnake

 

By LokiSnake, at 3/08/2005 1:08 AM

     

Just wanted to let folks know, I am trying to implement the calendar feature.

I'll have a look at how I did Favorites in the first place with a view to adding that too. There's still time, as as you can see, I'm making good progress :)

 

By xmlguy, at 3/08/2005 7:14 AM

     

That pleases me vey much, because the calendar feature was my favorite feature out of iComic for browsing my huge collections.

If you ever find time to implement a calendar I know I am going to love this version even more than before.

Keep up the good work!

 

By Anonymous, at 3/26/2005 2:31 PM

     

I use the Comments feature to insert Penny Arcade's titles since they comic strip title is often vital to the strip.

Also, will this new system allow for loading any web content? I wrote a flash parsing perl plugin for strongbad emails but iComic 3 can't display Flash objects.
Joseph Elwell.

 

By Joe, at 4/18/2005 4:24 PM

     
Post a Comment

This page is powered by Blogger. Isn't yours?
Copyright 2004 Steve Saxon