GNOME Bugzilla – Bug 615570
new project / recent projects startup wizard
Last modified: 2010-11-23 12:53:31 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).
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).
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)
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.
Created attachment 173442 [details] [review] Adds a startup wizard, according to what was mentioned.
Created attachment 173453 [details] [review] Update to the previous patch
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).
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.
Created attachment 173475 [details] [review] Modifies the StartupWizard.
Created attachment 173488 [details] [review] Supposedly last update.
Created attachment 173657 [details] [review] Wizard set modal
Created attachment 173883 [details] [review] New wizard, popup when project called fixed, killed when browse cancelled fixed, geometry fixed
Created attachment 174105 [details] [review] Recent manager relocated and kill-wizard signal removed
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
Created attachment 174574 [details] [review] all fixed
Review of attachment 174574 [details] [review]: Merged patch with some minor cleanups.
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
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?
Created attachment 174939 [details] [review] Fixed
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