PC Magazine has this fall recommended list of freeware / shareware. There's a number of free PDF-making software, image editors / viewers, alternative word processors, and odd things like "thing databases". I'm always encouraged to see the little guy approach the same problems in software...helps keep the gene pool diverse!
Wikis have been on my mind lately, tangentially through some posts on the Markdown mailing list regarding the addition of tables, images, and so forth to its syntax.
I came across this posting regarding productivity tips via Weblog Without Honor. The suggestion that a personal wiki or Wiki-like editor to help organize on-the-fly is very compelling.
Think of it like this: Markdown makes it easier to seamlessly write and format as you go, without a lot of clicking around with the mouse. It's even better than most keyboard shortcuts, because you don't have to grapple with the control and alt keys in awkward ways.
Awkwardness kills productivity, and it pervades modern software. Don't get me wrong, keyboard shortcuts are great, but there are very few software application that have keyboard/mouse interfaces that really feel seamless. In fact, there are only two pieces of software that I've used that really achieved this:
* The pixel painting program DeluxePaint, published by Electronic Arts
* The word processor WordStar from MicroPro International
Both these applications had a unity between keyboard/mouse interface and the task at hand. The shortcuts chosen and philosophy behind tool mix allowed you to keep your hands working over the home keys and mouse. Because of this, you could keep your eyes focused on the exact space that you're working. It seems like a small thing, but you drop into "the zone" faster without the hundreds of tiny interruptions caused by looking for a button, shifting your hands to reach the control key, and so forth.
You might argue, "Yeah, but you eventually learn the shortcuts it's not that much time lost really. Just look at the screen!" You're right. But you're missing the point. I don't want things to merely work...I want to achieve work-fu... the fluid execution of creativity and productivity. Every glance that takes you from the task is a wasteful glance; it is better to excise it from your habits. Every extra inch of movement is a waste of energy and time. Excise these wastes from your habit, and divert that energy into production action!
There's a similar concept in military aircraft called HOTAS -- Hands on Throttle and Stick -- that puts essential task-oriented functions right on the primary flight controls. You know, things like arming weapons, selecting targets, and so forth. You could mount those controls in a very logical and easy-to-read panel on the dash, but the time it takes to take your HAND OFF THE CONTROLS to manipulate them forces you to not control the aircraft fully for that time. Of course, you end up with a potentially confusing cluster of buttons and knobs on your controls, but they've been shaped by years of experience and (hopefully) do not alter their primary function of controlling flight.
So back to the task at hand: What is my Primary Task? It's thinking and writing. What's the problem? Structuring and connecting more than a few pieces of information because more of an exercise in finding things than actually structuring them. Authoring a good hypertext document takes a lot of cutting and pasting of different kinds of information all over the system. My ideal information management system would allow me to write, organize, and link text with other media by keeping my hands on the keyboard 90% of the time.
Speaking of Patterns, I picked up a book called Head First Design Patterns at Borders. It's written to be very informal, and has something of a conversational cheeky tone compared to most programming books; it's part of their educational philosophy. Sort of like a Mr Bunny book that is actually teaching programming technique. Instead of being a turn-off, I ended up learning something about better Object Oriented Programming design in the first few pages, so I grabbed it. I'd heard about these Pattern thingies, but didn't think much of them at the time. But they're useful approaches that work. Like many newbie-ish OOP coders, I've implemented / rediscovered many of these principles in isolation; programming patterns have codified the behavior to some degree so you don't make the kind of conceptual missteps I've made in even a relatively simple game. Good stuff.
Hardcore macho programmers probably won't like this book much, but if you're looking for a lighter introduction to just the concepts, it's not bad. The downside is the book is $44.00, which I think is a little pricey for a CD-less book even if it is 600+ pages.
I've been working on the winter game again, putting in the screen logic. My initial "elegant" design has been crumbled into a spaghetti-like mess, with meatball-like moments of clarity. This is largely because I wasn't quite sure how to handle chained sprite sequences. For example, saw a bear needs to throw a rock at the screen. There are several animation sequences associated with the throw, each of which can be considered a state in itself. I'm coding it all manually with a series of ugly switch statements to just get it working. After I get the body of the program working, I'll review it and derive a new set of animation classes, with behaviors implemented using the Strategy Pattern.
So I went to the local Barnes & Noble in Nashua to browse around. As I was skirting the Starbucks cafe, I heard some awkward-sounding intonation from a couple near me. I realize that they're on a first date! How cute! I just heard a bit:
Girl: Do you do any other artistic kind of things? You know, like mumble mumble?
Guy: Mumble Mumble
Girl: Oh (Slightly-disappointed) Mumble Mumble.
Guy: Mumble Mumble Photography Mumble Mumble...
Girl: (Perking up) Mumble mumble! Mumble!
Guy: Mumble (Misses Cue) Mumble Mumble, probably Mumble the Red Sox.
(Awkward Pause)
Ah, the Blizzard Cinematics Team! With each of their game releases, they push the envelope of computer game cinematic animation; they're right up there with Square. The latest cinematic to be released is from their upcoming game World of Warcraft.
A year after closed alpha-testing began, the actual game is finally hitting the shelves as a very polished, complete, and remarkably rich online world. The final stress test is currently ongoing, and the free open beta will be starting up when that's done. So join in and get a peek! The final game will be available on November 23rd! Unfortunately it's a monthly fee, but for those of you who enjoy this type of game (and it does take a certain kind of person)... holy crap, there's a lot to see and do, with relatively little of the spirit-crushing grinding that other games have. It reminds me of the old LucasArts adventure games, where they went out of their way to ensure that your experience was less about failure and more about fun. Way to go, Blizzard!
Implementation-wise, there's a lot to appreciate...
The World has a great sense of continuity in its visual design and presentation. Sure, it's a little cartoony, but it's the good kind of cartoony: the colors are rich and harmonious, the character designs are infused with attitude, and the environment is astonishing in its sheer yumminess. As you walk around the world, you will be struck by how every hill, rock, and tree seems to be a real part of the world. The buildings and cities are large and impressive, not just stacks of blocks. It's the first game I've played in a while that had such a powerful sense of place...other games feel like bad theater sets by comparison. Other games that evoked that sense of place in me are DOOM3, Half life, and Grand Theft Auto, but those are all rather dark environments. WoW feels like pure fantasy, Disneyland when you're still a kid exploring all the nooks and crannies on an extended 3 day vacation.
The collector's edition of the game will have an "Art of World of Warcraft" 200+ page hardcover book! I am thinking of getting it just for the book. Having seen the game evolve from its initial closed Alpha to the current incarnation, I'm sure it's going to be amazing. Entire cities have fallen and rerisen during Alpha and Beta, redone from the ground up.
There are few things of particular note that I think give WoW that extra sense of immersion:
The Color palette across the entire world is wonderfully balanced...head and shoulders above the screenshots I've seen from EQ2 and the limited exposure I've had to Lineage II. While the individual models are nice, they have different color casts compared to the environment, so the visual meshing isn't very good. It looks like bad film compositing. Secondly, the use of shading in WoW is exceptional in that they don't just "add black" to get darker tones...they use a nice painterly hue. The result is more vibrant.
Just about everywhere you stand in the world looks good...there is very little of that "endless flatness" that kills the sense of world in other games. In any direction you look in WoW, you see some place that looks enticing enough to visit. The way that large mountains are hazily visible through the atmosphere is a nice touch. Large structures provide contrast to smaller ones. The sense of architectural scale is phenomenal. It's awesome.
The best text engine I've ever seen in a game! Great kerning and font work throughout the game make this game feel very polished compared to, say, Lineage II's horrible text presentation. Labels over NPCs and Characters also smoothly scale in size relative to how close they are to you; it's a small thing, but it preserves the sense of three-dimensionality in the world. A side effect is that you can use it as a relative gauge of size/distance for monsters that reuse scaled-up models.
The UI's polish is very high in general. Everything stays in its place, and on top of that it's customizeable and extendable through the Lua language. Very neat.
So far, I've only made comments on the visuals. I'm less qualified to compare gameplay between other MMORPGs, but I can report I had fun. About six weeks ago I got too busy to keep up my characters, and stopped playing, but it certainly was an entertaining diversion for 10 months.
Saw it tonight. Wow. This is movie making.
Was reading up on it, and a few cool things:
* Brad Bird, the director, was the creator/director of The Iron Giant. Which was fabulous. I'm glad he's teamed up with Pixar! Thank the powers that be! The Iron Giant was totally screwed by the distributors.
* Sarah Vowell, who is heard sometimes on Ira Glass' This American Life on NPR, is the voice of Ivy!
A couple days ago I started receiving SPAM via the email addresses registered with Macromedia. I use a separate service and email address for every commercial contact, so I can track how my personal information is being sold.
Since 1998, there has been only one company that appeared to release my information to spammers: the old Napster. Either an employee swiped the mailing list, staff posted the name somewhere online, or they liquidated the list to the highest bidder. Bah.
In November 2004, the second email address to escape is the one I used to register with Macromedia. I am pretty irked. I did send an email to their Privacy department, but have yet to receive any kind of acknowledgement. Fortunately I can shut down that email address. Not sure how it got out though.
An honorable mention for "most annoying" has to go to Aladdin Systems, makers of the otherwise fine Stuffit archiving utility. In recent years they have become a much more aggressive marketing-oriented company, and it's actually turned me off from using their product. I have been noticing more marketing junk email from their "trusted affiliates" through DigitalRiver, their software delivery provider. I don't seem to get these offers from other companies that use DR, so I'm assuming it's Aladdin pushing the envelope yet again.
Cornell University's Web Communications Team kept a blog about their site development, which is an interesting exposition of "why decisions are made a certain way". It's an interesting read, for those of you who are interested in seeing how the production process goes from the PM's perspective.
A lot of missteps can occur early in the project cycle when the client is (1) misunderstood by the developers or (2) vague about their goals. This leads to a lot of "the client doesn't know what they want" grousing by the literal-minded developers, who would prefer to get everything handed to them as a technical spec. On the client's side, they're confronted by what seems to be a passive-aggressive wall of defiance, because developers don't know how to translate other people's concepts into technical implementation. Hence the need for Project Managers who are fluent in both clientspeak (itself with many dialects) and developerspeak. I like how this blog not only illuminates the decision making process in a large organization, but also includes the raw, unfiltered reactions from people outside the process. It's a neat microcosm of the media development process, from the social interaction perspective.
On a side note, using a multiple-blog system as a way to facilitate client communication is itself an interesting idea. I've used intranets in this way in the past, laboriously updating HTML manually. It took hours, but the result was that I had a pretty good sense of project continuity. I'm not so sure that clients found it useful on a day-to-day basis, but perhaps it was reassuring. My big problem is I write too much, and it's tough to read on the screen. I'll have to think about this a bit more.
Cornell Update spotted on Digital Media Minute via Full as a Goog.
Buddy Sean asked me about choosing fonts for software development. "What is a good legible font for software? Where do you find out more information about this? Is there a developer kit you can buy or download?"
When it comes to software font use, you should look for fonts that are designed for the screen. They are heavily "hinted" to display well at various common sizes like 9pt through 14pt. An ordinary font purchased for print work will not look consistently good at small size in a GUI application. You want either a bitmapped screen font (somewhat rare these days), or a "new media" font designed for screen use in TrueType or OpenType format. Bitstream has an example of the difference.
Now you have two options:
Option 1. Use What's Already Installed
If you're designing for Windows software development, you can rely on the built-in high-quality screen fonts such as Arial, Tahoma, Georgia, Trebuchet MS, Verdana, Courier New, and Times New Roman. Not all of them are installed depending on your version of Windows, so you may have to track down the original vendors. You can double-click the font list in the Windows Fonts Control Panel...Arial, for example, is licensed from AgfaMonotype.
The Microsoft Typography site has a listing of what fonts are included with what Microsoft products.
If you're designing for both Macintosh and Windows, many of the fonts above are already installed because Microsoft Internet Explorer for Mac has been installed by default in Mac OS 9 through Mac OS 10.3. For advanced users who have chosen not to install Internet Explorer, those fonts may not be available. It's also possible that Internet Explorer will go away from future versions of the Mac OS.
Option 2. License Fonts and Include with your Installer
You also have the option of licensing fonts for your applications, and including them as part of the install. I've not gone this route personally, but there are developer resources at AgfaMonotype. ...check out the ISV (Independent Software Developer) fonts. Another competitor is Bitstream, which offers similar solutions for developers.
Miscellania
If you're designing for internationalization, you need to look a little deeper into which fonts offer unicode support. This is the kind of thing that a developer needs to go after... in general, you'll lose typographic control because your options are limited in the other languages. Internationalization is a whole 'nother ball of wax.
I'm curious whether fonts optimized for Flash, are also suitable for general application development. A lot of these are designed to be precise at 5 to 12 pixels in height, which is really small on a modern screen. They might be OK for labeling, applications that "look cool" like games, or devices that run at 800x600 or smaller. Legibility would be difficult at higher resolutions.
There are also old font formats that are completely converted for screen use at a specific size...Mac users may remember "screen fonts". It's been a long time since I've seen any, but I know applications like Photoshop and specialized software like terminal emulators use them.
If you want to get extra fancy, there's a technology called Saffron you can license from Mitsubishi, that promises excellent legibility without a lot of hinting and kerning BS. The next version of Flash Player (version 8) apparently uses this. This is a more specialized application though, than your typical windows app. Would be interesting for games or bitmapped screen devices.