* [Printing-architecture] GSOC'09: Common Printing Dialog @ 2009-03-26 11:02 Per Hermansson 2009-03-26 16:25 ` Alex Wauck 2009-03-26 19:15 ` Till Kamppeter 0 siblings, 2 replies; 7+ messages in thread From: Per Hermansson @ 2009-03-26 11:02 UTC (permalink / raw) To: printing-architecture Hi, My name is Per Hermansson and I'm a student from the Royal institute of technology in Sweden. I'm interested in developing the common printing dialog. Designing a printing dialog with usability in mind seems like an important task which if done correct would benefit a lot of people. I consider myself to be experienced in C/C++ developing and have developed with GTK. Since I've recently switched to KDE I hope to also learn a bit about Qt. After some investigation about the idea, I've come up with the following questions I hope someone here can answer: Since designing the interface is a major component would it be possible to implement the dialog with both Qt and GTK for one summer? I guess this depends on skill level (but e.g. abstracting the dialog model would make it easier). Except for the printing dialog and the cpdapi implementation I guess that some kind of abstraction is needed so that the underlying print method is decoupled from D-Bus in order to use the api for systems without D-Bus? Also, if two students are chosen for the project what would be a good measure for success in modifying other application to use the dialog? Finally is the cpdapi used (or experimented with) by any applications today that you know of? /Per ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] GSOC'09: Common Printing Dialog 2009-03-26 11:02 [Printing-architecture] GSOC'09: Common Printing Dialog Per Hermansson @ 2009-03-26 16:25 ` Alex Wauck 2009-03-26 19:15 ` Till Kamppeter 1 sibling, 0 replies; 7+ messages in thread From: Alex Wauck @ 2009-03-26 16:25 UTC (permalink / raw) To: Per Hermansson; +Cc: printing-architecture [-- Attachment #1: Type: text/plain, Size: 1935 bytes --] Per, My name is Alex Wauck, and I started the implementation of the KDE dialog last summer. I intend to continue to work on the project this summer. So, if accepted, you would likely be working with me. If you would like to learn Qt, this project certainly provides an opportunity for that. The current code for the KDE dialog needs some refactoring, and the UI needs some refinement. The refactoring may be too complex for someone learning Qt, but UI refinement should be well within reach. Also, Lars started a GTK dialog last summer, and since you have experience with GTK, that would be a good project for you to work on. Except for the printing dialog and the cpdapi implementation I guess > that some kind of abstraction is needed so that the underlying print > method is decoupled from D-Bus in order to use the api for systems > without D-Bus? > I think the solution for Qt/KDE will subclass QPrintDialog/KPrintDialog with some way of automatically choosing the right one so that applications don't need to know whether they are using the Common Print Dialog or a toolkit-native dialog. I would imagine a similar arrangement could be made for GTK/GNOME. Also, if two students are chosen for the project what would be a good > measure for success in modifying other application to use the dialog? My current goal is to have the dialog working in at least one KDE application (probably Okular) by the end of July. Since you have experience with GTK, perhaps you should pick a fairly simple application (Evince?) and plan to modify it to use the new dialog. Finally is the cpdapi used (or experimented with) by any applications > today that you know of? > Not that I know of. I had wanted to get my dialog in KDE 4.2, but that proved to be way too ambitious. We have a stupidly simple test application, but that's it. Getting the dialog implemented in some actual applications is a goal for this summer. Alex [-- Attachment #2: Type: text/html, Size: 2522 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] GSOC'09: Common Printing Dialog 2009-03-26 11:02 [Printing-architecture] GSOC'09: Common Printing Dialog Per Hermansson 2009-03-26 16:25 ` Alex Wauck @ 2009-03-26 19:15 ` Till Kamppeter 2009-03-26 20:45 ` Per Hermansson 1 sibling, 1 reply; 7+ messages in thread From: Till Kamppeter @ 2009-03-26 19:15 UTC (permalink / raw) To: Per Hermansson; +Cc: printing-architecture Per Hermansson wrote: > My name is Per Hermansson and I'm a student from the Royal institute of > technology in Sweden. I'm interested in developing the common printing > dialog. Designing a printing dialog with usability in mind seems like an > important task which if done correct would benefit a lot of people. I > consider myself to be experienced in C/C++ developing and have developed > with GTK. Since I've recently switched to KDE I hope to also learn a bit > about Qt. After some investigation about the idea, I've come up with the > following questions I hope someone here can answer: > Great, this is a good start for our projects on the Common Printing Dialog. Note that you will not design the dialog but you will implement it. OpenUsability has designed it and in the next days (at the latest presented on the OpenPrinting Summit 2009 on April 8-10) a revision of the design will be presented. Your task will be one of the following two (probably you like the first more): 1. Finish the started implementation work on the GTK and Qt incarnations of OpenUsability's Common Printing Dialog, especially implementing the embedded preview and taking care of feature-completeness (CUPS page management options, Custom options, multi-language PPDs, ...). 2. Modifying/patching common desktop applications to use OpenUsability's dialog with live preview via the D-Bus CPDAPI. Priority depends on popularity of the apps, starting with OpenOffice.org. > Since designing the interface is a major component would it be possible > to implement the dialog with both Qt and GTK for one summer? I guess > this depends on skill level (but e.g. abstracting the dialog model would > make it easier). > I think there will be enough time, as the design is already complete and most of the dialogs already implemented. > Except for the printing dialog and the cpdapi implementation I guess > that some kind of abstraction is needed so that the underlying print > method is decoupled from D-Bus in order to use the api for systems > without D-Bus? > We mostly have the current desktop Linux distros in mind, and they all have a D-Bus. We have nothing against alternative coupling methods but they do not have the highest priority. > Also, if two students are chosen for the project what would be a good > measure for success in modifying other application to use the dialog? > Dialogs completed and at least OpenOffice.org, Firefox, Thunderbird, Evince, and the GIMP being patched (but I have no idea how long patching onme app takes). We also need to patch some common KDE apps (for example the Konqueror web browser (or however it got renamed in KDE 4). > Finally is the cpdapi used (or experimented with) by any applications > today that you know of? Not in released software, but Lars Uebernickel (CCed) is implementing the CPDAPI in GTK and Qt currently, so that if someone runs GNOME and starts a KDE app that he gets the GNOME dialog and vice versa (a first stage based only on patching the libs and not using the OpenUsability dialog yet). Till ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] GSOC'09: Common Printing Dialog 2009-03-26 19:15 ` Till Kamppeter @ 2009-03-26 20:45 ` Per Hermansson 2009-03-26 23:48 ` Till Kamppeter 0 siblings, 1 reply; 7+ messages in thread From: Per Hermansson @ 2009-03-26 20:45 UTC (permalink / raw) To: printing-architecture Till Kamppeter wrote: > Per Hermansson wrote: >> My name is Per Hermansson and I'm a student from the Royal institute >> of technology in Sweden. I'm interested in developing the common >> printing dialog. Designing a printing dialog with usability in mind >> seems like an important task which if done correct would benefit a >> lot of people. I consider myself to be experienced in C/C++ >> developing and have developed with GTK. Since I've recently switched >> to KDE I hope to also learn a bit about Qt. After some investigation >> about the idea, I've come up with the following questions I hope >> someone here can answer: >> > > Great, this is a good start for our projects on the Common Printing > Dialog. > > Note that you will not design the dialog but you will implement it. > OpenUsability has designed it and in the next days (at the latest > presented on the OpenPrinting Summit 2009 on April 8-10) a revision of > the design will be presented. Your task will be one of the following > two (probably you like the first more): > > 1. Finish the started implementation work on the GTK and Qt > incarnations of OpenUsability's Common Printing Dialog, especially > implementing the embedded preview and taking care of > feature-completeness (CUPS page management options, Custom options, > multi-language PPDs, ...). > > 2. Modifying/patching common desktop applications to use > OpenUsability's dialog with live preview via the D-Bus CPDAPI. > Priority depends on popularity of the apps, starting with OpenOffice.org. > Hi Alex and Till I have seen the interface specification that was linked from the idea page. So the final version will be released soon, this sounds like excellent news. I like both tasks but the first one will probably be easier to implement since modifying patching other applications is difficult estimate how much time it takes. Although it would be and probably not to difficult to try as Alex said with an application like Evince. >> Since designing the interface is a major component would it be >> possible to implement the dialog with both Qt and GTK for one summer? >> I guess this depends on skill level (but e.g. abstracting the dialog >> model would make it easier). >> > > I think there will be enough time, as the design is already complete > and most of the dialogs already implemented. > I'm not sure if either GTK or Qt implementation needs the most work? If Alex is focusing on the KDE dialog it would seem logical to start with the GTK implementation. But working with Qt would be fun too, I'm a quick learner and will probably have some extra time until the summer starts to get into deep with Qt. I've downloaded and tested the cpdapi code from the Bazar branch and it looked very nice but I guess both toolkit versions have to be modified to follow the OpenUsability design? Also as I understand it both tasks (implementing the OpenUsablility design and porting desktop applications) can be done independently of each other? >> Except for the printing dialog and the cpdapi implementation I guess >> that some kind of abstraction is needed so that the underlying print >> method is decoupled from D-Bus in order to use the api for systems >> without D-Bus? >> > > We mostly have the current desktop Linux distros in mind, and they all > have a D-Bus. We have nothing against alternative coupling methods but > they do not have the highest priority. > > >> Also, if two students are chosen for the project what would be a good >> measure for success in modifying other application to use the dialog? >> > > Dialogs completed and at least OpenOffice.org, Firefox, Thunderbird, > Evince, and the GIMP being patched (but I have no idea how long > patching onme app takes). We also need to patch some common KDE apps > (for example the Konqueror web browser (or however it got renamed in > KDE 4). > >> Finally is the cpdapi used (or experimented with) by any applications >> today that you know of? > > Not in released software, but Lars Uebernickel (CCed) is implementing > the CPDAPI in GTK and Qt currently, so that if someone runs GNOME and > starts a KDE app that he gets the GNOME dialog and vice versa (a first > stage based only on patching the libs and not using the OpenUsability > dialog yet). > > Till > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] GSOC'09: Common Printing Dialog 2009-03-26 20:45 ` Per Hermansson @ 2009-03-26 23:48 ` Till Kamppeter 2009-03-27 0:28 ` Alex Wauck 0 siblings, 1 reply; 7+ messages in thread From: Till Kamppeter @ 2009-03-26 23:48 UTC (permalink / raw) To: Per Hermansson; +Cc: printing-architecture Per Hermansson wrote: > I have seen the interface specification that was linked from the idea > page. So the final version will be released soon, this sounds like > excellent news. OK, if you have questions about that, ask Peter Sikking (peter at mmiworks dot net), leader of the development of this UI. You can also call into the OpenPrinting Summit 2009 at Thursday, April 9 in the afternoon PST and participate in the discussion about the newest state of the dialog (or attend personally if you are near San Francisco then). https://www.linuxfoundation.org/en/OpenPrinting/OpenPrinting_Summit_San_Francisco_2009 > I like both tasks but the first one will probably be easier to implement > since modifying patching other applications is difficult estimate how > much time it takes. Although it would be and probably not to difficult > to try as Alex said with an application like Evince. > OK. > I'm not sure if either GTK or Qt implementation needs the most work? If > Alex is focusing on the KDE dialog it would seem logical to start with > the GTK implementation. But working with Qt would be fun too, I'm a > quick learner and will probably have some extra time until the summer > starts to get into deep with Qt. > I've downloaded and tested the cpdapi code from the Bazar branch and it > looked very nice but I guess both toolkit versions have to be modified > to follow the OpenUsability design? > Yes, they are both incomplete and your task is to complete them. > Also as I understand it both tasks (implementing the OpenUsablility > design and porting desktop applications) can be done independently of > each other? > Yes, my original idea was to have one student finishing the two dialogs and another patching the applications (see ideas list), but it is no problem for example if one student does the GTK dialog and patches the GTK apps and the second does the KDE dialog and patches the KDE apps. And if we get only applications for the dialog stuff and nothing for JTAPI, drivers and whatever we offered, we can even put a third student onto the dialog. We also can move around work tasks during the GSoC (this we did last year as it turned out that Lars got the CPDAPI quickly together, so he did also the GTK version of the dialog which the other student on the CPD was supposed to do, but the the Qt dialog turned out to be more work than expected). Till ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] GSOC'09: Common Printing Dialog 2009-03-26 23:48 ` Till Kamppeter @ 2009-03-27 0:28 ` Alex Wauck 2009-03-28 13:11 ` Per Hermansson 0 siblings, 1 reply; 7+ messages in thread From: Alex Wauck @ 2009-03-27 0:28 UTC (permalink / raw) To: Till Kamppeter; +Cc: printing-architecture [-- Attachment #1: Type: text/plain, Size: 1837 bytes --] > > Yes, my original idea was to have one student finishing the two dialogs > and another patching the applications (see ideas list), but it is no > problem for example if one student does the GTK dialog and patches the > GTK apps and the second does the KDE dialog and patches the KDE apps. > And if we get only applications for the dialog stuff and nothing for > JTAPI, drivers and whatever we offered, we can even put a third student > onto the dialog. We also can move around work tasks during the GSoC > (this we did last year as it turned out that Lars got the CPDAPI quickly > together, so he did also the GTK version of the dialog which the other > student on the CPD was supposed to do, but the the Qt dialog turned out > to be more work than expected). Interesting. I don't recall being expected to do the GTK dialog. At any rate, it should be easier to do other implementations now that we have an existing implementation. I would say the hardest part is the interface to CUPS. Since CUPS has a semi-object-oriented C API, producing an idiomatic Qt interface for it is decidedly non-trivial. Someone familiar with GLib may find it easier to think in that way, and hence have an easier time with it. The next hardest part is making the custom widgets (like the option grid) and making them look good. I'm not much of an artist, so I tried to reuse existing widgets as much as possible, but that didn't look the way Peter wanted it too. I still haven't produced a widget that looks right. The spec says that the widget toolkit's native grid widget should be used, but Qt's grid widget is not designed for such use and would look really weird. Lastly, I ran into a very strange QGraphicsView layout issue that seemed to occur on every computer except for mine. Hopefully, there won't be any of that this year. Alex [-- Attachment #2: Type: text/html, Size: 2105 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Printing-architecture] GSOC'09: Common Printing Dialog 2009-03-27 0:28 ` Alex Wauck @ 2009-03-28 13:11 ` Per Hermansson 0 siblings, 0 replies; 7+ messages in thread From: Per Hermansson @ 2009-03-28 13:11 UTC (permalink / raw) To: printing-architecture Alex Wauck skrev: >> Yes, my original idea was to have one student finishing the two dialogs >> and another patching the applications (see ideas list), but it is no >> problem for example if one student does the GTK dialog and patches the >> GTK apps and the second does the KDE dialog and patches the KDE apps. >> And if we get only applications for the dialog stuff and nothing for >> JTAPI, drivers and whatever we offered, we can even put a third student >> onto the dialog. We also can move around work tasks during the GSoC >> (this we did last year as it turned out that Lars got the CPDAPI quickly >> together, so he did also the GTK version of the dialog which the other >> student on the CPD was supposed to do, but the the Qt dialog turned out >> to be more work than expected). >> > > > Interesting. I don't recall being expected to do the GTK dialog. At any > rate, it should be easier to do other implementations now that we have an > existing implementation. I would say the hardest part is the interface to > CUPS. Since CUPS has a semi-object-oriented C API, producing an idiomatic > Qt interface for it is decidedly non-trivial. Someone familiar with GLib > may find it easier to think in that way, and hence have an easier time with > it. > > The next hardest part is making the custom widgets (like the option grid) > and making them look good. I'm not much of an artist, so I tried to reuse > existing widgets as much as possible, but that didn't look the way Peter > wanted it too. I still haven't produced a widget that looks right. The > spec says that the widget toolkit's native grid widget should be used, but > Qt's grid widget is not designed for such use and would look really weird. > > Lastly, I ran into a very strange QGraphicsView layout issue that seemed to > occur on every computer except for mine. Hopefully, there won't be any of > that this year. > > Alex > > Thanks both of you for your valuable help. I've done some more research (reading mailing lists archive and links provided on the website) and I'm starting to understand what is needed know. Till (or anyone else), could you review my project idea and see if some of it makes sense and that the amount of work is within what is expected. *Idea* The project goal for me would be to finalize the OpenUsability design in at least one toolkit. My first choice would be to improve and refactor the current design written in Gtk. This involves being continue the effort to be compliance with the dialog specification and implementing support for missing features described in the specification like custom options and multi-language PPDs. With good background research and preparation I expect this to take at most to the midterm evaluation. During and after the first phase has been in acceptable compliance with the specification I expect that the project can take two ways. Either help in the development of finalizing the dialog written in Qt using experience and pitfalls gained from the previous implementation. If it's at that time estimated that too little time remains to complete the dialog (or that the work is already done) the second choice is to begin porting a current desktop application to use the new common printing dialog API. I've made some brief code inspections and except for Evince that was mentioned earlier KDE text editor Kate seems to be valid choices. *Timeline* - Before start of coding: First objective will be to study the OpenUsability design, probably as a few design questions if anything seems unclear. Also study some advanced topics in Qt, GTK and CUPS that will be required to implement the specification. Eventually look into a few applications that could be easily ported to use the common printing dialog, as mentioned above. - May 23: (Students begin coding for their GSoC projects) Between here and the mid-term evaluation refactoring and improvement of the existing design is top priority. This will probably be done using incremental development since I expect that the features can be broken done into individual tasks. Initial work will be done on the GTK dialog but I expect that some solutions to some ideas can be shared and also implemented in the Qt dialog if missing. - July 6: (Mid-term evaluations) Depending on how quickly the previous phase ended, work finalizing the Qt dialog will be given the highest priority. If it's estimated that too little time is available, work to implement the dialog in a simple desktop application will be prioritized instead. - August 10: (Suggested 'pencils down' date) At this stage I expect that a larger part of the GTK and Qt will be in compliance with the specification all (most?) of the major features being implemented and documented. If the finalization of the dialogs proceeded according to the timeline above then at least one desktop application will be modified to use the new dialog API. Per ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-03-28 13:11 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-03-26 11:02 [Printing-architecture] GSOC'09: Common Printing Dialog Per Hermansson 2009-03-26 16:25 ` Alex Wauck 2009-03-26 19:15 ` Till Kamppeter 2009-03-26 20:45 ` Per Hermansson 2009-03-26 23:48 ` Till Kamppeter 2009-03-27 0:28 ` Alex Wauck 2009-03-28 13:11 ` Per Hermansson
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.