PDA

View Full Version : xsane sucks! Anyone interested in making something new?



kiddo
March 25th, 2006, 07:20 PM
Hi ! As some may know, I'm a very "beginner" python programmer, I'm more a designer type. So I was looking at xsane (the user interface for scanning images in GIMP, or gnome if you run it directly) and thinking, "aw this user interface sucks:

it has dozens of tiny buttons (which are not labeled)
it has too many options for the "casual" user who wishes to quickly scan his school handouts
the main window (when you removed all the other windows) is very vertical, it's annoying on the eyes
there is no "intuitive" way to do batch scanning: I had to fiddle for a long time to figure out how I could scan 50 pages without wasting time renaming files and adjusting colors
I don't like the name "xsane". It feels so 90's! It just shouts "X frontend for SANE"... pretty boring ](*,)
I think xsane is mostly HIG-compliant, but to me, it does not "feel" that way. That's strange.


That's why I want to make a new user interface that strictly sticks to the basics and the GNOME Human Interface Guidelines 2.0 (http://developer.gnome.org/projects/gup/hig/2.0/)

Here are the features I will like to have:

done in python. The code must be accessible. Even to me.
as strict as possible for conformity to the GNOME HIG 2.0
user interface ORIENTED TOWARDS BATCH SCANNING. Scanning 170 pages should never be a tiresome task for a gnome user!
Save all your preferences automatically and restore them next time
Oriented towards "saving files" to a folder
Automatic file renaming



Here is the first idea that came to my mind (it's a glade file, meaning I can turn it into a "real" python application anytime). Feel free to add suggestions, critics and comments of HIG mistakes I could have done. I want this to be a consistent experience and need feedback before I actually start anything. I would also greatly need someone better than me in Python (it's really not hard).

http://img213.imageshack.us/img213/9387/snakescan9eo.th.png (http://img213.imageshack.us/my.php?image=snakescan9eo.png)

Here are some explanations for this user interface (subject to change):

since this is oriented for scanning lots of pages, the columns on the left will display the pages you have scanned so far, and allow you to remove the ones you do not want anymore (if you made errors for example)
there is no "scan" button, it's an "add" button ("ajouter" in the mockup). This is something that needs to be debated, because this program is oriented towards batch processing. "Scan" would kinda mean only one page, but "add" makes it more obvious to me that you "add a new page to the batch that will be scanned". Other weird possibilities could be "scan page", "add page", etc. I need ideas on this.


G-14 pointed out to me that there are "SANE" bindings for python: http://packages.ubuntu.com/dapper/graphics/python2.4-imaging-sane

I have looked at the code (/usr/lib/python2.4/site-packages/sane.py), but I don't understand it. That's why I would need help! Would anyone be interested? Even if you are not very experimented that could be a good python learning experience, if you are looking for one.

Apollyein
March 25th, 2006, 08:26 PM
First of all, saying something 'sucks' is not very nice. Maybe 'could be improved,' but definitely not 'sucks.'

Second, I have never used XSane. No idea what it even is.

That being said, I have studied python with Bob Duke from Lockheed Martin, and once the project becomes clearer, there's a good chance I may join in.

~Polly

kiddo
March 25th, 2006, 08:33 PM
Yes, I changed the title. And here is Xsane. It is a frontend for getting images from a scanner. It works, but it's a pain to use sometimes.

Here is a screenshot I just took of Xsane. Makes me want to scream ;)
http://img233.imageshack.us/img233/2766/xsane2es.th.png (http://img233.imageshack.us/my.php?image=xsane2es.png)

Apollyein
March 25th, 2006, 08:49 PM
The new title is better, thank you.

I would be happy to assist you in this quest. But what are we using in Python to code the GUI?

~Polly

kiddo
March 26th, 2006, 12:10 AM
Hmm, I am planning to do it in Python GTK (pygtk) using glade. It allows simply importing a .glade file and binding to it with python. That's what I did with specto, for example. For a more simple example, there's this app I did a little while ago: http://open-source.nanokron.info/?voir=projets/outil-de-sauvegarde (at the bottom of the page there is a link), if it can help.

Any thoughts on the way the user interface is presented? Good things, weird things, I want to know! :-D

Apollyein
March 26th, 2006, 01:55 AM
Hmm, I'm not familiar with that. My background lies in wxPython.. But hey, life's short, so learn all you can while you live it! Any links to pygtk sites?

I'll comment on the UI in a bit.

~Polly

kiddo
March 27th, 2006, 02:06 AM
Hmmm... I don't have lots of links of websites about that.. Maybe the reference manual that I use http://pygtk.org/pygtk2reference and http://www.pygtk.org/pygtk2tutorial

Some tutorials:
http://jmoiron.net/docs/python/glade2/
http://pygtk.org/articles/cairo-pygtk-widgets/cairo-pygtk-widgets2.htm
http://www.serpia.org/pygtk
http://patrick.wagstrom.net/tutorials/pygtkmozembed/pygtkmozembed.html

Apollyein
March 27th, 2006, 02:19 AM
Gracias. Now, as for organization. Who else is doing this? What are the jobs? Do we have an SVN repository?

~Polly

kiddo
March 27th, 2006, 02:24 AM
currently, there is nothing set up, no sourceforge project created or anything... I'm gathering feedback and, hopefully, people first... If you feel serious/confident about plunging into this, we could then create a sourceforge project with CVS/SVN and all, I guess it could be cool ;)

I posted this thread to see if anyone was interested first... so far it looks like we would be two at the beginning; people will maybe get interested once it starts working. I guess what we would need to do first is be able to do this (at least from the command line) with a simple python app:
- specify the scanning parameters (DPI, color mode, adjustments [gamma, brightness, contrast])
- start scanning with those parameters - also have an option to do a "preview scan"
- save the file

- slap a gui on top of that... the easy part!
- list the scanned pages into the "treeView" widget on the left; allow removing pages

Then, additional features as it starts working:
- image cropping
- color correction?
- OCR? > not very important, because OCR seems to be too primitive on linux anyway

davegod75
April 2nd, 2006, 03:52 PM
Hi ! As some may know, I'm a very "beginner" python programmer, I'm more a designer type. So I was looking at xsane (the user interface for scanning images in GIMP, or gnome if you run it directly) and thinking, "aw this user interface sucks:

it has dozens of tiny buttons (which are not labeled)
it has too many options for the "casual" user who wishes to quickly scan his school handouts
the main window (when you removed all the other windows) is very vertical, it's annoying on the eyes
there is no "intuitive" way to do batch scanning: I had to fiddle for a long time to figure out how I could scan 50 pages without wasting time renaming files and adjusting colors
I don't like the name "xsane". It feels so 90's! It just shouts "X frontend for SANE"... pretty boring ](*,)
I think xsane is mostly HIG-compliant, but to me, it does not "feel" that way. That's strange.


That's why I want to make a new user interface that strictly sticks to the basics and the GNOME Human Interface Guidelines 2.0 (http://developer.gnome.org/projects/gup/hig/2.0/)

Here are the features I will like to have:

done in python. The code must be accessible. Even to me.
as strict as possible for conformity to the GNOME HIG 2.0
user interface ORIENTED TOWARDS BATCH SCANNING. Scanning 170 pages should never be a tiresome task for a gnome user!
Save all your preferences automatically and restore them next time
Oriented towards "saving files" to a folder
Automatic file renaming



Here is the first idea that came to my mind (it's a glade file, meaning I can turn it into a "real" python application anytime). Feel free to add suggestions, critics and comments of HIG mistakes I could have done. I want this to be a consistent experience and need feedback before I actually start anything. I would also greatly need someone better than me in Python (it's really not hard).

http://img213.imageshack.us/img213/9387/snakescan9eo.th.png (http://img213.imageshack.us/my.php?image=snakescan9eo.png)

Here are some explanations for this user interface (subject to change):

since this is oriented for scanning lots of pages, the columns on the left will display the pages you have scanned so far, and allow you to remove the ones you do not want anymore (if you made errors for example)
there is no "scan" button, it's an "add" button ("ajouter" in the mockup). This is something that needs to be debated, because this program is oriented towards batch processing. "Scan" would kinda mean only one page, but "add" makes it more obvious to me that you "add a new page to the batch that will be scanned". Other weird possibilities could be "scan page", "add page", etc. I need ideas on this.


G-14 pointed out to me that there are "SANE" bindings for python: http://packages.ubuntu.com/dapper/graphics/python2.4-imaging-sane

I have looked at the code (/usr/lib/python2.4/site-packages/sane.py), but I don't understand it. That's why I would need help! Would anyone be interested? Even if you are not very experimented that could be a good python learning experience, if you are looking for one.


xsane def. could be improved and simplified for the causal scanner. I would suggest checking out Canon's windows software. Very simple to use and has all the necessary features.

kiddo
April 2nd, 2006, 03:55 PM
Could you be kind enough to take some screenshots of that software for me? I don't own a canon scanner (I have a HP Scanjet3300C) and I don't use windows at all.

Bou
April 12th, 2006, 10:18 PM
Could you be kind enough to take some screenshots of that software for me? I don't own a canon scanner (I have a HP Scanjet3300C) and I don't use windows at all.

So, was there any progress?

kiddo
April 12th, 2006, 10:26 PM
No, doesn't look like people are alive >_> I'm still waiting for some replies or something. Meanwhile my student life kept me busy enough (meaning I was not bored enough to start trying to hack this together, as I'm a beginner in python anyway).

I'd quite like to do this, but I don't think I can achieve that alone, and I'd like to at least know if people like the idea, not just me :-k

Bou
April 12th, 2006, 10:33 PM
Well I'd like to help but I've got no idea at all about programming.

If I can be of any help, just let me know.

LKRaider
February 26th, 2007, 12:11 AM
I was thinking about this for quite some time now (improving xsane interface, I mean). It really does suck.

I am learning Python aswell, so would be nice to have a project to exercise in :)

Let me get back to you on this in a week or so (or you can contact me if I take too long), when the university exams are over. I would like to participate (even if I have very limited free time).

kiddo
February 26th, 2007, 02:04 AM
Actually, in the meantime, a hero appeared (it seems :)) and started a project called GNOME Scan (http://www.gnome.org/projects/gnome-scan/index), our efforts might be better directed by contributing to this project than starting from scratch. I have not tried using it for a few months though, but it does give me some hope! What do you think?

Actually, I just apt-get installed it from synaptic (I am using Feisty), and it works. Pretty well. This is reassuring.

And I see Étienne Bersac (the author) pretty much the same vision I had in the beginning for batch scanning: it scans the page, says "I'm done. Stop or next page?", which is great. The only thing I feel is missing is an integrated color corrector (so I can fine-tune my scanner).

This project *might* be included in gnome 2.20.

matt_risi
March 21st, 2007, 12:10 PM
While I'm not a programmer, I do respect what you guys are planning on doing. This phenomena of great software with usable and welcome features that is PLAGUED with hideous and/or inaccessable GUI fronts seems to happen much more with open-source software, which is a crying shame. Programmers put alot of sweat and blood into making awesome programs that others can benefit from, for free, but because of the GUI problems and possibly some small bugs, all they get is complaints (the nerve of some people), and they're likely to not want to waste their time with developing for such unappreciative audiences again.

There definitely is a place in open source software development for GUI designers, or maybe even "common sense monitors". Not to say programmers don't have common sense, but what makes sense to one may be gibberish to another.

Anyway, kudos guys, I'm anxious to see what comes out of it, and I want to help in any way my (feeble) mind can. :P

kiddo
March 21st, 2007, 03:23 PM
Basically, the author of gnome scan/flegita is pretty responsive with bug reports or usability reports, I filed three bugs lately and they will be looked at for the next major version :) http://bugzilla.gnome.org/show_bug.cgi?id=420165
http://bugzilla.gnome.org/show_bug.cgi?id=420164


I'm placing my hopes on gnome-scan; it already does everything I want except that I cannot set the resolution of my scanner (which is a bug, http://bugzilla.gnome.org/show_bug.cgi?id=416802) and there is no color correction (to be added someday).