Inkscape in the Industry

The Inkscape engine is ready for commercial use.

Just take a look at Inkscape’s about screen. Those are beautiful vectors. And the ones from previous releases. Not to mention their example gallery.
Its just that the interface is not ready, although it is currently very, very usefull. It just needs to become more stable.

Not that the limits of vector art cannot be furthered. In a healthy nod towards the latest releases of Illustrator, CorelDRAW, even FreeHand MX. Capabilities-wise Inkscape 0.43 is very close. Its SVG engine even interprets gaussian blurs properly. Unfortunately you need to edit the XML to implement it for reals in an SVG artwork. Even clipping paths don’t have a GUI.

Why the need for a GUI for gaussian blur? For clipping paths? Masking? For speed. Just take a look at how efficient implementing radial gradient textures has become as a result of the new on-screen gradient handles (courtesy of Google’s summer of code and the coders who coded them for the prize, much gratitude to them all). You CLI hackers can gush all you want about coding efficiency; graphic artists use the keyboard and mouse at the same time[1].

If the Inkscape interface didn’t crash all that often when working with multi-megabyte SVGs[2] I’d be tempted to tell the Inkscape team to skip version number directly to version 1.0. As it is, the only significant hindrance to Inkscape being production worthy is its memory handling. Other than that, I can use Inkscape for production work.

Animation can wait. And if you can’t wait I kindly suggest you help the Open-Source Flash project, which would result in a much more robust animation system. And just for the record, Flash is as open as PDF and PostScript; they’re all copyrighted by Adobe, but the whole spec is published freely without limitation to implementation[3].

Of course there’s the issue of application interoperability, but so far Inkscape plays nice with the GIMP, AbiWord, and Scribus, and vice-versa all the way. It is preferable if these FLOSS apps also play nice with their proprietary brethen (ie. drag ‘n drop, shared and compatible clipboard, dynamic linking and embedding, etc.), but even though they don’t they’re still usable for production quality. Its just that its currently next to impossible to use these Free-with-a-capital-F tools in the commercial graphic-design industry. Not with all those Adobe-specific RIPs that are so popular among the more economical service bureaus[4]. TeX and DocBook are a great idea, too bad better ideas have entrenched themselves before they were even thought of. Just as the Cathedral model was so entrenched before the Bazaar was put up.

Recently there was news of Adobe postponing their release of Photoshop, Illustrator, and their Creative Suite bretherens for Intel-based Apple Macintoshes to 2007. I personally see an opening.

And check out Xara Xtreme; they seem to be focused on exploiting this window too.

[1] but I do agree with you hackers, coding is much more eficient with the keyboard.

[2] CMMIW; I don’t follow Inkscape CVS. But if there are no more major segfault errors or whatever thingies that make Inkscape not ‘feature-complete,’ then hell let’s have 1.0!

[3] Some, like the people of A List Apart, suggests a different term: transparent. Different symbols, same semiology.

[4] At least the hardware-based RIPs used by film-output bureaus here in Jakarta. There are direct-to-plate shops here, but even they use Adobe-powered PostScript engines. To print anything here, you gotta bring them data in the form of a FreeHand 10, Pagemaker 6.5, Illustrator 9, or a Photoshop 7 file. Or a TIFF (kinda iffy, since TIFF is such a ‘standard’). Or a PDF.


The Text is Not the Book: saving PC game development through Open Source

(Originally published in the mind-Dumpster, March 01, 2004. Republished with edits. I wonder of its relevance now that the games industry seems ‘healthy’ again.)

I had just browsed Ars Technica a few hours before (actually a few days ago, see note at the end-red), reading their review of Panther A.K.A. Macintosh OS X version 10.3. Its amazing what the Apple team did to FreeBSD 5. Yes, Mac OS X 10.3 is based on FreeBSD, an open source OS, although the resulting code is copyrighted. And as is the case with the iMac, the original and titanium iBooks, the iCube, the iPod, etc. (you get the idea), the OS X interface is beautiful and functional.

With that in mind I began thinking that open source can save PC gaming. Especially when combined with a Creative Commons license.

My idea is the separation of technology from content. I mean, when people copyright books, they do not primarily copyright the physical-material being of the book, but rather the ideas and images contained in it, including the way that the idea –content– is presented.

OK, now lets try to systematize that argument (or at least let me systematize my idea into a logically traceable argument). First, FreeBSD is an open-source operating system developed by a group of hackers, called the Berkeley Software Distribution, that went to UC-Berkeley Computer Science departement (or at least most of the original developers did). Its development has been from the beginning — and for the most continues to be — developed by hackers for hackers. FreeBSD User interface for the most part is developed only to be just barely usable, and not necessarily aesthetically pleasing.

While Apple computers since the beggining of its Macintosh line in 1984 has continued to focus on style and layman usability. They developed the first graphical user interface — with the help of Xerox’ Palo Alto Labs and (allegedly) Microsoft[1]. When Steve Jobs returned to Apple in 1996 (if I’m not mistaken), he got the company back to the roots that he had originally envisioned for the company, that being the makers of human PCs. And sometime in the year 2000, he made a crucial decision to merge the industrial design skills of Apple with the open-source community’s code robustness with the release of Mac OS X 10.0. Although off to a rocky start, the latest release has resulted in a (subjectively) very stable operating system with a very artistic industrial design. Jobs managed to start an artistic project with — relatively — free technology, thus focusing on the design while harnessing the help of the BSD community for coding.

And that’s where we get into PC gaming. The problem with PC games nowadays is its long development cycle seasoned with a liberal amount of target-missing. And the development woes are resultant of their basing their technolology on proprietary software; a team of only 10 is working on more than 10 million lines of code, where most of the coding consists of recreating the wheel. Game developers continue to reinvent ways of rendering 3D environments, and they have trouble helping each other because of their non-disclosure agreements. And never mind the egoism which refuse to recognise that they can use each others’ help, regardless of the development house they work for. They can’t share code, technology, and techniques, and the main reason is the preservation of their creative design property. So how can developers from separate companies help each other with technology while protecting the rights to their main selling point — the fun that people had by playing their unique game ideas?

That’s where separation of Content from Technology comes in. I see this as very possible, although not inevitable (yet). To get the idea, lets get back to my earlier reference to books. The story and pictures contained in books, and also its layout and design, is the content. The book as a result of desktop-publishing and printing-press machines is the technology. Now think of the gameplay and graphic design as content and the 3D engine, memory management, etc. as the technology. If PC game developers can see that the book does not have to be reinventend everytime they want to make a game, and instead can be developed colaboratively with a big community, then they can start to focus on what they do best: creating fun gameplays, beautiful graphic art, and tantalizing interactive stories.

They should copyright the whole package, but they should license the two sides — content and technology — using separate licenses. The technology should be GPL’ed while the content uses a creative commons license, so that developers can control how, and under what terms, their content is distributed. Or if they want to be greedy or just simply follow copyright law as it is currently applied in their respective countries, they can copyright their content normaly and license it as they see fit.

This should be obvious if developers observe the trends of 3D FPS’es and the licensing of their engines. Add to that the fact that John Carmack released Quake II’s source code under the GPL a while back[2]. And also the troubles caused by Half-Life II’s delay [3].

A caveat emptor, though; I can’t code to save my life. The last time I touched C++ was in 3rd grade SMU (equivalent more or less to 9th grade in the US public school system). For all intents and purposes I’ve completely forgotten the language ever since. The last programming I did was a very simplistic WordBasic script to toggle the marking of highlights in Word2000 documents. I haven’t wrote a single line of code for six moths before that (when I hacked away at DreamWeaver-created HTML for a friend)[4], and practically six years before that. I’m basically a lamer; a hacker wannabe. So I can’t say how complex the separation of design from technology can be applied to PC gaming. But its just a thought, and as far as my limited knowledge can tell me its not only possible but also essential to save the PC gaming industry from the ravages of minimalist popular society’s very limited attention span.

Just as the development of Cascading Style Sheets seek to separate style from content in HTML documents, so should game developers begin to separate design from technology in game development. I’m not saying that developers should make their game design less a part of their game technology development, on the contrary I’m saying that game development should identify which part of their code is aesthetic design and which part is technological innovation, so that each can be treated accordingly; the aesthetic towards the focusing of the game’s message and the technology to expand the horizons of what is possible to render. Thus code becomes bloated and condensed where neccesary, and complexity becomes more controlled and systematized. And PC games can start to look cool again.

Sorry ’bout all the missing links in the brackets; this thing’s been sitting in the draft-bin for too long and I decided to publish anyway, missing link and all…

[1] Originally pointing to the book “Barbarians led by Bill Gates”

[2] id has since released the Quake III arena engine under GPL. More interesting details available on id software tech licensing. -ed

[3] caused by source-code leak -ed

[4] that’s about two and a half years before today -ed

[random thought] At the time I wished has an RSS feed. Now it does.