Showing posts with label qcomicbook. Show all posts
Showing posts with label qcomicbook. Show all posts

Wednesday, March 9, 2016

QComicBook website is back (kind of)

I've finally managed to sort out the DNS and github-pages stuff and set qcomicbook.org domain so that it's redirected to the QComicBook GitHub project page... That's the first step (and yes, GH pages are quite nice and easy to use) of bringing qcomicbook website back to the living. Now, I still need to think about how to "convert" the old Ruby-on-Rails web site to "static" web pages on GitHub, this will require some re-designing, re-writing and simplification - a good chance to finally learn some of the jQuery and bootstrap stuff maybe?

Monday, November 30, 2015

QComicBook website is going down

QComicBook website is going to be down as I decided not to renew my existing web hosting, due to costs (the donations I received would cover only a fraction of hosting cost). QComicBook will still be available via GitHub repository. I'll also work on migrating qcomicbook website to GitHub webpages (with limitations, as they are not hosting Rails webapps), which will hopefully mean it's going to be available via http://www.qcomicbook.org again soon.

And no, QComicBook is NOT dead. It may look like it is since it hasn't been updated for a very long time, but I promise, I'm not giving up on it! Stay tuned!

Saturday, June 9, 2012

The power of built-in debugging and introspection

I've recently started reading the excellent "Code Complete" by Steve McConnell and - as is often the case when you encounter a good book - got inspired by some of its ideas. I was particularly enlightened by the idea of implementing advanced built-in debugging/introspection capabilities, only available if application was compiled with DEBUG flag.
I found this idea very interesting for QComicBook - it would be very cool to be able to check internal state of some more sophisticated widgets when debugging issues. QComicBook has fairly detailed tracing (if you compile it with -DCMAKE_BUILD_TYPE=Debug flag), but it's not very useful in debugging subtle issues (such as with drawing) as it simply produces too much text output to analyse.
So, I started hacking it today. For starters I picked the most troublesome widget in QComicBook - ContinuousPageView, responsible for continuous view mode. This widget still has some minor issues that show up under specific circumstances, and they are very hard to debug. I implemented a simple Debug window, available via Debug > Continuous View menu option; it displays frames for all pages, showing their sizes, position on the QGraphicsScene and internal state. And it didn't take long as I spotted first potential problem: when rotation is applied, some sizes manifested by QGraphicsItem interface (blue boxes) don't match numbers used internally to handle continuous view logic; this seems to affect pages that use estimated sizes only (i.e. not loaded yet).
I'm not sure yet if this can cause real problems, but certainly it looks suspicious. It also definitely shows the potential of built-in debugging tools and I'm going to add some more to QComicBook in the future. Frame View mode, job subsystem, memory usage are just a few top candidates for live introspection. Having them at hand, it will hopefully be much easier to prepare a rock solid QComicBook 1.0.0 :)

Tuesday, June 5, 2012

QComicBook UI cleanup, quest for icons

As a part of the preparations for QComicBook 1.0.0 (yeah, it should eventually come - it's been 7 years already!) I've started working on UI cleanup. The goal is to make it simple and ditch some useless actions (is anyone using Page top/Page bottom or '5 pages forward'??); target #1 is to clean up the toolbar. Another goal is to make QComicBook UI look like the rest of the desktop, i.e. use system theme icons.
Much to my delight I discovered that Qt supports standard desktop icons (be it GNOME, KDE, XFCE...) from version 4.6! This works well and I was able to quickly test it by replacing some icons with themed icons using Qt Designer. Unsurprisingly there are some icons that just don't exist in standard themes. For most menu actions it's OK to just get rid of them, but toolbar actions must have icons... That means 'Two pages mode', 'Manga mode' and 'Fit to width', 'Fit to height' and alike as a minimum (see first screenshot). Unfortunately existing QComicBook icons stand out too much from pretty much any desktop theme and I need to find or create replacements for them. Suggestions, ideas or contributions anyone?

Saturday, June 2, 2012

QComicBook 0.9.0 is available

This release have seen a lot of delays, but it's finally available. It brings two notable internal changes:
  • switch to Qt GraphicsView framework, leading to more lightweight and flexible page handling implementation. This opens up more possibilities for future tweaks and enhancements.
  • more robust image transformation code resulting in dramatic improvement in responsiveness and performance whenever you scale main window, rotate a page etc; this kind of operations are now performed in a separate thread. If you ever considered QComicBook to be a bit sluggish, give it another chance again and try version 0.9.0!
As usual, latest QComicBook releases can be found on it's home site.

Sunday, December 18, 2011

QComicBook - new web hosting, new domain

After two years with rootnode.net and numerous issues with their hosting I finally made the effort of switching web hosting of QComicBook and my home site. QComicbook web site is now hosted on www.a2hosting.com - by the way if you decide to buy hosting there, please consider using this referrer link which will give me a credit for a2hosting services & renewal of QComicBook hosting.
Other then that, QComicBook web site is now available at much more friendly URL: www.qcomicbook.org. The old URL (qcomicbook.linux-projects.net) is still valid, but I may remove it by the end of 2012, so if you maintain QComicBook packages or link to source tarballs for any other reason, I suggest you update your links with next QComicBook release.
Finally, please be warned that there may be some disruptions to the qcomicbook.linux-projects.net website (and possibly qcomicbook.org) in the next few days due to DNS and configuration changes.

Monday, August 1, 2011

Support QComicBook - buy an ad!

QComicBook is a free software that doesn't bring me any profits (well, except for fun of course) - actually it costs me money on web hosting. Here is a new way for you to support QComicBook website & development: if you want to promote your business or a website on QComicBook website, buy a banner for as little as 5-10€ per month (non exclusive banner) or 50-100€/month (exclusive banner - always visible). Get your website advertised, and support opensource at the same time! Please contact me directly for more details.

Sunday, July 3, 2011

QComicBook 0.8.0 released, brings PDF support

QComicBook - reading PDF  document
The new version of QComicBook 0.8.0 has just been released! Due to limited time, real life and laziness I've decided to reduce the list of planned features for this release to just one: PDF support. The main big feature - switching to Graphics View Framework - has been postponed due to drawing bugs that still needs resolving. This stuff will be introduced later, so no worries!

By the way, if you like QComicBook, you can show your appreciation by making small donation (e.g. a beer worth ;)) - it's really easy with Flattr!

Sunday, April 10, 2011

QComicBook website is down (again...)

QComicBook website (as well as my home page)  are down due to web hosting issues... Did I say that http://rootnode.net web hosting sucks? I'm going to switch to other web hosting this year. Any suggestions for cheap yet reliable web hosting for Django/Rails sites (low disk space usage, small DB, no traffic limits)?

UPDATE: it's up again.

Saturday, February 19, 2011

QComicBook runs on eComStation!

I'm happy to announce that one of QComicBook users got QComicBook 0.7.2 running on eComStation! Wait... what is eComStation, I hear you asking... I've never heard of it until now as well. It appears that eComStation is the successor of OS/2. Unfortunately it's commercial and it seems there is no free version for evaluation
purposes available... Anyway, if you happen to use this OS, you may grab QComicBook binary for it here.  Please note that you cannot currently rebuild QComicBook for eComStation as it requires some source code changes; this changes may later be incorporated into mainline, or become available as a patch. Also be aware that I take no responsibility for this binary, use it at your own risk.

Thursday, December 16, 2010

Work on QComicBook 0.8.0

The work on new "big" (i.e. middle version number change) QComicBook release
has started. You can track this work in the dev/0.8.0merge branch of the git repo; this branch will get merged back to master branch once ready.

One of the most important internal changes to be included in the upcoming release is switching from using widgets to Graphics View Framework provided by Qt. This switch made it possible for an easy and nice implementation of Zoom Lens, so QComicBook 0.8.0 will finally see this much welcome addition! Long-term, the switch Graphics Framework may result in improved QComicBook performance and make it possible to use e.g. OpenGL backend to speed up scaling etc.

The new 0.8.0 release will also bring PDF reading support (as I already indicated  earlier) via Poppler library, which is a new dependency starting from this release.

I'd like to push the new release out by end of this year if possible, but the scope of changes related to new graphics framework is substantial and there are still some rendering-related bugs, so it may slip to early 2011.

Tuesday, November 16, 2010

QComicBook 0.7.0 released!

QComicBook 0.7.0 has been released! From the ChangeLog:
  • added hints (warning, information) to System information dialog; display warning if free unrar is used.
  • added 'Cleanup list' option to Recently opened files menu.
  • added Dutch, Korean, Russian and Simplified Chinese translations.
  • added 'About donations' and 'About Qt' help menu items.
  • added experimental 'Frame View' mode for frame-by-frame reading.
  • added preliminary support for printing.
  • fixed bug with 'Open Next' disabled on first comic book archive in the directory
  • Qt >= 4.5.0 is now required.
Grab the new release here.

Sunday, November 7, 2010

QComicBook 0.7.0 is close, feature plan for next releases

As QComicBook 0.7.0 is nearing (just waiting for a few translations to be updated), I've started planning new features for  next releases. Here is the list of "big" features planned for QComicBook 0.8.0 / 0.9.0 to wet you appetite:

  • Support for PDF file format - this is actually almost ready and already available in the dev/pdf branch of QComicBook repository. Thanks to the great Poppler library and good, modular design of QComicBook (of course! :)) this feature took me literally a few hours to implement. There are still some rough edges, but it works and will for sure be a part of QComicBook 0.8.0. By the way, I think that comic books distributed as PDF files esentially do suck (as there is no benefit from keeping a bunch of images in a pdf file), but well, apparently some people have different opinion on this, so QComicBook will support them so that you can read pdfs and use all QComicBook's goodies (like bookmarks for example).
  • Comicbook library management - a tool to manage and browse your comicbooks collection. This feature still has a lot of question marks: how to organize the library and UI, make it user-friendly and useful etc. I will definately make and publish some mockups first. If you have any nice ideas about how this feature should look like, please drop me an email!
  • CBR archive editing / creation - make it possible to rearrange order of the pages, remove pages and create a new CBR archive out of existing one.
  • Fancy frame-by-frame reading - QComicBook 0.7.0 will introduce a new "Frame View" reading mode which displays single comic book frame, with shortucts for advancing to the next / previous frames. The idea is to implement a more "fancy" mode which displays an entire page and scroolls and zooms it in/out frame-by-frame.
  • Editable keyboard shortucts - this has been a problem for a long time in QComicBook. I've received already too many complaints about keyboard bindings, so with this feature one will be able to redefine keybord to his/her liking.
  • Simplified user interface - a way to switch between standard and clutter-free UI with a minimum set of buttons / menu options. Of course, all "hidden" options would still be available via keyboard shortucts.
That's it. I'm planning the next 0.8.0 release to be available by the end of this year and throw one or two of the above features in it. In the meantime, get ready for 0.7.0!

Wednesday, October 13, 2010

QComicBook: Flattr donations available!

From now on you can support QComicBook development with donations via Flattr social micro-payment system. I develop QComicBook in my spare time and give it away free of charge. Moreover, hosting its web site costs me some money. Keeping all that in mind, please consider a small donation -- follow the Flattr button on QComicBook project web site!

Saturday, October 9, 2010

QComicBook web site updates: RSS, screenshots

There are two notable updates to QComicBook web site. First: RSS feed is finally available, so from now on you can subscribe to QComicBook news. Second: the Screenshots section finally got some love and flexibility, meaning I've finally implemented the missing 'gallery' handling code. I've uploaded the screenshots I got from you, but still need more of them! Don't hesitate, send me your screenshots and earn good karma!

Wednesday, August 18, 2010

QComicBook can detect comic frames now!

'Frame view' option.
The latest QComicBook code available in the git repository (dev/framedect branch) brings support for comic book frames detection - the new 'Frame View' mode allows for reading comic book frame-by-frame! I'm pretty excited about this new feature because this is something I dreamed about and started investigating several months ago. Comic frames extraction requires very smart image processing algorithms and some CPU power; a few articles are available on this subject on the internet. The most interesting ideas come from Japanese (e.g. 'Layout Analysis of Tree-Structured Scene Frames in Comic Images' article by Takamasa Tanaka, Kenji Shoji, Fubito Toyama and Juichi Miyamichi; 'Automatic E-Comic Content Adaptation' by Kohei Arai and Herman Tolle) as comic frame extraction solutions have already been implemented by online comic-book providers in Japan.
'Frame view' mode displaying single comic book frame.
The solution implemented in QComicBook is based on the 'Automatic E-Comic Content Adaptation' article and it's core is a contour-tracing algorithm described in 'A Linear-Time Component-Labeling Algorithm Using Contour Tracing Technique' article by Fu Chang, Chun-Jen Chen and Chi-Jen Lu from Taiwan. The main idea of this algorithm is to analyze a binarized image (black-white pixels only, with threshold applied) and find image frames (blobs) using contour-tracing. The algorithm is very fast and accurate (over 90% success rate). The accuracy of frame extraction implemented in QComicBook depends on the complexity of comic book images; it works best for pages with solid background (e.g. white or black), rectangular comic frames and simple frame layouts.  When it comes to performance, current implementation allows for comfortable comic book reading with a 2GHz Core2 Duo CPU. As frames for next page are extracted in advance for next page in a separate thread, it should also work nicely on slower CPUs.
Nothing is perfect, though. As already noted, the accuracy depends on the complexity of comic book page layout. Other than that, current implementation doesn't detect overlapping frames (e.g. a comic baloon spanning two frames), as described in the 'Automatic E-Comic...' article; overlapping frames are detected as a single frame. I'm going to implement this later.
Having said that, current implementation of comic frames extraction in QComicBook is already in good shape and  I'm happy that QComicBook is the first open-source comic book viewer to bring such feature :). Thanks to the aforementioned guys whose articles provided invaluable help when implementing this feature!
Frame view detection will soon be added to the master branch of the QComicBook source code repository, and then will be made available in the upcoming version 0.7.0 (to be released in a few weeks).
Stay tuned!

Saturday, July 24, 2010

QComicBook 0.6.0 released!

QComicBook 0.6.0 has been released! It doesn't bring all the goodies I planned for this release, but it finally got translations support with 7 languages for starters (Brazilian Portuguese, Finnish, French, Italian, Polish, Spanish and Ukrainian). See ChangeLog for the list of minor enhancements and fixes in this version. Thanks to all the translators and contributors who made this release possible! Enjoy!

Tuesday, July 13, 2010

Don't forget to pay your bills...

...otherwise you may face an unwelcome surprise... I forgot to pay the web hosting bill on time, and they temporarily blocked my account. My QComicBook and home web sites were not available for a few days. Dammit.

Thursday, January 7, 2010

QComicBook turns 5!

QComicBook was first released 5 years ago, on Jan 7th 2005. It took me just 2 or 3 weeks (around Christmas & New Year's Eve time in 2005) to complete the initial implementation, dubbed 0.1.0. The program soon became quite popular as it was probably the first comic book reader available for Linux. It had very good reception and I got a lot of positive feedback at that time. It was later packaged for many popular Linux distributions.

The program was usable from the very first release, of course with a limited set of features. More features were gradually added with new releases. With version 0.3.4 the set of features was kind of "stabilized";  this was November 2006.  Version 0.3.4 marks a stagnation period for QComicBook development: the next version (0.4.0) bringing the important Qt4 port was released one year later, on November 2007. But then nothing was happening again for almost two years - till August 2009 & version 0.4.1.  In 2009  QComicBook got my full attention again with four bugfix releases (0.4.1 - 0.4.4) and one "major"
release (0.5.0) which brought some new features. I'm now working on new exciting features, one of them being a ....let's keep it secret for a while ;) as it's still in early stages; keep an eye on this blog as I'll soon reveal some details...

Thanks to all of you who support QComicBook by using it, packaging it for your distro, sending me some good words, bug reports, fixes etc. QComicBook would not be here without your help! Cheers!

Tuesday, January 5, 2010

Moved to new web hosting


After a few weeks of downtime my website is finally back online with new address and design. After some searching for free web hosting I've eventually decided to buy a domain and use a paid web hosting which provides all the necessary tools (e.g. Ruby on Rails) to play with.

From now on my website URL is www.linux-projects.net and QComicBook website is qcomicbook.linux-projects.net. Neat, isn't it? ;)

Both websites are still under construction, may contain some broken links or may experience occasional downtime
but are already usable.