Monday, August 24, 2009

Preview: Quick Clip 0.5.0

Some might think that since Quick Clip has not seen a major update in months, development has slowed or stopped with it. Quite to the contrary, though, Quick Clip 0.5.0 will debut with more features and contain more bug fixes than any version to date. So today I will outline some of the work that has taken place on Quick Clip.



Bug Fixes:

There have been quite a few nagging bugs or "oddities" that have been present in QC since piratically it's first release or introduced shortly thereafter. The main ones, to me, were:

  • Disconnect between "Manage Files Dialog" and actual files on the device. By this, I mean that QC kept an internal list of files you had created and when , let's say, you would delete a file, it would just remove it from it's internal list. Never would it actually delete the file from your device. This caused a great deal of confusion, so in the last (public) version of QC I added a "Delete" option to each file's menu. Now this worked all fine and well, but it duplicated (missing) functionality in the Manage Files Dialog. So for QC 0.5.0, I completely rewrote the whole MFD backend causing it to behave exactly how one would expect.

  • Handling of "stale" settings file. One of my major gripes with previous QC versions were their inability to handle old/stale settings files. Example: if you installed a new version of QC that had a different settings configuration (like more options), then QC would completely cease functioning until that settings file was removed. This caused me to write some code into the postinst script that deleted the current settings file on your device every time you upgraded. This, admittedly, was a horribly sloppy solution. QC 0.5.0 introduces seamless stale settings file handling. In a netshell: it detects if the file is stale, and if it is, it resets it to a factory-default state.

  • History is now persistent. In my mind History was never that useful because every time the device got shut down, it was erased. In QC 0.5.0, the History is now shutdown-persistent. But don't worry, there is a clear button.


New Features and Functionality:

Yeah, I know bug-fixes are exciting and all, but what you really came here to see was the new features in QC 0.5.0, right? Well, if you did, then you cam to the right spot:


  • HTML support. If you've been following QC since it's initial release, then you know I've been talking about HTML support since day 1. Well, it's finally here, and it turned out pretty nice, I think:





  • You can easily select which format to use (.txt or .html) in the revamped MFD (Manage Files Dialog), see:


  • The addition of the HTML format allowed me to add additional features to QC, namely the ability to take screenshots and clip them into files. There is also the option to select either a fullscreen screenshot or windowed one.


  • I also decided to make QC more finger and thumb friendly by having an option to increase the size of the menu entries:



  • I also revamped the Settings manager to feature a simple tabbed interface. Although this is in direct conflict with Fremantle's HIG (more on Fremantle later), it seems to be the most efficient way to display many things in a single dialog window. It makes you wonder why, with everybody going to tabbed interfaces, the Fremantle HIG's recommends against them (additionally, the gtk.Notebook is one of the few finger-friendly widgets out-of-the-box e.g. no modifications needed).



  • Also debuting in 0.5.0 is a highly-experimental web server -- which allows you to (theoretically, largely untested) access your QC files from any computer by inputting your tablet's IP address and the required port number into the computer's browser. Once you do that, as long as you started the server on the tablet end, QC serves out a web interface. A little bit shown below:




That about sums up the major new features in QC -- of course, I also have fixed more subtle bugs, optimized certain expects (making QC as a whole faster) and rewritten much of the behind-the-scenes code.


Fremantle Support:

I was really hoping to ship full Fremantle support in this version of Quick Clip, but unfortunately that doesn't seem like it is going to happen. Since the Beta 1 of the Fremantle SDK didn't support Statusbar plugins, I lost time waiting for Beta 2. Now that Beta 2 supports them, I needed to wait for the Python team to create bindings for them. That is apparently underway (or even largely complete) but I'm still waiting on API documentation (see bug 4936) so I know how to use the bindings. Yes, quite a logjam. So to date, only Quick Clip Viewer has any type of Fremantle support.


Release Time Frame:

I'm hoping to release it before Sep. 8 (when my classes start), so stay tuned!

1 comment:

  1. Wow! Thanks so much Brent! I've been quite inactive on ITT, but I use QC every single day, and CANNOT WAIT for this update. Between Tear and your application, who needs an n900? Not me!

    ReplyDelete