Tuesday, July 25, 2006

Full Screen: Evolved

As promised, a couple of screenshots of Scrivener's new full screen mode. It's not finished yet - I mainly just have to hook everything up - but these should give you a good idea of how it's going to look. The first screenshot shows how full screen mode when you launch into it, with no extraneous elements visible. And don't worry, although this is the default appearance, all colours are customisable, so you can always get that retro green-text-on-black look if you really want. The second screenshot shows full screen mode with the inspector (which allows you to view and edit document notes and keywords), the keywords HUD (which allows you to edit and assign project keywords) and the tool panel (which acts like the one in iPhoto) visible.

There are still some minor conceptual problems, such as how the whole thing acts with expose, and it may therefore be that version 1.0 doesn't allow for the blanking out of other windows during full screen and full screen may end when the app deactivates (as with the current version of Ulysses). This behaviour is fine for most situations, but ideally I would like to have full screen persist when you select other applications (especially for a dual-screen set-up, which I am unable to test) at least. I'll have a look at it tomorrow, but after that I think these enhancements might just have to go into a 1.x update. Full screen is pretty sexy as it is, and the main thing is getting a 1.0 release. Anyway, enjoy the screenshots.

In this first picture, you can see that the background can be faded so that you can see windows beneath - including the main Scrivener window, which may be useful if you wish to refer to a different document.

Here you can see the other visual elements available in full screen.

Monday, July 24, 2006

Full Screen Ponderings and the Nature of Shareware

(Note: It's late and I can't be bothered right now to go through and check for spelling errors and missing words, so please excuse any poor grammar.)

During the coding of the new full screen mode for Scrivener (still unfinished, grr), I suddenly realised that I'd made a silly mistake: the new keywords panel in Scrivener is a HUD panel, much (read "just") like the keywords HUD in Aperture. HUD panels look fantastic in full screen, and pretty cool out with normal windows, too. My mistake was that although the HUD panel looked great in the new full screen mode, you couldn't actually do anything useful with it. You use the HUD panel to assign keywords to a document by dragging them from the HUD to either the document in the binder, the document's header view, or the document's keywords list - none of which are visible in full screen mode. Whoops.

Of course, I could just disallow viewing of the keywords HUD in full screen mode, but then there would be absolutely no point to it having the HUD look. Instead, it got me thinking: perhaps there should be a way to assign keywords in full screen mode. But what would be the best way of doing it? Full screen should be a "no distractions" environment, so I didn't want to bring in too many other visual elements. But then I had to question, what does "no distractions" mean in the context of Scrivener? Really, it just means that you don't want to get distracted by other programs, by e-mail, by the internet and so on. It doesn't mean that you don't need access to other parts of Scrivener. This got me thinking more: what are the bare essentials that you would need in full screen, so that you could work on one document at a time without having to leave full screen unless you wanted to start outlining? In other words, if you wanted to concentrate on writing in full screen, what would you need?

Well, you wouldn't need the synopsis (index card) - that is more for outlining purposes. You could add that when you came out of full screen, and full screen should not be about worrying over the wording of a synopsis. And you wouldn't need the references table, because if you want to open up references then you are going to need the main window or another application. But you might want the notes, so that you can refer to your ideas and scribblings. And you might want the keywords list, because as you write, you might think, "I've just added Emily to this scene, I better add her name to the document's keywords."

Thus, full screen now has an optional HUD that allows you to enter notes and keywords. On top of this, of course, you can always fade the background to view other windows (or Scrivener's main window) if you so wish. It looks pretty swish, I think - screenshots tomorrow, if all goes to plan.

My other thought for the day is this: why is it that when users spend big bucks on a piece of software such as Microsoft Word or Adobe Photoshop they do not expect regular updates adding killer new features, but when they spend only a few dollar on a piece of shareware, they expect regular updates and regular new features? This is not a dig at my users in anyway, who have helped shape Scrivener into something I truly love from something with which I was not entirely satisfied, I am just genuinely curious. Actually, though, I think the answer is obvious. There is no way you can get near the developers of MS Word or Adobe Photoshop (actually, that's not entirely fair; the MS Word developers do keep an interesting blog on the MS site - but there's no way you are going to influence the direction of Word). Whereas, with a shareware app, you might find something that you find has some potential for you and you can actually contact the developer and try to sway him or her. Either way, I'm not complaining. Much of the swaying I have had has made Scrivener into a better program. But there will come a time when I will have to sway a little less, and write a little more.

Sunday, July 23, 2006

One more interface task to go...

The new Scrivener interface is coming along nicely. All that remains now is building the full-screen window and control panel. After that, I am ready to start bringing in all of the “brain code” from Scrivener Gold and the never-released Scrivener 0.3b. That will take a couple of months, but once it’s done and the bugs have been ironed out through beta-testing, 1.0 is ready for release.

What has been nice about building the interface first this time is that I now have clear goals to 1.0. Everything that needs doing can clearly be seen in the interface: once all of the menus are operational, the buttons actually do something and the Binder, tables and corkboard display data, then it is done. I’m refusing point-blank even to consider suggestions for new features or improvements until I am at that stage – I have goalposts and I’m not going to move them. It feels good.

Once the full-screen window is done, I may even post an interface tech-demo so that beta-testers can check out the keyboard short-cuts, check to make sure there aren’t any silly spelling mistakes lurking anywhere, ensure that state-saving is working okay so far and test for potential crashes at this early stage. We’ll see...

Sunday, July 09, 2006


Yeah, that entry title has nothing to do with much other than being a pointless pun on the word "interface" and the film "Face/Off" (and as if it wasn't pointless enough to begin with, I've just exacerbated the the whole pointlessness with a pointless explanation).

I've been working on Scrivener for most of the day again today, mainly on the inspector, and I'm pretty happy with the results. I'm looking forward to the holidays when I might be able to put in enough time to get it towards a release state... Anyway, another screenshot - as you can see from the improved image view, I decided against dropping multi-media support:

I think it's fair to say that no one can say it looks like a "dirty pancake" (as some wise-ass once described a small Windows utility I created long ago...).

Saturday, July 08, 2006

Development Continues

Development is going well on Scrivener beta RC1 (ie. what will become release candidate 1). At the moment, I have the main interface laid out; next comes all the finicky getting-the-data into the interface, but of course, most of the code is already written and lying around in Scrivener Gold and (the unreleased) Scrivener 0.30b, so a lot of it will be cut and paste, optimisation and refinement. A quick and very blank shot of how things are looking so far: