Posts in Category "Blogging etc"

“… the fundamental things apply….”

Some recent commentary on Twitter sounded worrisome… “If I read one more piece of FUD my brain will explode!” and such. Online debate has indeed been pretty tempestuous the past few months. But even accounting for surprising disruptions, the basic realities will still play out in predictable patterns, as time goes by.

Adobe’s business drivers and corporate culture revolve around helping creative communicators reach their audiences, no matter where they may be. Adobe has a history of investing in bedrock “platform” technology to create new markets, and also has a history of cooperation and inclusiveness with other businesses in the field. In the words of John Nack, “Adobe makes nearly all its money selling authoring tools that target great runtimes.” We’re making one ourselves, but Dreamweaver traditionally outsold Flash. The goal is to enable publishing.

There’s really no “HTML vs Flash” war. There are sure people inciting to create such a war, and individual developers may have strong practical reasons to choose one technology over another, but at corporate levels that drive strategy, all delivery channels are important Adobe territory, whether SWF or HTML or video or documents or paper or ebook or e-mag or film or packaging or whatever. Adobe profits by making it easier for creatives to reach their audiences.

We’re on the verge of a disruptive change that, I think, will dwarf that of the World Wide Web fifteen years ago. It was great back then when any wealthy person with a workstation in a wired environment could easily reach any creative’s webpage. With these cheaper devices we’ll be reaching far more people, and with pocket devices we’ll be reaching them throughout the day instead of just when “logged-on”. The WWW was merely a pale precursor of the excitement we’re going to see, I think.

For online discussion, I’ve seen a big change in techblog commentary since then last US presidential election — the types of arguments make less sense than before, and there are ‘way too many personal comments made by pseudonymous accounts with the same list of flawed talking points. Original reporting has a harder time finding funding, and meantime tabloid sensationalism does pull in the clicks. It would be interesting to know how many stories on Techmeme are not deliberately placed there by marketing campaigns. If reading techblogs sometimes seem nuts, it’s often because it is nuts… the dynamics in online debate are very different than three years ago. Don’t let it get you down.

The reality is that many, many manufacturers are bringing many, many new types of communication devices to market. They’re (almost) unanimously insisting on Flash support in order to entice the creative innovators who have been delivering with it over the past decade, as well as to satisfy the audiences that love this content. The birth of the PC proved what digital communications could do, but we’re about to hurtle past that, as we start to develop for a continuously connected worldful of people.

Technology is important, but so is developing sustainable business models. The WWW had a contingent of people insisting “content must be free”, who left creative incentive to the side, as T-shirt sales and such. But since then we’ve seen that the public will indeed compensate creators for music and application delivery to their device. I think we need to develop a variety of possible contracts between creators and their audiences, so that each business service can find terms acceptable to both parties. The technology understructure has almost reached delivery, but now comes the more complicated work of making it easy to develop successful businesses atop that technology.

I’m rambling among topics here, but I hope you see what I’m trying to get across… the dramas we’re told to believe in are not the dramas that really matter. We’re near the end of the beginning, and will now start to really work with “digital design for the hand”.

To get an idea of Adobe’s role in this, here’s Charles Geschke, co-founder of Adobe:

“One of the things I talk a lot about is the necessity to juggle all of the constituencies that have an interest in the business: shareholders, customers, employees, vendors, and the communities in which we operate. Those constituencies are all mildly in conflict with one another in terms of what’s best for them. Your job as a leader in a company is to find an appropriate way to juggle those conflicting interests so everybody feels like they’re getting a fair deal, without letting any one dominate the others because they’ll drag your company down.”

Finding ways for differing groups to get along, work together, achieve new goals… that’s Adobe’s corporate DNA. That’s why I’m confident of Flash’s future, excited about it, despite whatever Internet Inexactitude may occur along the way.

Please don’t let your brain explode… it’s messy to clean up, and you’re needed to help design, develop this big revolution now…. 😉

(Title comes from the tune “As Time Goes By” in the 1942 film “Casablanca”: “You must remember this, a kiss is just a kiss, a sigh is just a sigh. The fundamental things apply, as time goes by.” Always seemed to emphasize the inevitabilities of things, even when facing apparent chaos. Bet Herman Hupfeld and Dooley Wilson couldn’t have predicted such a future…! 😉

Establishing stats

Headlines today say “Silverlight now on 60% of Internet-connected devices” and “MIX10: Microsoft Silverlight lands on 60 percent of Internet devices” and such.

But the sourcing is left blank… some guy on a stage said so, and so newspapers are repeating it. That’s not good journalism. Anytime you read any story, you have to ask yourself “How do I know what I think I know?”

I know of two services which measure Silverlight: Travis Collins’, and RIAStats went through a significant sampling shift towards the end of last year, roughly doubling its baseline levels, and now reports SL3 at 53%. StatOwl shows SL3 at 38%. (Because of default auto-upgrades, I’m assuming any remaining SL1 or SL2 installations are broken.)

If an exec stands on a stage and gives you numbers to repeat, that exec has a responsibility to show why you should believe those numbers, and how you can defend them from challenges. Repeating those numbers without curiosity does not do the planet any favors….

If they can get Silverlight up into Shockwave/QuickTime levels of consumer support, then mazel tov… now that all this “Flash-killer!” adversarial jive is behind us it’s easier to just wish them success in their goal of helping skilled .NET coders deliver to wider audiences.

But — the newspapers need to source their info. Otherwise they’re just giving us beliefs. “How do you know what you say you know?” must be asked.

How I want Apple to talk

I’ve bought a lot of Apple products over the years, even though I’ve been consciously choosing other alternatives the past few. Granted I’ve got a horse in this race, but here’s how I would prefer Apple communicate:

  1. Get your CEO to either talk, or not. Put some skin in the game, put your rep on the line with attributed statements. The lack of confirmation, denial, or clarification from Apple PR about rumored quotes from The Great Man is telling.
  2. Can that “controlled leak” strategy. Stop relying on “inside sources” to float trial balloons like “Bing on iPhone”. Deal honestly with partners and the public.
  3. Let your employees speak. I’ve seen a few Apple staff bloggers and tweeters, but precious few, and even fewer of those speak about their work. When Adobe hosted the first iPhone DevCamp there were Apple employees who did not disclose their affiliation; when I attended MIX06 I saw Apple employees who said they worked for Yahoo! or other companies.
  4. Urge your external evangelists to speak with attribution, and put their own personal rep on the line. The sheer number of pro-Apple comments filed under untraceable names like “ken” or “steve” does not, in a post-EllieLight world, inspire confidence. Urge your fans to avoid acting as marketing interns would.
  5. Reduce the unprecedented contractual secrecy; let partners speak as freely as they speak of other initiatives in the industry.

Folks in Cupertino don’t have to listen to me. I’m just going on-the-record here with how I’d prefer they act. It’s their call what to do.

(PS: Add one more request, to people in Apple PR, please don’t send an email complaining about this post to Adobe PR. There’s a comment field here which you can use to communicate your concerns more effectively. If you’re a person who stands up for your beliefs, I’d like to learn more of what’s important to you, thanks.)

Simple things

Almost too much discussion recently… lengthy articles, details to debate, personas to ponder, errors to exasperate. Yesterday I walked along The Embarcadero, looking out over the San Francisco Bay. Made me zoom out, look at the bigger picture on this technology curve.

Woodblock prints in the 1400s… Linotype in the 1880s… digital in the 1980s… webpages more recently. Each enabled more people to communicate, more easily, more expressively.

For communications, very few owned signal towers and elevated roadways, until carrier pigeon, then telegraph, later telephone made communications more accessible. We started with one-way broadcast TV, later asynchronous videotape, now realtime peer-to-peer. Remote expressivity evolved from smoky symbols to text, to speech, to photos, to video.

The natural evolution is to become more diverse, more open, accessible to more people. Richer. More options.

Personal computer screens are only twenty years old. Their expressivity has become richer, their communications offer far more choices. From white-collar workstations, to blue-collar laptops, and now to the global denim pocket… different than fifteen years ago, or fifteen years from now.

A future using networked pocket devices will be a little bit richer than a hypertext viewer on a workstation.

How to design presentations and interactions for a world where your audience is using multiple devices throughout the day, where sometimes they may want short text, other times a passive movie, but at times heavy interaction? A world where your devices know where you are and can augment your environment… a world where your friends can “be” with you, no matter where they may be?

We simply don’t know much yet about optimal design of such interfaces. Using networked pocket devices will be much richer than surfing the web.

We heard DHTML will kill Flash, Ajax will kill Flash, “HML5” will kill Flash. That’s a very limiting way to look at things.

“We’ll do that, but better” seems narrower than “We’ll do something better”. Second-movers may need confrontation; first-movers need vision.

Take a walk along the water sometime. Look out, and think about the more important things you could do.

Close with two quotes… wanted to close with three, but couldn’t find something from Gregory Bateson about how the natural tendency of successful ecologies is towards increasing diversification over time, and how it’s less-successful ecologies which focus on killing off The Other… but couldn’t find it from Bateson, though, so there’s just two:

Robert Anton Wilson:

“Information is doubling faster all the time. It took from the time of Jesus to the time of Leonardo for one doubling of knowledge. The next doubling of knowledge was completed before the American Revolution, the next one by 1900, the next one by 1950, the next one by 1960. You see how it keeps moving faster? Now knowledge is doubling every eighteen months.

“With all these new bits, bytes, blips of information, no model can last long because models only include the bytes of information that were available when the model was made. As new bytes of information come in it gets harder and harder to adjust our old models to include the new blips and beeps of information, so we’ve got to make new models.”

JBS Haldane:

“My own suspicion is that the universe is not only queerer than we suppose, but queerer than we can suppose.”

[Comments policy: A masked person with a reasonable question is okay. A real person with a dumb question is okay. A masked person making dumb assertions, not.]

Beggars Banquet

John Nack takes on some of the rougher speech out there about Flash. I’ve printed it out, read it half-a-dozen times already. I think you’ll find it enjoyable too. Go read. 🙂

Two quick points, one about it, one beyond it:

It’s a well-written essay. He has both conversational tone and corporate sensitivity… either is hard. The first screenful of text gives the high-level overview of all the rest. Subjects are blocked out into separate areas. It’s personal, not pompous. The essay is refreshingly accessible.

“If you can’t explain it simply, you don’t understand it well enough.” – Albert Einstein

Beyond the text, the Player team is doing something phenomenal… hidden in plain sight, but under the popular radar. This past year-plus they’ve been working under the Open Screen Project mandate. The amount of industry-wide cooperation in this is unprecedented… 19 of the Top 20 handset makers, Internet television, other devices. Flash Player Engineering has been uniting these devices, smoothing over the edges — engineering predictable advanced capability despite hardware changes, API changes, schedule changes. No other engineering team has the depth of cross-device knowledge and experience that they have earned. So many moving pieces in this project, and yet the Player team is making it happen. And they’re doing so in an environment of multi-partner cooperative chaos, rather than in a single-vendor controlled stack. Profound ramifications.

“Poets are the unacknowledged legislators of the world.” – Percy Bysshe Shelley

More later, but right now, please go read John’s “Sympathy for the Devil”.

Gordon, formats, runtimes

No big news here… just tying together observations on different types of file formats, and how they interact with different types of local runtime engines.

Last week Tobias Schneider released a project named Gordon, a JavaScript library which parses a SWF and renders some all SWF1 tags [demos]. It’s in the spirit of the previous “SVG in SWF” work from Helen Triolo, Claus Wahlers, Brad Neuberg and others — rendering one file format in a runtime designed for a different file format. Geeky, and admirable.

I liked seeing Gordon arrive, because it proves that SWF, SVG and such are just file formats, interconvertible with varying degrees of fidelity — of the same species. Neither is a black box, both have been publicly specified for over a decade, and different types of code can produce, consume, and work with them. Anybody can use either, do whatever they want with ’em. SWF and SVG are both useful and flexible file formats.

But some of the reaction was a little strange — I’d rather not embarrass people by linking to articles, but (edited) titles like “Gordon Lets You Run Flash On Your iPhone” and “Open Source JavaScript to Replace Flash?” give a flavor. Much of the initial commentary did not seem to distinguish between a file format as a set of instructions, and a runtime as the clientside engine which executes those instructions.

Using instructions in unexpected ways is fun. Different examples include Microsoft Gestalt (writing Ruby or Python in an HTML page), Flash Pro (the announced ability to export ActionScript as iPhone-native), much of the Flash 3D work (taking the Collada modeling file as a datasource). On the flip side, XML is a file format which was expressly designed for universal use.

But each of these file formats is then processed by an engine of some type, often a clientside runtime. It’s the interaction of format and runtime that determines the actual feature set, the actual performance, the actual deployment cost.

Here’s an example of the confusion: “While the open source Gordon is available to all, it still doesn’t solve one of Flash’s biggest problems. These SWF files still hog the CPU. One demo, a simple vector graphic of a tiger, throws my desktop browser up to around 100% CPU usage.”

Do you see the problem? The author assumes that his performance is controlled by the content — the instructions — rather than the way those instructions are processed in his environment.

Another example: “This frees Flash from requiring a plug in. But it’s also a proof of concept that shows that you can do all the cool, propritary-plug-in stuff using just plain HTML.” Even if this JavaScript library could acceptably handle all the SWF10 tags (instead of some all SWF1 tags), it would still be a JavaScript library, downloaded afresh each time. Sending your runtime code as file format is not as efficient as using a native local runtime engine.

Perhaps the most concerning type of theme: “Any developer wishing to get their Flash files to work on iPhone just needs to ensure they include a HTML wrapper and through the power of Gordon it should ‘just work’.” Here there seems to be an assumption that all runtimes are interchangeable, and that certain file formats are more magic than others.

When a Gordon project “runs on an iPhone”, it’s actually a SWF being parsed by JavaScript instructions which are executed by Apple’s Safari runtime engine. Although this SWF file format is being used, it’s more properly a Safari app than a Flash app by that point.

It’s fun to use file formats in unexpected ways. But different runtime engines are tuned for different jobs, optimized for different types of instructions. Flash’s textfields can display HTML, but you wouldn’t use that to replace your local dedicated HTML-eating runtime engine. Different runtimes are engineered to take best advantage of different file formats.

I like the Gordon project, because it shows there’s nothing mysterious about SWF. Just like HTML, the file format definitions have been public for over a decade. They’re of similar nature, similar usability.

There are differences — SWF is binary, rather than text — that’s a meaningful difference. Another difference is that HTML is about hypertext, while SWF has been designed from the start for rich-media interactivity. Or you could argue that Adobe has provided saner governance over SWF than the WhatWG Consortium has over “HTML5”. The biggest difference between SWF and HTML is likely in the predictability of the runtime engine.

There are differences between HTML and SWF, but even a JavaScript engine can understand simple SWF files… nothing mysterious or alien about it.

[Update: Changed “some SWF1 tags” to “all SWF1 tags”… my apologies to Tobias, I had forgotten that the FutureSplash Animator version had only a dozen logic elements!]

“Pull the wool over your own eyes!”

The Apple fansites are covering an article today with titles like “iPhone users suffering ‘Stockholm Syndrome’, analyst firm reckons”, and “iPhone Owners Plagued by Stockholm Syndrome, Analysts Say‎”.

It took a little bit of searching to find the original article, but Fierce Wireless has the source, with title “How will psychologists describe the iPhone syndrome in the future?”

Note the difference in headlines alone… the original essay describes the syndrome of aggressive overcompensation among a minority of owners, while the followups extrapolate this to all iPhone users and owners.

The article clearly focuses on the cognitive problems of a minority of Apple customers: “Apple has launched a beautiful phone with a fantastic user interface that has had a number of technological shortcomings that many [emphasis added] iPhone users have accepted and defended, despite those shortcomings resulting in limitations in iPhone users’ daily lives.” It goes on to list twenty complaints, as well as the typical defenses to those complaints raised in online discussion (“The phone cannot send MMS: There is no need to send MMSs, hardly anybody sends MMSs” etc.) This pattern of overcompensation is not addressed in the defending essays, shifting instead to (in broad stroke) “Hey! Those guys over there are saying all you iPhone owners are sickies!”, which was not the point of the original essay.

Rephrased, the defenses themselves exhibit the same problem the article describes — an inability to focus on the issues at hand, with deflections using strawmen to attack The Other, all in the defense of The Precious.

Remarkably, the iPhone’s major complaint of “Full Web (just no Flash)” is not mentioned, but the same dynamic of “oh who runs around with spare batteries anyway!?” and “oh the phone quality is the networks’ problem” is common to all these rebuttals.

The authors close with an evocative tangent: “In reality the iPhone is surrounded by a multitude of people, media and companies that are happy to bend the truth to defend the product they have purchased from Apple.” Apple gains consistent blogosphere hype on a remarkable basis, and there has long been suspicion that they seed false rumors into the blogosphere for buzz. It’s hard to know just how much back-channel manipulation there is, because few in the rumor mill cite their sources, and few are transparent about their private communications with the company. We can see the truth-bending, but we cannot yet see how this truth-bending comes about.

Bottom line, it’s no big deal… we’ve all seen these patterns of evasiveness in online conversation. But even when these are openly identified and discussed, there’s a scurry to distort and misrepresent the uncomfortable conversation. And Adobe sees Apple as a significant part of today’s computing ecology, and will continue to work to connect content creators with their audiences wherever they may be.

[The title? A wonderfully counterintuitive phrase from The Church of The Subgenius and its inspiration J.R. “BOB” Dobbs… as explained by Pope David Meyer: “BOB (once properly compensated) wants his minions to pull the wool over their own eyes. You see, all our lives we’ve been sold everyone else’s wool. Our parents’ wool, our church’s wool, our teachers’ wool. But when you pull the wool over your own eyes, when you relax in the safety of your own delusions, in five minutes you’ll be so bored you’ll do what BOB (once properly compensated) wants you to do: you’ll start thinking for yourself! BOB is that rarest of gurus. BOB is a short-term personal savior!” Given that all we frail humans are fallible, it’s better to take responsibility for our own beliefs than to just blindly Obey Alien Orders.]

[And comments are turned off on this blogpost, because I’ve no interest in publishing those who can’t focus on the subject… easy enough to find the flamers elsewhere.]

Yellow Kid journalism

I’d like to thank Ed Bott for documenting this timeline of how the tech blogosphere failed to substantiate a story before attempting to earn revenue off it.

The habit needs to change.

How does video work?

When you open up a web browser and type in an URL, how do you then see a video in the webpage?

There are a couple of different levels of requirements, but it’s not hard to understand how they stack together. You’ve got to have a computer of some type, of course, as well as an operating system. This lets you load applications like WWW browsers.

The HTML markup that a browser processes could be written in any of several ways, but at some point will call up a locally-installed “codec” (short for “encoder/decoder”) to process the incoming video stream, and display it within the browser window.

Most of the time the markup asks the browser to ask Adobe Flash Player to render the video, because Player is already on (nearly) all the world’s machines, and Adobe has paid the licensing costs to distribute a good set of codecs. Sometimes the markup asks browsers to use other cross-browser plugins, such as QuickTime or Windows Media or Real Video. Sometimes the markup asks the browser to call a codec directly, as with the VIDEO tag or iPhone.

But that’s the gist of it — a given video file requires a corresponding local video decoder. It’s a pretty simple thing.

Of course, there are ways to make the story more complicated, by adding more details…. 😉

For instance, each codec has different strong points, different angles to appreciate. Some of the older codecs have been donated by their creators for any type of redistribution. The more efficient codecs usually charge a license for redistribution to recoup their development costs. Flamewars among codec fans have historically been amusing, but are a separate topic from understanding what a codec is and does.

The server can introduce additional complicating details too. For instance, some servers can deliver different video streams to different client requests, depending on what codecs and transfer rates the clients have. Other servers can confirm that the request comes from a paid-up subscriber (“DRM”) or offer playback amenities such as scrubbing and variable-speed playback. Still other video servers can make use of both the encoder and decoder on the playback machine, for videochat and such.

And, of course, the above is talking about only the most basic type of video, the linear playback stream that we’re used to seeing on movies and TV. Usually you’d also expect, at minimum, some type of playback interface in the webpage (stop/pause/play etc), and there are other interactive features such as captioning, bookmarking, branching, realtime editing, the list goes on. The codec handles just the linear video stream, which is usually only one part of the overall video experience.

But those are the basics: you’ve got one or more video files on the server, and the markup asks the browser to find an appropriate local decoder. That’s how your video gets viewed.

(My apologies if you already knew the above info, and I ended up wasting your reading time… I’m hoping it will be read and understood by more of the weblogs listed on Techmeme, so that in the future all of us readers will end up wasting less time reading soap-opera dramas atop a “web video” storyline.)

Beat back the hacks

Seems like Techememe is now listing that Business Week article “Can Adobe Beat Back the Hackers?”, which I mentioned on Twitter yesterday.

Here’s the hot line: “Vulnerabilities in such widely used software can cause myriad problems. More than a dozen sites, including those of The New York Times, USA Today, and Nature, have been infected with fake ads that exploit Adobe software.”

The latter phrase should read “exploit older, un-updated Adobe software.” Attackers will use the newest vulnerabilities in hopes of increasing their catch — no surprise. This article contains the worry, but not the general advice readers need: keep your Internet software current.

The more-interesting part of this exploit is mentioned only in passing… trusted websites cannot always assure the third-party content they serve. The Web, as we know it today, is infected… more last week and last June… even trustworthy sites are not sure what they’re serving you.

(There’s also a line later on: “Historically, Adobe hasn’t had to contend with attacks, so it hasn’t been focused on potential weaknesses.” The Internet Archive has pages from the Macromedia Security Zone dating back to 2002.)

Summary: Yes, criminals are trying to exploit you. But to reduce the risk, keep your Internet software current. And consider using browser software (such as an ad-blocker) to monitor third-party content which may be attached to a trusted site.