After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 615570 - new project / recent projects startup wizard
new project / recent projects startup wizard
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: User interface
Git
Other Linux
: Normal enhancement
: 0.14
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on:
Blocks: 630751
 
 
Reported: 2010-04-12 20:22 UTC by Jean-François Fortin Tam
Modified: 2010-11-23 12:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
mockup (14.97 KB, image/png)
2010-09-16 01:56 UTC, Jean-François Fortin Tam
  Details
Adds a startup wizard, according to what was mentioned. (13.30 KB, patch)
2010-10-28 22:12 UTC, Mathieu Duponchelle
none Details | Review
Update to the previous patch (17.20 KB, patch)
2010-10-29 02:29 UTC, Mathieu Duponchelle
none Details | Review
updated glade file for patch #173453 (7.60 KB, text/plain)
2010-10-29 03:56 UTC, Jean-François Fortin Tam
  Details
Modifies the StartupWizard. (13.79 KB, patch)
2010-10-29 12:37 UTC, Mathieu Duponchelle
none Details | Review
Supposedly last update. (13.92 KB, patch)
2010-10-29 14:51 UTC, Mathieu Duponchelle
none Details | Review
Wizard set modal (14.73 KB, patch)
2010-11-01 21:33 UTC, Mathieu Duponchelle
none Details | Review
New wizard, popup when project called fixed, killed when browse cancelled fixed, geometry fixed (15.52 KB, patch)
2010-11-05 15:10 UTC, Mathieu Duponchelle
none Details | Review
Recent manager relocated and kill-wizard signal removed (15.75 KB, patch)
2010-11-08 22:13 UTC, Mathieu Duponchelle
needs-work Details | Review
all fixed (16.17 KB, patch)
2010-11-15 23:14 UTC, Mathieu Duponchelle
committed Details | Review
Fixed (1.34 KB, patch)
2010-11-21 04:43 UTC, Mathieu Duponchelle
none Details | Review

Description Jean-François Fortin Tam 2010-04-12 20:22:19 UTC
I have observed much confusion among users due to the fact that 1) project settings are crucial to getting a proper aspect ratio while editing and rendering 2) rendering settings depend on project settings, but are still independent.

To solve #1 and a couple of other issues, it is important that users set their project settings when creating new projects. However, pitivi always starts with a blank project, and the user is not forced to go through this step.

On startup, we should instead present the user with a dialog such as http://www.glom.org/wiki/images/b/b7/Glom_Welcome_Mockup.png

Basically, a list of recently used pitivi projects (check if their location still exists though) and the ability to create a new project. Doing so would pop up the project settings dialog. If the user clicks OK, the project is created. If the user clicks Cancel, he is thrown back to the welcome screen (except if that dialog was called explicitely by the user).
Comment 1 Jean-François Fortin Tam 2010-09-16 01:56:34 UTC
Created attachment 170388 [details]
mockup

A design made in glade. The last 4 recent projects are shown for quick access, and a dedicated Open button exists if you want to load a different project. Clicking "Create a new project" will start the project settings dialog/wizard.

If the user wants to skip this dialog, simply click on the window manager's close button (or perhaps, anywhere in the parent window).
Comment 2 Jean-François Fortin Tam 2010-09-23 14:37:25 UTC
Some things to clarify: there should *NOT* be an option in the preferences to toggle "Show wizard on startup", because we will actually make it useful and efficient. More efficient than not having a wizard at all.
- Note: If the user really really really wants to skip the wizard, simply click the window manager's close button or click "outside" the wizard (in the main pitivi window).

Jokosher's wizard is an example of an annoying/inefficient wizard because:
- In Jokosher, you typically don't "need" to set project settings (though Jokosher insists on it because they want to save a copy of all imported files), whereas in pitivi you *need* to at least set the resolution properly (you always end up setting this up anyway).
- What subconsciously annoys users in Jokosher's is that it forces you to *save* the newly created project (often, you just want to create a blank project to experiment with the app, not save it); we don't do this. Pitivi will just create it according to a template, but saving (or not) is up to you, so that removes an extra step.

So, the goal here is to help beginners AND make experts go faster; if the startup wizard takes more than 1 or 2 clicks for expert users, we have failed. If an expert user always deals with 720p footage and pitivi automatically remembers that, then the user is *more* efficient now because he just creates a new project "With the last settings".
- When creating a new project, provide a quick way to set sane default minimum project settings
- *Remember* what project settings the user chose last time; so you can always recreate the same project in 2 clicks maximum


Q&A/discussion:
<weld> i think the question is if most users rather want to create the same output format all the time or if they rather want to change it
<nekohayo> weld, logical problem...: if a) they want to change it... well the wizard allows exactly that, nothing was lost. b) they don't want to change it... the wizard just won the probability lottery and saved them a lot of wasted time. And I argue that while casual users won't use B) much, anyone who shoots video with a camcorder/DSLR/point-and-shoot-camera will
<weld> in the long run there could be something like render profiles, saved presets
<nekohayo> yes, I had those in mind "as a dependency" for the wizard thing to make sense (not that they are currently implemented properly though; emdash_ had some work on reworking the various UIs around that, but not sure what happened... I think he was waiting on gst-convenience)
Comment 3 Jean-François Fortin Tam 2010-09-25 22:46:26 UTC
After further thinking, the second part described in comment #2 (creating a new project, templates, etc.) is actually outside the scope of this bug report.

What should be implemented here is basically what was shown in the mockup (in comment #1), and wire up the actions that those buttons trigger; clicking the "Create new project" button would simply show the "Project settings" dialog, instead of bringing up a wizard-like custom interface specific to the startup dialog. More code reuse, less bugs, etc.

The downside of this is that it means the 2nd part *depends* on the "Project settings" dialog *not sucking*, but that's another story; see http://wiki.pitivi.org/wiki/Rendering_Profiles_Implementation for the gory details of how it fits in the bigger picture.
Comment 4 Mathieu Duponchelle 2010-10-28 22:12:33 UTC
Created attachment 173442 [details] [review]
Adds a startup wizard, according to what was mentioned.
Comment 5 Mathieu Duponchelle 2010-10-29 02:29:45 UTC
Created attachment 173453 [details] [review]
Update to the previous patch
Comment 6 Jean-François Fortin Tam 2010-10-29 03:54:29 UTC
Nice improvements!
Some suggestions:
- chooser.set_show_not_found(False)
- chooser.set_show_tips(True)
- bigger default size requests for the chooser widget, combined with set_limit(7)
- "Start new project" should be "Start new project..."
- "Browse files..." is not precise enough. "Browse projects..." or "Open a project..." would be better.
- the "Recent files :" label could be "Double-click to load one of these recently used projects:" instead; this would allow removing the "skip" and "open" buttons. Or we could simply connect to the "selection-changed" gtk.RecentChooser Signal to require only a single click, however I think this would affect keyboard too (and thus be an accessibility problem).
Comment 7 Jean-François Fortin Tam 2010-10-29 03:56:40 UTC
Created attachment 173455 [details]
updated glade file for patch #173453

Here's a modified glade file that implements most of the suggestions in my previous comment.

It doesn't remove the Skip and Open buttons ('cause there would probably be code to remove alongside), but I think it should.
Comment 8 Mathieu Duponchelle 2010-10-29 12:37:04 UTC
Created attachment 173475 [details] [review]
Modifies the StartupWizard.
Comment 9 Mathieu Duponchelle 2010-10-29 14:51:35 UTC
Created attachment 173488 [details] [review]
Supposedly last update.
Comment 10 Mathieu Duponchelle 2010-11-01 21:33:37 UTC
Created attachment 173657 [details] [review]
Wizard set modal
Comment 11 Mathieu Duponchelle 2010-11-05 15:10:43 UTC
Created attachment 173883 [details] [review]
New wizard, popup when project called fixed, killed when browse cancelled fixed, geometry fixed
Comment 12 Mathieu Duponchelle 2010-11-08 22:13:41 UTC
Created attachment 174105 [details] [review]
Recent manager relocated and kill-wizard signal removed
Comment 13 Brandon Lewis 2010-11-15 19:05:26 UTC
Review of attachment 174105 [details] [review]:

Nice work so far! Just a couple more things to fix and I'll go ahead and merge it:

- add the file to the recent manager in response to new-project-loaded. A project may fail to load after new-project-loading

42	    def _loadCb(self, unused_button3):

- instead of checking for this condition here, set the button insensitive when self.data is false.

43	        if self.data != None:
44	            self.data = unquote(self.data)

- instead of connecting to new-project-loading here, do it once in __init__

45	            self.app.projectManager.connect("new-project-loading",self.app.gui.
46	                    _quitWizardCb)
47	            self.app.projectManager.loadProject(self.data)

- remove this

48	        else :
49	            pass

- remove the HPane from the glade file, as it's not really necessary
Comment 14 Brandon Lewis 2010-11-15 19:05:28 UTC
Review of attachment 174105 [details] [review]:

Nice work so far! Just a couple more things to fix and I'll go ahead and merge it:

- add the file to the recent manager in response to new-project-loaded. A project may fail to load after new-project-loading

42	    def _loadCb(self, unused_button3):

- instead of checking for this condition here, set the button insensitive when self.data is false.

43	        if self.data != None:
44	            self.data = unquote(self.data)

- instead of connecting to new-project-loading here, do it once in __init__

45	            self.app.projectManager.connect("new-project-loading",self.app.gui.
46	                    _quitWizardCb)
47	            self.app.projectManager.loadProject(self.data)

- remove this

48	        else :
49	            pass

- remove the HPane from the glade file, as it's not really necessary
Comment 15 Mathieu Duponchelle 2010-11-15 23:14:25 UTC
Created attachment 174574 [details] [review]
all fixed
Comment 16 Brandon Lewis 2010-11-16 13:18:10 UTC
Review of attachment 174574 [details] [review]:

Merged patch with some minor cleanups.
Comment 17 Brandon Lewis 2010-11-16 13:22:13 UTC
commit 40879914ab8f8f780ed55ac20491db2398b00e14
Author: Brandon Lewis <brandon_lewis@alum.berkeley.edu>
Date:   Tue Nov 16 13:07:08 2010 +0000

    StartupWizard: remove redundant signal connections

commit 5005671a64db9b4f5c8aebcdeea66bee9ec50d3f
Author: Brandon Lewis <brandon_lewis@alum.berkeley.edu>
Date:   Tue Nov 16 13:12:05 2010 +0000

    StartupDialog: Change button label

commit 8b557175205adcab3f8c25a1154eca3f623d4ab9
Author: Brandon Lewis <brandon_lewis@alum.berkeley.edu>
Date:   Tue Nov 16 13:11:20 2010 +0000

    StartupWizard: add icons to buttons

commit 48bad4e5526d0f6b0be9c743ba8c96bf6365b71d
Author: Brandon Lewis <brandon_lewis@alum.berkeley.edu>
Date:   Tue Nov 16 12:14:26 2010 +0000

    StartupWizard: inherit from object

commit 89f6fe5ca875af77786a3fe1d0e85162366cbba7
Author: Brandon Lewis <brandon_lewis@alum.berkeley.edu>
Date:   Tue Nov 16 11:27:04 2010 +0000

    Reword fixme comment about a gtk bug

commit cb48de191302a35bc89363339f09e6a4b065cdae
Author: Brandon Lewis <brandon_lewis@alum.berkeley.edu>
Date:   Tue Nov 16 11:16:10 2010 +0000

    Mainwindow: Remove empty else clause

commit 3a33b5eef1090d847b3273fcd81a94b8110cd748
Author: Mathieu Duponchelle <seeed@laposte.net>
Date:   Tue Nov 16 11:12:36 2010 +0000

    Mainwindow: show start-up wizard on start-up, and close it when the project
    loads

commit 4818a52884c5c655cad4ea77456dde5b05ae6256
Author: Mathieu Duponchelle <seeed@laposte.net>
Date:   Tue Nov 16 11:07:00 2010 +0000

    Mainwindow: factor out openProject() from _openProjectCb

commit b1bb1cdf9ad7caa803dddd4d45f056e1677c5878
Author: Mathieu Duponchelle <seeed@laposte.net>
Date:   Tue Nov 16 11:04:48 2010 +0000

    Update the URL of the pitivi user manual

commit 56c700c33bbd660771eab59632ee58f88aa54e3a
Author: Mathieu Duponchelle <seeed@laposte.net>
Date:   Tue Nov 16 11:03:56 2010 +0000

    Check in and distribute new files for PiTiVi sartup wizard

commit 0ae18dc827bebe93f65b4b2b14a4a7069a56fe19
Author: Mathieu Duponchelle <seeed@laposte.net>
Date:   Tue Nov 16 11:01:55 2010 +0000

    Whitespace fixes
Comment 18 Brandon Lewis 2010-11-16 13:23:49 UTC
Just realized that the project settings dialog is not brought up if you choose New Project from the menu. Mathieu, would you be able to fix that?
Comment 19 Mathieu Duponchelle 2010-11-21 04:43:37 UTC
Created attachment 174939 [details] [review]
Fixed
Comment 20 Brandon Lewis 2010-11-23 12:32:06 UTC
commit 120bf99ae1e538fda1e1fc905037083e26af833d
Author: Brandon Lewis <brandon_lewis@alum.berkeley.edu>
Date:   Mon Nov 22 14:15:37 2010 +0000

    StartupWizard: show project settings when new project is chosen