Subscribe: Literature and Latte
Added By: Feedage Forager Feedage Grade B rated
Language: English
apple  beta  blog  code  files  final draft  full screen  full  it’s  leopard  much  new  screen  scrivener  users 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Literature and Latte

Literature and Latte

Binary solo: 0000001000000110000001110000001111

Last Build Date: Tue, 06 Mar 2018 09:56:14 +0000


Blog moved

Thu, 24 Jun 2010 19:16:00 +0000

Please note that this blog is no longer being updated because it has been moved here:

We've moved everything over to Wordpress to be more integrated with the site, although all the old content from this blog should be intact over there with comments and all. Only a few of the comments that have been made in the past few days won't have made it across, because they were made after the transfer - my apologies to those commenters whose comments have been lost on the new site.

Thank you all for reading, and I hope you will follow the new blog too - I promise news about 2.0 and other developments soon!

How Big is Your Code Base?

Sat, 20 Mar 2010 16:02:00 +0000

This morning someone asked me how big Scrivener’s code base is, and I didn’t know how to answer - yet it’s something I’ve been wondering myself. It comes up occasionally, usually in two situations: 1) Someone writes to me wanting to know how much code it took to create Scrivener, because they have an idea for a program and wonder what’s involved; 2) Someone is insisting that I could port Scrivener to platform X or “just add” Y “easily enough” and is getting uppity that I’ve said no, so I want to puff out my chest and huff, “Look, I have written six billion lines of code mostly unique to the Mac platform and I’ve already got grey in my hair - coding Scrivener ain’t like dusting crops, kid!” (These exchanges usually end with me apologising for something.)Of course, how much code is behind any given program is misleading, and to a large extent rather meaningless, too. For a start, any Cocoa program stands on top of the vast amount of code written by Apple, so counting how much code you have written for a Cocoa application with a view to calculating how much work it would take to port it to another platform (even the iPhone or iPad) would be pointless, as it would not include all the extra code you might need to write to replicate features provided in Cocoa by Apple. Also, small programs with less code are often better for particular jobs than large programs with reams of code. For instance, Bean contains much less code than Microsoft Word, but it’s much nicer to user for basic documents. On the other hand, a good program that appears very simple to the user may contain a great deal of code that checks for potential errors. Besides, from a programming point of view, there’s nothing better than cutting code. It’s always a good feeling when, upon reviewing a section of code you wrote ages ago, you slap your forehead and realise that you have written 50 lines that could have all been done in one. (There’s a great story about an Apple Lisa programmer who, when forced to fill in a form declaring how many lines of code he had written that week for the sake of proving progress to the management, wrote “-2000” - they didn’t use the forms much longer.) Less code is usually better, but sometimes more lines of code is necessary for the sake of readability. You might be able to cram ten lines of code into one, but if you come back to it two years later and have no idea what that line is for, then what was the point? It would have been better to have written ten lines of code with well-named variables, or at least to have made more space for meaningful comments.Still, caveats aside, after having worked on a project for more than five years, it would be interesting to know how much code you have ended up with. Yes, it’s meaningless - the results of your labour are measured by the quality of the application and not by the quantity of code - but the obsessive compulsive, anal retentive in me wants hard figures (whatever a “hard figure” is - a die-cast Arnie?).How do you measure the size of your code base, though? It’s not as simple as it at first sounds. Do you count the number of files you have generated? But then, in object-oriented programming, each class has at least two files, and sometimes more if you have created categories. So do you just count the number of different class files you have created? Each of those could contain wildly different amounts of code, though, so maybe you should could the total lines of code in all? But then, even counting lines of code is far from straightforward. For a start, there will be lots of blank lines - so what about if you count only the lines of code that aren’t blank? But what about lines that don’t contain any statements, just an “if (something)” or an end bracket? Okay, so how about we just count lines that have a semi-colon in them, as that indicates the line has a statement in it. On top of all of this, though, when thinking about text, I like to think in word and character counts - if I’d been writing ins[...]

Coding XML Formats in Cocoa

Fri, 05 Feb 2010 17:39:00 +0000

I’ve long been intending to add some technical, coding-related content to this blog. I’ve always admired the blogs of other developers who share some of the coding problems they have faced and solutions they have reached, and in developing Scrivener there are a number of issues that I’ve come across and found solutions for that I’m sure could be useful to other developers. So, this is the first more techie, coding-orientated post to make it to the blog. Those with no interest in Cocoa development, look away now.I have recently been rewriting Scrivener’s file format. As you may or may not know, .scriv files are packages - essentially folders that on OS X just look like, and are treated the same as, files. Were you to move a .scriv file to a different platform, it would appear as a regular folder. On OS X, you can ctrl-click on a .scriv file in the Finder and select “Show Package Contents”. File packages are great for programs such as Scrivener. Regular files usually have to be loaded into the program’s memory in their entirety when loaded; with a file package, the program can just look inside it and open whatever it needs as and when it needs it. Given that Scrivener can import movie, sound, PDF and image files, you can imagine how much memory might get eaten up if it had to load everything into memory right from the get-go. Instead, with its package format, it can just load the binder structure file and then load up each document as you select it in the binder, and flush from memory any large files that aren’t currently being used.For Scrivener 2.0, .scriv files will still be file packages, but I’ve been doing some work on the format of the files inside the .scriv file. Currently all text files are saved internally as RTFD files (RTFD stands for “rich text format directory”). RTF files are a standard rich text format that can be opened on all major platforms (they are essentially plain text files with formatting mark-up), and were designed by Microsoft; RTF files support pretty much everything that Word documents do. RTFD is Apple’s extension of this format. An RTFD file is a file package in itself (as with .scriv files, you can ctrl-click on them in the Finder and select “Show Package Contents” - you will find a TXT.rtf file inside there, for instance, which holds the actual text). Apple designed the format so that such files could also hold QuickTime files and any other file type; but the trouble is that RTFD files can only be opened on Macs. Most of the other files inside .scriv packages use the Apple .plist format - I may have given some of them the .xml extension (.plist files are technically XML files), but internally they are just Apple .plists. (.plist stands for “property list”).This format for Scrivener files was generally a great and solid 1.x file format. It works, and it doesn’t take too much code to maintain on my part - the Cocoa frameworks make it very easy to write to RTFD and PLIST formats. However, for 2.0 I wanted to make Scrivener’s format less platform-specific. The current format has two main flaws:1) Its use of .plist and .rtfd files means it’s a format that can only be read on the Mac. Although I personally have no plans to switch to or code for other platforms, this would be a significant hurdle for anyone we wanted to work with to port Scrivener to, say, Windows.2) The .plist format is not human-readable - at least, not when used with the sort of data that Scrivener has to write out. This makes it difficult for anyone on any platform, including the Mac, to write utilities that might work with the Scrivener format.For these reasons, I am in the process of making the following changes to the .scriv package format:1) The .scriv package will no longer contain all files in the root folder. Instead, subdirectories will be used to make it easier to navigate. That way, should it be ported to a different platform that doesn’t support packages, it will be easy for the user to find the file required to open th[...]

Why I Hate Sky But Quite Like David

Thu, 04 Feb 2010 22:44:00 +0000

Grr, Sky! Grr, Cornwall! (The sky I am referring to is the corporation owned by devil-incarnate Rupert Murdoch*, by the way, and not the most excellent canopy, the brave overhanging firmament, the majestical roof fretted with… Not the actual sky, I mean.)Despite the year being 2010 (2010! Where’s my hovercar? Where’s my robot butler?), thanks to the Cornish infrastructure, my broadband connection is capped at 1.5MB per second. Mr Internet tells me it’s capable of 2.5MB (woo!), but is for some reason limited to 1.5. (Perhaps this snail-like connectivity is because the Cornish generally distrust anything fast - SUCH AS DRIVING ABOVE 15MPH, for instance. Seriously, a 17 year-old in a Mini told me to slow down the other day because I was doing 30 in a residential area. This English county - just provoking the locals there - is as strange as it is beautiful. But then after thirteeen years of living in London, I still haven’t got used to people being friendly and generally chilled out, and I still retain some of that city-dweller’s tendency of thinking that everyone else is just in my way.)Why is my internet connection in any way interesting, you ask? It’s not, but it is frustrating when you try to download the iPad (iPhone) SDK, which is 2Gb in size (and downloading is the only way you can get it, as far as I can see). And it’s even more frustrating when Sky Broadband suddenly reduce their 80Gb monthly usage to 10Gb without telling you and then keep cutting off your internet connection when the download gets to 1.9Gb. Thanks, Sky. The conspiracy theorist in me can’t help but think there is something intentional in this - after three attempts at downloading I was already at half of my monthly usage allowance, and it’s only the start of the month - and if I go over again the prices go up. Of course.Maybe I wouldn’t mind if Sky had ever provided a half-decent service, but have you actually tried using a Sky+ box? It’s as though they kidnapped Sir Clive Sinclair from the past, fresh from inventing the ZX81, stopped off in the early nineties to pick up parts, and then locked him in a room to knock the thing together without bothering to tell him about any technological advance since Teletext. I swear it’s John Titor all over again. I don’t know why I’m surprised by this - after all, the Sky box was designed by Amstrad. Using Amstrad technology as the basis for the country’s most popular (um, only) satellite television box is a little like giving the troops on the front hum-vees built on the chassis of Robin Reliants. Oh look, it’s raining - the signal’s down. (Pity I live in Cornwall, then.) Oh look - it’s just turned itself off again. Oh look - it’s frozen on Peter Andre’s face for the past hour. But living in Cornwall you either use Sky or put up with four channels of drivel rather than a hundred (note to Richard Branson: hurry up and install cable down here you b*****d!). And I need those extra channels if only to pretend I’m not loving Glee or really looking forward to the new series of Supernatural, and so that I can bitch in an informed way about how rubbish Caprica is and how Ron Moore should be made to wear a hair-shirt and personally apologise to everyone on the planet for his crimes against Good Endings That Don’t Make Me Want To Thrust Pencils Into My Eyes. Oh wait, some readers don’t like me mentioning that, best move on…But anyway. Thanks to David, who since joining Literature & Latte has consistently won Employee of the Month every single month,** for saving the day by downloading a copy of the SDK and getting it to me on DVD the very next day. (Even the British postal system is better than you, BSkyB!)Which is really just a roundabout way of saying that I now at least have the iPhone SDK (the one capable of iPad development), so I can take a look and make a more informed judgement on future possibilities for Scrivener when I get some time. This doesn’t change anything in the short[...]

Stardust and Inciting Incidents

Thu, 04 Feb 2010 16:31:00 +0000

Just to warn those who read this blog purely for Scrivener-related news: this post is only tangential to Scrivener, as it’s about my own fumbling attempts at writing (for which I use Scrivener, obviously), so you can safely tune out if you don’t like reading self-indulgent prattle.One of the reasons I created Scrivener in the first place was that, over the years, in the process of attempting to write a novel I had written a lot of scenes, snippets and ideas but had no idea how they all fitted together into anything like a coherent whole. Rather naively, I believed that if I kept plugging away at writing down those ideas and scenes, one day something would magically “click”, and in my Eureka moment I would suddenly just know how everything I had written so far fitted together into a tightly interwoven whole that would win me the Booker Prize for sure.As I say - naive; as though by working on the parts the whole would somehow assemble itself without much conscious effort on my part. Nowadays I understand that this would be the same as attempting to come up with a writing program by building a corkboard, an outliner, a word processor, and so on, and then hoping that how they all fitted together would just come to me while I was pondering the curious blue hair of the old lady sitting in front of me on the bus. Suffice to say, that’s not how I designed Scrivener. Sure, there were some small things I knew I wanted in Scrivener beforehand, but it took a lot of design to figure out how it all fitted together. (The defunct Scrivener Gold, an early beta of Scrivener, didn’t fit together. It had four separate interfaces for doing different things. In fact, I wrote a whole series of blog posts about my quest to work out a decent integrated interface. And Scrivener 2.0 integrates some of the features that don’t work so well together in 1.0. In other words, that design has taken years and is still ongoing.)When, after a decade of halted attempts at finding what I was really writing about, that hoped-for Eureka moment still hadn’t come, I started thinking that maybe I would be able to figure out how everything fitted together if only I could get a good overview of everything. I wanted an easy way of assigning a synopsis to each of my ideas and scenes; I wanted to be able to move these synopses around as a way of moving the underlying text around; I wanted to be able to see the whole, the parts, or just an overview, and to work with each. I’ve covered the conception of Scrivener in depth before, but what I’m saying here is that I thought that by getting an overview of the whole I would start seeing how everything fitted together. Well, Scrivener has been around several years now, and although I have certainly got much further along in my projects since having Scrivener, I still end up stumbling at this point: where is it going? How does this fit together?You’re probably ahead of me: just because you wrote it and used the same character names doesn’t mean it’s part of the same story. I wanted to pour everything into one story - the only problem being that I had no story.Part of the problem is that over the years I’ve grown attached to some pieces of writing I’ve done that really don’t belong anywhere. Now, I’ve been very lucky in that developing Scrivener has brought me into contact with professional, published authors who have been very generous with their time and advice. (Yes, my dialogue with some users goes something like this: Author: “Hey, thanks for Scrivener. Just started using it for my new book and it’s really useful.” Me: “Great! Wait, you’re a published author?” Author: “Er, yes…” Me: “Tell me everything you know about the masonic secrets of writing a novel! Help!”) I used to be terrified of published authors, as in terms of what they have achieved they represent everything I hope for, so I’ve always put the very notion of a published author up on a pedestal, [...]

The iPad and Mac Development

Mon, 01 Feb 2010 01:05:00 +0000

So. The iPad. (You may have heard of it. It’s a neat little gadget Apple released last week without much fanfare.) There are commentators out there declaring it the world’s most expensive Etch-a-Sketch (unfair; it has no stylus), and others praising it as being as “magical” and “revolutionary” as Steve Jobs and Jonathan Ive would have us believe. My own opinion on the device is somewhat schizophrenic (in the colloquial sense, obviously). I’m split between my thoughts as a user and my thoughts as a Mac developer.Most of what follows is my thoughts on, and reaction to, the iPad from my perspective as a Mac developer. That is, as a developer rather than as an end-user, and specifically as a developer who has dedicated the past several years to developing an application for the Mac platform. My views on the iPad as a Mac developer are different from my views as an end-user. I think it’s important to establish this up front, in case what follows comes across as me bashing the iPad before it’s even in stores. Far from it. As an end-user, my reaction can be summed up as: “Pretty cool for a lot of people!” As someone who works on a writing and organisational program for the Mac, my reaction is, in short: “Oh bum.”So, just for the record: I like the look of the iPad. I think it could turn out to be a fantastic device for consuming media and information (which is what it is for - more on that below). The main problem with computers as they currently exist is that they make many otherwise intelligent people feel like idiots. No one has to write to customer support just to work out how to use their television. Part of our job as developers is to make our programs as easy to use as possible - I’d go so far as to argue that this is in fact the hardest part of our job. (“What do you mean you don’t understand why the outliner button is greyed out? It makes sense to me, and I designed it!”) And it’s sometimes tough to admit that if more than one user is getting frustrated by an element of your program, then it’s probably a design flaw. (Note: 2.0 has a more fluid and integrated approach to the outliner, corkboard and Edit Scrivenings buttons - no more arbitrary greying out. Also note: If anything confuses you about Scrivener, I will still never admit it’s a design flaw.) With the iPad, Apple have thought about what most users actually do with their computers and tried to make the resulting device as easy to use as possible. That has to be applauded, not least by those of us who spend time trying to help family members troubleshoot computer problems. In that regard, I think this guy nails it: if you’re reading this, you probably don’t care much about whether or not the iPad will result in me receiving fewer phone calls from family members with computer issues; what you most likely want to know is what impact the iPad has on Scrivener, if any.The first user-request for an iPad version of Scrivener came before Steve Jobs had even finished speaking - I don’t think he’d even got to the part about iBooks yet. (Just for the record, we developers have no inside information - we are just as much the “little guys” to Apple as everyone else.) Since then there has been a steady trickle of requests for a version of Scrivener that runs on the iPad. This is as understandable as it is inevitable. I have long objected to an iPhone version of Scrivener because Scrivener’s interface just would not scale down to the iPhone screen real-estate, and a scaled-down version of Scrivener that had to drop all of the features for which I created it in the first place always struck me as pointless. Moreover, I don’t see the iPhone as a serious writing tool anyway; it’s something for taking notes on when you’re out and about, sure, but for that you can use the brilliant WriteRoom and then import your notes into Scrivener u[...]

J.D. Salinger

Fri, 29 Jan 2010 12:11:00 +0000

(Note: Although I've moved most non-Scrivener related posts over to my Machine Dreams blog following a couple of users taking umbrage over my opinions on the objectively terrible Battlestar Galactica finale, I'm making an exception for this one. This is a re-post from the forums, and I feel it's justified purely because J.D. Salinger was one of the authors who made me want to write, and thus had a direct impact on the eventual development of Scrivener. Justification over.)

J.D. Salinger died the day before yesterday. I don't suppose it will be considered by many as exactly a huge loss to literature given that he stopped publishing anything over fifty years ago, but still, I feel I have to pay my respects in some way as he was my absolute favourite author in my early twenties. Of course, it's not difficult to read all of his published works - a grand total of four extant books (one novel, one collection of short stories and two books containing two longer stories each). But I was such a fan that I tracked down much of the difficult-to-get stuff, the stories he refused to have reprinted. On a visit to the US, for instance, I went to a library and accessed the microfiche archives of the New Yorker to get a copy of his last-ever story ("Hapworth 16, 1924" - disappointing, as it made Seymour Glass seem an annoyingly precocious brat, quite at odds with his morose but seraphic portrayal in "A Perfect Day for Bananafish", and if that is the direction Salinger's writing was taking then maybe it wasn't such a bad thing to withdraw and let readers appreciate his past achievements).

But even more obsessive, when I did my MA and had access to the British Library, I spent two weeks hand-copying The Inverted Forest - a rare bootlegged collection of 22 of Salinger's stories that he has never allowed to be republished (I'm pretty sure the book itself was illegal, so I'm not sure what it was doing in the British Library but I'm glad it was there). I sincerely hope his family allow these stories to be republished now, even though it may be against his wishes, as they are wonderful. "A Young Girl in 1921 with No Waist At All" remains one of my favourite ever short stories. I don't know why. Not much happens - it's just beautiful, somehow, and whilst stories like "Teddy" seemed profound to me in my early twenties, it is these less ostentatiously Zen stories that still resound with me now.

So, thank you Mr Salinger. If the rumours are to believed, you may well have been the grumpiest man alive. You may have eaten frozen peas and raw sheep, drank your own urine, sent love letters to Winona Ryder and had a penchant for lawsuits that Apple would envy, and I have no doubt that you would have despised me for my fanboyism, but I thank you all the same. For Catcher in the Rye and Holden Caulfield with his poor broken hand and his cool sister Phoebe. For the Glass family, with their tendency to take long baths and make phone calls to each other from within the same house to discuss Eastern philosophy. And for making me really think about the meaning of the words on the page, how a broken record could be a metaphor for a dead brother.

So I don't care what the naysayers say (they say nay). To me, J.D. Salinger deserves his place as a Great Author of the Twentieth Century, and I hope the kids of my kids are still taking university courses on the works of Salinger and Mr Vonnegut in forty or fifty years' time, or just holing up as teenagers in their bedrooms and nodding or grunting agreement with Holden about the phoniness of the world around them.

I am sorry that he's gone.

Final Draft 8

Tue, 30 Jun 2009 08:58:00 +0000

For all those scriptwriters out there, and for all those who don’t already know, Final Draft 8 was finally released not long ago. Final Draft is, of course, the industry standard of scriptwriting programs, and version 8 brings with it a raft of new features and an overhaul to the interface that makes it feel much more like a native Mac app than previous versions. I won’t go into the various new features - navigator, improved index card navigation, new interface, and so on - here; instead, I just thought I’d say a few words about Final Draft’s relationship with Scrivener.When Scrivener was in the early beta stages a few years ago, there were a number of frustrated Final Draft users who, wanting more organisational tools than Final Draft provided (and to be able to use something more “Mac-like”), asked me to provide scriptwriting features in Scrivener so that scriptwriters, too - along with writers of other types of prose - could draft and structure in Scrivener and then export to Final Draft for the - er - final draft (and production and so on). Because of those early pleas, Scrivener now has a scriptwriting mode, and I’m glad it does, as I like using it for playing around with dialogue and other formats myself (not to mention that my most recent endeavour in my never ending quest not to finish a work of fiction is a graphic novel, or comic, or something). But Scrivener isn’t a dedicated scriptwriting program and most scriptwriters will still need such software for preparing their script for submission or production, so it’s great to see a much anticipated Final Draft update prove worth the wait.With the help of the nice people at Final Draft, a recent update to Scrivener introduced .fcf (Final Draft File Converter Format) export, making it relatively straightforward for users to export to previous versions of Final Draft, but the most recent updates - 1.5x onwards - also include .fdx import and export; FDX (Final Draft XML) is Final Draft’s new default format, replacing FDR. Scrivener 2.0’s support for FDX will be even more advanced, allowing users to keep synopses (summaries in Final Draft) and structure intact when transferring files between the programs, but for now, Scrivener 1.5x’s FDX support is already great for getting your work out to Final Draft. (The FDX format is something I’m not used to - a good XML format. You can open it up in any text editor and it is easily readable. I’m going to blog on the woes of the .pages format a little later, but for now, suffice to say that I wish Microsoft and Apple had come up with a format as nice as .fdx when designing their .docx or .pages formats; and yes, I know that’s unrealistic for many, many reasons, but I can still wish, can’t I?)At this stage, lest this comes across as an advert for Final Draft, I should say that we are in partnership with Final Draft Inc. (you can see as much on their partners page - I suppose we ought to have one of those, except we’d only have one company to put on there!). But all that means is that I e-mailed them a year or so ago, explained what Scrivener did, and asked if there was any way they would be willing to let me have access to one of their formats so that I could provide an importer and exporter. I expected that to be that, and that I would never hear back from them; instead I received a very helpful e-mail, followed by a phone call. They gave me access to the .fcf format and later suggested I support .fdx too; they’ve kept in touch ever since and even made time to meet with us on a couple of occasions. They didn’t need to do any of that; we are small fry (for now - obviously the long-term plan is world domination), but they just seemed to have a very open attitude towards other programs, and that’s something I really appreciate.Anyway, now that Final Draft 8 is out, a few users have asked, do I really nee[...]

Creating TIF files with multiple images

Fri, 26 Jun 2009 12:47:00 +0000

So, in overhauling Scrivener's toolbar graphics and other graphic elements for 2.0, I noticed that a lot of OS X apps handle toolbar images a little more elegantly than Scrivener 1.x. Scrivener's toolbar looks fine when the icon size is set to normal, but if you set the it to use the small image size, the images get rescaled and don't look so hot. A lot of apps - look at Pages for instance - look great at both sizes, because they provide custom images for each rather than just allowing the toolbar to scale the larger images down when the small size option is selected. with Scrivener 1.x, though, I only created images for the larger size.

I was waiting on overhauling images such as these to see if Snow Leopard introduced resolution independence - when that comes just about every image in every OS X app is going to need recreating at a much larger scale by professional artists. But seeing as that doesn't seem to be on the agenda for 10.6 (which makes me sigh with relief as a developer even if the end-user part of me would like to see it), I have started in on overhauling the icon set.

The way OS X toolbars handle selecting the small or large image for a particular toolbar icon is to look in the one image file for both images; that is, it expects both images to be bundled into the same .tif or .icns file (the larger one at 32x32 pixels and the smaller one at 24x24). OS X comes with a tool that will create .icns files easily enough, but being obtuse I decided I wanted to keep the toolbar icons as .tif files (which is how most Apple apps do it). The trouble is, Photoshop doesn't support .tif files containing multiple images. So I Googled around to find a tool which would, but either my search terms were rubbish or the only tools that really do this sort of thing are paid-for, fully-featured apps, and I realised I could write my own tool to do this much more quickly than I could find one from searching through Google results - after all, all it needs to do is take two image files already created in Photoshop, one for the small size and one for the larger size, and bundle them both into the one .tif file.

So, here is my ten-minute app that does exactly this:

It's pretty self-explanatory - you just drag a 32x32 image into the 32x32 image well and a 24x24 image into the 24x24 well, and then hit Save to create a .tif file that combines the two, suitable for use in toolbars.

EDIT: I've updated it so that you can open existing multi-page .tif files and export the small or large icons out as separate files.

Who knows, maybe it will come in useful for somebody else putting their toolbar images together. Probably not; given that a lot of developers do this already, presumably there is already an abundance of tools out there that do this that I just missed, but it was a diverting ten-minute break from the intense coding I'm doing on Scrivener 2.0 at the moment. Which rocks, by the way.

Apple: friendlier

Thu, 18 Jun 2009 16:56:00 +0000

A couple of years ago I got all huffy about how Apple had withheld the Leopard beta released at WWDC '07 from developers who had paid for access to Leopard betas but could not attend WWDC, only finally releasing it to other Apple Developer Connection Select and Premier members about a month later - meaning a lot of developers who had paid up for early access to Leopard were unnecessarily left a month behind WWDC attendees in getting their apps Leopard-ready.

I was not a happy bunny, as many panicked Scrivener users noted in their e-mails to me asking if my beta-rage meant I was likely to abandon Scrivener and the Mac platform (which was never in question). I like to think I have grown and calmed with age in the past couple of years (although my shouting at an ancient Cornish driver the other day may provide evidence to the contrary), so this year, with the coming of WWDC and the announcement that there would be a "near final" build of Snow Leopard available to attendees, I just accepted that I would have to wait another month or so to get access once more. (Despite my vow never to pay for ADC again, it would be a little irresponsible not to do so, as I have to ensure that Scrivener is Snow Leopard-ready for the day of its release... so I reluctantly handed over the cash again this year for the Snow Leopard betas.) Indeed, unlike two years ago, the Apple developer website didn't even claim that ADC Premier and Select members would get the "latest builds", so the signs weren’t exactly auspicious.

So imagine my surprise when I logged into my ADC account the other day to find that the latest, WWDC, build of Snow Leopard was there, ready and waiting for download - and had been there since the 8th June, the very day it was made available to WWDC attendees. I nearly fell out of my chair. Or at least I swivelled in it a bit. I don’t know if there were a glut of other developers such as myself who complained bitterly at Apple two years ago - I certainly didn’t see much complaining about it anywhere else online - or if Apple just decided they should give all paid-up developers equal opportunity to get their apps Snow Leopard-ready, but whatever the reason, given the loudness of my lamentations and weilaways two years ago, I figured I should at least give credit where credit’s due this time around. Okay, it should have been like this in the first place, but at least Apple have got it together now and that makes me (for once) a happy bunny. So, thank you Apple for sorting this out.

So Snow Leopard is now ready on my other system and waiting for me to make sure Scrivener works fine on it (early tests are good), which I will be doing in earnest very shortly, in the midst of the full-on development on 2.0 in which I’m currently immersed. (And to those waiting for news on 2.0... Sorry, but I’m holding back on further announcements or feature peeks until nearer the time. 2.0 is still slated for an end-of-2009 release, and suffice to say that I think a lot of Scrivener users are going to be very happy...)

Thu, 02 Apr 2009 08:17:00 +0000

Since a couple of readers have taken umbrage at my using this blog to express my opinion on a beloved television show, I have removed the previous blog post on Battlestar Galactica. I guess the misunderstanding arose because some (possibly new) users expect this to be a development blog whereas I, being a one-man development team, have always seen it as a developer's blog. As I wrote in the first post on this blog four years ago:

It's been about a year since I decided to learn how to program in Cocoa so that I could design and build my own application for writing in. I've been meaning to write down my thoughts on this process and on the reasons I decided to embark on this project for some time, so thought I'd start this 'blog as a place for those, and other, more general, blatherings.

Obviously, were it understood to be a developer's blog I doubt anyone would be surprised at a geeky coder expressing a passionate opinion on a science fiction show!

However, these users have a valid point; four years ago no one had heard about Scrivener so I was free to ramble on here as much as I wanted. I have always said that Literature & Latte was a one man company (although now, since David joined, it is of course a two man company) and to take it for what it is, but times change and as an application becomes more popular, users' expectations change, too.

So from now on this blog will remain an impersonal development blog with its remit being limited to Literature & Latte news and information about the ongoing development of Scrivener and other L&L products (by "products" I mean "stuff that I code"). As always it will only be updated intermittently; inactivity here is never a sign of stalling development. The user forums are a much better indicator of our activity.

Of course, Literature & Latte itself remains just two guys working on a program they love.

In the next few days I'll create a personal blog as an offshoot for the rare madman who can bare to read my off-topic ramblings, and I'll try to move all of the older off-topic stuff (discussion about books, films and so forth) over to that.

EDITED TO ADD: I've now moved all of the non-Lit'n'Lat posts over to my new personal blog at

Apologies to those who came here expecting a development blog rather than the misanthropic mumblings of a developer.

Scrivener developer

Scrivener - alive and kicking

Thu, 07 Aug 2008 14:20:00 +0000

I've been receiving an increasing number of e-mails asking me if Scrivener is still in active development, which seems to be a result of people checking this blog and noting that my last post here was some time ago... So, yet again, I thought I'd best post a quick update to say that Scrivener is indeed alive, well, and in active development. (I've always said that the forums are a better indicator of the state of development, because I post on the forums nearly every day, but I do understand that some users, or potential users, don't really like forums much and therefore don't check them.) Of course, as I say on the About page of the main site, Scrivener isn't really about whizz-bang new features. I have always maintained that you should take it for what it is, and that my only real commitment is to bug-fixes and making it the best writing software for my needs. And indeed, I stand by that.

However, such caveats notwithstanding, the next version of Scrivener is a bit of a biggie - Scrivener 1.5. It has leapt internally from the current version (1.11) to 1.12 to 1.2 all the way to 1.5 as the changes, fixes and feature list has grown. In many ways, it's a 2.0 release, but I want to reserve the right to charge upgrade fees on major point releases, and I'm nowhere near the point at which I want to ask existing customers to pay for an upgrade, so 1.5 it is (in other words, it will be a free update to registered users). In many ways, it's a refinement release. There are some new features, true (such as a page layout view, which is important for screenwriters who judge time by a minute-per-page, although Scrivener remains steadfastly not a page layout program, so there will never be columns, widows and orphans control, real footnotes or suchlike). But mostly it has been a chance for me to go back over areas that I have never quite been happy with and which I thought could be done better. For instance, the Compile Draft pane is very cluttered and not entirely intuitive, so it's been replaced with one that is more contextual and which has more options, but which keep out of your way if you don't need them. The preferences pane is also very cluttered, and I'll be overhauling that in the next few weeks. There are various other areas that have undergone, or are undergoing, refinement, too (such as the corkboard), but over all it will still be the same Scrivener.

So, development is far from dead. I am still here, staring at my screen and scratching my head, pecking at the keyboard and waiting for builds to complete. But after 1.5, I really am going to write The Bloody Novel.

I suppose at this point, I should provide an in-development screenshot of 1.5 (note the project that you can see open is the one I use for my development notes; not very interesting).

I'll have more news about the next update, and other developments at Literature & Latte, in the next month or so...

Spooks + Scrivener

Sat, 03 Nov 2007 12:17:00 +0000

I just have to boast about this.* I've been enjoying the excellent sixth series of Spooks on BBC1 (Tuesdays - MI5 in the US) - I've been a big fan of the show since the second series, and would get around to renting the first season on DVD were it not for the thought of seeing Lisa Faulkner getting her face burned off with boiling oil. It's a great spy show with interesting characters (though Adam has got to be the most obvious spy ever - his "disguises" as a gardener, builder, phone company man or whatever tend to be somewhat undermined by his perfect hair, cut-glass accent and the giant microphone protruding from his collar), a healthy dose of cynicism, 24-style split-screen shots and more tension than the Humber bridge.

All in all, Spooks has consistently been one of the best home-grown BBC programmes over the past few years, and you never know who they're going to kill off next.

But I've been getting an extra thrill from series 6 because the over-arching story was drafted in Scrivener and some of the episodes were scripted in Scrivener, too, by author Neil Cross (whose new novel, Natural History - which was also mostly composed in Scrivener! - has been getting some great reviews).

Now, if Neil has used Scrivener to kill of Zaf, I am going to be most upset - talk about turning your tools against you...

* Yes, I know: technically I have nothing to boast about, as it's a bit like saying, "I have to boast that I loaned this bestselling author my pen and he used it!" But it still gives me a warm feeling inside (and it's not the wine, this time).

Scrivener + Leopard

Sat, 27 Oct 2007 23:41:00 +0000

I've been getting a number of concerned e-mails recently from Scrivener users who fear that I may have abandoned development of Scrivener because my last blog post here is rather old and was slagging off Apple, and because there is no mention of Leopard on the Scrivener product page...

I would just like to make it very clear that Scrivener is very much alive and in active development. Scrivener 1.1 is Leopard-ready, with a more "Leopard-esque" interface and a large number of tweaks for Leopard. As a paid-up member of the Apple developer program, I have been building Scrivener on Leopard for the past six months or so. I had hoped to get Scrivener 1.1 out yesterday, to coincide with Leopard's release, but there are a couple of things that have caused a delay (not the least of which being that my partner had to go in for an operation on her jaw yesterday; oh, and Tomb Raider Anniversary came out for the Xbox 360, too...). For a start, the release change list is so long that I need to simplify it, and I also need to update the project templates that come with Scrivener 1.1. Scrivener itself is ready and has gone through extensive beta-testing over the past few months.

If you are concerned or need the Leopard-ready version right now (although 1.03 should work fine on Leopard for now anyway), please go to the Beta Testing section of the forum. There you can download the latest Scrivener 1.1 beta (1.095), which runs fine on Leopard (note that there is a minor bug related to script editing and Edit Scrivenings that has been fixed for 1.1). Note that you will be prompted to update your project, and you must get rid of older versions of Scrivener.

At the same time as 1.1 is released as an official (and free) update, the website will also be updated. I have been working hard on that over the past week, as the old product page does not reflect the new look of Scrivener. I've also created a webcast for the page. Also note that as of 1.1, Scrivener's price will be increasing from $34.99 to $39.95 (except for students). The update will, of course, be free to registered users, though.

I'll post again soon about Leopard. Leopard is a great update, and Scrivener 1.1 looks and works great on it. Please be patient as I get the release version ready. It will be with you very soon, and I apologise for the fact that it was not out on time for Leopard. I just wanted to make sure it was perfect...

Oh, and Tiger users, rest assured that Scrivener will continue to work beautifully on both Leopard and Tiger for the foreseeable future.

Apple is not your friend

Thu, 28 Jun 2007 17:51:00 +0000

Well, if you've been reading my previous posts about Apple's tardiness in posting the 9a466 (or whatever it is) Leopard beta to developers who paid for ADC Select or Premiere membership, you'll know I'm not a happy bunny. WWDC attendees received that beta nearly three weeks ago now. And you know what? That beta is now available on torrent sites. Meaning that pirates out there are running a version of Leopard for which they have not paid, whilst legitimate law-abiding ADC Select members such as myself still have no access to that version of Leopard despite having paid Apple for the "latest" Leopard releases - in other words, we have paid for exactly that copy.

Do Apple care?

No, they do not.

I have written to them several times, with no reply. All developers received a general "you will receive the WWDC beta soon via ADC download" e-mail a few days ago. And when I e-mailed them to remind them that they had not replied to my earlier e-mails, they repeated the "soon" message to me.

Well, you know what? I've lost interest. I won't pay for a Select ADC membership again, and I strongly advise other indie developers to think seriously before wasting money on it. Yes, you get hardware discounts, but the main impetus for coughing up for a paid ADC account is pre-release OS X versions. Given that Apple don't honour what you pay for, I strongly recommend not buying into this scam. Sadly, it will mean that users of my software lose out a little in future, in that if I do not pay for pre-release versions of the OS, then I can't guarantee that my software will run on the first release of any new OS upgrade. But if Apple don't make available the new releases of their OS to those of us who have paid for exactly that, then what is the point? The really sad thing in all of this is that I have got so p***ed off at Apple that I have not touched Scrivener development for three weeks now. When I finally get access to the new beta I will hopefully get my enthusiasm back, but as an indie developer, with Apple treating me as though I am worthless, it makes it really hard for me to get enthusiastic about updating a help file or adding a small tweak here or there.

There really are times when I wish I had chosen to develop for Windows. Surely Microsoft cannot treat developers as poorly as Apple do? Apple is not your friend. They make lovely machines and a great OS, but they care very little for users or developers, it seems.

In fact, it seems that the Apple developer model works something like this: 1) Pay hundreds of dollars for ADC membership and an "Early Start Kit" that gives access to latest OS versions; 2) Once you've paid, the latest versions will actually be withheld unless you pay thousands of dollars for a WWDC ticket and travel across the world to attend.

Oh, and if you can't attend, it's not just the beta that is held back, but also any knowledge shared by engineers.

I don't why I'm so surprised - I guess it's just years of Macheads telling me that Microsoft were evil and Apple were Good. When you finally switch to a Mac and develop for the platform for a few years, you soon realise that Apple are just as bad as MS - they just happen to be much smaller and less popular.

So: really, really poor. Please do think twice before paying for ADC membership.

Are Apple taking the proverbial?

Tue, 19 Jun 2007 21:53:00 +0000

No, but really, are they?

A couple of days ago I posted moaning about how Apple have not bothered to seed the latest beta of Leopard to paying ADC Select and Premier members who did not attend WWDC (despite the advertising on the Leopard Early Start Kit web page making it very clear that paying for membership entitles you to the latest versions of Leopard).

I am a very conscientious developer, I like to think. Whenever I come across a bug in the OS, I post it over at I have posted a number of bugs related to developer seeds of Leopard. Well, today I received an e-mail from the Apple bug reporting team telling me that they believe that in the latest - WWDC - seed of Leopard they have fixed one of the bugs I reported. They asked me to test it and get back to them on whether it is, indeed, fixed.

So I repeat my question: are they taking the ****? Because they haven't released the WWDC beta of Leopard to anyone who did not attend WWDC, so how on earth can I test this? I replied with a very terse e-mail asking them to keep the bug report open given that there was no way I could test until I received what I had already paid for - namely, the latest developer seed.

What really worries me more than anything in all of this is that I can find no evidence of other developers getting really riled by what I see as seriously questionable behaviour on the part of Apple. Surely there must be other developers out there who feel that Apple are behaving immorally in all of this? Apparently not. At most, other developers are sighing, "Oh, I've been through the release cycle before, it always takes them a month or two to get this sort of thing up on ADC," as though that makes it all okay. Oh well. I guess I just have an overdeveloped sense of justice / desire for Leopard / desire to receive from a company what I have rightfully paid for (delete as appropriate, I just don't know any more).

Leopard beta for the rest of us?

Fri, 15 Jun 2007 19:13:00 +0000

As you may or may not know (and whether you care is a different matter entirely), today is the last day of Apple's WWDC (World Wide Developers' Conference) in San Francisco. If you're an Apple buff, you've probably seen the keynote, showing off Leopard. Yes, the keynote was a little underwhelming. Leopard looks fantastic, but it does seem odd that after being told that it has 300 new features, of the ten that His Jobsness previewed, 8 had already been revealed at last year's conference. Still, it looks like the biggest release for a while, and unifying the interface is a Good Thing.You may also have heard that developers attending the conference were given the brand spanking new Leopard Beta to take home with them. Now, this has me mightily - well, vexed. I paid $500 this year for the Apple Developer Connection Select membership, which includes Leopard seeds. I run the latest developer seed and the developer tools upon which I rely for Scrivener crash constantly. As a developer and a paid-up member of the Apple developer program, I am outraged that they have used the beta as a carrot for attending their developers' conference. It annoys me doubly because I would have really liked to attend WWDC this year, but it was just not possible. I live in the UK, which means that - for a start - on top of the ticket price I have to pay a small fortune for a flight and a hotel. But more of an issue is that, as a shareware developer, I also have a day job. I can just see the look on my headteacher's face when I tell her that she needs to book a supply teacher for a week because I am attending a conference in the US...WWDC tickets, incidentally, cost just under $1,600. I have seen comments from developers on the web saying that, having paid this money, they are entitled to a feeling of smugness about getting their hands on the new beta. But are they? If the conference is not worth $1,600 without the beta carrot (hmm) then what is the implication? Of course, it is worth it. I would have loved to go not because of the idea of getting the beta into my hands first (that would just have been an added bonus). No, the main reason would be for the sheer number of useful sessions, to be able to talk to Apple engineers and get tips on developing for Leopard, or really harnessing the power of OS X. I could have cornered an engineer and got them to help me start adding AppleScript support to Scrivener. That would have been worth more than a Leopard beta, and I am gutted that Apple don't provide some smaller conferences with engineers available in the UK or Europe.But... the beta. I need the Leopard beta to ensure that Scrivener works perfectly on Leopard. I need it to continue development without continual crashes. (And yes, seeing the new dock and menu bar for myself would be nice too, I don't deny it.) But more importantly, I have *paid* for the Leopard Early Start kit. Leopard have my cash, and now they penalise me for not attending a conference in another country that I just could not possibly have made.Who knows? Maybe the new beta will be available for download for ADC members on Monday. If so, I will be happy and not to aggrieved that the release wasn't simultaneous. But based on previous WWDC seeds a lot of speculators have been suggesting that it could be nearer a month or two before the beta is made available to non-attendees. Should that be the case, I won't be signing up for ADC next year, that's for sure.ADDENDUM: As the obsessive-compulsive I am, I signed into the Leopard Dev Center (available to paying ADC Premier and Select members) today in the vain hope that the beta may have been posted. I normally [...]

Mail 2.0-style split views

Thu, 26 Apr 2007 21:48:00 +0000

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:

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.

Scrivener first week, 1.01 and Xbox 360 distractions

Sun, 28 Jan 2007 23:25:00 +0000

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:

- Michael Marshall Smith wrote his new novella in Scrivener!
- The BBC show Spooks just started shooting in London, some of the treatments of which were drafted in Scrivener.
- I bought myself an Xbox 360 to celebrate the launch; my eyes are now sore and dry after too much Gears of War.
- I met up with a writer who works for the Financial Times at an exclusive media club in Covent Garden - and managed to spill water all over his PowerBook. (The Universe proving I do not belong in exclusive clubs in Covent Garden.) Paul - if you are reading: sorry. How's the PowerBook?
- A senior Apple guru got in touch to ask about Scrivener.
- MacFormat asked if they could put Scrivener and Scrivener Gold on one of their DVDs (so look out for it in a future edition).
- I completely failed to start The Novel.

All in all, a good start.

Anyway... I have also been dealing with a gazillion e-mails. Many of these are students asking for discounts (there isn't one! Scrivener is cheap already! Though I sometimes give them a coupon anyway if they're really polite, although that will probably stop now that eSellerate are taking a bigger cut). Many more are support e-mails. Lots are really, really nice "thank you" and "great app" e-mails: an especially big thank you to all the authors of those, as they always make my day. I've also had a considerable number of "Will there be a Windows version?" mails, which makes me feel good to have produced something Windows users want. To those Windows users: Sorry, but no. Not because I have anything against PCs, but just because it is so difficult to port software between platforms and I haven't got a whole team. PageFour and Rough Draft are great PC programs, though. Oh, and I did - just this very moment - have one e-mail telling me that Scrivener was useless because it didn't act like a word processor and show page layout and invisible character, which just goes to show that you can't please all of the people all of the time.

And in amongst all of that, I have been hard at work on 1.01, honestly. Here's a screenshot:


Thanks again for all the support for Scrivener. And an especially big thank you to Merlin Mann for bigging it up on 43Folders.

Scrivener makes 1.0

Sun, 21 Jan 2007 10:59:00 +0000

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:

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!

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

Gearing up for 1.0

Sun, 14 Jan 2007 19:57:00 +0000

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


Wed, 23 Aug 2006 21:59:00 +0000

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


Full Screen: Evolved

Tue, 25 Jul 2006 23:16:00 +0000

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.

Full Screen Ponderings and the Nature of Shareware

Mon, 24 Jul 2006 22:43:00 +0000

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

One more interface task to go...

Sun, 23 Jul 2006 15:55:00 +0000

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