Jul 2, 2010

CSS is the new Photoshop? You got it all backwards...

In a recent post on his blog, John Nack remarked on the idea that developers can achieve graphics creation through code (through the use of CSS3 for example), and questioned the potential impact that might have on tools like Photoshop or Illustrator as they are used for web design today. More specifically, John was referring to how much weight would be put on pixel-based graphics vs graphics that were generated directly in code.

John also quoted Michael Slade who said, "What is missing today, is the modern day equivalent of Illustrator and PageMaker for CSS, HTML5 and JavaScript.”

John's comment on that was "Of course, this is far easier said than done. As I noted the other day, “Almost no one would look inside, say, an EPS file and harrumph, ‘Well, that’s not how I’d write PostScript’–but they absolutely do that with HTML.”

While these points all seem valid, they all miss one incredibly important aspect. In fact, this one aspect is so important that it's the single basis for why Adobe exists today in the first place.

I'm referring to PostScript. Adobe PostScript. How easy it is to forget.

Let's go back in time and understand what happened. John Warnock and Chuck Geschke developed a language that would allow printers to display high quality graphics and fonts. This language was called PostScript, and both John and Chuck would make money by licensing PostScript to companies that manufactured printers. The only problem was that back in those days, there was no way for a designer to DRAW art on a computer. To take advantage of PostScript, a designer had to write PostScript code and send that code to the printer. Apple's LaserWriter solved one aspect of this problem in that Macintosh could use PostScript fonts. So a designer could at least set some type. But there was still no way to fully exploit the power of PostScript and draw graphics, logos, etc.

John Warnock's wife was a graphic designer and John really wanted his wife to be able to print her work using PostScript -- but John's wife wasn't interested in learning how to write computer code to design (does any of this sound familiar?). So John wrote a program called Illustrator -- an application that would allow his wife to draw directly on the computer (granted, using the arcane Pen tool). Illustrator was basically the front end to PostScript.

But that isn't the end of the story. You see, in order to print graphics that were created in Illustrator, you had to have a printer with PostScript in it. Now Adobe had a goldmine on their hands. They would license PostScript to all the printer manufactures, and they would sell Illustrator to all the designers. Of course, there were plenty of printer out there that didn't support PostScript, and you were out of luck if you tried to print a PostScript graphic to those devices. In truth, however, printers were really expensive in those days, and high-end imagesetters even more so. Many designers didn't own their own printers and instead used service providers, who invested in the expensive PostScript devices.

The point here is that Adobe owned two parts of the workflow -- the technology to both create AND display PostScript.

Let's move a few years ahead. Adobe could release new versions of Illustrator that had more capabilities. But at the same time, Adobe would be developing and releasing newer versions of PostScript. First there was PostScript Level 2, and then PostScript Level 3. Adobe could only add features to Illustrator if those features existed in PostScript first. But since Adobe could control the output, they could build creation tools towards that target.

If you think this concept was just a one-time thing, think about other parts of the Adobe business. PDF is based on the same premise. There's a PDF language, and apps that Adobe builds to support PDF creation can only be built to create what PDFL can support. The same exists for ActionScript and SWF, and now Flex as well. Adobe can't build a tool into Flash Professional until they first build that capability into the Flash Player.

The same concept exists -- in ALL of these cases, Adobe owns and controls BOTH the display AND the creation of the content.

Now let's look at where we stand today with "standards". Who owns the display of these standards? Who owns how CSS and HTML look when they are rendered? The answer is -- the browser. Today, the concept of the browser is more broad as we have elements like WebKit that allow us to display the content outside of a physical browser. But in that case, WebKit is the owner of the display of that content.

Ultimately, HTML and CSS are just words in a children's book, and we're the kids asking our parents to read it for us, since we don't know how to read. One parent might read the book completely different than another parent. One parent may even skip some content that they deem inappropriate. In this analogy, the parent is the browser.

In reality, Adobe HAS indeed created "Illustrator or PageMaker for the web" -- via a tool called Flash Catalyst. They can do that because they own the display (Flash Player) and they own the creation tool. Flash gives us everything a designer could possible ask for. But it's Flash. It's the devil (at least according to some, anyway).

The only way for Adobe to create an Illustrator for HTML or CSS is if they own HTML and CSS. Otherwise, how could they guarantee that what you create in Illustrator (or any other app for that matter) will display just the way you want it on any device? Adobe may have tried through frameworks like SPRY for example. But even that's a struggle considering it's built on AJAX and JavaScript that isn't owned by Adobe. So it's all a big game of Jenga.

Bottom line is this -- Adobe could build their own browser and then build creative apps that target that specific browser. But then everyone needs to be using an Adobe browser. In reality, that's what Adobe AIR is all about -- a platform that guarantees a consistent user experience and graphics display on any device or platform. Well, any device or platform that choose to allow it to.

In other words, Flash is PostScript. The irony here is that Apple, the first to push PostScript into the mainstream is also the first to try to push Flash out of the mainstream.


Unknown said...

I definitely understand where you're coming from, Mordy. As far as John Nack saying "CSS is the new Photoshop", I think he's just addressing the web designers that prefer PS as their design/mockup tool of choice. You could practically replace Photoshop with Illustrator or any other graphics app in that statement. The overall situation is that more and more designers are "designing in the browser" (http://24ways.org/2009/make-your-mockup-in-markup). It seems like John is asking how Photoshop can help these types of designers (like me), as in what types of output or abilities would we like to see in PS. I appreciate John trying to make PS better and better in all areas of creation and editing.
You say the aspect that people seem to be missing is that Adobe makes creation tools only for the things Adobe controls, and that is why it's hard to make an "Illustrator for the web" since it doesn't control the web, which is really to say the browsers that display the web. I don't think it's necessary that Adobe own the output in order to make great web creation software.
Think of it in terms of the print world. Does Adobe own paper? Or the inks? No. That's the real output, not PDF. The majority of print designers (which I am also) use the Creative Suite becasue they're great tools for what we need to accomplish. It doesn't matter if Adobe owns the output. So too for the web. What's necessary is for Adobe to *understand* the web's output: the browsers.
There are a number of browsers of course, and some display things slightly different than others. And that's ok (except for the evil that is IE6, which is thankfully diminishing). Web designers have to make sure the websites we create work well in all browsers all the time, no exceptions (professionals that care about their work, anyway). We know our ouput, even though we don't own it. Adobe should see it that way too.
(To be continued in next comment. The comment form is incorrectly saying the character count is over 4096, but I checked, and it's not, so…)

Unknown said...

When it comes to newer things like CSS3 and HTML5, that's where I think many people are getting things mixed up. It sounds like you're talking about things like CSS browser extentions (e.g., -webkit-box-shadow) and new HTML5 tags like "article" and "section". The browsers supporting those things are doing so because they want to be forward-thinking, getting ready for what is certainly the future. Just because at this moment some browsers support more of the new stuff than the others doesn't mean there's something wrong with the CSS3 or HTML5 specs, it's just that browser vendors are implementing support bit by bit when they can, and some vendors are more able to or motivated than others. All modern browsers do great with CSS 2.1, HTML 4.01, XHTML 1.0 and JavaScript.
Canvas is getting more and more attention, and things like the new iPhone 4's Retina Display are making designers think about resolution independence. It won't be too far off that all modern browsers will be supporting it.
It's a great opportunity for Adobe to make tools to create content using these technologies. CSS3 and HTML5 is coming no matter what, and it's up to Adobe if they want to be a part of it.
Flash isn't "the devil", but it's certainly *not* everything a web designer could ask for. There are too many reasons to mention, but these are some of many wise words from Jeffrey Zeldman: http://www.zeldman.com/2010/02/01/flash-ipad-standards/. Professional web designers care about accessible, standards-based design, and they always will. And no matter what Adobe thinks of Apple's stance on Flash, their devices are never going to have it. You can ignore the enormous number of iPhone, iPod Touch and iPad users if you want, but I'm sure not, and neither are tons of other designers and developers.
And about your last paragraph, I don't think it's ironic, Apple is just being consistent. Apple backed PostScript because at that time it was "the future". Flash had its day, and its use will steadily decline as these newer technologies grow. Apple is just backing the next "future", and in my opinion wisely so.

Clicky Web Analytics