Featured #14 + Interview of the author!

by Pankaj Nathani

The prominent aim of the Featured PyS60 Applications section is to help the developers of PyS60 build standalone applications on PyS60.

It has been many months now that we introduced “Featuring an PyS60 Application” here on Croozeus. This time we are also publishing an interview of the author of application. Since the touch support for PyS60 has been released in the form of PyS60 1.9.3, this time we have a special Touch application featured as well.

The Featured Application #14 is TouchComic by Jamie Fuller. Congrats Jamie! 😀

Below are few screenshots of TouchComic,

TouchComic is a simple but effective CBZ reader. CBZ is basically a collection of images stored in a ZIP file for convenience, used for comic reading.

The application support for CBZ/ZIP files, JPG/Gif and PNG content, Fullscreen mode with Touch/Gesture based controls, Portrait/Landscape operation and also Intelligent Auto-fit scaling option.

The source code of the application is downloadable here, while those interested in trying the application can download the sis file here. You can download a test CBZ file here.

Now lets ask Jamie some questions,

Q: Tell us something about yourself, who are you? 🙂

A: I’m a 34 year old computer programmer, I’ve been programming for twenty years. I started way back on a BBC micro in school, following onto a C64 in my home. Over the years I’ve written home-brew for C64, Xbox, PSP, NDS and now the Nokia 5800. I’m completely self-taught except from a little help from my brother Steve.

Q: Very well, what motivated you to try Python for S60?

I decided to learn Python as it intrigued me from experimenting with Blender the amazing open source 3d package and as it was a well respected language within the S60 arena I couldn’t resist.

Q: Now that you have a good PyS60 application coded, what do you like about PyS60?

A: The main feature I enjoyed with PyS60 as opposed to any other language was the rapid testing phase. I am a coder who likes to test his code frequently, using emulators is slow and compiling other languages and transferring to the handset to run them takes even longer. Using a great tool called SymSync, from telexy.com, it allowed for easy transferring of whole folders from PC->phone or vica-verse. so I could work on a script, hit replicate on my phone and have the script in the right place on my phone for running in just seconds. This meant way less wasted time.

Talk about R.A.D, in just one week I not only learned the language but also wrote a fully function app, specific to my needs and the requests of a few others.

Q: How was your PyS60 learning experience, any recommended tips for beginers?

A: Learning PyS60 was a challenge, I started by reading a book all about Python for windows, and experimenting with some code samples there. getting used to lists and tupples etc, the tabulated method of controlling loops was initially very strange but now I have grown to love it, and it makes the code so much more easily readable.

Thanks to some of the great tutorial sites such as Croozeus.com, symbian-freak.com and forum.nokia.com finding useful examples and help was only a few searches away. But some of the cutting edge features of 1.9.3 were still tricky to find examples of, for example the touch system. But eventually I got there. I hope that adding my source code to the pool will allow others to learn a bit about this great language.

Q: How did you think about making a CBZ reader? What motivated you?

A: The application I wrote is called, TouchComic, the idea being that on my PSP I used to enjoy reading my comic books , and the PSP whilst having a larger screen only has a res of 480*272, my 5800XM has an amazing 640*360, almost too good not to use for my comics!

I had searched the various forums and software sites for a suitable product, but none existed. So as soon as I heard that PyS60 supported Touch (as of version 1.9.3) I decided to learn it and make one myself.

Q: Finally, describe your application, with a demo. 🙂

A: The basic Idea of the application is to open CBZ files, which are simply ZIP files containing a collection of images, either in PNG/GIF or JPG format. Add to that a full screen pure touch environment and bookmarking functions and it soon makes sense as to why the built in image viewer isn’t quite suitable for the task.

I wanted the application to be as light and as simple to use as possible, creating a method of gestures to control the image and page selection was something I spent a lot of time getting right, having only three mouse events (down,drag and up) meant I had to write handlers to convert those events into more meaningful events, such as double-click, swipe while not interfering with the basic, click and drag to move the image when not zoomed.

I decided to enforce a single location for CBZ files, “E:\comics” as this allowed me to ensure less errors sneaked in plus a definite location to store my configuration files etc.

Using the software is simple, Install, copy some CBZ/ZIP files into “E:\comics”, Run TouchComic. Chose “Option–>Open” and select a book (If you have previously read a book it will remember the last page you was on and re-open it at that page). If the image is bigger than the screen you can move it by “dragging” with your finger, if you prefer you can set the image to fit to the width of the screen to make it easier, but this can slow down the rendering time of the image. To switch between full screen and menu mode, simply double click the screen. and to switch to the next page, “swipe” the screen to the Left, although this swipe will only work when you are at the edge of the page.

And of course the video for it below,

Related posts:

  1. Featured PyS60 Application #12 Every 10 days, we feature in the “PyS60 Applications”...
  2. Twin Featured PyS60 Applications #8 Every 10 days, we would be featuring in the...
  3. Featured PyS60 Applications #9 Every 10 days, we feature in the “PyS60 Applications”...
  4. Featured PyS60 Application #2 Every 10 days, we would be featuring in the...
  5. Touch UI and tactile feedback in 1.9.3 Have you seen that there is a doc about touch...

Related posts brought to you by Yet Another Related Posts Plugin.