Friday, 15 April 2011

Download Sizes: A Rant

I'm on a rant roll this week. Today it's about download sizes, why the hell they're so big and WHAT IN THE NAME OF JOVE IS IN A DECOMPRESSION UTILITY TO MAKE IT 29MB?!

Twenty-nine megabytes! I'm talking about Stuffit Expander, a program designed solely to decompress and browse the contents of .SIT archives. That's all. That's what, 2MB of code at most? What's in the other 27MB? Wallpaper-sized bitmap images? Tutorial videos?

And don't get me started on the SELL! SELL! SELL! nature of the Stuffit web page. You have to jump through several hoops just to get the free version of the program (or to even know it exists). It's stupid. It even has a LOOK! FREE* UPGRADE TO PRO VERSION! .app in the downloaded archive. Makes me irate, it does.

Contrast this with FontExampler, which is why I am downloading Stuffit Expander in the first place, since apparently OS X no longer comes with it. FontExampler is a 78KB download. Kilobytes. It downloaded in seconds.

This sort of thing makes me want to learn Xcode just so I can try to at least glimpse an understanding of why. I suspect it's folly, though; I've seen far too much bad software around for years, and I'm no closer to understanding.

Thursday, 14 April 2011

Word Processors: A Rant

Note: this was originally going to include a rant about image editors and their general lack of support for adjustment layers, but it got a bit long so I've put that rant into its own post.

This is a semi-rant about word processors, and how so many of them persist in Doing It Wrong. This is going to be a long post…


"What's wrong with the way they work now?" The basic problem is that word processors are too focussed on character-level formatting. To make a block of text into something that looks like a heading, the common approach is to select the text, change its size using the Font Size drop-down on the toolbar, then maybe make it bold too, or use a different font family. If you want to change the look of a paragraph, you'd select it, then change its appearance using the usual controls.

This works for documents with one heading and where all the paragraphs have nothing else between them, but what about more complex text (like this one)? To continue the old way you'd have to go through the entire document changing each paragraph or heading individually; Microsoft Word even has a tool to make this process more efficient: the Format Painter. Here's what the MS Office help page has to say about it:

Say you've written a report in Word. You like the look, especially your headings, which are 14 pt. Bookman Old Style, centered, green, and bold, with a nice subtle shadow.

Fifteen minutes before you're supposed to present the report to the team, your manager asks you to add four new sections to the report. You spend thirteen minutes adding the information, and the next two wishing that you hadn't chosen such complicated formatting for your headings, since you now have to apply it to all the new ones.

Using Format Painter saves you that time and duplicated effort. Instead of having to manually apply the font, font effects, centered paragraph alignment, and other formatting to each new section heading, you can quickly copy all of the formatting attributes by using one toolbar button.

That's great and all, but it's a case of fixing the symptom, not the cause of the problem, which is that the application encourages users to format text the wrong way.

Ok then smartypants…

Any modern web designer knows that an HTML document should be styled with CSS. Gone are the days of <font> tags littering the page, and <body bgcolor=gray> and the like – these days we do it the right way by separating content/structure from presentation, with a (normally) external CSS file which contains rules on how document the document should look. This allows an entire site's presentation to be changed by editing a relatively small file dedicated to the purpose.

You can see where I'm going with this. I'm not suggesting word processors should use CSS, or that users should have to edit a separate file in order to format their documents. Rather, I just would like to see the applications make stylesheet-based editing the main way to do things. Not the only way, of course: like I said, for very simple documents it's easier to just apply the formatting you want to the text directly, instead of giving the text some structural meaning (heading, normal paragraph, block quote etc.) then editing the style rule for that.

Naturally, many people will reject this idea. It's not what they're used to, they like it how things are, etc. But, for anyone who needs to write a moderately complex document I believe it's by far the better way to work. It lets you concentrate on the content and structure of your document, rather than the superficial appearance. Yes, once you've written your document you could easily spend hours tweaking the style to perfection, but if sensible default styles are provided, or if it's easy to save new ones, this step will be a quick one. This was the thinking behind Soda, my (unfinished) attempt at writing a styles-based word processor: good default styles that let you write nice-looking documents in a structured, easy-to-change way.

With Soda, there is will be no font size or font family drop-down on the toolbar. Documents have a base font size (12pt by default), from which other sizes are derived – level 1 headings, for example, are 150% of the base size. Similarly, you can't change the font family of a block of text except by marking as having some particular meaning (such as emphasised or a citation), then modifying the rule for text with that meaning.

The idea is to enforce consistency and structure throughout the document: using the example above from the Office help page, if you were using a style-based editor the new headings would automatically match the existing ones. There would be no need to to copy styles, with the possibility of missing one, or applying it incorrectly. You just create a heading, and it looks like all the other headings.

To continue Microsoft's example, let's say you were asked at the last minute to make all the headings red instead of green. No problem using the Format Painter if you only have one or two headings, but what if this is a 20-page report with 45 or so headings? Changing one style rule is hugely more convenient than having to go through the entire document clicking each heading to change it to the new format.

But Word can already…

Yes, yes, I know. You can already use Word (and OpenOffice/LibreOffice, and presumably most other word processors) this way. The point is they don't make it as easy as it should be. Word even comes across to me like it's trying to get you to not use the Styles functionality, as if it'd prefer it if you did things the old-fashioned way. I understand why Microsoft do this – people have been using Word for years, and people generally don't like change (just look at how people reacted when MS Office introduced the 'ribbon' interface).

I'm also not naive enough to think that anything can reasonably replace Office in, well, offices. Microsoft and Office are deeply entrenched in the business world, and there's little anyone can do about it. So why bother ranting about it? Mostly just because it's been bothering me for a while, and writing is cathartic, and maybe there's a chance someone more influential than me will read it. A large part of the reason I started working on Soda was frustration with existing tools. I want to make it easy to create good-looking, easily-maintainable documents.

Saturday, 9 April 2011