Let me begin by saying that I don’t hate it — and I like it a lot more than the old logo which seems to have been the word “Google” in Times New Roman or whatever browsers showed by default as Serif back in the day. The old logo had the chief virtue of being unpretentious and not looking like, say, Marissa Meyer had devoted a whole weekend to it.
I saw someone claim that the new Google logo was an awesome piece of economy because it could be build entirely from booleans of circles and rectangles. I think that would be pretty cool — and in fact conceptually far more interesting than what it actually is, but you can see at a glance that it’s not so.
The new logo is simply a slightly bespoke version of Futura, a nice, modernist typeface which — in very much the Bauhaus style (which it was inspired by — looks simple and industrial but is actually the product of careful design. Google’s logo is essentially some Futura variant, hand-kerned, with slightly modified glyphs. Much like the subtly rounded corners on iOS7 icons and rounded rectangles.
Many corporate logos are simply examples of slightly customized typography — in this case Google seems to have taken the most common variant of Futura (the default weight of the version bundled with Mac OS X) and tweaked it a bit. Not great, not horrible, and better than Times New Roman. I imagine a lot of designers are incensed either because they’re anti-Google and like to disparage anything it does or they’re pro-Google and would like to see it put a bit of effort into picking a logo.
Personally, I think Google should have picked a more interesting typeface that somehow reflected its values. I would have picked a member of the DIN family (or similar) — a typeface designed first and foremost for legibility while being more attractive (in my opinion) than Futura. Google is, at its heart, a supremely utilitarian company, and I think DIN would deeply reflect this. Futura, with its Bauhaus underpinnings, strikes me as pretentiously faux-utilitarian. It looks geometric at the cost of practicality and legibility, but sacrifices design purity in the interest of aesthetics.
Note: if you’re interested in using Affinity Photo for processing RAW photos (i.e. its “non-destructive workflow”) you’re probably going to be horribly disappointed. See my followup article.
Affinity Photo has just come out of beta and is being sold for a discounted price of $40 (its regular price will be $50). As with Affinity Designer, it’s well-presented, with an attractive icon and a dark interface that is reminiscent of late model Adobe Creative Cloud and Apple Pro software. So, where does it fit in the pantheon of would-be Photoshop alternatives?
In terms of core functionality, it appears to fit in above Acorn and below Photoline. In particular, Photoline supports HDR as well as 16-bit and LAB color, while Affinity Photo lacks support for HDR editing. Unless you work with HDR (and clearly not many people do) then Affinity Designer is both less expensive than Photoline, and far more polished in terms of the features it does support.
Affinity Designer supports non-destructive import of RAW files. When you open a RAW file you enter “Develop” mode where you can perform adjustments to exposure, curves, noise, and so forth on the RAW data before it gets converted to 8- or 16-bit RGB. Once you leave Develop mode, you can return and second-guess your adjustments (on a layer-by-layer basis). This alone is worth the price of admission, and leaves Acorn, Pixelmator, and Photoline in the dust.
In essence you get the non-destructive workflow of Lightroom and the pixel-manipulation capabilities of Photoshop in a single package, with the ability to move from one to the other at any point in your workflow. Let me repeat that — you can “develop” your raw, go mess with pixels in the resulting image, then go back and second-guess your “develop” settings (while retaining your pixel-level manipulations) and so on.
This feature isn’t quite perfect. E.g. you can’t go back and second-guess a crop, and vector layer operations, such as text overlays, get reduced to a “pixel” layer if you go back to develop mode. But it’s a big step in the right direction and for a lot of purposes it’s just dandy.
This is just my first impressions, but there are some things that could be better.
Affinity Photo provides adjustment layers, live filter layers, filters, and layer effects — in many cases providing multiple versions of the same filter in different places. Aside from having functionality scattered and in arbitrary buckets, you get several different user interfaces. This is a mess, and it is a direct result of copying Photoshop’s crazy UI (accumulated over decades of accumulated functionality) rather than having a consolidated, unified approach the way Acorn does.
At first I thought Affinity Photo didn’t support layer styles, but it does. Unfortunately you can’t simply copy and paste layer styles (the way you can in Photoshop and Acorn), so the workflow is a bit more convoluted (you need to create a style from a selection and then apply it elsewhere — often you just want to copy a style from A to B without creating a reusable (or linked) style so this is a bit unfortunate).
I really like the fact that the RGB histogram gives a quick “approximate” view but shows a little warning symbol on it. When you click it, it does a per-pixel histogram (quite quickly, at least on my 24MP images).
I don’t see any support for stitching images, so if that’s important to you (and it’s certainly very important to landscape photographers) then you’ll need to stick with Adobe, or specialized plugins or software.
It also seems to lack smart resize and smart delete or Photoshop’s new motion blur removal functions. (Photoline also does smart delete and smart resize.)
Anyway, it’s a great first release, and definitely fulfills the promise of the public betas. It seems to me that it’s a more solid overall effort than Affinity Designer was when first released, and I’m probably a more demanding user of Photoshop-like programs than I am of Illustrator-like programs. I can understand the desire to provide a user interface familiar to Adobe products even at the cost of making them unnecessarily confusing and poorly organized, but I hope that sanity prevails in the long run.
Bottom line: a more complete and attractive package than either Photoline or Acorn (its most credible competitors) and better in some ways than Photoshop.
Word spaces should not be taken for granted. Ancient Greek, the first alphabet to feature vowels, could be deciphered without word spaces if you sounded it out, and did without them. Spaces or centered points divide words on early Roman monuments, but Latin, too, ceased to separate words by the second century. The loss is puzzling, because the eye has to work much harder to read unseparated text.
While I don’t particularly wish to leap to the defense of CamelCase, all the arguments the writer raises against it are either matters of taste or predate the advent of lowercase. The whole point of CamelCase is that word boundaries are made clear via capitalization (instead of spacing). If the writer were able to summon up a utilitarian argument — e.g. evidence that it’s harder to visually parse “CamelCase” than “camel case” — then perhaps his arguments might hold more weight. I think it’s pretty hard to argue in favor of “I pod” or “I. pod” over “iPod” on the grounds of aesthetics or readability.
Acorn 2 is out and it’s getting very positive press. Unfortunately, much of it is from the usual suspects — i.e. folks who use their image editor for cropping and adding captions — so the question is, really is it any good?
First of all, Gus Mueller is doing something good, devious, and very very bad for his competitors. If you install Acorn 2, after the free trial it continues to work, providing about 80% of its functionality — which is plenty for most folks who use their image editor for cropping and adding captions. The most notable omissions from my point of view would be RAW image editing (Acorn 2’s single biggest added feature) and a bunch of tools for Photo retouching. (Note that iPhoto’s built-in retouching tools are pretty ridiculously good though, so anyone who doesn’t need advanced Photo retouching tools probably has what they need already.)
Acorn remains the cheapest of the credible Photoshop replacements at $50. (Upgrades from 1.x are $20. I just paid for mine.) And with Acorn’s free version, competing products that don’t offer significant levels of usability and functionality are pretty much screwed. Here’s an updated version of my giant table comparing the three main contenders. Significant changes are in bold.
Simple Painting Tools
Basic but servicable
Strong support for brushes, cloning tools, dodge and burn.
You name it, it’s there
Cocoa text with nice drop shadows
Cocoa text with nice drop shadows and decent typographic controls (and a very slick, modeless interface)
Fully styled and formatted text with both character and paragraph stylesheets and layer effects like emboss and drop shadow
Blend Mode and Opacity, Text Layers
Blend Mode and Opacity, Text Layers, Simple Vector Layers, Layers can be grouped hierarchically
Blend Mode, Opacity, Layer Effects, Filter Layers, Vector Layers, Text Layers, Layers can be different modes (e.g. you can have 16-bit color, 8-bit color, Layer Masks, and monochome layers in a single document), Layer Styles, Layers can be grouped hierarchically (these are not new but deserves mention)
Excellent Core Image support
Excellent Core Image support and some additional useful filters, such as Clouds.
Comprehensive set of filters (including some marked improvements over Photoshop) but no Core Image support. Stuff that Core Image doesn’t give you like comprehensive noise reduction tools, and fractal clouds. Oh and you can create and reuse named presets for almost everything.
Basic (improved from “rudimentary” because a lot of bugs have been fixed)
Full vector support with strong bezier tools and SVG import/export
You can composite filters interactively in interesting (non-destructive) ways, but ultimately the operation is destructive
Non-destructive effects layers for most image adjustments (e.g. curves, levels, hue/saturation)
Image Format Support
8-bits per channel RGBA
8-bits per channel RGBA
16-bits per channel support, Greyscale, Monochrome, Lab color, CMYK
Digital Photography Support
You can import photos in 24-bit color
Direct RAW import
Direct RAW import to 24-bit or 48-bit (16 bits per channel)
Some clever optimizations (e.g. filter previews appear to be at screen resolution) but chokes on large files.
Chokes on large images and slower filters.
Clever and flexible preview system allows you to keep the program responsive when working with huge files, 64-bit support, heterogeneous layer support
Workflow and Automation
Some Automator actions (but no AppleScript dictionary)
Recordable macros and batch conversion, Save named presets for almost anything, enter expressions for numerical inputs
Web Export Support
Photoshop-style (but far simpler) web export dialog with file-size preview etc.
Some random subset of Fireworks is implemented (slicing, button states, etc.). Not really sure how good or extensive it is (much more extensive than Pixelmator or Acorn) since I have no use for such stuff.
You can probably build your own using the Quartz Compositor tools from Apple.
Supports Photoshop plugins.
File Format Support
Pixelmator, Photoshop, PNG, GIF, JPEG, JPEG2000, TIFF, BMP, SGI, TGA, PICT, PDF, and a dizzying number of export options
Acorn, PNG, GIF, JPEG, JPEG2000, TIFF, BMP, RAW import
Pixelmator, Photoshop, PNG, TIFF, JPEG, JPEG2000, BMP, PCX, TGA, Mac Icon, Windows Icon, Windows Cursor, and a bunch more, and can import and export to an even larger number of options, notably including export to SWF and import RAW
Live gradients, the “dangling rope” that joins position widgets to filter control floaters
Amazing gradient tool, full-featured yet it still launches amazingly fast, 64-bit support
Poor performance when previewing filters or working with high resolution images.
Vector layers are still half-assed. Poor performance when previewing filters or working with high resolution images.
OMG the icon … it burns! (Sadly, Pixelmator 15 introduced a new icon that’s just as ugly as the old one), half-assed web export and page layout features clutter UI without being useful
If I could add one thing from Photoshop
Vector support, Layer Styles
Proper bezier support (the big change here is this used to say “pretty much everything”), Layer Styles
Being able to use one layer as a mask for layers adjacent to it.
Active Forum, Excellent Video Tutorials
Active Forum, Some (Lame) Tutorials
It’s probably worth mentioning that all three of these programs have a lot of rough edges. Of the three, I’d have to say Photoline’s bugs get addressed the most quickly, while Pixelmator’s get addressed the most slowly. While writing this blog entry I encountered a half-dozen bugs in Acorn 2.1 and if I did not think they would be addressed in a reasonably timely manner I would not recommend Acorn to anyone (or pay for the upgrade).
It’s a bit unfair to compare a major new version of Acorn with a couple of “bump” releases from its rivals. Acorn 2 has definitely moved from being an over-hyped toy to a genuinely useful piece of software which still launches in under a second. Meanwhile, Acorn’s free version is going to be painful for anyone else writing a thin wrapper around Core Image. The bottom line is that Pixelmator retains its edge as the best “painting” program, but Acorn has the edge for more professional use (e.g. all kinds of scripting and workflow animation options), while Photoline wins the “ugly but really powerful” prize.
As my reader knows, I’ve something of a love/hate relationship with Blender. Or perhaps it’s more of a need/despise relationship. If there’s ever a feature I need in a 3d program but don’t have in my current favorite, the answer is always “well, Blender does it and it’s free” (unless the feature is motion blur — Blender’s motion blur sucks … or it did last time I tried to use it).
My favorite 3d tool for the past few years has been Cheetah 3d, which has many virtues, a few flaws, and a lot of missing features. I think it’s important to differentiate between a missing feature and a flaw, the latter being a feature that doesn’t work as well as it should, or isn’t as easy to use as it should be. Blender, measured in the same way, has many virtues, a spectacular number of flaws, and not many missing features (that I can think of).
It’s worth noting that for any given user, sometimes it’s better to have a flaw than a missing feature (if you need that feature, however flawed), while at other times it’s worse (e.g. if that flawed feature creates clutter or confusion and you didn’t need it anyway). Although after over fifteen years of 3d experience I thought myself a pretty advanced 3d artist, I still have a lot to learn, and Cheetah 3d’s simplicity has helped me learn some of it. But, over time, Cheetah 3d’s missing features have become an increasing sore point, while my continued grappling with Blender’s apparent flaws has led me to better understand its significant, but less apparent virtues.
The real problem with Blender, it turns out, is that it has a lot of hidden modes. Most powerful software has hidden modes, and understanding those hidden modes slowly turns the software from incomprehensible to amazing as you have “aha” moments. Sometimes the developers of great software will recognize a few or many of the moments necessary to help you on your way and explain them to you at the right time minimizing the time it takes for you to reach nirvana. Sometimes developers will leverage your understanding of existing software rather than [gratuitously] create new paradigms of their own. The fact that Blender has done neither doesn’t make the software bad, merely the process of grokking it unnecessarily unpleasant.
It’s full of modes!
A lot of software today tends to be virtually modeless when used for common purposes. Modes were recognized as a bad thing in user interface design when Apple produced the original Human Interface Guidelines for the Mac.
Even so, the early Mac programs were very modal. For example, if you pressed command-F in MacWrite a “Find Dialog” appeared which was modal. You couldn’t, for example, select some text in the underlying document and paste it into the text field. If you were “finding” stuff and saw a typo you had to leave “Find Mode” to correct it, and then resume “Find Mode”. In MacPaint when you zoomed in you were in “fat bits” mode and the only tools you could use were the pencil and eraser. Much of the complexity in modern software has resulted from eliminating modes — in essence making all things possible all the time.
It’s not acceptable for a modern word processor not to offer all its formatting functionality in headers and footers when, once upon a time, you essentially entered a crippled mini word-processor to modify your header or footer.
The worst kinds of modes are hidden or implicit modes — i.e. modes you can be in without being able to tell. A classic example of such a mode is selecting stuff in Photoshop. If you “make a selection” that’s all you’re doing — making a selection. You aren’t actually selecting anything. If you then “lift” part of the underlying image (i.e. selecting that part of the layer underneath your selection) the user interface doesn’t change even though you’re now in a different mode. Understanding this odd behavior was, for me, the big aha moment in learning to use Barneyscan Photoshop. Before I figured that out, Photoshop just seemed perversely difficult to use.
And, in fact, Photoshop is perversely difficult to use. MacPaint didn’t do things the way Photoshop did, and Deluxe Paint (and later Studio/8 and Studio/32) managed to extend MacPaint’s abilities without breaking MacPaint’s paradigm to the extent that they allowed you to do everything Photoshop managed with its “selections as entities in and of themselves” without requiring users to unlearn their existing habits. No-one cares any more because every graphics pro knows Photoshop and has committed all the shortcuts for manipulating selections to muscle memory, but it’s easy to forget how perverse Photoshop seemed to people who knew how to use other graphics programs back in 1990.
To my mind, figuring out Blender requires at least two major realizations. Perhaps by documenting them I may help someone else “get over the hump” faster than I have.
The first realization is that Blender is built around the concept of a 3d cursor. You need to learn how to work with the cursor. (Shift-C snaps the cursor back to the origin, and learn to use the Shift-S menu — it’s wonderful.) The 3d cursor is a very powerful concept — analogous to a text cursor — but other 3d programs make do without such a concept, so realizing that Blender has this concept and is to a considerable extent built around it is analogous to understanding Photoshop’s concept of a selection as an entity of itself — once you realize that Photoshop is all about selections and learn how to work with them everything becomes second nature.
Aside: one thing I tried early with Blender was switching its mouse behavior over so that left-click selects and right-click sets the cursor. Unfortunately, Blender becomes somewhat broken with this option. In my opinion Blender would be a much easier program to use (and master) if left-click selected, and if — indeed — major thought were put into making more common actions left-clicks and less common actions right-clicks. This may be addressed (at least by preferences) in 2.50, but don’t hold your breath.
The second realization is that Blender is full of modes, that most of these modes are hidden, some modes stick to specific objects while others affect the entire program, and that in some cases which mode you can enter is itself a modality. This isn’t as easy to wrap in a nutshell — but it’s probably helpful to know that if Blender is acting in a weird or apparently unpredictable way, you’ve probably managed to trip over a hidden mode.
Blender is difficult, but most of that difficulty is necessary
When I say Blender is full of modes, these are modes in every sense — menus change, the way things are displayed changes, what you can select and do changes, etc. etc. etc.
And when I say hidden, I mean that how the user interface behaves can be completely changed by a setting on a panel you can’t see, or by the mode you previously got into when you had something else selected.
Here’s a particularly hairy example: there are two distinct animation modes in Blender, “Actions” and “NLA” (Non-Linear Animation).
The idea is that you animate a figure’s basic reusable behaviors (e.g. walking, jumping, waving) as individual “Actions” and then you build longer animations using the NLA window which treats actions as layers (much like video layers in After Effects or Final Cut Pro).
Whether you’re in NLA mode (where what you see happening and what you are modifying is happening in the non-linear animation context) or Action mode (where what you see and do affect a specific action) is not necessarily visible or apparent at any time. Oh, and, each action you’ve created is, itself, a different mode (and which you’re in is not apparent unless you happen to have the right display visible and the right hierarchy disclosed and scrolled into view).
Now, let’s suppose you’re editing vertex weights in the course of “rigging” a model.
What does this mean? Well, you’re trying to choose how the vertices in a mesh are affected by the movement of the bones in its animation rig — a virtual “skeleton” made of “bones”; the model is the mesh, the rig is the skeleton, and to say a model is rigged is essentially to say that it has had a skeleton built for it and has been attached to that skeleton using vertex weights).
Sounds pretty complicated, right? Well it is, and so it’s kind of stupid to expect the user interface for this to be simple or particularly straightforward. I think it’s fair to say that no similarly conceptually complex task is explicitly supported in, say, Photoshop or Word or Excel, each of which has a pretty complex user interface in its own right.
The usual way of showing bone weights is to show a “heat map” indicating how tightly bound vertices in a mesh are to a given (selected) bone. This is how the mind-bogglingly complex Blender does it. This is how the beautifully simple Cheetah 3d does it. But in Blender, to select a bone you … select the bone. In other words, you right-click (because selection is done by right-clicking) on the bone and voila. Pretty neat, huh? In Cheetah 3d you look for the skeleton deformer modifier tag in the hierarchy view, click on it, and then find the bone in a scrolling list in the properties browser.
Now, in Blender it’s important to make sure that the armature (or “skeleton” of the model you’re working on is in “Pose mode” — armatures can be in one of three modes) and then select the mesh and set it to “Weight Paint Mode”. If the armature is in the wrong mode, the mesh won’t be posted while you’re finessing vertex weights, which means you won’t be able to see whether what you’re doing is working. Also, you may not be able to directly select the bones you’re interested in. This is all horribly complex, involves hidden modes, and is utterly counter-intuitive. But the benefits (you can paint weights on a posed model and see the changes in real time, and you can select bones directly) are absolutely huge.
My first successful character animation in Blender. (Rendered in Cheetah 3d.) Getting there was much harder than in Cheetah 3d, but I can actually reuse and make tweaks to the rigging and the animation itself which are impossible or very difficult in Cheetah 3d. Flaws vs. Missing Features.
Eating My Own Words?
I’ve ridiculed Blender’s lack of usability in the past, and probably will in the future. Even some of my praise for Blender in this post probably seems close to ridicule. It’s a ridiculously — and often unnecessarily — difficult program to get into. Almost all of my complaints (and then some) are as true now as ever. There are so many simple things that could easily be fixed in Blender to make it easier for new users that it’s not even funny. The same was true for Photoshop when it came out, and — over time — Adobe changed some things to be less non-standard while others eventually asserted their dominance. Even today I’m pretty sure any Deluxe Paint or Studio/32 thinks that the keyboard shortcuts for Photoshop are idiotic compared to those for their cherished bitmap editors. I know I do.
The fact is that Blender is an incredibly capable, rock-solid piece of software (I can’t remember when it last crashed on me). Its user interface foibles are stupid and ugly, but you can get past them, and in the great scheme of things it’s certainly worth never having to pay for another 3D Studio Max upgrade or figure out how to replace that burned out ElectricImage dongle.
Who knows? Maybe in five years I’ll be writing a similar article about my newfound love of GIMP.
Addendum: Blender Hints
Simple things that may make Blender easier to use.
Oddly enough Preferences are accessed by “dragging down the menu bar”. WTF? Well, that’s how it works.
Having opened up preferences, you probably want to go to Edit Methods and go to Add new objects: (on the left) and turn off Switch to Edit Mode and Aligned to View which may be on by default (because they used not to be options). Aligning new objects to your view is hardly ever what you want, and many users have the shortcut for (a) switching out of edit mode, (b) clearing a newly created object’s rotation, and (optionally) (c) returning to edit mode burned into muscle memory.
You’ll also probably want to change your default directories to minimize the amount of navigation you have to do in Blender’s (horrible) file requester.
Once you’ve learned how to create a nice setup in Blender you may want to build a good default scene and File > Save Default Settings.
Often, especially when going through tutorials, there’ll be reference to a command that I just can’t locate in a menu. If the command has a hotkey you can find it using the Hotkey and Mouse Action Reference (Help menu) — which has a search command. Then you can at least find out the keyboard shortcut, even if you still won’t know where the heck to find it in the menus.
The Essential Blender (book) is really very good, although it does contain quite a few errors (so if something just isn’t working, maybe the command’s name or the keyboard shortcut is incorrect).
If a bunch of things suddenly disappear or become uneditable you may have inadvertently messed with the scene layer settings (which the standard number keys are shortcuts for, so it’s easy to do). If you don’t use layers deliberately the chances are pressing 1 (above the Q, not on the numeric keypad) will restore everything. If you do then you’ll already know how to deal with this.
Armatures and bones have their own independent layer system, so be prepared for completely orthogonal confusion when working with rigs.
In many cases, Blender reuses key commands in different contexts. E.g. G (grab) is used to move objects in 3d, keyframes in the Action editor, and action layers in the NLA window. N (transform properties) brings up a numeric transform floater in 3d views, and similarly useful floaters in (some) other views. A (select all/nothing) selects all or nothing where appropriate, in the hierarchy view it collapses/expands everything.
It’s well worth learning “root” shortcuts which bring up menus. E.g. Shift-S (“snap”) brings up a menu — usually the next number you type selects the commands (in order) in that menu. In some cases (e.g. G and R) you can press X, Y, or Z to constrain your action to an axis.
Keyboard commands in Blender apply to the panel the mouse is over, which can be very confusing (especially since each pane has its own menu bar and hence its own keyboard shortcuts).
Selecting things is an action (which you can undo). Changing a view is not an action (and you can’t undo it) — unless you moved a camera.
Blender’s camera controls are pretty annoying (absent?), but if you manipulate a camera object in a 3d view with the transform orientation set to “Normal” or “Local” you can dolly the camera around in a relatively intuitive fashion. (If there’s a command to, for example, create a camera from a current user view, I haven’t found it. Shifty-F lets you fly a camera around, but when you leave Fly mode your camera is back where it started.) Edit: a reader notes that Ctrl + Alt + 0 snaps a selected camera to the current view, which is very handy.
I use Blender on a (Mac) laptop quite a bit, so it’s worth knowing the view navigation controls for folks with no MMB (middle mouse button). Option-drag to orbit, option-shift drag to pan, and scroll-wheel (which Mac laptops do just great) zooms.
Blender supports “virtual screens” internally — three complete viewport layouts (more if you want) that can be accessed via control-left and control-right. Very handy given how cluttered things can get.
The render buffer (F11) can be zoomed and panned using the usual keyboard shortcuts. There are actually two render buffers (containing the current render and the previous render) and you can toggle between them with the J key (very useful for checking what effect that last tiny change had). Click and hold in a render view for an RGBA value.
Note especially for Unity developers: the FBX exporter “bakes” subdiv modifiers (at “render” level) into meshes on export, so beware!
And there’s a ridiculous number of useful tips and gotchas here.