The L&L Blog

Mail 2.0-style split views

Scrivener

Mail 2.0-style split views

KB / 26 APR 2007

Just recently I've been invited to join a sort of round table discussion with several other UK-based Mac developers. It's been interesting so far, but I found myself moaning and bitching about the lack of frameworks available for common OS X controls. This, of course, is a career hazard of being a teacher - you end up moaning a lot. So I thought I ought to make amends.

Just recently I've been updating Scrivener's split views to look more like those in Mail in Tiger, as this seems to be the way that the Mac interface is going. I was a little reluctant to do this at first - indeed, I considered Mail-style split views when designing Scrivener 1.0, but decided against them because I liked the 16-pixel separation between binder and main text. But these days, after several interface tweaks, I feel the new splitters might fit. Besides which, I think that if I don't implement them, Scrivener may start looking dated if I'm not careful - maybe not yet, but it's good to get in there ahead of time. Or something.

So, I rolled my own solution. I enhanced the NSSplitView subclass that Scrivener uses so that it could be drawn with a single-pixel divider (and, as of 1.03, I also added functionality for it to state-save to file rather than just to user defaults so that split view state can be saved as part of the document, which is often desirable for document-based apps). I also wrote my own grab-handle class, SCRSplitViewResizer (by "grab handle", I mean the grabber that you click on in the footer view in mail to resize the split view). My class only handles the resizing of vertical split views, but then, outside of Path Finder, I haven't seen any apps that use grabbers for horizontal split views anyway. My grabber does have to handle resizing regardless of whether it's placed on the left or right of the splitter, though.

Now, lots of folk have rolled their own grab handles and single-pixel split views, I know. But, to my knowledge, the only one publicly available is RBSplitView. So, to make amends for all that bitching I mentioned, here is mine:

http://www.literatureandlatte.com/downloads/SCRSplitViews.zip

This is the code that Scrivener 1.04 is using. It works pretty well. If you have the need of a Mail-2.0-style split view, feel free to use it however you wish.

And the sad thing is that I am posting about the most ephemeral of phenomena - code classes - when my favourite author of all time died only two weeks ago. I didn't even blog it. I did shed a tear, though. God bless you, Mr Vonnegut (though I don't think that Vonnegut believed in a god any more than I do). My life changed for the better when I read Slaughterhouse 5 at nineteen. This really doesn't belong shunted at the end of a post entitled "Mail 2.0-style split views". Ho-hum.

READ MORE
Scrivener first week, 1.01 and Xbox 360 distractions

Scrivener

Scrivener first week, 1.01 and Xbox 360 distractions

KB / 28 JAN 2007

Well, the first week of Scrivener going on a 1.0 release has gone way better than I could have hoped. Thank you to everybody who has purchased a copy or just taken the time to give me feedback so far. Notable events of the past couple of weeks include:

READ MORE
Scrivener makes 1.0

Scrivener

Scrivener makes 1.0

KB / 21 JAN 2007

Well, Scrivener finally got to a 1.0 release yesterday, and I would like to sincerely thank* all of those users who have beta-tested both Scrivener Gold and then the Scrivener 1 betas over the past couple of years. You have all helped make Scrivener a much better application, truly. When I released beta 1 several months ago, I thought it was pretty much ready for release. I was mistaken, to put it mildly. The feedback was positive, but there were a lot of rough edges that made navigation a little unintuitive (remember how you could keep ending up with a blank corkboard because the modes weren't automatic?). My own ideas and vision got Scrivener part of the way; feedback from real world users got it the rest of the way. It is much better for it. So: thank you.

A big thank you too to all of those who have already bought Scrivener - I am genuinely surprised at the number of copies purchased in less than 24 hours - and to those who have taken the time to write such rave reviews on VersionTracker and MacUpdate.

For those who haven't checked out Scrivener 1.0, it is available on the product web page at:

http://www.literatureandlatte.com/scrivener.html

There are a few minor tweaks and features I hope to add over the coming months, and of course, there will no doubt be another small development push when Leopard is released to ensure everything is compatible and to take advantage of new OS X features, but really, it is now time, at last, to turn back to the writing (i.e. actually using Scrivener myself). Now that is daunting. Developing Scrivener has really been the most amazing form of procrastination. So, hopefully in future this blog will cover both the ongoing development of Scrivener and my struggling attempts at writing The Novel...

Thanks again!
Keith


*Pedants: yes, certain grammar freaks would say this is a "split infinitive", a misunderstanding that comes from Latin infinitives. This is the perfect example of why split infinitives are actually meaningless in English: "sincerely like to thank" would suggest it's my liking that is sincere; "to thank sincerely" is probably more correct but sounds hideous. Mind the Gaffe is a great book that really lays waste to nonsense such as split infinitives. Hmm, "pedant's corner" seems to be turning into a regular part of this blog...

READ MORE
Gearing up for 1.0

Scrivener

Gearing up for 1.0

KB / 14 JAN 2007

Well, as of today I am putting the finishing touches on Scrivener's Help file (though it needs proof reading; it is very fortunate that the users of Scrivener are writers - a naturally pedantic* bunch, meself included).

What does this mean? Well, hopefully it means that Scrivener should go on sale sometime during the week beginning 22nd January, but most certainly before the end this month. There are a couple of very minor annoyances I need to iron out of Scrivener first (a day's work at most - er, hopefully, at least), and I ought to release a beta 6 in the next day or two so that beta-testers can start proof-reading the Help file, I suppose... But that is really it.

Not that Scrivener is entirely perfect (yet), but it is pretty damn near, in my own rather biased opinion. That is, perfect for me at least - but then that is the whole benefit of writing your own software. At this stage it does everything - in fact more - than it was originally intended to do, so by that definition, 1.0 is complete. There are a few things that would be nice, but which I have managed to say "no" to for version 1.0: for instance, the ability to view scrivenings in an arbitrary (non-binder) order; project notes and references combined into the inspector (the current Project Notepad is really only a pitstop); the ability to search snapshots; a binder HUD in full screen... and so on and so forth. All nice, but not necessary for 1.0. And I have got better at saying "no... for now" to suggestions recently, which is very important if we are to make it to 1.0 at all (it has been a year-and-a-quarter since Scrivener Gold - back then just "Scrivener", before it was down-graded - was first released in beta).

It's been an interesting and gratifying journey to 1.0. I have had very little negative feedback, and a lot of positive and constructive feedback. Even better, I have had some published authors start using Scrivener, so I was able to bend their ears about writing and get some very good writing advice (a very big thank you to Neil Cross and Michael Bywater, both of whom very generously replied to my questions with long e-mails containing excellent advice, and to Michael Marshall Smith who, along with Neil Cross, has given me a great testimonial for Scrivener's web page).

So now it is on with using Scrivener myself. We've booted The Girl (now nearly one) into her brother's bedroom, and I bought a £20 compact writing desk from Argos which now sits exactly where her cot did in our room. So now, really, all I need is talent. D'oh!


*cf. Post on "pedanticism"/"pedantry" below. Wasn't it Churchill who said, "Pedantry is something up with which I shall not put"? (If not, no doubt somebody will take delight in correcting me.)

READ MORE
Beta-a-go-go

Scrivener

Beta-a-go-go

KB / 23 AUG 2006

Phew. After just over a month of very focused work on Scrivener, I'm ready to release the new beta... I'm looking forward to hearing what the beta-testers make of it. Even more than that, though, I'm looking forward to importing my work into it and using it. I've just finished writing the new tutorial, so it's now just a matter of writing the new readme file and creating the DMG. Not sure whether it will go up tonight or tomorrow, but it will definitely be up before tomorrow night (excepting any major disasters).

READ MORE
Full Screen: Evolved

Scrivener

Full Screen: Evolved

KB / 25 JUL 2006

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.

READ MORE
Full Screen Ponderings and the Nature of Shareware

Scrivener

Full Screen Ponderings and the Nature of Shareware

KB / 24 JUL 2006

(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.

READ MORE
One more interface task to go...

Scrivener

One more interface task to go...

KB / 23 JUL 2006

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.

READ MORE
Interface/off

Scrivener

Interface/off

KB / 9 JUL 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).

READ MORE

Keep up to date