Tuesday 29 June 2010

Fixing the bleedin' obvious

I have quite a lot of computers in my life, and they all run Linux. In fact, the only time I leave the confines of my beloved Linux is when I'm at work (where my machine at Moviestorm Towers is a Macbook Pro). Most of my machines run a variant of Linux called Ubuntu. Last year, the Ubuntu development team announced a new project which they called 100 Papercuts. The idea was that they would identify 100 little irritations which were reasonably trivial to fix. Most of the issues identified were minor and really not too significant, but as they all pile up they start to become a serious problem. One papercut, after all, is only an irritant, but if you get enough papercuts all at once you just might bleed to death.

I was quite taken with this idea (the papercuts concept, not the bleeding to death), and spent some time talking about it with Dave and Andrew. As a consequence, we recently launched our own "papercuts" project for Moviestorm. Whilst Ubuntu's Papercuts project attracted over 1600 recorded bugs within a few weeks, our initial brainstorm generated a slightly less ambitious 200(ish) issues. We're going to be tackling these "papercuts" a few at a time, aiming to fix between 10 and 20 papercuts each time we have a code release.

Let's take a look at some of the papercuts for the forthcoming 1.3.1 release.

MS-3277 Keep window positions and sizes after the user has adjusted them
Wouldn't it be nice if, when you moved a customisation window over to the left, it appeared in the same place when you next reopened it? Now it does. We haven't implemented this behaviour for every window yet, but it's in place for all of the "adjust something" windows (what we call Activity Customizers).

MS-4887 Improve transitions between major mode views
This one's not so easy to spot, but the load time required to switch Views - to move from Set Workshop View to Director's View, for example - has been much improved. A lot of clever process threading and Clever Engineering Hacking in the background has allowed us to make these transitions faster and smoother.

MS-4826 Can't remove user images
I'm going to be totally honest with you here: this is one of those bugs that represents a lack of functionality not through deliberate choice but just because we forgot to put it in. Once you add a custom image to a set object, there's no way of actually removing that image if you change your mind later. The ring menu for such objects now features a "clear image" option, which removes the image. It also works for held props and bodyparts.

MS-4815 File overwrite message is confusing
This one was ridiculously easy to fix, but had still been sat in our bug database for a long time. Being such a small team, it's easy for small things like this to never actually make it onto anybody's "to do list", simply because there are so many other, bigger things that need to be done. That's exactly what the papercuts project is good for: making sure that issues like this do eventually get addressed. Here's the dialog as it appears in the current released version of Moviestorm:
And here's the new version:
A lot clearer, I think you'll agree.

MS- 4809 Can't find the movie I last worked on
My Moviestorm "movies" directory currently holds about a hundred different movies, in various states of completion. When you spend a lot of your working day testing Moviestorm you tend to accrue a lot of test movies. The load screen will now allow you to sort those movies, either by name or by modification date. That means that the movie you last worked on can be quickly brought to the top of the list.

MS-4806 Typo on first page of Help
Yes, well. The less said about this the better. Let's just move on, shall we?

MS-4786 Warn me if I'm not placing a character at time 0
Ever had a character appear halfway through a scene because the timeline wasn't at the start of the scene when you issued the "place here" command? Yeah, me too. Not any more:

MS-3690 Autosave
Matt has already blogged about this one.

There are about half a dozen other papercut issues in various stages of completion, but this should give you some idea of what we're hoping to achieve for 1.3.1. This is an experiment, so the choice of which of our 200 papercut issues to address first has been almost arbitrary. What about you? What little annoying niggle would you like us to fix? Comment with your papercuts, and I'll add them to our issues database.


Kate Fosk said...

Nice to read this Johnnie, several of these have been bugging me and fixing 'small problems' can have a larger beneficial effect-Kate

Dex said...

This is wonderful to see! One thing that I'm reminded of is how often I have to hover over the little check mark, "x," and whatever that backwards "L" with an arrow thing would be called just to be sure I'm clicking "yes," "no," or "cancel."

I'm all for graphical interfaces, but this just slows me down. Maybe it's because I'm a little dense, but I think it would be clearer if the buttons just said, "yes," "no" and "cancel."

johnnie said...

@Dex - you've got exactly the right idea there. Actually, that's already on our papercuts list: "MS-4796 Save before exit dialog is confusing". I didn't mention it in my post, because it hasn't actually been fixed yet, but we're hoping that's one of the issues that'll be fixed for 1.3.1.

Unknown said...

I really think the way you are going about this is a great idea! It's amazing how all those small things can add up in either a positive or negative way.

Since you asked for suggestions, it would be nice to be able to delete a movie that you are no longer working on. Unless that has already been implemented and I missed it?
It would be so much more convenient to hover over a movie file on the "Load Movie" screen and have the option to delete it then to go into the movies folder and delete it manually. Or have a button on the bottom next to the "load from other location" button that activates when you single-click a saved movie.

Unknown said...

One little thing that bothers me is when I am trying to use the "gizmo" and the customize dialog comes up, obstructing the view and access to the gizmo. I try to move the dialog out of the way but as soon as I touch the current object or its gizmo again, the dialog moves back in the way again -- the only way around it I have found is to position the view of the object so that it is on the right of the window and zoom out so that it will fit outside the customize dialog. Is this what your post meant about item MS-3277 ?

johnnie said...

Thanks guys. Keep 'em coming - this is exactly the sort of stuff we're after.

@Armanus- we already have that as a papercut issue. Your suggested implementation is a good one, so I've added your comments to our issues database and I'm going to try to prioritse this issue for the next round of papercuts (targeting the next major release after 1.3.1).

@MikeL - Excellent suggestion. MS-3277 will partially fix the problem, but not entirely. We have another, larger issue in our database at the moment to do with the interaction of multiple windows. A solution to this problem will probably fix your problem too, but I'm not sure how soon that'll be addressed. I've flagged it for investigation as part of the next release.

Anonymous said...
This comment has been removed by a blog administrator.
Unknown said...

Excellent! Thanks Johnnie :)

Douglas "Jalnor" Carr said...

This isn't entirely relevant to this post, but more so than any other... your help section appears to have suffered a database malfunction and is completely offline, while I'm having interesting issues on both of my computers. My laptop (running Bindows Vista SP1) initially would run the new user tutorial video, but the app would crash (I.E. suddenly vanish from existence) if I tried to enter any of the other views. It now crashes in just this fashion as soon as I finish loading it.
The desktop machine, running Bindows XP x64, just got its installation today. (Both machines report I should have best performance of the software) The Moviestorm CORE, however, won't successfully install. It re-downloads on startup, informs me that MD5 verification failed and then, basically, I can either shut it down or try again from within the Get More Content menu, without a status monitor.

IceAxe said...

I'm having problems posting here - sorry if this is a double post.

Anyway, although the gesturiser is scalable, the all-important left hand column cannot be made wider. It's a real pain to scroll left and right to read the full gesture descriptions.

IceAxe said...

Clicking on the name of your character in the Characters View to rename them opens up a dialog in the middle of the screen. It's clunky and unintuitive - couldn't we just get an insertion point where we click?

Also, if I've created 5 characters (e.g.) and saved them to stock, every time I want to use them I have to wait for all the stock characters to load (which I never use). It's a bit annoying really, so could we have a checkbox to switch off the stock characters, or abandon stock characters altogether and allow us to build up our own motley crew.

Also, shadows - I know it's something to do with the size of the set, but c'mon it's 2010, find a way to give us big smooth shadows.

Also, in Camera View there are buttons "back a bit" and "forward a bit". It sounds a lot less useful than they actually are. How about "Previous event" and "Next event", which is what I think they actually are. Also, the icons used for these buttons is wrong. I think that they look like ff and rewind buttons. How about a downward pointing triangle with a left triangle for previous event: eg. V< and >V for next event

Also, mountains :)

Matt Kelland said...

Jalnor - if you're having problems, post a message in the help forums. The support staff will be able to respond there, and you may well find that other users will be able to help you.

johnnie said...

Thanks for all those suggestions, guys. I'll try to go through them one at a time:

Numerical values on sliders: this is a point of contention here at Moviestorm Towers! We're still debating as to exactly how we'd implement this, if we chose to do so. What we don't want to do is to make the interface appear cluttered and complicated (and therefore intimidating or difficult to use). I expect we will add numerical values eventually, though - it's in as a Papercut.

Swaying house plants: we have a few thoughts on ways we can improve mobile props like these. I've got to be honest with you: I don't expect we'll get this done any time soon.

Gesturizer scaling: Yes, the Gesturizer is really starting to creak now. We will definitely rework it at some point. It may be a simple bit of interface tweaking, or it may involve a large-scale rethink of the way that gestures are presented (Ben S and I have had several conversations about this).

Renaming characters in Characters View: Moviestorm 1.3.1 will ship with a completely redesigned Dressing Room which will also incorporate all of the functionality of the Characters View. We're still playing around with the interface for renaming characters, but I'm hoping that the final solution will be a lot easier than the current method (hopefully a simple 'click to edit' as you suggest).

Stock characters: Another thing that's starting to creak. We need to give our whole "Stock" system a bit of an overhaul. This is one of the things on my "medium" list (that's the list of things that I've decided we're definitely going to do, but I haven't decided when yet).

Shadows: Couldn't agree more. Now, this is a big enough can of worms that it doesn't really count as a "papercut". That doesn't mean we're going to ignore it, though. In fact, I had a brief meeting with Dave and Chris on this very subject a couple of weeks ago[1]. We have a few ideas as to how we can improve shadow quality without a degradation in performance (which is the crucial bit). Watch this space - this is something we'll be looking at in the near future.

Camerawork View back and forth buttons: Good point. I agree that these descriptions/icons for these buttons don't do them justice. I've added a papercut issue to the database, and we'll look at a better alternative.

I really can't over-emphasise how useful these comments are for us, so please don't be shy if you're thinking of posting. You can send your comments directly to me via PM if you prefer - my Moviestorm username is 'johnnie'.

[1] 'Brief meeting' in this case is a euphemism for "impromptu but excited chat in the kitchen while waiting for the morning coffee to brew".

johnnie said...
This comment has been removed by the author.
IceAxe said...

I have a really poor memory, so the next time someone posts a snotty "you never listen to us you're[sic] valuable customers" message, remember to point them in the direction of this blog.

IceAxe said...

If you've built a set but not added characters then the next time you open it always takes you to the characters view. It's a bit annoying if you don't want characters in your movie - I often build scenes which will be used for chromakeyed backdrops.

IceAxe said...

Also, I've always found it a bit tricky moving the "pivot point" (I don't know what it's actually called) when moving around a set. I've been thinking what an amazing invention the Gizmo is, (truly!) and I wonder if you could have a similar tool that could be toggled on and off which shows where the pivot point is. Then I could place it exactly where I wanted it, toggle it off and get on with set building or directing or whatever.
I'd call it the "Unfanny About" tool.

IceAxe said...

The timeline marker in the script view is not automatically synched with the main one. So, if you are working in carmera view, and you line up the marker to a specific point where you want to move an event to, when you go to Script, timeline view the marker is at the last position you left it, not at the current position you've got all queued up.

IceAxe said...

The numbers on the sliders in the change lens dialog are difficult to read because of the bevelled button effect. Could these be a wee bit clearer?

IceAxe said...

I'd like to be able to adjust the improv gestures. Usually the gestures themselves are fine, but the timing can be wrong, or they clash with gestures I'm selecting. Being able to drag an improv gesture along the timeline would be useful, as well as being able to selectively delete them.