Cringely on AIR

•29Jun07 • Comments Off on Cringely on AIR

Robert X Cringely has written a nice piece on Adobe’s platform technologies: Flash, PDF, Flex, and AIR (formerly Apollo). I think this discussion of the value of invisibility at the beginning of the articule is particularly apt:

Al Mandel, who helped market the original LaserWriter at Apple and later had several high-level positions at AOL, used to say, “The step after ubiquity is invisibility,” by which he meant that once a technology had reached the point where everyone had it, then people simply forgot about it and from then on assumed it would be there. Invisibility is a good thing because it means there will always be a market for your product. Invisibility is a high-tech annuity. There are very few technologies, however, that make it all the way to invisibility and most of those when it comes to PCs are hardware technologies — DRAM, disk drives, Ethernet, MAYBE x86 processors. It is much more rare for software to become invisible. Microsoft Windows still hasn’t made it, though html and zip encoding have. In terms of software applications, I can think of only two that have reached the point of ubiquity and hence invisibility — Flash and PDF, both of which come from the same company, Adobe Systems, the promised subject of this week’s column. Being the owner of two invisible technologies makes Adobe more powerful than most of us can even imagine.

That said, I don’t think that “taking from Microsoft the market leadership in software” is the goal here. We are trying to build a successful developer platform, yes, but you don’t do that by looking through your rear view mirror. You do it by building a compelling solution to the problems developers are facing today.

And of course, if you’ve got the chops and you’d like to play a part in building such a platform, you should come talk to us about a job. According to Cringely’s survey, 80% of his audience agrees Adobe’s got better tech than Microsoft. šŸ™‚

iPhoney

•11Jun07 • 1 Comment

It makes me sad that I’m going to have to write something negative here: I was really looking forward to seeing what Apple had in store for us developers and Mac users with Leopard and the iPhone. Unfortunately my expectations overall weren’t met, and the whole keynote ended on a really off note.

But first, let me highlight the good/interesting stuff:

  • Safari is coming to Windows. Curious what the plugin story will be, need to do some research here.
  • Leopard has stacks and a new Finder. The latter is much more iTunes-like in its UI, right down to the use of CoverFlow. (I hope those CoverFlow guys got a ton of money from Apple, considering how their idea is now being used on iTunes, iPhone, Apple TV, and the Finder!) Need to play with this some to see how it stacks up in real world use before making any judgements, but it looked good.
  • Resolution independent UI looked very nice, as did the CoreAnimation demo
  • Performance of everything demoed seemed really snappy. Curious how it will fare on my Core Duo MacBook Pro (pre Core 2 Duo).
  • Great 64bit story on Leopard, vastly superior to what Microsoft has done with XP and Vista. I hope that 32bit apps really do ā€˜just work’.

For everything else in Leopard, the demos this year showed incremental refinement to the stuff demoed last year but nothing really jumped out to me. I’m not the only one:

  • Dan Dickinson says the keynote showed the greener side of Apple, since it was ā€œ60-80% recycledā€.
  • Simeon Bateman says the keynote ā€œlacked that apple fanfare feelingā€.
  • Simon Brocklehurst says the new top secret features were MIA. Further, he points out that there was ā€œnothing that makes Vista looked dated at a stroke (which is what I thought they’d have been aiming for)ā€
  • Finally, the inimitable Fake Steve Jobs says ā€œMy Keynote Smelled Like Assā€

But the major disappointment of the day was the announcement of the iPhone developer story. Apple announced that they would allow third parties to extend the iPhone with Safari, so that therefore no SDK was necessary. Frankly, I was offended they insulted the intelligence of Mac developers by claiming that a web application bookmarked in Safari was just as good as a built-in iPhone application. As Gene Cowan points out in the comments on TUAW:

I’m not a developer, but let me see if I’ve got this straight from a user’s perspective: if I want to use a third party app, I’ll have to go into Safari, then go to a website, then run an app from the page?

How does this jibe with Apple’s concerns for ease of use by the end user?

Sounds like an awful lot of extra steps. It also sounds like every time I go to use one of these apps living in the ā€œcloudā€, I’m going to have to wait for it to download over the pokey EDGE network rather than just have the code stored on my iPhone as a regular app.

Simon Brocklehurst makes a similar point (article linked previously above):

It’s good that the iPhone browser supports AJAX (insofaras Safari supports AJAX), and it will be possible to build useful apps. However, this simply isn’t good enough as a third-party application strategy. If it was good enough, Apple’s own iPhone apps would written on top of Safari. They’re not.

On the other hand, the 37signals folks think this is great news:

That is a bold idea. Very forward thinking. A whole new product with the opportunity for a whole new platform. But instead Apple chooses simple and familiar: HTML and Javascript. Tens of millions of developers already know it. Instant developer uptake and an instant batch of apps that likely already work with the iPhone.

I understand, but disagree. Don’t get me wrong, I think its great that AJAX apps will work in iPhone via Safari, and I think its great that they’ve integrated iPhone functionality into Safari’s scripting model. But to argue that this is the equivalent of having full-fledged iPhone integration is ridiculous. It isn’t even equivalent to Dashboard. I’m still holding out hope that there is a real developer story forthcoming, and the song and dance we heard today is something Apple just threw together in response to the outcry. But my hopes are dwindling.

[Update 17:01 Pacific] One other thing that I thought was an off note was the way they introduced Safari for Windows. They put up a pie chart showing IE, Safari, and Firefox marketshare, then when they introduced the Safari version for Windows, they showed it wiping Firefox off the chart while IE kept its current marketshare. A small thing, but it seems like bad form to attack a well liked open source project in this way. Couldn’t they take their marketshare from the suckier browser with the bigger share?

[Update 21:23 Pacific] John Gruber has written up his own thoughts on the WWDC keynote as well. I’d say we agreed pretty much on everything, but since he’s a much better writer he puts things much more succintly than I can:

Or, take Apple’s argument regarding iPhone development and apply it to the Mac. If web apps running in Safari are a great way to write iPhone apps, why aren’t web apps running in Safari a great way to write Mac apps?

If all you have to offer is a shit sandwich, just say it. Don’t tell us how lucky we are and that it’s going to taste delicious.

[Update 06-12-2007 13:35 Pacific] Had to add a link to this new tshirt (tip of the hat to Gizmodo:

tshirt reading 'worst. keynote. ever.'

I have seen the future, and it looks a lot like Flash…

•08Jun07 • 3 Comments

A couple of months ago, I posted a provocatively titled article: “The Death Of UI Consistency”. In it, I argued that the web had made obsolete the original Mac goal of having 100% consistency of UI across all applications:

But I don’t blame Apple or Adobe for the death of the goal. What really killed that goal once and for all was the web. Where once there were only a few popular Mac applications that broke with convention, on the web look and feel consistency isn’t even on the list of things to worry about. YouTube and flickr look and work completely differently. Users today have been trained to expect a different set of UI conventions from every web application they use, and they aren’t complaining about it.

The trend towards Rich Internet Applications using Apollo and its ilk will further cement this trend, as web applications come down to the desktop with their web UI conventions intact. To me, this is a good thing.

Over the last few days there has been a lot of discussion on related lines. Many people have been writing about the UI changes in Leopard and the iPhone, and what impact they will have on the traditional Mac UI.

First up was John Siracusa, arguing that the iPhone is a new frontier for UI development (my emphasis added):

The iPhone is not just a new platform, it’s an entirely new set of rules for interface design. That is what struck me the most once the actual iPhone demos started. There are no windows, no close/minimize/zoom widgets, no checkboxes, no radio buttons, no scroll bars, no nothing.

Yes, there are features that look and act sort of like the traditional GUI widgets from desktop OSes. For example, there’s this vestigial little scrolling thing on the side of some screens (see, I was going to say “windows”), but it appears to simply be a visual indicator of scroll position. The actual scrolling is done by flicking your finger as if the entire screen is a big plank of wood floating on the water. Flick anywhere and whoosh, watch it glide. This is no scroll bar.

[…]

Anyway, back on topic, the iPhone will definitely be a new frontier for developers. This is the most exciting part of the iPhone for me: a whole new set of rules for a new kind of UI. Who knows where it could lead—maybe even back to the Mac, some day. But as in the real frontier days, expect some hard river crossings, cholera, dysentery, and maybe, if we’re lucky, a bounty of wild fruit.

I’m not going to argue with John: he’s much smarter than me, and I agree with him (which makes him that much smarter, right?). But I can’t help but point out that its a little bit ironic that John, who has long been a stickler for UI consistency, is now looking forward to the day when these new UI paradigms come to the Mac, cavalierly tossing aside the existing HIG. Of course, you can make the argument that new UI paradigms are appropriate when new HI input and output devices come on the scene. But I also believe that this argument applies equally well to the paradigm shift brought on by the Web and from Flash in particular.

Next up is Wil Shipley of Delicious Library fame, interviewed in Wired talking about all the crunchy goodness to be had from using CoreAnimation, Apple’s SDK for creating Flash-like animations:

“The revolution coming with Core Animation is akin to the one that came from the original Mac in 1984,” says Wil Shipley, developer of the personal media-cataloging application Delicious Library. “We’re going to see a whole new world of user-interface metaphors with Core Animation.”

Shipley predicts that Core Animation will kick-start a new era of interface experimentation, and may lead to an entirely new visual language for designing desktop interfaces. The traditional desktop may become a multilayered three-dimensional environment where windows flip around or zoom in and out. Double-clicks and keystrokes could give way to mouse gestures and other forms of complex user input.

Doesn’t sound much like the current HIG, does it? Of course, Wil isn’t the kind of developer who keeps a copy of the HIG in his bedside drawer. Delicious Library definitely takes liberties with those guidelines, but it does so to bring a better experience. Not coincidentally, that better experience definitely took some of its cues from the Web.

The article also points out that at least one of the whizzy new features in Leopard has abandoned the HIG entirely (I don’t agree that Time Machine is banal, though):

Functionality-wise, Time Machine is a banal program — a content-version-control system that makes periodic, automated backups of a computer’s hard drive.

But Apple’s take on the age-old task of incremental backups features a 3-D visual browser that allows users to move forward and backward through time using a virtual “time tunnel” reminiscent of a Doctor Who title sequence. It’s completely unlike any interface currently used in Mac OS X.

Finally, see this article on Blackfriar’s Marketing where they predict a core animation overhaul of the entire Mac OS UI.

I bring up all these examples not to decry Apple’s efforts, but to point out how much such efforts are needed to bring the Mac UI paradigm in line with the needs of today’s applications and today’s hardware. Nor am I trying to give Flash credit for all the UI innovations in the iPhone or Leopard: Apple is doing fantastic work these days and the iPhone in particularly looks truly ground-breaking. But I also want to make sure that when people look at these new products, that they realize what its influences truly were.

In any event, I’m greatly anticipating Monday’s keynote to see what Apple’s cooked up and how it might impact third party developers big and small.

Flex goes deep

•06Jun07 • 2 Comments

We build a lot of Flex applications here at Adobe. One of the things that we’ve always struggled with is how to build Flex-based web applications that are bookmarkable, work with the back button, and so forth. There has been various solutions offered in the past, most notably Joe Berkovitz’ UrlKit. But the big problem with these solutions is that they put the extra stuff after a ‘#’ sign in the URL, which always left me cold.

That’s why I was so happy to see that the next version of Flex (Moxie) will have deep linking support:

The deep linking feature of Flex 3 allows a Flex application to manage data within a URL using the HTML Anchor(#) feature. Using the new BrowserManager a Flex application can bind to data within the URL to both set and detect changes in the URL. This feature makes it easy to persist data in the URL for bookmarking and provide a new way to input data into a Flex application. The new classes added include:


mx.events.BrowserChangeEvent;
mx.managers.IBrowserManager;
mx.managers.BrowserManager;
mx.utils.URLUtil;
Application.historyManagementEnabled

The cool part is that this API is open and can be used for many purposes outside of the deep linking feature. It allows the URL of the browser to be in sync with the context of a Flex application.

For more discussion, see the posts by Ryan Stewart and Marco Casario.

Oh, and the internationalization support is pretty nice too. šŸ™‚