Archive | July, 2010

I have an iPad!

24 Jul

Apple iPad

Yes, I have given in to my desire to own a shiny new thing, originating from the folks in Cupertino (read: Apple Inc.). Although I’m usually not an early adopter, in this case I wanted to make an exception. This really seems to be an entirely new class of devices, much like the personal computer was in it’s time. And having played with it for a day, I can wholeheartedly agree with that statement.

While the PC made computing devices available to small business, the iPad and what undoubtedly will follow as much improved versions of this device will introduce computing power to our personal lives, to entertain and delight us. Yes, this is an entertainment device, primarily, not a device to assist us in getting work done.

On the other hand, devices like this will make it very clear to employers that keeping your workforce happy, instead of squeezing every effort out them by demanding a performance-by-the-clock, will engage the workers to do more, take more responsibility, simply by offering a great experience to work in. I can only hope the daily grind will soon be a thing of the past. Everything that requires thinking should be done in an environment that fosters thinking. Sitting behind a device that, in its core, is just an typewriter is neither inspiring, nor fun.

Both fun and inspiration are at the core of devices like the iPad, which help us to think past the here and now, and come up with original ideas and solutions that distinguishes your company from the competition. Nowadays there is still the tendency to copy the successful, instead of trying to find alternatives that might work just as well, or even better.

We can only hope.

Some thoughts on a mini-comics viewer

17 Jul

So now I have taken it upon myself to write a comics viewer as a web application, what are the considerations for a first version of such an application? I will try to document my thought process through this post. It is most likely more posts like this will appear in the near future. So, please stay tuned for that.

To start off, as a general rule of web application programming, versions should be released early and often, so the people who are going to use your application can provide feedback, make it fit their needs. It doesn’t have to be perfect or feature-rich at the outset. On the contrary, the simpler the better.

Then there are the architecture considerations, which include security. You want to be as flexible as possible where you host your content (so it’s easy to change hosts), but also prevent that bad guys find flaws in your app, and take advantage of those. The Web can be a scary place if you don’t take good care of your data and the program code using that data.

Now about the features, for which I really want your input, dear reader. What should I include in a first version at the minimum?

Here are some of my ideas.

  1. It should be easy for a less tech savvy comics creator to determine the content (basically, where the comic’s image files are located on the Web). For version 1, I’m thinking of a text file on a server, containing a list of Web links to the image files.
  2. Once the comic is loaded into viewer, the comics viewer should be able to work as a stand-alone application without network connection.
  3. The controls should be simple and obvious, and very much like a native application.
  4. It should have some fluidity to it, so the reader will enjoy the content as much as possible.

Of course, we all want as much features as we think we need, but consider that each feature will take both time, but, more importantly, energy to execute. That is why I opt for an app that has the fewest number of features, and still feel rich and worth while using.

I suppose this also implies that in future versions, the comics creator should be able to customize his or her app for a specific experience that makes sense for a particular comic. We don’t want a bunch of bells and whistles, but we don’t want it barebones either. Each feature has to be considered and make sense for the reading experience. I suppose that would require a separate application to produce a customized version of the comics viewer. However, all of this will not be included in version 1.

What we certainly don’t want is a generic comics browser that doesn’t stand out from the crowd. Such a browser is not worth using, hence not worth creating.

Also, I suggest for version 1 to limit ourselves in our designs to mini-comics suited for small screens, like the iPhone. The person reading a mini-comic should be able to finish it in a few minutes (the typical time people are waiting in line or are having a short break at work to re-energize). This means a vertical format (portrait orientation) is preferred and page spreads are discouraged. Preferably, readers are going to see one page at a time, and shouldn’t be required to zoom in and/or pan to be able to read the comic.

The constraints on format and layout may come over as a severe limitation, and you would be right there. However, I think independent comics creators should be able to adapt themselves to a new medium, what mobile devices actually are part of. The rules of print media have to be re-evaluated and adjusted. You can’t expect what works in print to work on a small size screen.

I personally see the mentioned constraints as a challenge. It is something where independent creators can distinguish themselves from large comic book publishing companies, who are still heavily invested in traditional comics on paper. Their digital comics are mere facsimiles of a print version, instead of being tailored towards the new mobile medium, with its short attention span of people on the go. If you need to sit down to have the “full experience”, you are missing the point of having a device in your pocket.

Those are some of my initial thoughts. Please provide some feedback, so I’m able to steer myself in the right direction. I can’t do this without you!

Mini-comic – Being called out – Lazy

14 Jul

This mini-comic was made for the mini-comic challenge in the Art & Story Supreme forums. It was inspired by a conversation I had on Twitter about laziness and calling someone lazy. It was made with ballpoint pen.

Simple Comics Browser

10 Jul

With the help of Google search and the little knowledge I have of HTML, CSS, and JavaScript, I put together a very basic image browser for WebKit-based web browsers. I think it is important to have something to show for, and prove you are more than just talk, both to yourself and others. It is a set of 8 hard-coded images which the user can browse through with a forward and back button. Those images are taken from my mini-comic “Why Are Kittens So Cute?”, which is also featured in an earlier blog post.

Why Are Kittens So Cute web app screenshot

Screen shot of my mini-comic "Why Are Kitten So Cute" as a web application on the iPhone simulator.

If you click on the screenshot, your web browser will take you to the web app simplecomicsbrowser, which, as far as I know, will run on mobile and desktop Safari, and on Chrome and FireFox. It will not run on Internet Explorer, I’m told.

I can see that I still have a lot to learn, and the documentation on Apple Developer Connection has been (and still is) invaluable. It is one thing to appreciate the sleekness of good apps on the iPhone, it is another thing altogether to understand what it takes to make an app intuitive and fun to use.

The web app I made basically loads the 8 images on top of each other and reorders the stacking order when either the Previous or Next button is hit.

What threw me off at first is the the CSS property that controls the stacking order (z-index) can’t be read in JavaScript as the zIndex value of a container (in an HTML document: everything between an opening and closing DIV tag, tags included). That means you have to redo in JavaScript what you’ve already done in CSS. I’m sure there’s a way around this, but I haven’t found it yet (please, feel free to enlighten me on this subject in the comments).

Other than that, the reshuffling of the images took a bit of logic to figure out. For instance, to browse forward, you copy the zIndex values of a series of DIV containers (which each contain an image). Suppose you have 3 containers, called “div1”, “div2”, and “div3”, with div1 initially on top, div2 below it, and div3 at the bottom. If you browse forward, you want 1-2-3 to become 2-3-1. This means the zIndex values should be copied like this 1->temp, 2->1, 3->2, temp->3. If you do it like this 3->2, 2->1, 1->3 (as you might think if you’re new at this), you end up with three DIV containers having the same value of zIndex (that of the third DIV container). This may seem silly, but details like this do matter in computer programming. Computers are dumb boxes, made to things by telling them what to do, step-by-step. Computers have no intuitive knowledge about the world, no common sense. They just do what you tell them to do.

Next I will be focussing on the iPhone Human Interface Guidelines for Web Applications. It is a high-level discussion of what to consider when designing a web application on a mobile device like the iPhone. Users have other expectations than on the desktop. Apps should be snappy and easy to use, because no-one is going to use their iPhone in one long sitting, as you do on the desktop.

I should also note that I don’t own an “iDevice”, so I’m completely depending on documentation and feedback from users (through Twitter). I plan to remedy this omission, as soon as Apple get off their duffs and put out the new versions of their devices in my country (which will be this month according to the company, but recent history has shown that to be less of a certainty). Some hands-on experience would probably improve the quality of my code output greatly, because I can test it on a real device myself.

Mini-comic – Fan Talk

8 Jul

This mini-comic was made for the mini-comic challenge in the Art & Story Supreme forums. It was inspired by the trash-talking going on just outside my window while the day of the final game of the world soccer championship is nearing (my country is in it). They are loud-mouthed young adults who are blessed with the pride of ignorance and the skill set of an innocent bystander.