April 06, 2008

Gears adoption

Gears adoption: Harry McCracken of PC World is less optimistic now on Google Gears, because "There are still only a handful of Gears-powered offline services available... If Google Gears is a bandwagon it's one that almost nobody, including Google, has jumped on yet" [edited]. I don't think that's quite fair; Google Gears will necessarily have a different type of adoption rate than AIR. Google Gears is a browser plugin to add local relational database storage. It works with webpages, which must then (practically speaking) do browser-detection and gracefully degrade for Gears-less browsers. That's more work than just making an AIR interface available. An URL has different costs than an app. The Gears project is offering a way to bring deeper local data structures into consenting browsers, on the same webpages that people visit without Gears. It should naturally have a slower adoption rate than AIR, but it's still useful. Give it time.

Update: Apologies for the typo I originally added to Harry's name...!

Posted by JohnDowdell at 10:58 PM | Comments (0) | TrackBack

March 28, 2008

Will that be on the test?

Will that be on the test? Eric Meyer has an interesting piece here, on how browser makers may be focusing too strongly on the Acid 3 test itself, rather than on conformance with the entire set of specifications from which the Acid test derives: "The Acid3 test isn't a broad-spectrum standards-support test. It's a showpiece, and something of a Potemkin village at that. Which is a shame, because what's really needed right now is exhaustive test suites for specifications -- XHTML, CSS, DOM, SVG, you name it. We've been seeing more of these emerge recently, but they're not enough. I'd have been much more firmly in the cheering section had the effort that went into Acid3 had gone into, say, an obsessively thorough DOM test suite." There's incentive for each browser-building company to be popular, because Google pays for shuttling users to search, and to ad revenue. Make a test, and there's incentive to focus on the test itself. Mozilla's Mike Shaver agrees that the test shouldn't matter as much (possibly because their scores aren't as high), but includes this prejudicial line: "I can easily imagine the developers of the web's proprietary competitors chuckling about the hundreds of developer-hours that have gone into adding another way to iterate over nodes, or twiddling internal APIs to special case a testing font." Nobody likes wasted time, you ninny, but you're dealing with an intrinsic problem with development which starts with overly-complex specs developed by multiple competing corporations and then which has zero conformance testing applied to their varying implementations... and that "proprietary" name-calling is very 1990s, and Adobe Flash Player is not "competitor to [my] web", and it's pretty insulting to be lumped in with Microsoft and their history of diverging the use of HTML, JS, CSS, and now cross-browser media engines. Anyway, Mozilla's casual Flash-bashing aside, Mike and Eric raise a valid point here: if all you have are simple tests, and the financial rewards are great enough, then you will get players focusing on the test, and not on what the test is supposed to measure. Students who ask "Will that be on the test?" are looking at the finger, not the moon.

Posted by JohnDowdell at 02:36 PM | Comments (0) | TrackBack

March 25, 2008

IE8 Adaptive Zoom

IE8 Adaptive Zoom: This doesn't seem like it will have a major impact on existing websites, but may be handy to be aware of ahead of time. Microsoft Internet Explorer 7 offered a "zoom" feature which scaled up the existing page... you'd usually have to use scrollbars, as the old layout, magnified, exceeds the browser window bounds. In IE8 the magnification will be applied to individual page elements, and then the page content flows out in the normal fashion. Result: Each thing in the page will occupy more pixels, but will still be bound to the dimensions of the browser window. You might want to check pages to make sure individual elements don't get magnified enough to exceed window bounds, forcing scrolling to read bodytext. Summary: IE7 did layout-then-magnify; IE8 will do magnify-then-layout. This is one of those features that the W3C never specified, and I don't remember offhand how other browser brands change the page while resizing.

Posted by JohnDowdell at 04:35 PM | Comments (1) | TrackBack

March 15, 2008

MLB.com 2008

MLB.com 2008: A behind-the-scenes look at the baseball site... unique info here. MLB.com had a significant investment in Windows Media assets and systems, and FMS3 was not yet available, so they upgraded the clientside component from Windows Media Player to Microsoft's new Silverlight plugin. They also had "a huge codebase in Flash that is already stable and we were able to reuse it significantly," so the result is a Silverlight video asset surrounded by Flash data and interactivity. Communication between plugins is handled by JavaScript messaging. Frog Design built the basic demo, but the approval process of the project was apparently handled in PDF. Microsoft offered "a dedicated team of people" for the project, and certainly reaped some headlines out of it. Aside from bypassing problems with the older Windows Media Player, the site doesn't seem to have actually changed much. (By the way, the MLB Gameday application is already running, an RIA for exhibition baseball... you can retrieve pitch locations for last nights Dodgers vs Padres game in Beijing, for instance.)

Posted by JohnDowdell at 05:45 PM | Comments (3) | TrackBack

March 03, 2008

Understanding "offline"

Understanding "offline": Link goes to CNET's Martin LaMonica, titled "Microsoft to take Silverlight offline eventually, says exec". They've already got it, in a sense, because Google Gears offers larger-than-cookiesized local storage and is addressable by JavaScript, and the path via NPRuntime should be clear. But when you think about implementing a project using efficient local storage, then it becomes real obvious real quick that "offline" is not a feature so much as a capability, and that individual applications have to make significant decisions about the type of experience they'll offer when unconnected. Does Photoshop produce great art? Some would say yes, but Photoshop just provides imageprocessing capabilities, and it's really your own individual effort that actually produces "great art". Even the RIA definition said "rich clients must enable" these occasionally-connected experiences... a platform layer can't provide occasional-connectivity, only enable occasional-connectivity. And the task of understanding how to design and architect applications which work pleasingly regardless of current connectivity still lies ahead of us. Anyway, if you'd say Google Gears "has offline", then Microsoft Silverlight would "have offline" too... the MS exec needn't have painted such a dour picture. ;-) (And it's good to keep reminding reporters that Adobe AIR is not just "offline" or "desktop" or "cross-platform"... it's the set of these and other abilities, all in pursuit of helping webpage developers reach the world's desktops. Nothing else is quite like AIR.)

Posted by JohnDowdell at 03:15 PM | Comments (1) | TrackBack

February 11, 2008

Rich. Internet. Applications.

Rich. Internet. Applications. Rafe Needleman was impressed by many of the recent applications people have unveiled: "Flash apps are taking over. Phoenix is the latest proof. As I reported from Demo 2008, new Flash- and Flex-based Web apps are putting traditional desktop apps to shame. The database Blist, the widget maker Sprout, and the photo manager Joggle are all Web-based apps that give up almost nothing to run inside a browser." All of these are fullsized applications, computer programs which let you get things done. They're stored on a server and delivered in a browser, and can invoke resources across the internet. And they're rich -- interfaces have a uniform slickness that's difficult to provide when you have to work atop a half-dozen different JavaScript engines. The term "RIA" is by now a buzzword, six years after its release, but the "Rich" and "Internet" and "Applications" parts of it still describe something new, which people react to strongly once they experience it. (Three quibbles: The prevalence of Adobe Flash Lite runtimes is more limited by the abilities of feature phones than by licensing costs; there are certainly particular processing functions which might be done more quickly in another desktop runtime such as a known Java SE installation; and I don't agree that local desktop apps are going away, because it's not a zero-sum game.) I like how Rafe closes out: "And I'll tell you this: I'm not seeing nearly the same creativity today in traditional software that I am seeing on Flash and in browser-based apps. Flash-based apps are finally beginning to compete head-on with standard software. Many new Flash apps aren't just different. They're better."

Posted by JohnDowdell at 01:30 PM | Comments (1) | TrackBack

January 23, 2008

RIA, 2008

RIA, 2008: Ryan Stewart pulls together a bunch of predictions for "rich internet applications" over the next year. I see different trends, mostly piggybacking off of things established in 2007: (1) The RIA concept, which once prompted fierce debate, has now been endorsed by Ajax, Microsoft, Mozilla, and pretty much everyone in the world now... resistance is gone. (2) High-speed, OS-neutral processing is available today on the world's computers, via the 95% audience support of Adobe Flash Player 9. (3) The fastest way to create such apps, the Adobe Flex workflow, is on the verge of delivery in the key 3.0 version, and many high-profile applications have been developed during beta. (4) And then there's AIR, which brings deeper capability than what a browser can offer, using the same development technologies you'd use for in-browser work. Audience capability... client demand... cheaper production... additional delivery channels... all of these were firmly established in 2007, and will be used to significant effect in 2008. We'll see things flower, that's my prediction.

Posted by JohnDowdell at 07:42 PM | Comments (3) | TrackBack

January 22, 2008

Specs vs capabilities

Specs vs capabilities: HTML was a good idea: an easy-to-learn markup language for hypertext documents. As it became popular people wanted to turn it into other things... layout was an early goal, and people used TABLE tags for positioning, then later moved into styling for layout (the logic of which I never quite understood). Once text-retrieval was available in the socially-acceptable Firefox browser, we saw Ajax. Anyway, even though HTML has become more complex as it has attempted to please more constituencies, the basic promise was of an easy markup language, which any client could render identically to others. Now there's a proposal to put a runtime identifier in HTML documents. Instead of trying to render the specifications (at which no browser fully succeeds), they'll try to render previous runtimes... here, Eric Meyer says: "The idea is that when IE10 loads up my IE7 page, it rewinds itself to act like IE7 did, all those years ago -- no matter what changed in the meantime." What was once a neutral document format now becomes, essentially, a set of runtime-specific rendering instructions. That seems a significant change in philosophy. Color me skeptical -- I think hypertext markup serves best as a neutral document format, accessible to the average person with only a moderate amount of study. If implementations end up differing so significantly in capabilities, then that shows that the original shared specification was flawed, or overambitious, or both. But maybe that's just me. More from Jeffrey Zeldman and Aaron Gustafson.

Posted by JohnDowdell at 08:19 AM | Comments (10) | TrackBack

January 17, 2008

SWF to QT to MS

SWF to QT to MS: Nothing new here, but I'm writing this blogpost because the other weblog doesn't accept comments, and they might accept trackbacks. The Microsoft Expression Media team has a post that starts like this: "Microsoft Expression Media (Ver. 1) uses Apple QuickTime to import and play Flash Movies (SWF). However, Flash movie (SWF) playback support is NOT available in the latest version of Apple QuickTime version 7.3.1. Thus, Expression Media wouldn't be able to import SWF movies if Apple QuickTime version 7.3.1 or later version is installed." That SWF engine in QT would not have read many modern files anyway, and I'm surprised that they relied on it at all, considering it was default-disabled in Sept 06 and removed entirely in Dec 07. If Microsoft Expression Media wants to view SWF then it's easy (just invoke the system-level Adobe Flash Player in its ActiveX wrapper)... to convert various SWF assets to something else might be tricky, considering that SWF is optimized for delivery and contains so many different media types. (A search doesn't readily reveal what type of SWF support they advertise, although forums show some of the expectations.) Anyway, no real news here, but the lack of commenting at the original blog is what prompted me to try to help via my blog....

Posted by JohnDowdell at 01:40 PM | Comments (2) | TrackBack

January 11, 2008

Browser-colored glasses

Browser-colored glasses: Matt Asay wonders why some claim that all network tasks must be done through an HTML browser, and is receptive to what AIR might provide. The first internet applications were desktop apps (email, FTP, bulletin board clients), but a lot more people came in after 1995, when browsers added JavaScript and plugins. To safely browse anywhere on the World Wide Web will remain important, but there isn't much to support the belief that Microsoft, Mozilla, Webkit and Opera must crowd out every other use of networked computers. HTML browsers are a part, not the totality, of our networked experience. I like how Asay sees AIR as inclusive of Ajax apps such as Zimbra: "My company has moved to Zimbra. It drives me to distraction, however, that I have to look at my bookmarks and other browser artifacts while I try to immerse myself in the Zimbra application. Why not 'ship' Zimbra as a 'standalone' application that borrows all of the browser technology but removes the browser artifacts when I click on the Zimbra icon? ... Adobe gets this right with AIR... The application straddles the Web and the desktop." In comments someone tells him of Mozilla's Prism, which is a chromeless version of Firefox doubleclickable on the desktop, although without the other desktop integration found in AIR. A strong close: "Why not leverage that browser without force-feeding users on it? I can't tell you how disappointed I am when I click on the Zimbra Desktop and it forces me into a browser window. I don't want the browser. I don't want the three tiers of toolbars that take up screen real estate and distract me from my application. I want Zimbra. It's an application."

Posted by JohnDowdell at 12:01 PM | Comments (1) | TrackBack

January 09, 2008

Yahoo MP3 API

Yahoo MP3 API: This news cluster came up on Techmeme, and it took awhile to research... figured someone else may want the links too. From comments on the wiki, it seems like tested browsers include IE, Firefox 1.5/2 on Mac/Win, Opera on Mac/Win (except for Vista), and Safari under MacOS 10.4, with Linux browsers to come later. (Later: It seems the "How to Use" page has more direct browser support info, but I'm not sure where the JavaScript commands are listed.) Caveats talk about the need for static playlists (no dynamic feeds), and lack of cross-domain support (which I suppose is between the HTML and the MP3, although the call out to Yahoo for .JS is apparently okay.) I'm not sure of the range of .MP3 decoders supported... I got pulled into it through some of the "no plugins!" commentary, but it's a hard story to research. UI examples here, cautions here.
Update: Looks like my headline was wrong... it seems more like a predefined Yahoo-hosted widget which can present MP3s from your site, rather than an API.

Posted by JohnDowdell at 09:47 AM | Comments (1) | TrackBack

January 08, 2008

Porting a browser

Porting a browser: This report of a Mobile Monday presentation has been kicking around the republishers today. This line bothered me: "Wake3 plans a public beta release of WebKit for Windows Mobile in a few months. It will have full support for JavaScript, but Adobe Flash support is not expected. 'You pretty much need a license,' from Adobe, said Zucker. Instead, Wave3 will support technologies like SVG." Three points: (1) Adobe Flash Lite for Windows Mobile can be freely downloaded, and it costs nothing to use. This download is intended for developers, though, and consumers should have functionality included at time of manufacture -- Adobe is not assuming support costs for each and every device profile out there. That "you need a license" statement was, at best, ambiguous. (2) If you're porting a browser, you don't do anything fancy "for Flash support"... you just include the extension mechanisms all browsers already include. The speaker might be intending to say "we don't want to port the plugin-hosting code", which seems a strange decision. (3) The phrase "SVG support" is always bizarre, because it implies a binary condition when realworld SVG implementations are always in varying shades of grey -- at best, the speaker could be intending to say "We'll render some parts of some SVG spec in some way". It's their decision on which to work, but for talking about that work, we need to meet in the middle.

Posted by JohnDowdell at 05:25 PM | Comments (1) | TrackBack

January 02, 2008

Gosling on Flash

Gosling on Flash: James Gosling of Sun is quoted in an interview: "If you look at something like Flash, when you get to the much more advanced stuff -- richer interfaces, more complex network protocols, more complex APIs -- it really falls short." If there's a particular network protocol you need, then please let the Player team know. If you think you can do something better, then please ship it. (A followup question, "How will JavaFX be positioned with regard to Microsoft Silverlight and Adobe AIR?", fails to distinguish between in-the-browser and beyond-the-browser runtimes.)

Posted by JohnDowdell at 09:45 PM | Comments (7) | TrackBack

December 07, 2007

Easier VIDEO?

Easier VIDEO? I don't think that the launch of a VIDEO tag will lead to this result: "New features in the Firefox and Opera browsers could make it less complex and cheaper for people to incorporate video into their Web sites, representatives of Mozilla and Opera say." On the tag basis alone, Netscape introduced EMBED, then Microsoft countered with OBJECT, and a W3C committee later voted on OBJECT-but-no-EMBED, and a few years after that Microsoft moved OBJECT to external JavaScript... a VIDEO tag will have a difficult adolescence, as the world figures out how to do markup all over again. Beyond mere tagging, you've got compression and archival workflows to deal with, as well as reconciliation of different codec implementations in different browsers, and the design/development possibilities would be less than current reality as well. The Mozilla and Opera businesses can do as they see fit; I'm reacting mostly to the "it'll be simpler" stance in the media campaign. I think the exact opposite is far more likely.

Posted by JohnDowdell at 11:56 AM | Comments (3) | TrackBack

November 30, 2007

Deployment speed

Deployment speed: Large downloads and interface changes slow clientside adoption. IE Team: "It's been a little over a year since we released IE7 on Windows XP and for Windows Vista, so I thought it would be worthwhile to talk about where we are after the year. According to internal Microsoft research based on data from Visual Sciences Corporation, there are over 300 million users are experiencing the web with IE7. This makes IE7 the second most popular browser after IE6." That's a little more optimistic than other surveys, but even extremely optimistically, that's admittedly less than half the audience updated in a year. Meanwhile: "Historically, new releases took 12 months to reach 80% -- but with Flash Player 8 and Flash Player 9, it now takes 9 months to reach 80% and 12 months to reach 90%." Bottom line: when running code on other people's machines, it always takes awhile to deploy. The future just comes faster here.

Posted by JohnDowdell at 11:20 PM | Comments (3) | TrackBack

November 21, 2007

Zoho, Flash

Zoho, Flash: I posted a comment at a blog, but it was flagged as spam, and so am reposting it here. The folks at Zoho do their work in JavaScript, which is great, but I added some additional info and resources on Flash and browsers. No biggie, just getting it into the public record.

-- start reposted comment --


Hi, here are some additional resources for each item which may be of interest:

(1) The different browsers have supported common extensions for as long as they've supported JavaScript. The current popular browsers all now can have JavaScript communicate with plugins, and also allow overlays for non-rectangular displays. They're improving their integration capabilities.

(2) Check out the overall efficiency and scope of various frameworks atop each runtime.

(3) SVG convergence has indeed increased. You can find current runtime capabilities here:
http://www.w3.org/Graphics/SVG/Test/20070907/matrix.html

(4) ... and shared capability of current HTML/JS mobile runtimes here:
http://www.w3.org/2007/03/mth/harness

(5) Application startup time is a great metric to track, thanks. You may be thinking of Flex 2 applications, which did indeed preload a full interface framework to the client. Flex 3 changes this. For current benchmarking of in-browser application startup times, check out James Ward's excellent testing application:
http://www.jamesward.org/census/


"we will use Flash when appropriate, but at this point, Javascript is getting better faster!"

I think the opposite would make a better case, but that's your decision to make. Thanks for letting me post some additional resources here.

jd/adobe

Posted by JohnDowdell at 07:30 PM | Comments (4) | TrackBack

November 16, 2007

Running out of time?

Running out of time? I don't think that "Ajax and the browsers are running out of time", as this editorial at Ajaxian suggests, but I do think there's constant pressure against the idea that the browsers are the be-all and end-all of web technology. Dietrich Kappe describes how advanced Ajax sites have stability problems over the course of a browser session, regardless of which of the different browsers are used. There are about 60 comments where people describe varying experiences with today's advanced sites in today's popular browsers. The biggest takeaway from the comments: it's hard to predict the audience experience if you can't predict the runtime. The set of deployed browsers have actually increased their common capabilities over the past three years -- it's better than ever before. But sites are making more HTTP request calls than ever before too -- sometimes over a hundred requests per page -- and developer desires are outstripping the improvements in clientside runtimes. The thing that's "running out of time" is the odd idea that the different browser engines can do it all. Look at today's deployed browsers for what they can actually do for us today -- which is a lot! -- rather than for the varying promises each one offers us for some day in the future.

Posted by JohnDowdell at 10:48 AM | Comments (1) | TrackBack

October 19, 2007

Java evolution

Java evolution: CNET's Stephen Shankland has a good wrapup of recent Java changes here. The hot headline talks about the mobile Java Micro Edition eventually "going away", with an integrated codebase across device form-factors... in SWF, Adobe has been doing long-term work on reconciling the mobile and desktop capabilities, but it's a tough job, considering that the larger machines can just plain do more. But there's also acknowledgment in this article that Java ME has different implementations on different brands and models of pocket devices, a failing which Flash Lite fortunately does not suffer. There's info on Java 6 Update N, which apparently speeds Java startup in webpages by slowing computer startup in general (not sure how I feel about that!), as well as another attempt to explain the larger "JavaFX" plan. For UI components they're going to OS-neutral chrome... Firefox is apparently moving the other way, to OS-native chrome... I like how AIR gives the creator the choice of either neutral or native interface appearance. Speaking of AIR, Gosling is quoted as calling it "a petri dish for viruses", which I hope he'll qualify in his own weblog (if he has one)... desktop access to the local file system for trusted applications is definitely a different situation than using a single browser application to visit any stranger in the world, but that phrasing sounds a little strong all on its own like that. Anyway, it's a good article, worth a read if you're keeping up on the various technology offerings.

And yes, I'm still on sabbatical, but with this Nokia N800 Internet Tablet and foldable Bluetooth keyboard, it's like I have the world in my pocket, it's great.

But HTML sucks. It's far more fragmented than JavaME is. I just had to rewrite this entry because the (presumably ancient) Moveable Type installation on the (definitely ancient) weblogs.macromedia.com server insists on trying to reload the page whenever I change the display in the N800's Opera browser.

Sites like TechCrunch never finish loading all their third-party ads and widgets... sites like ZDNet would probably act the same, if that domain ever came up here in China at all... sites like Read/Write Web can't even display because of CSS implementation differences.

Even when a site comes up, it may act unfriendly on unexpected devices. The N800 is 800 pixels wide in a four-inch display... high resolution. If type is small you have to zoom, and if you have to zoom you have to scroll. Some browsers can reflow after text resizes, but it's not a core function of common HTML.

Imagine if highways only supported certain brands of tires, and if you had the wrong model of an accepted brand then turning off at the Philly exit dropped you off in Podunk... if automobiles were as fragmented as browsers are today, then we'd still be scraping horse manure off city streets with a shovel.

Enough of that, the article's worth a read. See ya!

Posted by JohnDowdell at 05:32 PM | Comments (0) | TrackBack

September 27, 2007

Just another draft review

Just another draft review: Ric Smith starts off with a technology comparison at Sys-Con, but a couple of lines bothered me enough to try to correct. A new acronym is introduced... "HD RIA" expanded to "high-definition RIA", but I'm not sure of the sustainability of that term, which refers to use of vectors rather than very large displays of pixels. "More than half of users prompted to upgrade a plug-in upon visiting a site often abandon the redirect to download software and navigate to another site." That might be true for browser extensions which don't already enjoy overwhelming market acceptance, but Adobe Flash Player can't have half of visitors refusing updates, or else v9 couldn't have gotten to +90% viewability... knowing the source link for the stat would help in understanding it. "The 83.4% market share enjoyed by Flash 9 pales in comparison to the native AJAX support found in modern browsers such as IE 7.0, FireFox 2.0, and Safari 3.0." This is the kind of stat I hate, and which prompted me to post. ;-) The problem with vague labels like "Ajax" is that there's no firm measurement... how many browsers handle CSS correctly? Even use of PNG is problematic. You've got to say how much "Ajax" the browsers share... lots of 'em do a little, but tain't no way you get richer Flash-like capabilities in a single development fork to greater degree than Player just via HTML/JS/CSS. It seems plausible that more than 93% of currently-deployed browsers can retrieve text without a page-refresh, but when you get into CSS or SVG or CANVAS, much less video or even basic audio, nobody knows how many implementations there are, how many development & testing paths there must be. Just because a single label "ajax" can be applied to multiple things, doesn't mean that all those things are actually functionally equivalent. But many people don't understand "the map is not the territory". "AJAX, unlike HD RIA solutions, is built on open standards such as (X)HTML, CSS, and JavaScript. HD RIA is traditionally proprietary with few open source options, much less standards." I can't affect the XHTML spec, much less its varied implementations. Adobe has had good stewardship of PostScript -- dismissing with "because it's proprietary" is sloppy thinking. (That's enough of this article, I don't want to read any more.... ;-)

Posted by JohnDowdell at 06:55 AM | Comments (2) | TrackBack

September 20, 2007

Firefox memory improvements

Firefox memory improvements: Jesse Ruderman details some of the recent work on the browser. The way these optimizations were identified was straightforward: "You don't have to be a C++ programmer to help find leaks in Firefox. If you're a Firefox user, an easy way to help is to browse with a trunk nightly build wrapped in a script that calls leak-gauge.pl when Firefox exits. If it reports that documents or windows leaked, try to figure out how to reproduce the leak and then file a bug report." (I got here while trying to research a reported Reader vulnerability... I checked with the Adobe security team earlier today and they were already working on it, but I'm still not sure in which environments it appears... info will appear at Player security.)

Posted by JohnDowdell at 11:50 PM | Comments (0) | TrackBack

Disintermediating the browser

Disintermediating the browser: Bob Warfield has a straightforward post about the social adoption of SWF-savvy work... about key apps, open protocols, bridging differences, listening outside the development group, enabling people, providing good value, working with other platforms... practical stuff, a good read. I'm not feeling entirely easy with the title though, about how Adobe Flash work may be "disintermediating the browser". That's not the type of talk I hear from the people I work with. We're trying to solve unresolved problems, and are actually relying upon the HTML/JS/CSS model and its varied browsers. An HTML browser is a prominent part of the Adobe Integrated Runtime. There is no sense in making "the browser" superfluous, because HTML is already vital. The Adobe runtime capabilities provide a different set of services, very complementary to the HTML/JS/CSS environment. We're focused more on the problems of bridging multiple environments, providing richer rendering and coding abilities, finding workflows to unite the whole production process, helping people realize a return on their creative work. The problems "the browser" solved have been a different set of problems. And we all rely on our favorite browsers each and every day. That's why "disintermediate the browser" just doesn't scan for me. Check out the rest of Bob's essay, though, if you're interested in some of the drivers behind the past few years' changes.

Posted by JohnDowdell at 07:58 PM | Comments (1) | TrackBack

September 18, 2007

Reality unchecked

Reality unchecked: The Infoworld "Reality Check" column has some errors. "For the longest time, Adobe stood nearly alone, claiming 90-plus percent of the RIA development market. RIA developers simply used Flex on the back end and Flash on the front." Ignores JavaScript-based apps; misunderstands Flex. "And then came Microsoft's announcement of Silverlight, a runtime meant to compete with Flash." Silverlight 1.0 was just released, with an emphasis on video, but only indirect JavaScript interaction. Audience deployment costs are quite high. Little RIA support: that's promised for next year. "Rob Enderle, principal at Enderle Group, called Silverlight, 'Super-Flash.'" That may be dumb, but it's better than calling it Bat-Flash, I guess.... ;-) Seriously, I realize reporters have a lot to digest these days, but a little more rigor in thinking would benefit us all.

Posted by JohnDowdell at 09:07 AM | Comments (0) | TrackBack

September 17, 2007

Andreessen's platforms

Andreessen 's platforms: Marc Andreessen describes the three types of internet platforms. Fifteen screens of text. He says Ning is "a runtime environment", as is Salesforce and Second Life. That sounds strange to me... if anything, an extensible HTML browser seems like it would be "the runtime environment", and the sites he cites are services built atop that runtime. But I've read those fifteen screenfuls of text twice, and I'd rather keep working than refactor his rap down to a concise set of points upon which agreement might be built.

Posted by JohnDowdell at 11:41 AM | Comments (2) | TrackBack

Taxonomy of RIA understructures

Taxonomy of RIA understructures: Redmond mag writes about Curl: "But the Curl RIA platform stacks up well against the competition, Hammond says, which now includes Microsoft's Silverlight, Adobe Systems Inc.'s Apollo and Sun Microsystems Inc.'s JavaFX." Curl, like the eventual JavaFX scripting language, runs atop the existing clientside Java Virtual Machine. (Java VMs are subject to Microsoft fragmentation and slow update rates.) That's a little different than Microsoft trying to introduce a new browser plugin to the world. All of these are different from Adobe Integrated Runtime, which does not run within a WWW browser at all. You can sort out the marketing spins by looking at what each label actually does. Key RIA differentiator: What can you do on the client box today, without asking for the trust and hassle to install new things? (Ajax has some functionality; Flash has more.)

Posted by JohnDowdell at 07:04 AM | Comments (3) | TrackBack

September 11, 2007

Greedy Ajax

Greedy Ajax: How much of the computer's connectivity capability should a webpage take? Technorati's "Topics" interface sounds like a good idea -- reference to "the seed list of blogs" implies a sort of Memeorandum-like recommendation engine. But the first time I viewed the page it beachball'd my Safari/Mac, with a new beachball starting each second. When I closed out and restarted the browser, the page's ad servers never finished responding, and when I fully stopped the page-loading, then the main display would continue to refresh its data at one-second intervals. I finally had to close the page out entirely because its redraw requests were interfering with my typing this entry into a different browser window. I'd rather have the serverside computers work a little harder at sifting out all those different blog posts into meaningful patterns, and not ask my machine to display every little datum from the blogosphere as fast as it can. Right now such an Ajax page feels more like nagware than an info resource to me. For a stock ticker I'd prefer a desktop widget to a web browser, but few of us have time to sit around and watch an animated display in case it changes in a meaningful way. Individual SWF have also had problems of being very needy and clinging, whether from high framerates or unwanted audio or whatever, and this Ajax page seems to be in the same league. Anyway, I wish them luck with this project -- we could use the Technorati team's help in filtering the news -- I was just amazed to see how many network and processor requests this Ajax page wanted. Do you know of any good guidelines on the web helping web apps to "play well with others"...?

Posted by JohnDowdell at 12:53 PM | Comments (0) | TrackBack

September 07, 2007

AIR, JavaFX, Silverlight

AIR, JavaFX, Silverlight: I know this title might make Danny sad, but the good news is that this article does distinguish the different roles of the new web technologies... even the main illustration makes a key difference clear, showing Silverlight in a browser window, JavaFX in a Java window, and AIR windowless right atop the desktop. Writer Alexey Gavrilov walks through the production workflow for each technology, from installation to development to deployment (although installation may not be as straightforward as described). I found the SVG observations to be particularly interesting. The conclusion makes sense: "As you no doubt have gathered at this point, Silverlight, AIR, and JavaFX are very different products... Adobe AIR is an attempt to democratize desktop software development by enabling web developers to build applications for the desktop. AIR allows Flex and DHTML applications to run outside of the browser -- both online and offline -- and interact directly with system hardware. Adobe also created an efficient, Flash-based deployment scheme for AIR, which makes installation transparent to the end user. Both web and desktop developers should pay attention to AIR." He then notes some similarities in the three projects: interfaces declared in XML, use of vectors and bitmaps in these interfaces, and support for more than a single brand of browser/OS. It's a good resource; thanks to DevX for hosting Alexey's article.

Posted by JohnDowdell at 12:42 PM | Comments (0) | TrackBack

August 31, 2007

Never Miss TV?

Never Miss TV? Does this site work for you? I click video links and get no action, no feedback. I'm currently in Safari/Mac, but have tried it in Firefox on Mac and Win in the past. One of those browsers had a beta Silverlight plugin, but the two others were clean. That June headline caught my attention, and so I kept checking for it after July 1... I finally saw the images on the page in early August, but couldn't get the videos to work then... this morning there's a Microsoft magazine which advertises that the site went live. But I'm not getting any feedback from the page in Safari/Mac, not even an "incompatible browser" or "missing plugin" message. How does it work for you?

By the way, I agree with the evangelist's statement: "The significant thing about this -- and this is a problem that many companies are faced with today -- is that there's a lot of investment in Windows Media backend infrastructure." If you've got already got all your video encoded in the Microsoft format, and already have all your media servers in the Microsoft stack, then it's attractive to just ask your audience to install something onto their machines. Any subsidies to stay in WMV/SL only make the equation more attractive.

This paragraph sounds strange, though: "There's all this WMV content out on the web. How do you put that in the browser? You can embed the media player, and write a whole bunch of code to make it run on non-IE browsers, but it's not the most pleasant nor the easiest way to go. That's one of the fundamental things Silverlight addresses. It allows you to create using a cross-platform standard."

This one doesn't seem to hang together with any kind of logic to it: "Expression Web is really about considering standards when you're building sites. So one of the biggest bits of feedback from FrontPage is that it's actually too clever. It adds a whole bunch of features that you didn't want it to do. So what Expression Web does is it's very much built around CSS, everything happens in DIVs and it's very much a web based, web standards orientated tool." Maybe he's trying to say that FrontPage included too many MS-only instructions, and ExpWeb only uses webtech which others use as well. But by that logic ExpBlend should compile XAML to SWF. There's a disconnect in that speech.

The final few paragraphs are on a different subject, but interesting -- compares delivering to browsers and delivering to Vista Media Centre (a dedicated home media device). "Vista Media Centre is kind of a separate story. With VMC you have a guaranteed desktop platform, so you know what you're working with. With Silverlight you're working with Macs, PCs, slow machines, fast machines... it's all different. With Vista Media Centre, you know you've got a Vista machine, you know you've got a decent graphics card, you know exactly what capabilities you have. So that's why a lot of the Vista Media Centre add-ons that you see are actually written in WPF. I haven't talked enough about WPF and we will run out of time if I go down that path. But they share a lot of similar technologies -- you create WPF through Blend and Visual Studio. On the media centre side you'd probably write WPF rather than Silverlight... If you wanted the richest most possible experience, you'd go WPF. But you have to consider that it's running on .NET, so if you want to be able to reach the greatest amount of customers you'd use Silverlight." (I think that last sentence should add "while staying within the Microsoft microverse" before the final three words.)

Posted by JohnDowdell at 09:10 AM | Comments (3) | TrackBack

August 30, 2007

Census comments

Census comments: Yesterday I was puzzled by some of the comments at Ajaxian on James Wards' data loading benchmarks... it seemed like a number of people were objecting before actually reading what they were talking about. (The benchmark app is pretty neat, because it choreographs and displays an identical data request using multiple transfer mechanisms, and distinguishes server costs from transfer costs from decompression and parsing costs... great stuff.) One comment towards the end pulled things together for me... paraphrased, it was "If my boss sees this test, he'll want me to rework our perfectly good Ajax app into Flex." That could indeed be a danger -- significant speed advantages in a benchmark may not directly translate to meaningful performance differences in a given app, and it may not be cost-effective if the project is already well along the path to delivery. But on the other hand, it could be useful if the boss then provides time and resources to learning Flex -- gives you another tool in the toolbox. Anyway, these comments are a useful read, and I thank James for his forbearance throughout the thread, I would've blown my top long before that.... ;-)

Posted by JohnDowdell at 02:52 PM | Comments (1) | TrackBack

Driving Silverlight

Driving Silverlight: Minor point, but representative, and the context may be useful. Link goes to an MS staff blogpost; title is "Excellent Example of how Silverlight Provides a Better Web Experience". The first line fills in the missing comparison: "This demonstration really shows the advantages of Silverlight over plain-ole DHTML." All those improvements mentioned in the marketing materials and their weblog echoes seem to be improvements in capability offered to all-Microsoft shops -- previously, .NET could deliver to Windows or HTML, and the new more Flash-like refactoring of their Windows Media plugin into the Silverlight plugin gives these developers more delivery options than before. Whenever they launch the 1.0 we'll likely see a big press campaign... the "new/better/wow" lines may be mysterious to those already using Flash or Web 2.0 technologies, but make perfect sense when seen through the lens of a shop using only Microsoft technologies.

Posted by JohnDowdell at 08:53 AM | Comments (3) | TrackBack

August 24, 2007

WebRunner, XULRunner

WebRunner, XULRunner: Seems like Firefox 3 can be passed an initialization file when started by command line, with the result that it starts up as *your* interface, rather than the viewer's normal Firefox layout. Mark Finkle has the source post here. Key phrase: "firefox -app application.ini". This is WebRunner, where your XUL is rendered by the enduser's current Firefox 3 engine, as opposed to the previous XULRunner, where you distributed a known playback engine packaged with your presentation and logic layers. More from Ryan Paul at Ars Technica, Mike Shaver, Asa Dotzler. If you're comfortable writing XUL/JS, then it seems like Firefox 3 will let you publish without including a runtime, by running your instructions atop the enduser's Mozilla runtime. I'm a little skeptical, because I haven't seen many develop in XUL the past eight years, and because it took me a couple of reads through all those blogposts to boil their message down, and there's ad-hominem in that recent "Fear of AIR?" thread -- three warning flags. But if they can pull it off, that's all to the good... the more options, the better. Runs XUL in a shared runtime.

Posted by JohnDowdell at 09:19 PM | Comments (3) | TrackBack

August 23, 2007

"Looks best in iPhone"

"Looks best in iPhone": The Web Standards Project handles the tricky question of iPhone's morality: "Since its release, designers and developers have been building interfaces to their sites and applications for the iPhone. Unfortunately, many have been doing so in a way that leaves the remainder of the mobile web with nothing...." Discussion follows. Me, I'm ambivalent... I was never sold on the idea that one HTML presentation would serve all needs (language issues alone would preclude that)... fascinating issue, though. If "Looks best in Internet Explorer" was evil, then how would the iPhone's HTML be different...?

Posted by JohnDowdell at 01:56 PM | Comments (2) | TrackBack

August 10, 2007

Clientside VMs

Clientside VMs: I missed this conversation from the end of July, but it has picked up many interesting comments about in-browser virtual machines since then. Chris Oliver of Sun, who had the "F3" project which was later rebranded "JavaFX", ran some benchmarks on some Tamarin builds. Comments range all over the place, with many principals of the different current in-browser runtime engines weighing in. (There are also some anonymous trolls -- attacking someone while hiding your identity is so passe.) Thanks to Dion Almaer for pointing to John Resig on this.

Posted by JohnDowdell at 02:20 PM | Comments (0) | TrackBack

August 09, 2007

JavaScript security

JavaScript security: An anonymous writer at Hacking News has the best summary I've seen yet of the "Premature Ajaxulation" session at Black Hat conference in Las Vegas last week. Key observation: "Many web application developers do not 'get' the fact that what they are basically doing with Ajax sites is exposing a bunch of server APIs for people to play with, the researchers concluded. An Ajax web page will deliver a JavaScript script that the browser can use to call these APIs correctly and in the right order, but the user is under no obligation to do so." Towards the end there are concerns about offline use, but no details.

Posted by JohnDowdell at 09:09 AM | Comments (3) | TrackBack

Screaming and Iron Monkeys

Screaming and Iron Monkeys: Last week's announcement by Brendan Eich seemed to pass under the radar, but John Resig sparks off a realistic discussion here. (ActionMonkey brings the Adobe-donated Tamarin scripting engine into Firefox; IronMonkey enables the scripting engine to be driven by Python, Ruby, and possibly other languages; ScreamingMonkey works on embedding this scripting engine into other browsers, to increase runtime predictability and reduce development costs.) An announcement is not a deliverable, and I also suspect that Brendan's news last week blew too many minds for immediate conversation. That's why I'm glad to see John is also excited by this, as well as by Tamarin itself. More discussion at Artima. Any one of these three projects, if carried successfully to completion, could be a real game-changer for web tech.

Posted by JohnDowdell at 08:32 AM | Comments (0) | TrackBack

August 08, 2007

Wildermuth on Silverlight

Wildermuth on Silverlight: If you're in a discussion about Microsoft's upcoming video plugin, then here's a good article for the other party to read and understand first. Shawn Wildermuth is teaching Silverlight, but he lays out many of the issues clearly. I've added a little gloss, from a different perspective, in the extended entry here. But if you've got someone talking at you about Silverlight, then make sure they're familiar with Shawn's overview -- they'll be receptive to the message, and Shawn says useful things, in plain speech.

My take on some of the points:


"1. Silverlight Avoids Cross-Browser/OS Issues"

"Minimizes" might be a better term... Windows must be WinXP or better, for instance.

And the promised advantage with Silverlight is a reality today with Flash.


"2. Silverlight 1.1 Is the Real Story"

Developers are seeking a predictable logic engine, true. But the video player of Silverlight 1.0 is significant too, because owning a non-MS runtime is a necessary step in Microsoft's advertising strategy. Both constituencies have meaningful needs.


"3. Silverlight Uses Technologies Your Developers Already Know"

"If they already know .NET technologies" he adds. There's a slight putdown of ActionScript's actual generality in there. Apollo actually allows JavaScript developers to extend their skills.

Shawn's point is true, but only for the MS-only audience he's immediately addressing.


"4. Silverlight UI Is just Markup...Like HTML"

So's MXML. So?

(Serverside generation of binary files has been a reality for years... text may be a little easier for someone to code for the first time, but it's not a meaningful difference, I think.)


"5. Silverlight and Ajax Technologies Are Complementary"

Shawn agrees that it's useful to refresh in-browser data, without refreshing in-browser presentation. This was Flash for almost a decade; Ajax for four or so years.

(I suspect this point may be particularly tuned to Silverlight 1.0, rather than subsequent versions.)


"6. Silverlight Allows Developers and Designers to Work Together"

... so long as the designers change their habits and workflows to Microsoft... oh, and ditch the Mac too while you're at it....


"7. Silverlight Deliverables Are Not Atomic"

Linking and embedding are both useful file-packaging techniques.


"8. Silverlight Is New"

I agree that the future promise is distinct from the current reality.


"9. Silverlight XAML versus WPF XAML"

I'd agree that developing for the subset is an approachable way to learn development in the superset. This seems to counter point #3, however. Note the slowness of WPF adoption.


"10. Silverlight Is a Great Way to Learn XAML"

Sounds like #9, and I'd agree.


I have differences with some points, but I still recommend Shawn's analysis, if you ever happen to come into a discussion on the subject.

Posted by JohnDowdell at 09:02 PM | Comments (4) | TrackBack

August 07, 2007

Apple Carousel

Apple Carousel: I'm not up on all of today's announcements from Apple, but the above 400K of JavaScript uses SWF for display of photos on the web. I got here from a note by Cabel Sasser which was picked up by John Gruber, and Dean Takahashi describes the Jobs presentation, with mention of iPhone interaction. Nearly half-a-meg of JavaScript... that seems sort of big...?

Posted by JohnDowdell at 03:41 PM | Comments (4) | TrackBack

July 26, 2007

Tamarin developments

Tamarin developments: Brendan Eich of Mozilla Foundation links to three projects integrating the high-performance scripting engine into Firefox: ActionMonkey to actually integrate the new garbage-collection and other improvements; IronMonkey to make the engine addressable by Python or Ruby code; and ScreamingMonkey, to make the JavaScript engine accessible to other browsers. Presentation, from the Ajax Experience West conference, here (mouse to lower-right of screen to reveal controls, or just keep clicking screen). One slide mentions "Open Web vs. Light-Silver Flashy Stuff", which I take as "our brand vs other brands". They expect a future containing both typed and untyped variable work. There's also news on upcoming local file access and full zooming. Current performance benchmarks here.

Posted by JohnDowdell at 08:31 AM | Comments (2) | TrackBack

July 24, 2007

WYSIWYG doesn't exist

WYSIWYG doesn't exist: Not in HTML, anyway. Yesterday Dion Almaer asked his readers about Dreamweaver use, and 22% of Ajaxian readers listed it as their top tool. But some of the comments there drove me nuts. Anonymous ad hominem attacks with spelling errors are par for the course, but I was boggled when some referred to Dreamweaver as a "What You See Is What You Get" editor. That WYSIWYG term came from PostScript use (where the Adobe engine provided identical functionality across environments), and could conceivably be applied to Flash use today (where the Adobe engine provides identical functionality across environments), but cannot be applied to any HTML/JS development work, where you have no real guarantee how your work will actually be viewed. Greasemonkey or mobile alone should show the utter mindlessness of referring to any HTML work as "WYSIWYG". If these people are writing JavaScript and don't realize that they can't predict how their work will actually be viewed, then I wish they wouldn't put opinions out in public, where others might invest their time reading. Bottom line: Without predictable rendering, there isn't any single WYG, which makes any proposed WYS quite extraneous. Dreamweaver is a visual editor, not WYSIWYG... that's been the terminology from the very start. Whew, glad to get that off my chest, now onto something more constructive.... ;-)

Posted by JohnDowdell at 02:08 PM | Comments (4) | TrackBack

July 23, 2007

Webkit cohesiveness

Webkit cohesiveness: I had known that the history of the Webkit HTML rendering engine was complicated, but at Ars Technica Troy Unrau tries to tell it in a page. The upshot of this article is that the KHTML effort will port its CSS3 improvements into its offspring, Webkit. The interesting thing is how this HTML renderer is a combination of opensource contribution and corporate contribution, with Nokia financing the move to mobile, and Adobe and Apple helping with the move to Windows. It looks like the original KHTML engine will take advantage of these improvements, as it unforks itself with Webkit.

Posted by JohnDowdell at 04:35 PM | Comments (1) | TrackBack

July 20, 2007

JavaFX compiler?

JavaFX compiler? In May Sun announced a new scripting language, JavaFX, based on Chris Oliver's "F3" declarative interface language. Today InfoWorld announced a JavaFX->Java compiler (necessary to turn the declarative scripting into something that can be rendered by the various browsers' various Java Virtual Machines). But the FAQ says there isn't yet a compiler you can download and use... there is source code, which partially compiles the partial scripting language specification, but there ain't no "there" there yet. Yet the InfoWorld article contains quotes like "Adobe's Flash and Flex technologies have been around for a while but have not generated a lot of excitement lately," before going on to describe how Sun's JavaFX and Microsoft's Silverlight have added excitement to the mix. It's amazing how much press these technologies get when they're not even committed to a shipping release. Flash work has near-universal realworld support. The others have nearly nonexistent realworld support. A rational being can compare their future promise, but that's about all. You can ship with Flash.

Posted by JohnDowdell at 12:16 PM | Comments (2) | TrackBack

July 02, 2007

Early Tamarin benchmarks

Early Tamarin benchmarks: This item hit Digg earlier today, but they're real early benchmarks, from like November of last year. (What's Tamarin? It's the high-performance ActionScript 3 engine in Adobe Flash Player 9, adapted for use in future Mozilla projects... source page here.) I think that old chart may still be useful as examples of performance differences right out of the gate, but it doesn't reflect the last half-year or so of work. No big news here... just some context around it, in case you see that link through other channels.

Posted by JohnDowdell at 03:34 PM | Comments (1) | TrackBack

June 26, 2007

WMODE links

WMODE links: Micky Hulse has a good collection of browser differences and tips over at Sitepoint... lots of different little angles on how the various browsers do when compositing plugin content with the WMODE tag. (Microsoft introduced the WMODE terminology back in the 90s, and other browsermakers followed suit for compatibility. Now Microsoft has changed the terminology of its proposed plugin to windowless... why? I dunno, but it does rather perversely seem fitting, somehow.... ;-)

Posted by JohnDowdell at 02:45 PM | Comments (1) | TrackBack

Silverlight/Linux

Silverlight/Linux: This is actually a comment to Aral Balkan's blog, which I've typed out and submitted twice, but which has disappeared twice, so I'm republishing it over here. Aral wrote on Friday about that "Ported to Linux in 21 Days!" story, and I added that it did get hyped up over the weekend, but expectations were dialed back down on Monday with the news that a public alpha "is planned for September or October". Public confusion and uncertainty can sometimes be advantageous, but it's a dangerous game to play... sure enough, after retyping that comment, I saw on Jesse Ezell's blog that some are already hearing this as "Mono is expected to release an alpha version of Moonlight later this week" and such. Combined with public themes such as "Silverlight can do 3D and Flash can't" and so on, they'll have a tough time meeting expectations, let alone exceeding them. I also replied to a comment at Aral's about the "WPF Everywhere" moniker, showing that Microsoft Silverlight doesn't support even Microsoft's own operating systems as well as Adobe Flash Player 9 does, with a supporting link from W3Schools showing that twice as many web developers still run Windows 2000 than run Windows Vista. The item isn't important enough to run as a top-line item in my own blog -- that whole schtick is Microsoft's row to hoe -- but after pulling up that linkset twice, I had to get them written down somewhere.... ;-)

Posted by JohnDowdell at 12:32 PM | Comments (4) | TrackBack

June 25, 2007

Twitter for replies

Twitter for replies: Handy page at the "What are you doing, in 140-chars or less?" service... lets you see people who used the "@yourname" convention to reply. In my case I use Twitter to learn what coworkers are doing, and so I don't always see people who see me. (It's sort of weird when a service asks me to divide the world into "friends" and "not friends"... multiple buddy lists would help a lot. I'm also not keen on the "@someone" convention there, because it doesn't syndicate the resulting conversations well.) Anyway, that "replies" page was new to me, figured I'd pass it along. [via John Gruber]

Posted by JohnDowdell at 01:38 PM | Comments (0) | TrackBack

Specs vs reality

Specs vs reality: Tim Anderson has an interesting observation here, from "Dr D Richard Hipp, the main author of SQLite", on how rules describing acceptable behavior are different from acceptable behavior itself: "If you've ever picked up a copy of one of the official SQL standards you will find it largely inscrutable. They are next to impossible to make sense of. Even for particular details of syntax you can study it, and they are so vague that you can't really understand