Thursday, February 17, 2005
iComic 4 - the itch you can't scratch... yet
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
- 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.
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
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. | ||
|
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. | ||
|
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. | ||
|
By maiki, at 2/18/2005 9:22 AM |
||
|
Hurrah! Great news! | ||
|
By John, at 2/18/2005 9:50 PM |
||
|
You go, Steve0! You git... | ||
|
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 , at 2/18/2005 11:17 PM |
||
|
xmlguy, | ||
|
By , 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. | ||
|
By Martin, at 2/23/2005 10:53 PM |
||
|
Thank you Steve! Now if we could just have a forum again... | ||
|
By , 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. | ||
|
By Anonymous, at 3/04/2005 1:40 PM |
||
|
Wow, that looks great! Can't wait to see how iComic works with Dashboard. | ||
|
By , at 3/06/2005 1:56 AM |
||
|
I just started to use iComic 3, and I find it to be a great app. | ||
|
By , at 3/08/2005 1:08 AM |
||
|
Just wanted to let folks know, I am trying to implement the calendar feature. | ||
|
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. | ||
|
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. | ||
|
By Joe, at 4/18/2005 4:24 PM |
||



