Comic-O-Matic Developer's Blog

What's Margo up to??

Category Archives: Responses

Recent Feedback for New Features

It’s been a year and a half since I last added anything to Comic-O-Matic, but it’s clear that people are still using it!  Hurrah! I got an email today from a user,, who sent along some suggestions.  I decided to post them here, with my responses.  Getting back under the hood, so to speak, programming Comic-O-Matic to add some new features would take some doing, but I’m perhaps far enough away from it now to be able to take the plunge back in.

So without further ado, here are the suggestions, and my off-the-top-of-my-head replies:

1) Add a BG image instead of a color.

Hmm. I hadn’t thought about that as a possibility… It would involve having users upload square images.  I have thought about setting up Comic-O-Matic so that users can set up their own accounts and save their work to it, and have links to their albums.  Allowing people to upload pix would fit right into that – but I haven’t done anything so far to make accounts.

I have thought about allowing users to select their own color backgrounds after the random one has shown up -but I haven’t gotten around to doing that – it’s still random within Nina’s palette for her Mimi & Eunice web comic (, but you can refresh to a different random choice until you get the one(s) you want.  Not very efficient!

2) Have an intro label either above or below (“Later that evening…”)

I’m not sure if I had a reason for only putting them on the top…  I can do it either place, but I think I put them on the top so that they wouldn’t cut off the feet. And I wasn’t giving the user a choice, mostly because I didn’t know how to make the interface work cleanly to offer that choice I’ll look into it.

 3) Be able to omit one or both characters.

That seems possible – just make the character choice be nothing.  That wouldn’t be too hard.

 4) Have a speech bubble with no arrow  (as in a frame with no characters.. they are talking, but out of view).

That’s a possibility,  Not sure how to represent that in the interface, though having an empty choice (talk, thought, nothing) might work.

The other thing which would be very useful would be to a) define my own eyes, mouth, character

I have thought about that, too, but again, it would require setting up accounts.  The parameters for making it work are a little tight – Nina made the character outline just for this (I added the Hallowe’en ones), and the eyes and mouths came from her Face-O-Matic ( – I programed that one first), which she created and originally had printed up on playing cards, to help in visual storytelling workshops. I met her when she came to the school where I worked to do some such workshops with our students, and immediately saw the web possibilities of the faces.

b) maybe add additional rows of modifiers, arms, legs, nose?

I had included the possibility of adding a nose, but in talking with Nina, she felt that noses really never add anything to the emotive aspect of the characters. Of course, they would help differentiate the characters.

The characters as is have really different configurations of arms and legs (paws/tentacles), making it harder to come up with variations.  One of the things I’ve liked about the interface is that it’s easy to build a strip, and I’m not sure adding that level of detail would help. Again, maybe if i were to set up user accounts, it might be possible to include pose variations for the characters used.  Hmm.. I’ll have to think about it.


Recent feature requests

Comic-O-Matic is still in development, so I welcome any and all suggestions to make the basic better! These came in this morning from John Marshall, who has created over 50 strips about those Krazy Koch Brothers:

I would love to have the characters’ eye movements be able to mirror each other, to look at each other in the same way. So it would be great to have opposite versions of eyes 9, 12, 15, 16, 17, 22 and 23.

I had already been thinking about doing this, so I took this opportunity to make it so! I had to renumber some of the eyes, because I wanted the pairs of mirrored ones to be next to each other, so you now can find those 7 pairs at 9/10, 11/12, 15/16, 17/18, 22/23, 29/30, and 32/33.

For the mouths, it would be great to have a couple of open mouths that are neutral, so that I can have strips where I build up to a big smile or a big sad face.

I’ll pass this along to Nina and we’ll see what she might come up with!

The over-the-head effects are great – it would be nice to have a giant question mark.

Done! Put [questionmark] into the dialog and voila! A big question mark over the head of your character!

If possible, but I would love to be able to have a different character (or two different characters) suddenly appear in a panel. That way I could have [one character] talk with [a second character] about a third character and then in the last panel I could show [the second character] talking to that third character.

This request has come in a couple of times, and I haven’t figured out yet how to best implement it yet. Right now, it’s really easy to just select the two characters, and that’s that, so I’m not sure how I’d vary them per panel. This also ties to requests for more than two characters in a panel, or just one, so the solution may be somewhere in that mess. Stay tuned!

Updated Beta Instructions

This morning, urged on by a couple of users, I finally set the default version of Comic-O-Matic to be the one with the drop-down eye- and mouth-pickers!  You can still get to the version that selects random expressions, which you uncheck to get new ones, but I tend to think that few people will actually use it.  I will see, won’t I?

I also watched the original video I made on how to use Comic-O-Matic, and it’s amazing to me how far it’s come in the past month. This spurred me to make a new basic instructional video for Comic-O-Matic that shows all the new features, so here you go:

Thank you for all your support!

Feature request: Eyes and Mouths Picker

“It would be nice if you could make the selection of expressions less random.”

Yes, I get this request a lot from people who have a clear idea of what they want their strips to be, especially after making a few to get the hang of it with the random generator, and it is definitely in the plan to design an interface that doesn’t use “random” to produce the strip. My priority right now, however, is to make sure that the strip-generating script has all the capabilities I want. There are still a few more important ones I want to incorporate, so in the meantime, the user interface will depend (mostly) on randomness for a little while longer. A few of the features I’ll be working on adding over the coming days/weeks include having the option for a thought bubble instead of just speech, a box in a panel where you can include non-dialog text like, “The next day…”, and the option to flop the character left or right (which is effective for 3 of the 5 current characters). But then again, yesterday I added the character picker, so you never know what I’ll choose to plug away at on any given day!

My thoughts on the design of the interface to pick the eyes and mouths: I am planning on having that be a visual picker, which is a smidge more complicated than just selecting from a drop-down list of names of the parts. I don’t really want to give descriptive names to any of the specific pieces because I want to encourage users to select them for their impact on telling the story visually, and imposing my names on them might do too much to constrain and aim free interpretation.


More feedback

“I wish comic-o-matic was an iPhone app.”

Great idea!  I’d like to get the web version polished up some more first, though I’ll see what the future brings!

Some recent feedback and my responses

I’m hearing from folks who have been using Comic-O-Matic since I started the Comic-O-Matic website on June 13, 2011. When Nina posted the link on her site several days later, use just took off!  I have been getting suggestions and input, so I thought I’d post them here publicly

“Thought cloud option”
I am already working on the thought cloud option! I was thinking the user would have to select a radio button for talk or thought.”

“A little box in the top of a panel for (The next day) etc.”

Hadn’t thought about a box for “The next day” type things, but I’ll put my thinking cap on. Definitely do-able!

“Allowing the characters to face different directions in the panels and/or allowing different characters in the panels”

I had been thinking about mirroring options for the characters, but hadn’t figured how I would implement it, so I just threw in a couple of “new” characters – flopping the cat and the monster – but I have been thinking about adding that as an option, for the characters as well as for the eyes and mouths. The flopping options for them could include horizontal (good for eye direction) as well as vertical (good for mouths – smile/frown). I don’t know about adding additional characters to the strip, but I had thought about an option to pick only one of the characters to appear in a panel, zoomed in more on the face. Not sure how I’d do that yet, though.

“Emotion signifiers (like dark cloud) that could appear over a character’s head.”

Hadn’t thought about “dark clouds” and such, but yeah, that’s interesting. I’ll put my thinking cap on for that. Maybe a third option, mood icons in addition to talk or thought?

Since this suggestion came in,  Nina has drawn several “emotithing” graphics (storm cloud, sweat drops, light bulb) for me to play with, to figure out how to add them!  Watch for the option!

“Checkboxes to control the color of panels.”

Yes, I am already working on checkboxes for keeping the colors!

“Sometimes I am frustrated by the small dialogue boxes… but then I remember that brevity is the soul of wit.”
“I’d love to be able to get more text into each box. It does force brevity, which is always good.”

I have been going back and forth on the size of the font, and finally settled on the current one. It needs to be readable even when the panel is shrunken down in size. But I’ve gone up to 5 lines, and bumped the uppermost line to the very top of the panel to get as much real estate for the dialog text as possible. (And if you want to talk about “brevity”, the original script only allowed for a single 14-character line – that’s 14 characters including spaces and punctuation! Eeek!)

One thing to note is that I haven’t got a character limit or word limit: the limit is set from the width of the characters that you use, so the more i’s and l’s you use (the skinniest characters), the more characters will fit, and the more w’s and w’s you use (the fattest characters), the fewer characters will fit…  I did this mostly as a way to draw the dialog bubbles so they would fit around the text, and I thought it was pretty a  pretty clever way to set the maximum text.

“I want a way to keep the same expression, or at least parts of it, in the same character for multiple panels. Too annoying to have to keep refreshing over and over until I get what I want.  I find the completely changing faces really distracting.”

The randomness is helpful for people who need a creative boost – it’s based on Nina’s Face-O-Matic cards that she developed for visual storytelling workshops (I originally made a web version of it, back in December 2010:, but then I decided that a 2-character, 3-panel version sounded like a good idea.  I have an interface in the works for those folks who already know what they want for characters and expressions, but I’ve been working on stabilizing the output of the panel-generator first, and left it on random.

“Sometimes it seems to take quite a few tries to get an element I want. Since I have them memorized now, I find myself wishing for a menu option to choose the one I want. I type the dialogue first and then searching for faces that fit.”

My original thought about Comic-O-Matic was to let people pick every part and build their own strips, but I got frustrated with the interfaces being too clunky.  I totally get it, wanting to pick!  That will come – and will be written in Javascript, AJAX, and jQuery

“I noticed that sometimes the random generator picks the same element over and over (annoying when I was looking for something different.) Maybe if the box is unchecked, it should pick something different from the current element?”

Yes, I hadn’t thought about setting up a trap to avoid the true random possibility of getting the same one, but I find that annoying, too. I’ll work on getting that implemented.

“What’s with it saving comics as PHP rather than JPG or PNG?”

I think the file-format for saving is coming from your browser.  Comic-O-Matic is written in PHP code, and creates PNGs. When I right-click, it names the files something like comic.php.png, but I watched someone else do that and their browser saved it as a BMP image… Try just renaming your saved files with the .png extension, and that should work. (Let me know if it doesn’t.)   I am working on setting up permalinks to the comics, and am making a better image-save option (see the Face-O-Matic site for an example).

I haven’t finalized what the name of the PNG will actually be yet. To make sure they are unique, I am currently using YYMMDDHHmmSS then the IP address of the requester. The problem there is that when the currently ugly URL is used to generate the PNG, the viewer’s IP address gets used, so I don’t really want to keep that naming structure, but currently for testing, it’s okay. Not sure if I want to use the title of the strip in the short URL, in case someone wants to reuse the title… Suggestions?

“Automatically generate corresponding alt text, to streamline accessibility if the comics are put on a website somewhere?”

I am working on the feature to store them in the cloud and make shorter permalinks – as well as the ability to log in and keep track of one’s own comics. The beta version is mostly to see where I have overlooked something in the basic programming that makes the strips – I can never predict everything users will do/try! The images are generated with parameters that (mostly) are currently in the URL of the comic.php, the script that creates the graphic image of the strip, but I’m working on saving the parameters to a database. I’m thinking that the images will live on the serve for about two weeks, then get pruned, and if requested, the script won’t find the image file, and will regenerate it from the database. I’m trying to balance the load on the server and the storage.

“Alt text generated along the lines of “Cat with crazy eyes and happy mouth says: bla bla bla, Troll with skeptical eyes and sad mouth says: bla bla bla” that folks could easily C&P into the facebook description”

Thanks for the alt tag suggestion! I don’t have names for the various parts, however. Hmm…

“It would be nice if there were some quick way to clone one frame’s eye and mouth shapes into the other frames; pick the frame you want, click some button, and the other two frames would have the same faces.”

When I design an interface that lets you have more creative control over the choices of art, I’ll see about adding that!

Chances are good that the first user-control feature will have to do with the character outlines, since there are so few choices there, and I will likely include a mirror option so you can orient which direction the characters are facing.

%d bloggers like this: