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 what they mean. So a strategy we've used when there's some question about how something should work is we write a little test script and run it on lots of popular SQL database engines, PostgreSQL, MySQL, Oracle, and try and find a consensus. Then we code to make SQLite work the same as everybody else does." Most of us humans learn how to act by comparing our behavior with other people and seeing what really works, rather than reading a book... same thing. A spec is a helpful abstraction, but it isn't a model implementation itself. Tim's full article on Hipp's work is also illuminating, with perspective on how GPL and other licenses compare to simply putting something in the public domain. (In a prior item Tim asked why the AIR docs don't mention SQLite, and I misunderstood that as a functionality question, rather than a branding question.)
Posted by JohnDowdell at 08:50 AM | Comments (0) | TrackBack
Safari, AIR
Safari, AIR: Small note... Friday's new beta of Apple's Safari browser for Windows includes specific fixes to support installation of the Adobe Integrated Runtime. I learned of it here; more commentary on this beta browser is here. In a different article mentioning AIR, reporters still get it wrong about online/offline, Silverlight/Gears, availability of Apollo, more. I cut 'em some slack for awhile, but this is getting silly... just because all these terms are new doesn't mean reporters have to make mistakes about what each does. (For the pop quiz, the Adobe Integrated Runtime turns regular Flash or Ajax webpages into desktop applications, with PDF and SQLite support... Google Gears is SQLite in the browser... Silverlight is yet another proposed browser plugin, not WPF itself.) I suggest each newspaper donate its ad revenues to charity when they syndicate errors like this....
Posted by JohnDowdell at 07:21 AM | Comments (1) | TrackBack
June 14, 2007
HTML don't cut it
HTML don't cut it: I've been staying out of the Apple iPhone discussions -- Adobe and Apple work together on many fronts, and Apple has full ownership of its own product announcements. But one side-effect of all the discussion this week is how so many people are so distinctly unsatisfied with only HTML/JS abilities in a modern phone. This InfoWorld article discusses the need to speak natively to the mobile device, beyond the capabilities of the computer-oriented sandbox found in WWW pages. (The Adobe Flash Lite libraries do provide abstract access to device-specific functionality, such as vibration, and do provide native interface capabilities, as in the Samsung and Prada devices.) Browser technology contributes a tremendous amount of good to the world, but this week's discussion is some of the clearest consensus I've heard that we need additional abilities for trusted apps, beyond what can be found in the browser sandbox.
Posted by JohnDowdell at 09:03 AM | Comments (8) | TrackBack
June 12, 2007
Safari/Win & plugins
Safari/Win & plugins: Researching this today... Apple's FAQ says that their new Windows browser uses application-level Netscape Plugins (like Firefox/Win), rather than system-level ActiveX (like MSIE). A report on a Director mailing list (unlinkable) says that the Safari/Win installer slurps up plugins installed to other browsers. This implies that, if you've got some old browsers installed on your machine, Safari/Win may pick up old plugins. I don't see this referenced in the FAQ, and search reveals little, too. I don't think this will be a big issue -- most people likely to test the Safari beta would not be using Internet Explorer as their everyday browser, I think -- but if things act weird with Flash in Safari/Win, then doublechecking Player version in that new browser would be the first diagnostic step.
Posted by JohnDowdell at 09:47 AM | Comments (1) | TrackBack
June 11, 2007
Safari for Windows
Safari for Windows: Interesting... Apple has ported their Safari browser to WinXP and Vista, and Steve Jobs emphasizes that he wants to grow this browser's audience beyond its current ~5% share. There's said to be a beta later today, but the product page and weblog are not yet updated. If an HTML browser is "standards-based", then it shouldn't matter which brand is used, right? Seems like there's another shoe to drop here. (In an update to the Macworld transcript, it seems like iPhone's "applications" story is to use browser-based JavaScript.) Update: Product page is now live. It still feels like Jobs didn't tell a complete story here though... the "why" of a Safari/Win remains open to conjecture.
Posted by JohnDowdell at 11:32 AM | Comments (6) | TrackBack
June 04, 2007
Silverlight false alarm
Silverlight false alarm: I thought there was some actual news here, when I read eWeek's subhead: "Company delivers the beta of the cross-platform tool for building rich Internet applications" Turns out they're talking about just the _viewer_ going beyond the Microsoft world, not the tooling. Looks like a "momentum" PR push... only news I see is that, years ago, staffers gave Ballmer a 40-page document and he said "that's obvious", then they started Avalon. No news here... I got suckered into reading the whole thing to check.
Posted by JohnDowdell at 08:44 AM | Comments (0) | TrackBack
May 31, 2007
RIA validation
RIA validation: Amazing... the Techmeme cluster on Google Gears just keeps growing and growing... it jumped ahead of yesterday's big Startup Sweepstakes stories (Photobucket, Flektor, Stumbleupon, etc), and it's always remarkable when technology trumps business on Techmeme... but even the next morning the Google Gears news is at the top of the page, with over 60 links. (Some of those links even have novel information, and aren't just in it for the AdSense revenue! ;-) Why "RIA Validation"? In the original 2002 paper introducing "Rich Internet Applications" (PDF, summary), one of the key traits was to "embrace connected and disconnected clients." Local data storage has always been tricky -- browsers have token:value cookies, and Adobe Flash Player has larger storage limits and can also serialize objects, but it has been difficult to emulate a database when disconnected. The SQLite in Apollo and web browsers will help greatly... an application will still need to be designed for such dual-condition use, but one of the last big puzzle pieces is finally falling into place. Further, put this validation of occasional-connectivity into recent context: Microsoft recently announced they're bringing just-in-time compilation to their browser stack, for the "high-performance" angle in the RIA definition... video has clearly been elevated into an integrated first-class citizen, no long trapped in its little branded video box... the JavaFX announcement shows that everyone agrees on the value of design sensibility in application development... "communications" got some buzz two years ago when Ajax could refresh text without refreshing the page, but there's still little cam/mic action outside of Flash... everyone is at least paying lip-service to browser-neutrality, OS-neutrality, and device-neutrality now as well. In the last few months we've seen the entire industry gravitate around those principles laid out by a group of Macromedia staffers back in March 2002... everyone agrees with "experience matters" now. Seeing so much excitement now around offline access is startling, but very cool... today's acceptance validates the goals laid out in the original RIA whitepaper.
Posted by JohnDowdell at 08:33 AM | Comments (3) | TrackBack
May 30, 2007
Gears, Lynch, Thursday
Gears, Lynch, Thursday: Adobe's Kevin Lynch will be appearing in the Google Developer Day keynote about 13 hours from now, with some more info about the Google Gears integration with Apollo and Flex. The link above will hold a live streaming webcast of the event. It will take a few days to get web archives up, so if you get the chance to watch it live (I won't), then any notes you take will be useful for the rest of us, thanks!
Posted by JohnDowdell at 08:52 PM | Comments (0) | TrackBack
Google Gears
Google Gears: Adobe and Google team up for local database access within web browsers. Infoworld: "Kevin Lynch, senior vice president and chief software architect at Adobe, said his company will join Google in the effort to develop a standard cross-platform, cross-browser local storage capability. The Gears API will be available in Adobe's Apollo tool that enables Web applications to run on the desktop, he added." The press release mentions support from Mozilla and Opera. The docs mention that the local relational database will be build on SQLite. (The Adobe Flash Player already handles local storage of larger-than-cookiesized data, but without the relational aspects of a full local database.) I'm still studying this news; please leave a note here if you see questions to get answered, thanks.
Posted by JohnDowdell at 04:22 PM | Comments (10) | TrackBack
May 21, 2007
Java style
Java style: Paul Buchheit discusses the developmental costs which Java imposes. His example is the serverside scaling and saving of an image at a particular quality level... requires 100 lines in Java, 3 lines in Python. This has implications for ColdFusion (which offers efficient development and compilation to Java), Adobe Flash Player (although the new Java FX Script promises future efficiencies), and Flash Lite (many phones have a Java Micro Edition runtime, but for comparable tasks Flash Lite offers faster development, testing, and maintainence). It's rare to see simple tasks compared so directly.
Posted by JohnDowdell at 09:42 AM | Comments (0) | TrackBack
May 15, 2007
Post-war discussions
Post-war discussions: Highlighting a post from Ryan Stewart here, where he reflects on the recent harvest of journalism post-MIX, post-JavaFX... I was struck by this line: "But I think all this talk of strategies and showdowns is incredibly premature. It definitely makes for a good story to talk about Flash killers and/or the downfall of Microsoft, but the reality is much more complex, and actually a lot better. Rich Internet Applications really are taking off and developers and designers from all spheres of technology are starting to realize the importance of a good experience and better software." Reporters love JavaFX because it gives them a good story hook, lets them meet their deadlines, guarantees some ad revenue. The big story this month is actually how both Microsoft and Sun discovered business necessities to help their locked-in developers do Flash-y things -- now, everyone agrees on the direction of evolution. That's significant, when the big players bet alike like this.
Posted by JohnDowdell at 12:07 PM | Comments (0) | TrackBack
May 10, 2007
Microsoft nomenclature
Microsoft nomenclature: Seems like I'm not the only one confused by Microsoft's recent announcements... here, Scott Fulton of BetaNews tries to figure out what Bill Gates was talking about with a Silverlight MLB.com demo, and what Steve Ballmer was talking about with "Silverlight Extended", and what everybody else is talking about when they say "Ajax" or "JScript" and all the rest. I'm still puzzled by that MLB.com demo Microsoft presumably funded, and how it differs from the current SWF interfaces at MLB Gameday, ESPN, Yahoo Sports and the rest... everytime I go in to check it's not gametime. I can see MLB.com going for Microsoft video, because they already lock down their video feeds to prevent copying... the compressed game videos are big timesavers, and are a valuable asset for the site. But the rest of it... well, I guess I'm not the only one with difficulty surfing through the new naming conventions.... ;-)
Posted by JohnDowdell at 04:05 PM | Comments (2) | TrackBack
Understanding JavaFX
Understanding JavaFX: This discussion at The ServerSide has been the most illuminating one I've read, about Sun's announcements this week... they focus on the basics, such as the nature of the runtime, the experience of the runtime, what the new announcements actually enable, etc. Confirmation from the field.
Posted by JohnDowdell at 03:00 PM | Comments (0) | TrackBack
New scripts
New scripts: Scott Fulton investigates the language functions of JavaFX Script, announced by Sun this week. From what I read, this new scripting language is aimed at people who find current Java programming too complex or tedious -- no new "FX" (effects) are added in the runtime, and the language seems like it would have been called "JavaScript" if that name had not been appropriated by Netscape's LiveScript in 1995 -- JavaFX Script seems functionally closer to MXML than to ActionScript, because it combines layout capabilities within a scripting-style display. Meanwhile, Microsoft is talking about its "Managed JScript" language, and these two blogs seem to have the ongoing source info. (Managed JScript is based on ECMAScript 3 from 1999, and so isn't quite the same as what we're familiar with in modern ActionScript.) I think JavaFX Script and Managed JScript may both be sent as text down to the client, but these details somehow aren't as prominent in the literature.... ;-)
Posted by JohnDowdell at 11:58 AM | Comments (0) | TrackBack
May 08, 2007
Evolutionary pace
Evolutionary pace: Andy Budd gets lots of comments in this essay about faster, more agile, standards processes. He's particularly concerned about the CSS3 spec, started in 1999. The Microsoft Silverlight announcement seemed to spark this conversation -- some apprehension there -- but there's a new perspective on Flash in here as well. Key quotes: "We currently live in a world of live texture mapping and rag doll physics. And yet as web developers, we don't even have the ability to create rounded corner boxes programmatically... While the W3C and WHAT WG have been sat around debating the issue, Flash has gone an implemented these features." I've got no single takeaway, but it's a good read, and most of the novel comments are clustered towards the top.
Posted by JohnDowdell at 11:03 PM | Comments (0) | TrackBack
Sun, JavaFX
Sun, JavaFX: Sounds interesting... Sun's rebranding and refining much of their software stack today. The link above goes to OpenJFX.org, which seems like the core info site... here's their FAQ. Sun CEO Jonathan Schwartz describes JavaFX per se as desktop software, which can communicate with a JavaFX Mobile engine on your pocket devices, apparently making it easier to coordinate among your various handhelds. There's also JavaFX Script, a rebrand of the prior F3 project, which describes UIs in script, rather than XML like Flex. Current news reporting seems all over the map -- lots of reporters are bringing up comparisons with plugins or Apollo or Ajax, for instance, but I haven't seen anything from Sun about in-browser work, or beyond-the-browser work -- I'll use the extended entry here to collect links throughout the day. My current takeway: The actual Sun documentation seems to be less interesting than many of the third-party articles might imply... seems more a way to staunch the migration to Flex among Java developers than new functionality. I still need to learn more, though....
General observation: The story isn't told as clearly and concisely as it might have been... they use words like "impactful" in the marketing materials, which is always a clue to fluff....
Historical trivia: Schwartz used the phrase "Write Once, Run Anywhere", which was descended from Macromedia Director's earlier Author Once, Play Anywhere.
Context: Mary Jo Foley had a piece yesterday with some Sun exec quotes implying a relationship to Flash, but unfortunately it seems a parallel effort, with slightly different destination, rather than a useful synergy. Don Burnette has an article this morning which mentions "conversion utilities for translating Flash and SVG files into the JavaFX format" (FLA? SWF? MXML? FLV?), but that's the only Flash connection I've seen yet.
Semantic trivia: Sun correctly describes "RIA" as Rich Internet Application, rather than Rapid Interaction API or some other attempted neologism. :)
Tooling: Some articles describe an authoring tool ("Java FX intends to allow application architects to craft online applications by dragging and dropping images, eliminating the need to manually write code. They will be able to create animated buttons, for instance, by dragging images directly from [Adobe] Photoshop."), but anecdotal reports from JavaONE show floor seem to negate this... I'll try to resolve this discrepancy later today.
JavaFX Script seems to have the clearest story so far. It's a new scripting language used to declare interfaces. It isn't high-level XML, like Flex's component-oriented MXML, or a lower-level drawing XML, like SVG or even XAML... it's script, sent down to the runtime.
From the FAQ: "JavaFX Script is a declarative, statically typed programming language. It has First-class functions, declarative syntax, list-comprehensions, and incremental dependency-based evaluation. It can make direct calls to JavaAPIs that are on the platform. Since JavaFX Script is statically typed, it has the same code structuring, reuse, and encapsulation features (such as packages, classes, inheritance, and separate compilation and deployment units) that make it possible to create and maintain very large programs using Java technology."
Apparently the advantage lies in manipulating higher-level constructs... a faster way to develop, less low-level than straight Java programming... I haven't seen any new abilities for the Sun runtimes announced here, just refinements of ways to do existing things.
Also: "JavaFX Script will be open sourced. The governance, licensing, and community models will be worked out as product release draws closer."
The Language Guide seems surprisingly short, and focuses more on language functions than on primitives or components (seems like JFX can invoke Swing UI components, but doesn't have its own).... after reading it, I'm wondering whether they gave it the name "JavaFX" because the name "JavaScript" was already taken. The Language Guide is the best "what is it?" resource I've seen so far, but seems slight to me.
What runs on the mobile devices? I'm not sure yet... it sounds like there's an additional "JavaFX Mobile" layer (750K?) which can float above the core "Java Micro Edition" runtimes installed on most phones. I'm not certain if it reduces the variance among the world's JME runtimes -- it's usually testing and single-casing which adds the cost to Java mobile work -- so far, from what I'm reading, it sounds like JFM acts as a local meta-engine for handling JFS instructions. The desktop Java client, Java Standard Edition, apparently can interpret these JFS instructions without the intermediary layer which mobiles require.
Schwartz implied some type of desktop management function for different devices, which would imply some type of server functionality, but I haven't found docs discussing this area yet.
Posted by JohnDowdell at 07:44 AM | Comments (2) | TrackBack
May 02, 2007
Data speed census
Data speed census: [link fixed] This in-browser app, from James Ward, lets you compare how quickly a variety of browser-requests handle 5000 rows of data, on your current network and browser. Even better, you can visually compare: (a) how long each takes the server to respond (SOAP and JSON cost a lot); (b) how long it takes to transfer across the network (compare to the bandwidth chart); (c) how long it takes the clientside engine to parse into a manipulable object in memory (Ajax much slower than Flash, but E4X screams); and (d) the render time (Adobe Flash Player has a fast display). James has lots more detail in the discussion. Also: "The code is Open Source (GPL) on SourceForge. If you feel that a test should be done differently or you find other things that you think should be changed, get the code, fix it, and send me a patch file." Once this set of benchmarks shakes out, it would be good to combine results, to get an overall profile of how various types of browser requests actually compare.
Posted by JohnDowdell at 08:36 PM | Comments (3) | TrackBack
May 01, 2007
Silverlight summary
Silverlight summary: I was reading a lot yesterday (whoa! I almost said "So I was reading a lot yesterday" ;-) , as I was trying to understand what Microsoft was announcing. They have announcements on server hosting and other things, but newspaper headlines like "Flash-killer" drove my particular interest. It sounds like they announced three browser plugins: (a) another beta version of their JavaScript-driven plugin; (b) an alpha version of this plugin with an internal logic engine from Microsoft; (c) a future version which will also include a parser to accept logic in multiple languages ("Dynamic Language Runtime"). The above link goes to Joe Levi, who prompted me to go out and compare filesizes... the 1.0 beta is 5.3M/1.4M (Mac/Win), the 1.1 alpha is 10.3M/4.3M... Adobe Flash Player 9 is 1.2M Win, 1.8M Mac, 4.3M Mac binary, 2.5M Linux. Filesizes usually go up and down during a cycle, varying with both optimization scheduling and feature addition... hard to guess where the "DLR" version will be. I'm still confused about the "open source" aspect of the DLR, and what would be installed where, and at whose choice... Sammy Larbi has a discussion going on this subject. I'll put some other notes in the extended entry here throughout the day -- please feel free to add on the "what" angle, links which provided you with good understanding. (No comments on your personal feelings or judgments about what Microsoft is doing here, please -- those may be better in other places, 'cause I'd like to get a compact, effective factual reading list in this blog entry -- thanks!)
Posted by JohnDowdell at 02:23 PM | Comments (10) | TrackBack
April 29, 2007
Conservative transmission, liberal reception
Conservative transmission, liberal reception: Jeff Atwood makes a case for lenient parsers (which fail silently with poor files), rather than strict parsers (which fail noisily when presented with ill-formed or invalid files). I like the general idea myself, assuming you're not trading off strictness for efficiency or other practical goals -- if you can accept bad files without cost, why not do so? Jeff gets here by a funny path, though... he kept his JavaScript debugger on while surfing and noticed that JS errors were widespread, yet sites didn't fail... then later wonders if strict-parsing wasn't the reason that XHTML didn't take off. I'm not certain he makes his case, but I like the general idea of trying to make good, compact, well-formed files, but also trying to make sense of incoming files which aren't. Key line: "Forgiveness by default is absolutely required for the kind of large-scale, worldwide adoption that the web enjoys."
Posted by JohnDowdell at 02:04 PM | Comments (1) | TrackBack
April 26, 2007
"Desktop v browser" distinction
"Desktop v browser" distinction: Brent Simmons points out that the argument is becoming moot: "The most recent is the prediction that desktop apps are dead, that soon everything will be a web app. I actually believe that's correct, in a way -- you're going to see fewer and fewer desktop apps that know nothing about the internet." JavaScript, Plugins, and network-aware desktop apps all started at the same time, late95-early96, and now they're finally reaching maturity and merging. Brent also has the key methodology to evaluating such technologies today: "Where does the code run? What kind of code is allowed to run? What kind of resources can the code access?" This determines all. For making tech choices there's a variant: "What types of experiences do you need to deliver, how much will it cost your audience to view it, and how much will it cost you to develop, test, and maintain it?" [via Nick Bradbury]
Posted by JohnDowdell at 03:12 PM | Comments (1) | TrackBack
April 25, 2007
FF 1.5 EOL
FF 1.5 EOL: "Mozilla will only supply security and stability upgrades for Firefox 1.5 until mid-May of this year." This seems like it may be a delicate issue, because IT-controlled installations frequently allow minor-version updaters while being slow on approving major-version upgrades -- that's why Adobe Flash Player often adds security updates to older Players. Meanwhile, security analysts are predicting an increase in browser-based attacks. If you're involved with such a controlled-installation situation, then it may be good to forward this Mozilla notice to the IT administrators as soon as possible.
Posted by JohnDowdell at 08:51 AM | Comments (0) | TrackBack
April 18, 2007
Silverlight accuracy
Silverlight accuracy: One of the best descriptions I've seen of the proposed browser plugin: "Bob Muglia, senior vice president of the server and tools business at Microsoft, said: 'Silverlight is the only solution in the market today that enables content creators to tap into the broad ecosystem for Windows Media technologies while taking the web's rich interactive application experience to new levels.'" There *are* people who are invested in Windows Media equipment and workflows, and they've needed a way to get the chromeless type of clientside display that has become the norm the past few years on the web. This is particularly important when looking at post-Vista comments from Ballmer & Gates on the importance of controlling the advertising architecture. The issue may be less about switching consumers, and switching developers, then preventing switching among owners of legacy video content. Makes more sense than some of the other descriptions we've heard the past week.
Posted by JohnDowdell at 08:51 AM | Comments (0) | TrackBack
April 17, 2007
VC-1 info
VC-1 info: Microsoft's upcoming browser plugin, "Silverlight" (nee WPF/e, nee Sparkle), includes a video codec called VC-1. The Register contains an article discussing the technical and business aspects of this video format. It starts: "We meet people on the various IPTV, mobile TV and web video circuits who always comment that VC-1, after a flying start, has fallen back and that pretty much these days the codec of choice is either VP6 from On2 Technologies for web video and H.264 for everything else, with no VC-1 in sight...." Much more here.
Posted by JohnDowdell at 04:00 PM | Comments (3) | TrackBack
No bitmaps
No bitmaps: The earliest web browsers could display hyperlinked text, and later a little pixel-richness was added with the IMG tag. Recently, Alex Vincent of Mozilla turned off his browser's IMG support, and found that much of the web was then broken, whether from spacing, or sudden appearance of ALT text, or layout/readability issues. I'd guess that the failing pages would also have difficulties if their body text was turned into a linear stream for text-to-speech, too. He suggests: "I think the web community at large should pick a day... where advanced users turn off their image browsing for that day and see how it impacts [jd sez: "affects"] their day-to-day operations. In particular, web designers could take a look at their own pages with images off." If someone is publishing a message, then what responsibilities do they bear to optimize the message for various viewing experiences? I don't know myself, but Alex raised an interesting point here... a new viewpoint on an old problem. (NB: I am impact-sensitive, and am grateful for every day I do not see the faux-word "impactful". ;-)
Posted by JohnDowdell at 01:48 PM | Comments (0) | TrackBack
April 02, 2007
CANVAS patent?
CANVAS patent? Weird post from Dave Hyatt to the WHAT Workgroup two weeks ago... seems to say that Apple may assert ownership of the CANVAS tag. It picked up some blogosphere mention, but I didn't hear of it until reading Ben Galbraith at Ajaxian today. I can't get a concise sense of it... the letter references a 2005 spec, with different layout than the current big WHAT WG doc... it's hard for me to distill those conversations, 'cause they like to talk so much. If you know of a hundred-word authoritative telling of this whole story, I'd appreciate a tip in comments, tia.
Posted by JohnDowdell at 04:11 PM | Comments (0) | TrackBack
March 26, 2007
Rise of occasional connectivity
Rise of occasional connectivity: For me, one of the continuing embarrassments of the March 2002 definition of "Rich Internet Applications" (summary) had been the lack of progress on "occasional connectivity", or the ability to work whether your machine currently has a network connection or not. Out of the RIA bulletpoints, we've achieved performance, integrated media object model, two-way communications, componentization, web services, and OS independence. But both device-independence and offline support have been harder to realize... in web conversations over the past five years many have doubted whether there's even any need for it. (Pretty funny, when you consider the continuing connectivity problems at tech conferences here in 2007. ;-) But ever since the Apollo launch we've seen a flurry of firms announcing support for offline functionality, as the above Techmeme link shows... people accept the need for occasional connectivity now, in a way I've never seen before. It'll still take awhile to get it right technically, and the social training and server infrastructure to support it, but to see such widespread acceptance now, I think that's pretty significant....
Posted by JohnDowdell at 08:07 AM | Comments (1) | TrackBack
March 13, 2007
Greasemonkey use
Greasemonkey use: Greasemonkey is a Firefox extension, where your JavaScript can change the display of pages you visit. This article is a list of "20 must-see Greasemonkey Addons"... when I looked through it yesterday I was surprised by how none of them made me rush to download. Today I checked into the Userscripts.org repository, and couldn't tell which of the scripts there were most useful to people... seems to be some type of chronological list. Out of the first 10 pages of 25 scripts I saw 22 which had more than a thousand downloads... about 10% had 1000 downloads or more. These are in the extended entry, but Google pages seem to have the most demand for clientside rewrites, Gmail in particular. Flickr powerusers seem represented too. After that there are individual ways to change community sites like MetaFilter and Slashdot... ad removers... utilities for researching and ordering movies... a few utilities, a few research tools... games and special communities. Lots of these seem like they could have been written as a bookmarklet or Firefox extension instead. I know it can be very handy to have someone else's webpage rewritten to your personal desires, but I'm still not sure when this is most useful, when it makes most of a difference to people. Do you have anecdotes or recommendations on Greasemonkey scripts? Thanks for any context.
(In case you're wondering, this isn't any particular research project for me... I'm just curious how people like to use the web.)
Greasemonkey scripts with more than 1000 downloads within the first ten pages of userscripts.org:
Gmail Super Clean
Clean | White Gmail - Upadated! Now with "User Script Command" Options :)
4,955 installs
Gmail Cleanup
Tweak Gmail!
4,053 installs
Gmail Air Skin
This is a Gmail Skin inspired by airways ;-)
3,294 installs
GMail Ad Remover
Removes ads and webclips from GMail
1,489 installs
Two Column Google
Places Google search results into two columns, making use of wasted space on large monitors.
1,782 installs
Flickr Link Original Images
Add link to original image on top of Flickr thumbnails
5,989 installs
Flickr user favorites feed
Adds a link to a RSS feed for a Flickr user's favorites
1,604 installs
Flickr Auto Tag
Save and reuse quickly the tags you often use.
1,061 installs
digg - add mirrors
Adds links to DuggMirror, Coral Cache, Google Cache and Archive.org wayback machine to every story. What separates this from the rest is that it's better integrated with digg.
2,386 installs
Slashdot Collapser
Expand/collapse articles
2,002 installs
Mefi deleted posts
Shows deleted posts on Metafilter front page.
1,894 installs
Ad Slicer for MySpace
Removes all the ads, and the space they leave behind.
19,407 installs
Facebook Auto-Colorizer
Adds an awesome color scheme to facebook based on your photo.
8,791 installs
Hotmail Cleanup Iframes
Hides Bars on top and right hand side
2,189 installs
The Movie Dude
Cross-links movie sites so you don't have to.
17,323 installs
Apple Trailer Download
Download the full movie trailers from apple.com with this userscript.
13,813 installs
Textarea Backup
Retains text entered into textareas.
1,736 installs
Last.fm - Shoutbox Quick Reply
Allows you to reply to posts in your shoutbox from your shoutbox
1,630 installs
Find an NCBI GenBank mtDNA full sequence on the complete human mitochondrial tree
Create a human mitochondrial DNA phylogenetic tree from an NCBI GenBank mtDNA full sequence, with a green line from the root of the tree pointing to its position. For a demo of the result: http://members.cox.net/tkandell/mtDNA/tree.html
2,601 installs
Peninsula Library System - Amazon.com & other sources Lookup
Display the availability of a book in the San Francisco Peninsula (CA, USA) Library System on amazon.com, other bookstores and wikipedia book pages
1,933 installs
CaptainForum
Enhance the using of Captain Internet Forum www.haarzte.co.il
1,101 installs
Compactador-Ogame
Compactador automático de informes de batallas del ogame.es
50,387 installs
Posted by JohnDowdell at 03:17 PM | Comments (1) | TrackBack
March 07, 2007
W3C HTML
W3C HTML: The consortium re-opens the HTML working group. The press release contains context on XHTML, and notes that the FORMS workgroup has also been revived. I particularly like this line from Tim Berners-Lee: "HTML started simply, with structured markup, no licensing requirements, and the ability to link to anything. More than anything, this simplicity and openness has led to its tremendous and continued success."
Posted by JohnDowdell at 03:32 PM | Comments (0) | TrackBack
March 06, 2007
Happy b-day, RIA
Happy b-day, RIA: A few days late, but I'm pretty sure this press release announcing Macromedia Flash MX, on March 4, 2002, arrived the same day that the original RIA whitepaper went live (500K PDF, summary here). Since then the strange concept has really been accepted... everybody loves RIAs. The first major objection I remember was from Simon St. Laurent a week later... comments here are lengthy and made me grin while re-reading, five years on. When the WWW model of addresses and browsers first arose, multimedia engines pursued dual paths of in-browser plugins and network-aware out-of-browser applications -- Macromedia Director could be deployed as in-browser Shockwave or standalone EXEs with NetLingo. The "Rich Internet Application" model pulled together by a group of smart people at Macromedia drew a line in the sand for what types of experiences to expect in the future, for richer ways that clients and servers could work together. We're still working on occasional connectivity and device presence, but it's good to look at how many of the other major goals are realities today, five years on.
Posted by JohnDowdell at 05:38 PM | Comments (0) | TrackBack
February 27, 2007
Browser cycles
Browser cycles: Safari and Firefox both process HTML, CSS, and JavaScript. By 2007 there's a wide intersection of common functionality that they share. But the underlying implementations still differ, leading to different results on higher-end metrics. Here, people construct different tests to measure various system loads... one test seems to show that keeping Safari open in the background slows down video rendering chores, compared to keeping Firefox in the background. For years people have been benchmarking SWF files and noticing that the results vary by the hosting browser -- the different browsers have different ways of requesting processor cycles from the computer, and then apportioning those cycles out among various guest processes like plugins -- different memory management tactics too. You can do a lot in JavaScript these days, but it's still hard to benchmark and profile such work. Update: Dave Hyatt has good info on the types of implementation choices not specificied by web standards.
Posted by JohnDowdell at 09:08 PM | Comments (2) | TrackBack
February 22, 2007
Scaling editors
Scaling editors: The link goes to the Adobe press release for the online video-editing service which Photobucket launched last week. There's little hard news yet, which I suspect is due to the sheer number of partners the technology effort has. Some news articles say this work is "based on Adobe Premiere", but I think whatever is shared here is more in the nature of interface experience, workflow experience, file format knowledge, video algorithm knowledge and future integration possibilities... the online tool was created in Flex 2, and so can't directly share code with OS-native apps. The release sparks similar issues to today's Google Premier announcement... in both cases tasks that were desktop-only will now be possible with cloud-based processing and storage. But the scope of the jobs you'd do would differ with where the code is hosted and where the processing occurs... lots of people catch email on their handhelds, but still use laptop email when available... for rich-media processing it's hard for me to see videography professionals doing it all online. What I see Adobe trying to do here is to provide a continuum of tooling, from casual online use to dedicated offline professional use -- to enable anyone to enter media production. One startling angle to this editor is that the operating system doesn't matter anymore... if you're running the Adobe Flash Player 9 and have a network connection and browser, then you're good to go. OS-native coding would still have advantages, but wouldn't be the only game in town anymore. One article gave the project a product name, but I don't know on what info that assertion is based. TechCrunch has a comparison list of different online video editors today. That's what I've got so far, and I expect we'll see more hard info as more partners come online. It isn't a matter of "online vs desktop"... I think media editors will scale across different delivery channels, to provide editing experiences tuned to the needs of the different people using them.
Posted by JohnDowdell at 01:48 PM | Comments (0) | TrackBack
February 21, 2007
mBed Interactor
mBed Interactor: The link goes to a review by Gavin Sade, on Director Online, written about ten years ago. I thought of it when reading this comment to an article by Ryan Stewart at ZDNet, about how Microsoft's next-generation browser plugin will use each browser's JavaScript for the interactivity, and will not ship a common Microsoft logic engine until some subsequent version. mBed Interactor provided a common development environment which could compile to three runtime engines: Dynamic HTML (browser4.0-style JavaScript); Sun's Java plugin; or by installing mBed's browser plugin. This worked for animating shapes, but the multiple logic engines made it hard to do ambitious things. Today's applications are much more data-intensive. The reliability of the logic engine is even more important today. (btw, if you want a laugh, then here's a thread in comp.lang.javascript where we talk about such things and I pimp the Dreamweaver 1.0 beta... here's a comp.multimedia FAQ on authoring systems for the time. What's shocking is that we're dealing with many of the same questions today.)
Posted by JohnDowdell at 10:02 PM | Comments (1) | TrackBack
February 20, 2007
Browser "embed" behavior
Browser "embed" behavior: I read the article at A List Apart by Bobby van der Sluis when it appeared, but I hadn't clicked through to the above test suite before. He examines 22 different tagging methods and specific features across 29 common browsers and examines a variety of behaviors, such as loss of streaming or plugin/browser messaging. I don't see effect on screenreaders tested here, but Andrew Kirkpatrick had a roundup 18 months ago. (Why are there problems? In 1995 Netscape 2.0 introduced browser extensions via EMBED tag... in 1996 Microsoft countered with system extensions via OBJECT tag... in 1997 W3C decided to outlaw EMBED without describing how the world might evolve to such a state... in 2007 we're still dealing with that old conflict.) I arrived here after checking a different formatting of such cross-browser testing from "Cubus" in Belgium. Part of me is appreciative these folks laid out such testing so clearly... part of me is annoyed that the whole model and history of browsers lends itself so easily to such chaos... but I'll think positive thoughts and thank Bobby, Geoff, Cubus and many others for their work here.
Posted by JohnDowdell at 04:51 PM | Comments (0) | TrackBack
February 12, 2007
Voluntary web bugs
Voluntary web bugs: Jeremy Zawodny joins the "JavaScript Badges and Widgets Considered Harmful" questioning. If your webpage has a graphic from another site (ad banner, tipjar, recommendation link, etc) then that third-party site can set a cookie on your visitors who use their default browser settings. If you host third-party text, then I believe the request usually has access to your visitors internet protocol address. If you host a SWF from someone else, then check for the "allowScriptAccess=never" line in OBJECT & EMBED to make sure their SWF can't ask your JavaScript things. In all cases, the sheer number of HTTP requests on popular weblogs today is the main cause of slowdown I see, when not using a highspeed connection. The original objections to hosting third-party content on your webpage were outlined by Richard M. Smith, when advertisers first started tying webpages together with their advertising servers.
Posted by JohnDowdell at 01:06 PM | Comments (2) | TrackBack
February 09, 2007
Script loops
Script loops: Tim Anderson compares IE7, Firefox 2 and Adobe Flash Player 9 on the symptom "a script is causing this page to run slowly". (It's possible for any script to lock an engine by just looping forever, so script engines need to break out of tight loops.) The situation might be detected by how many lines of script execute before an idle, or by how many seconds a script takes to execute. Oddly, Tim doesn't notice the symptom in Adobe Flash Player, even though this script breakout was introduced in this engine -- he first sees it in IE7, and later finds it in FF2 when he expands the timing of his loop -- might be the Tamarin efficiencies which made the problem invisible to him. Comments contain ways to increase your own personal machine's setting for this value, in both Firefox and IE.
Posted by JohnDowdell at 04:12 PM | Comments (0) | TrackBack
February 06, 2007
CSS evolutionary pace
CSS evolutionary pace: It's hard enough to get the audience to update their browser, and harder for all popular browsers to implement new features the same... here's one paragraph which seems to crystallize a stance: "It seems like the Safari team has been pretty busy implementing new CSS properties lately. First out is text-stroke, a new (and non-standard, so not for real-world use) CSS property that can be used to control the fill and stroke colours as well as the stroke width of text." The parentheses caught my eye... it isn't about "Will this serve my audience?" but "Am I practicing proper behavior?" To improve text styles, first the consortium must approve a feature (but not too quickly, because changes must be rolled together into new version-numbers of specs)... then there must be various implementations... then there must be reconciliation of the various implementations... then there must be consumer adoption of a standard set of implementations. Then you can use the new feature. The evolutionary pace will be slow.
Posted by JohnDowdell at 05:08 PM | Comments (0) | TrackBack
February 02, 2007
Browsers & sound
Browsers & sound: It's 2007, and browsers can refresh their text, as well as swap images, and some are starting to be able to draw lines too, but what about audio? Someone tries to make "an Ajax library" for sound and runs straight into the jungles of browser disparity. I don't know details of the attempted implementation (they weren't summarized), but the comments progrssively show that such a simple task is unfortunately not as clearcut as reasonable people might expect. But in the process I learned of Scott Schiller's new SoundManager 2, which uses the browser/plugin interface to let various JavaScripts control audio via Adobe Flash Player... seems to solve the need in a straightforward way. [via Dion Almaer]
Posted by JohnDowdell at 04:58 PM | Comments (5) | TrackBack
January 30, 2007
JS off?
JS off? The W3Schools site says that 10% of people on the web have JavaScript turned off. That seems high to me, and W3Schools doesn't describe their methodology. TheCounter also doesn't describe its methodology, but lists 5% as having old or no JS. Still seems high. The Yahoo Directory lists some more stats sites, but most don't attempt to measure JavaScript capability... StatMarket has gone behind a subscription wall... Google Zeitgeist removed browser stats awhile ago... I've trawled about two dozen search hits and none are current, many are 404. If JS-heavy sites actually turned away 5+% of their visitors then I would expect to have heard far more discussion of the subject. Do you know of additional references on how many people cannot use the browser scripting engines? Thanks in advance for any leads!
Posted by JohnDowdell at 11:54 AM | Comments (4) | TrackBack
January 26, 2007
Browser stats
Browser stats: Overall consumer norms are one helpful indicator, but so are stats from different niches. WIRED is now reporting 46% of their visitors in Firefox, 37% in MSIE, 11% Safari, 2% Opera, 4% other. The audience at BoingBoing is currently 51% Firefox, 26% MSIE, 12% Safari, 2% Opera. For OS, the BoingBoing audience is 68% Windows, 23% Macintosh, 5% Linux.
Posted by JohnDowdell at 04:26 PM | Comments (0) | TrackBack
January 24, 2007
ActiveX in Korea
ActiveX in Korea: Three Korean government boards warned yesterday that various banking and shopping sites will not work with Microsoft Vista when it is released next week. The Chosun newspaper says: "The problem is that Vista doesn't play well with a software program called Active-X that is widely used in Korean Internet sites." That didn't make sense to me... Windows is built on ActiveX, and Vista supports it. George Ou at ZDNet supplies a key fact: Korea has homegrown encryption, due to prior US munitions controls, and it appears that many websites each deliver their own ActiveX Control for secure transactions. Recent versions of Windows do impose stricter authentication controls when installing ActiveX Controls onto visitors' systems, and this may be why the different banks and stores suggest different dates for when they'll support Vista. It would also explain George's line "While there are Java and Netscape implementations of SEED, it was almost never implemented"... if the site isn't relying on a common-protocol transaction capability on their clients' machines, but instead wants to install their own code onto clients' machines, then few sites could afford creating Netscape Plugins, Mac support, or platform-neutral code, and they may just each be late in changing their old ActiveX for Vista's new security requirements. Me, I'd hate it if different stores, banks, or government bureaus each insisted on installing their own software onto my machine, but the browsers themselves didn't offer sufficient security. Still, shouldn't other countries be in a similar situation too, then? I'll try to learn more through the day and add anything I find in comments here.
Posted by JohnDowdell at 07:18 PM | Comments (5) | TrackBack
January 22, 2007
Desktop Java
Desktop Java: Jens Alfke writes of iPhone/Java from the perspective of a an ex-Java, current-Cocoa developer. There are some lines in here which are funny ("compared to any decent Mac app, [Java apps] look like a Soviet tractor built on a Monday"), and other points which I hadn't heard from others before ("Sun tried to build their own OS on top of the real OS, duplicating every API and feature"). There's incidental mention made here of Flash and Flex, but not Flash Lite and Apollo... I think Jens' "three important things" might be able to be satisfied while still satisfying the needs of platform-neutrality. The comments are interesting as well as numerous... it sounds to me like a lot of these people want what we've already got, they just don't realize it yet. [via John Gruber] Update: Andrew Shebawnow has a longer op/ed on this subject... this line in particular expresses something which is rarely discussed: "Adobe cares a lot about applications that run on more than one operating system, probably a lot more than any other major software company."
Posted by JohnDowdell at 04:01 PM | Comments (0) | TrackBack
Spec'ing the spec
Spec'ing the spec: More cooks may not always spoil the broth, but they do usually require more time to choose what to make for dinner. The new W3C HTML Working Group will attempt to reconcile and modernize HTML, XML, XHTML. The process still needs some tweaking to meet the needs of the WebKit contributors, and it's always difficult to disprove a hypothetical. I don't know how HTML will advance in its next generation upon the world's actual deployed browsers, but I do know I'm glad that I'm not responsible for reading all the words that will be used in the process of defining what that functionality should ideally be.... ;-)
Posted by JohnDowdell at 03:27 PM | Comments (0) | TrackBack
January 19, 2007
Origins of XmlHttpRequest
Origins of XmlHttpRequest: It was Microsoft Outlook Web Access where the "proprietary" tag was first introduced, towards 1998. It took nearly five years for other browsers to support the tag and for developers to accept its use. Here's the early background from Alex Hopmann, who was on the team. [via Dion Almaer] Related: The first examples of Ajax-style animation and effects came at the same time, at DHTMLZone.com.
Posted by JohnDowdell at 04:58 PM | Comments (1) | TrackBack
January 17, 2007
IE7 js: URL problem?
IE7 js: URL problem? I messed up, and now I'm trying to fix it, and am also seeking anecdotal info you may have on whether Microsoft Internet Explorer 7 changes the way that "javascript:" URLs are handled when requested in ActiveX Controls. In an old blogpost of mine (above) Andrew Lucking tried to escalate a problem with Authorware Web Player, where existing courseware breaks in the new browser, at the point where the browser plugin makes a request to the JavaScript in the HTML page. In searches I find results like this, where JavaScript is mentioned only incidentally, but these entries are 2-3 years old as well... it's a hard search. I messed up by letting this issue fall off my plate, and I feel pretty badly about it. I'll be pursuing this internally too, but I wanted to make a top-level blog item about it as well... have you seen other cases where "javascript:" pseudo-URLs don't get executed in the new browser? Do you know of more context? Thanks!
Posted by JohnDowdell at 03:49 PM | Comments (10) | TrackBack
January 16, 2007
Adoption rates
Adoption rates: The Microsoft Internet Explorer team reports one hundred million completed installations of IE7 as of Jan 8 this year. The browser was released on Oct 18, and went into Microsoft's auto-update mechanism in November. That's 82 days for 100M successful installs, or about 1.2 million per day. Adobe Flash Player is adopted by the public at above four times that rate, across Windows versions, on Mac, and Linux (mobile is counted separately). Firefox 2.0 should be turning on its auto-update mechanism soon, but its base is maybe a fifth that of Microsoft's. More context on these stats at Information Week. Bottom line: If you want to run interactivity on Other Peoples Machines, then SWF has wider reach, demonstrably faster evolution.
Posted by JohnDowdell at 04:02 PM | Comments (14) | TrackBack
January 12, 2007
HTMLmail funkification
HTMLmail funkification: I'm a little gleeful at this... email marketers are saying that the switch in HTML rendering engines within the new Microsoft Outlook 2007 "takes us back 5 years". Fine with me... if you're pushing stuff at my publicly-accessible mailbox, then I just need the quickest-to-digest info, and prefer not to have tracking images or scripting in things strangers push at me. Try ASCII. It's ironic that a change in HTML engines still has such a big effect on existing content, though. Microsoft offers verbose documentation, and a Dreamweaver validation tool. The push ten years ago to stuff all HTML stuff in email is similar to what we've seen with "RSS" the past few years... a concise and flexible format comes under pressure to duplicate a richer format and instead becomes a lumbering beast. But... hmm... most of the documentation is just lists of attributes... but down at the very bottom it says "Flash: Only a red "X" shows in the area where the flash would display." Knocks out animated GIF too. If people put inline SWF in email then they'll be affected by a loss in prior functionality, so it seems strange to bury that info down at the bottom of a long document like this....
Posted by JohnDowdell at 04:48 PM | Comments (3) | TrackBack
January 11, 2007
Boston "Event Apart" discount
Boston "Event Apart" discount: Lots of web luminaries will be at "An Event Apart" in Boston Massachusetts, March 26-7. Preregistration discounts are available through Feb 26, but you can take an extra $50 Adobe discount if you use discount code "AEAADOB" while registering. There are two tracks two days of tracks, and session descriptions are already published at the above link. Update: Jeffrey Zeldman has more info on the event today, but with a different discount code... use "AEAADOB", it has more vowels.... ;-)
Posted by JohnDowdell at 11:39 AM | Comments (1) | TrackBack
January 05, 2007
Mozilla state
Mozilla state: Neil Deakin lays out the options for applications to remember things in Firefox: "One common issue that extension developers have is how to maintain state between different windows throughout the lifetime of Firefox (or another application) even while the windows are opened and closed. Once a window is closed, all of its context and state goes away...." Neil proposes a new type of temporary per-tab storage, called "application storage". I'm not sure why regular browser cookies wouldn't work, or whether the localConnection in Adobe Flash Player might help to synch across multiple browser windows. (When a Firefox implementation arises, it will still be only for new versions of one browser, shifting the cross-environment costs onto content developers.)
Posted by JohnDowdell at 04:28 PM | Comments (1) | TrackBack
Uncached
Uncached: Dion Almaer posts a shocking stat here, from the Yahoo UI blog. Tenni Theurer's summary: "40-60% of Yahoo!'s users have an empty cache experience and ~20% of all page views are done with an empty cache. To my knowledge, there's no other research that shows this kind of information. And I don't know about you, but these results came to us as a *big* surprise." Me too... half of Yahoo's audience doesn't take advantage of material already held in the browser cache, accounting for 20% of all pages viewed... I would never have expected that. (There's emphasis from both Tenni and Dion about reducing the number of HTTP connections, which SWF files have always excelled at... SWF is a streaming package, rather than a series of individual assets, each with their own chain of HTTP negotiations.)
Posted by JohnDowdell at 04:09 PM | Comments (1) | TrackBack
December 20, 2006
RIA, cross-platform
RIA, cross-platform: There's been a little bit of blog debate this week about the meaning of the term "RIA"... I haven't tracked it all, but today Ryan Stewart adds: "I don't think that an RIA needs to be cross platform to actually be classified as a Rich Internet Application." If you look at the actual introduction and definition [500K PDF] of "Rich Internet Applications", in March 2002, then it includes this section: "[RIAs] enable easy deployment on multiple platforms and devices. Internet applications are all about reach. The promise of the web is one of content and applications anywhere, regardless of the platform or device. Rich clients must embrace and support all popular desktop operating systems, as well as the broadest range of emerging device platforms such as smart phones, PDAs, set-top boxes, game consoles, and Internet appliances." That doesn't mean that platform-restricted applications aren't useful, but it's a significant attempt at redefinition to be using the "RIA" label on things like Microsoft's project of a New York Times reading app.
Posted by JohnDowdell at 11:11 AM | Comments (1) | TrackBack
December 14, 2006
Safari, blocked plugins
Safari, blocked plugins: If you see the symptom "Safari browser frequently resets to blocking all plugins" then the cause seems to be that the Saft utility (ad-blocking, tab-dragging etc) resets the "Downloads" keyboard shortcut to plugin-blocking. [via Shaun Inman]
Posted by JohnDowdell at 08:05 AM | Comments (0) | TrackBack
December 12, 2006
HTTP request costs
HTTP request costs: This article is a great summary of the major cause of webpage slowness today: too many network requests. Modern browsers are currently configured to fulfill only two simultaneous requests to any given web domain at a time. This means that if you've got a hundred little .GIFs and .JSs and .CSSs, then you'll have two streams of 50 sequential requests, with each request having its own request/response/fulfill/close cycle of connections. It's possible to pipeline multiple requests together, but this requires non-default settings in both server and client, and isn't always practical yet. Performance tips include: use HTTP keepalive when possible; consolidate requests ("one big file loads faster than two smaller ones"); use multiple host names to enable more simultaneous connections in default browser configurations; examine caching and conditional GET to minimize repeat transfers; minimize cookies on the serving domain; test compression options in your audience's current browsers; regularly test the site with slow connections and benchmarking tools. Thanks to Aaron Hopkins for the writeup; the page is open in my browser from another MXNA link, but I've forgotten who told me about this page...?
Posted by JohnDowdell at 02:26 PM | Comments (2) | TrackBack
December 05, 2006
WPF/e *and* Flash
WPF/e *and* Flash: I'm behind in my reading, but this sample file is too delightfully twisted to not shout out about... Lee Brimelow has an HTML page which hosts Microsoft's WPF/e plugin preview and the Adobe Flash Player, and uses JavaScript to communicate between them. The demo itself is simple -- an icon in each, and when you drag one the other one moves -- and it's not suitable for high-performance work, because of the overhead in NPRuntime API calls. But I like the strangeness of coordinating these two so soon after release like this. No need to ask "But why?", because the answer "Because I can!" is compelling enough, I think.... :)
Update: Lee has another example, even stranger, which also relies on the ability of both plugins to communicate with the browser's JavaScript.
Posted by JohnDowdell at 12:37 PM | Comments (4) | TrackBack
December 01, 2006
The incarnification of potentialities
The incarnification of potentialities: Lee Brimelow posted a simple SWF animation, side-by-side with a Microsoft XAML/WPF copy. The result was that the SWF animation played many times before the WPF even finished initializing. I care less about this particular result than about the conversational dynamics.. over the last few years' talk about XAML and vectors and plugin ports and what-all, there was never much real discussion about the practicalities of startup time in a webpage. It's easy enough to talk about particular features of a technology, but harder to figure how the entire technology will eventually fit into real peoples' lives. As the stuff becomes real, only then do we see what it actually is.
Posted by JohnDowdell at 02:58 PM | Comments (2) | TrackBack
AJAX Video
AJAX Video: I got a kick out of this; you may too. Can you figure out what's going on? I've been checking through the HTML source and hitting some reference sites, and will put my best understanding in the comments, which you're welcome to correct. There's some info here, if you click the little "3" icon towards the bottom. [via Dion Almaer]
Posted by JohnDowdell at 01:21 PM | Comments (3) | TrackBack
Metrics beyond pageviews
Metrics beyond pageviews: Ryan Stewart touches on a blogosphere discussion about "these ajax pages don't measure pageviews the same". Lots of metrics end up being used because they're easy to measure, not because they measure meaningful stuff. People have been researching finer metrics for audience involvement for years... DART Motif came out a few years ago, from DoubleClick and Macromedia, to measure things about banner ads beyond whether they merely appear in a webpage... EyeWonder focuses on video involvement. Those with an emphasis on static text who are now dealing with "Ajax" might find this all a novel issue, but there's plenty of prior research on use of metrics beyond the raw pageview.
Posted by JohnDowdell at 11:26 AM | Comments (3) | TrackBack
November 16, 2006
Safari caching change?
Safari caching change? Jeffrey Zeldman indicates that an update to the Apple operating system has changed how the Apple browser manages its cache. I haven't seen external references yet and am not sure I can summarize the different observations... this is just a heads-up, if you use Safari as your development browser, that some are saying the caching has changed with the latest OS update.
Posted by JohnDowdell at 01:52 PM | Comments (1) | TrackBack
November 08, 2006
Language vs DOM
Language vs DOM: Gordon Smith, of the Adobe Flex engineering team, offers more post-Tamarin examples of how the internal constructs of a language (syntax, data types, behavior) differ from the objects which that language can control (windows, frames, movieclips, Fireworks history, etc). "The DOM" is a general term for the document's conceptual model of the objects it contains, but "document" here is used in a very loose sense... in a strict browser DOM you wouldn't see multiple windows, for instance... for good or ill, though, "DOM" is the term we're stuck with. Gordon also has another post which describes the scripting and DOM status of several of the projects under discussion (JavaScript 1.5 vs 2.0 compared to ECMAScript 3 vs 4, etc).
Posted by JohnDowdell at 02:58 PM | Comments (0) | TrackBack
November 07, 2006
HTML wishlist
HTML wishlist: Molly Holzschlag solicits feature requests for future versions of the HTML specifications. My request: Make it easier for people who aren't urban western professionals to use.
Posted by JohnDowdell at 03:53 PM | Comments (0) | TrackBack
October 27, 2006
New HTML group
New HTML group: A significant post from Tim Berners-Lee. I think these are the key quotes: "The plan is to charter a completely new HTML group... There will also be work on forms." There's also mention of validators which give stronger guidance. Alex Barnett has links to varied commentary.
Posted by JohnDowdell at 09:14 PM | Comments (0) | TrackBack
October 18, 2006
Evolutionary rate
Evolutionary rate: Microsoft Internet Explorer 7 was released today. It's, uh, for Windows. Mozilla Firefox is due for a major rev soon now too. The last major rev of IE was in August 2001, about the time that Mozilla was taking over from Netscape Navigator, and Macromedia Flash Player 5 was about halfway through its lifecycle. A small transparent engine which fits within various browsers and operating systems does seem to evolve more quickly than do the larger fullscale environments themselves.
Posted by JohnDowdell at 08:20 PM | Comments (1) | TrackBack
October 17, 2006
Why Flex needs Ajax
Why Flex needs Ajax: The folks at Nitobi offer a Flex dashboard for local inspection of remote data, encapsulated as SWF with a JavaScript API. One common response right now is "Why? I could do the whole thing in Flex!" True, but a different situation... here's Dave's goal: "how to integrate a Flex application into an already existing Ajax application using the FABridge to facilitate the transfer of data between the two." Lots of projects already committed to a JavaScript approach long, long ago. Being able to integrate advanced functionality so easily brings a lot more people into the platform. A wider base of support makes it easier for each of us to achieve our own goals. Last week the Big Spaceship Visualizer showed how Ajax Needs Flash. The flip side of this is that SWF technology needs to be accessible to JavaScript specialists too... there needs to be a bridge for more people to be aware of the benefits, a stage at a time. Using Flex to build widgets which can be used in JS-centric environments makes great sense to me -- even if only for voiding out all the "skip intro" jokes, y'know.... ;-)
Posted by JohnDowdell at 09:57 PM | Comments (1) | TrackBack
October 07, 2006
JS in November
JS in November: Mozilla Firefox 2 is now in Release Candidate 2 stage, joining Microsoft Internet Explorer 7 in final public compatibility testing. I can't remember the last time we've seen two major browsers arrive so closely together. I'm guessing new sites will be fine, because JavaScript & CSS specialists have been testing their new projects, writing their new frameworks, in these two new browsers for awhile. But what about existing sites, sites which don't have a maintainence budget? With so much of their audience slowly shifting into two different new renderers simultaneously, some sites which have worked well for a long time may start losing functionality. (Although... it would be funny if some of those irritating "IE only" web apps gradually realized they should've demanded "IE6 only" instead. ;-) Commerce sites usually do significant business in December, and they won't start getting general consumer feedback until November... there could be some dicey times up ahead for sites which are rendered directly by the browsers.
Posted by JohnDowdell at 09:02 AM | Comments (1) | TrackBack
October 06, 2006
IE7 soon
IE7 soon: Microsoft advises compatibility testing of existing websites now. There are links here for changelists, checklists, and debugging tips. There's an "Application Compatibility Toolkit" for web applications in WWW browsers... I'm not certain how extensive. "The final release of IE7 is fast approaching -- and I mean really fast -- and will be delivered to customers via Automatic Updates a few weeks after it's available for download."
Posted by JohnDowdell at 11:11 PM | Comments (4) | TrackBack
October 04, 2006
Drawing via JavaScript
Drawing via JavaScript: Michael Mahemoff lists "8 Ways to Create Graphics On-the-fly"... he lists the differing SVG renderers in Firefox and Opera, the Dojo SVG/VML translation scheme (although see VML vulnerability), the CANVAS tag, serverside generation... Ryan Stewart provides a critical view. But I'm more interested in how these JS-centric folks can achieve what they want. Michael's comment that "not everyone has Flash" is obviously strange in a piece which suggests browser-specific CANVAS or SVG, but with DENG you can render SVG instructions identically across browsers, and JavaScript can drive the Player's Drawing API... do you know of more practical examples of JavaScript drawing in the browsers' SWF engines today...? (btw, I don't yet know what that "Richer Plugin" story is about, and want to pursue it more later.)
Posted by JohnDowdell at 01:55 PM | Comments (2) | TrackBack
October 03, 2006
Flashblock, Yahoo Maps
Flashblock, Yahoo Maps: I installed the Flashblock extension to Firefox a few years ago, to get familiar with its user experience, and it has upgraded itself along with the browser since then. I haven't had problems with it in the past, but have seen in the last few weeks that Yahoo Maps displays shrunken on the screen. When I set Flashblock to always display Yahoo content, though, then the problem went away. Checking with Scott Fegette, in the neighboring cube, it looks like Yahoo runs a JavaScript-based dynamic-resize to choose SWF dimensions, and it gets into a timing problem with Flashblock. First dysfunction I've seen with that extension. Anyway, if you're using Flashblock in Firefox and have problems with Yahoo Maps, try context-clicking the extension's onscreen icon to always accept content from Yahoo, and the maps will load just fine again.
Posted by JohnDowdell at 01:14 PM | Comments (0) | TrackBack
October 01, 2006
JS shadows?
JS shadows? [link fixed] This example came through MXNA today... it's a browser script to do hard-edge text shadows, by duplicating and offsetting a span of text through CSS instructions. I'm in Firefox 1.5.0.6 on Mac, though, and it isn't working... the title is centered, and the shadow text is the correct color, but is off to the left side of the screen. I went through some of the source files, scrolling and flipping among windows, reading sets of functions all at similar display level just to be sure I don't have to read them, and realized that this is my main frustration with JavaScript -- you've got to find bits and pieces of info in lots of different places, and then there are all the different user agents out there, still with their little differences -- it's costly to determine whether you've got the right chunk of code, costly to determine if what you're seeing is what others are seeing -- it's hard to confidently say "Yeah, okay, it's working now." Good for small stuff, hard for big stuff, that seems to be the emerging consensus for multi-engine JavaScript work.
Posted by JohnDowdell at 01:25 PM | Comments (2) | TrackBack
September 28, 2006
Quotes hack
Quotes hack: Something I didn't know: the HTML 4.0 spec introduced a "Q" tag, for inline quotations. (It differs from the "blockquote" tag, which spatially isolates the quote.) But not all browsers render an inline quote with quotation marks. Here at A List Apart, Stacey Cordoni provides a CSS hack to make the different browsers look the same.
Posted by JohnDowdell at 05:30 PM | Comments (0) | TrackBack
September 27, 2006
7 Things About AJaX
7 Things About AJaX: Dion Hinchcliffe addresses some of the realities here... it's easy to add a bit of JavaScript, harder to add a lot... development and maintainence costs rise disproportionately with complexity... browser extensions are needed for richer media, like animation, audio, video. One item I miss in the list is "Plan for the audience you'll lock out"... people in non-compliant browsers, or those who cannot read dynamic text, or who have JavaScript abilities turned off, need good feedback about how to use your site. Towards the end Dion emphasizes the emergence of composition as an authoring technique, where you bring widgets or other encapsulations together instead of crafting all functionality yourself. (I'm still not real comfortable with the label "Ajax", though, because the four letters are understood in different ways by different people at different times... for marketing, go for it, say whatever, but for technical talks, I think "modern JavaScript" and the like reduce ambiguity.) Some good points here about scripting the browser for advanced interactivity.
Posted by JohnDowdell at 06:57 AM | Comments (0) | TrackBack
September 22, 2006
Borsch on RIA
Borsch on RIA: Steve Borsch offers an intro to Rich Internet Applications, written for the technology community at large. He says something here that many don't admit aloud: "AJAX apps (like Gmail) are a simple and limited development paradigm but is one that people are using right now since it's a quick way to build desktop-like feel into a Web app. All the strategic level technical people I know have informed me that AJAX, while cool, isn't a scalable, extensible or enabling methodology (and many have said, "AJAX is dead!"). RIA's are coming...and fast." The original RIA definition did include a clause on uniting the network-aware software that goes beyond the browser, but the capabilities of an unextended general document-browsing application do provide a nice gateway into the richer world of network-aware applications.
Posted by JohnDowdell at 02:14 PM | Comments (0) | TrackBack
September 20, 2006
SOAPBOX: Firefox 2 RC1
SOAPBOX: Firefox 2 RC1: If you test this "first Release Candidate of Firefox RC1", and have any feedback for Adobe about this Mozilla release, then the comments here would be a great place to bring this feedback together, thanks. (I'm not anticipating any problems -- Firefox is, in my personal experience, a solid environment -- but it's vital for all parties to get feedback as quickly as possible if any new problem is discovered.) The more minds the better... thanks in advance if you've got info for Adobe staff here.
Posted by JohnDowdell at 08:17 PM | Comments (5) | TrackBack
OpenAjax Alliance
OpenAjax Alliance: This Macworld article has a good summary of the group's goals: "This effort involves developing a standard set of JavaScript functionality to tackle problems with interoperability arising when multiple AJAX libraries are used within the same Web page. With the hub, multiple AJAX run-time libraries would be able to coexist on a page... '[In] today's world, AJAX libraries in general believe they own the entire browser [and] JavaScript environment, that they're the first one and the last one, so they assume a consequence-free environment where they can do whatever they want to do,' said Jon Ferraiolo, acting director of the alliance and a Web architect in the emerging technologies group at IBM. What results, he said, are collisions of JavaScript objects and the toolkits managing HTML markup, and an inability to integrate functions such as drag and drop events." SWF is encapsulated in a page, and JavaScript needs the same separation and safe operation. Adobe is an original member of this workgroup... some might think that strange, but Macromedia was the first to try to unite cross-browser JavaScript, back in the late 90s. They're all engines, and using them better is good for everybody.
Posted by JohnDowdell at 12:08 PM | Comments (1) | TrackBack
September 06, 2006
Rewriting HTML
Rewriting HTML: Microsoft joins a trend: "Researchers at the Redmond, Wash., company have completed work on a prototype framework called BrowserShield that promises to allow IE to intercept and remove, on the fly, malicious code hidden on Web pages, instead showing users safe equivalents of those pages." The Greasemonkey extension to Firefox was an early way that content you create could be altered without your knowledge before viewing... Opera Mini also uses a proxy server to rewrite the world's web content. Campaigns like Third Voice and Microsoft's Smart Tags prompted much outrage for changing web content in ways unintended by the creators... looks like some of these approaches fly under the radar, while others don't.
Posted by JohnDowdell at 03:23 PM | Comments (0) | TrackBack
August 31, 2006
Ajax analysis
Ajax analysis: Brandon Ellis raises some conversation about a Forbes article on something a financial analyst said... here's the trigger quote: "Tran also warns that Ajax, a free and universal technology, could eventually supplant Flash as the standard platform for Web applications." The article was also picked up by Jason Fincanon, Ryan Stewart, maybe others. I don't think the comment is "asinine" in itself... he's an analyst, he's got to produce recommendations... he's got his own priorities to fill. I do think the comparison is sort of nonsensical though... "Ajax" is narrowly a means of text-refresh, and more broadly a marketing term for JavaScript, but in both cases the term focuses on the developer end of things, an "i'm doin' ajax" kind of story. The Adobe Flash Player is a deployed technology, a capability on consumer machines. Apples and oranges. I'd agree if the analyst said that browsers will slowly and inexorably evolve so that they're able to grow past their page-refresh model, because that's comparing clients to clients. But when I first read the Forbes article, I tried to shake my head clear when hearing him compare particular authoring techniques to worldwide computer capabilities... two different classes of things. (For "Will JavaScript ever exceed Flash capabilities?" then it's hard to see how that's possible, because you've got to first (a) get all the popular browser brands to implement a new feature similarly and then (b) persuade consumers to update to these browsers... Flash Player is a single implementation, deployed faster than any other web technology. Logic.) The financial analyst needs to produce his own output, but if it doesn't make sense technically, that doesn't mean the rest of us have to buy it.
Posted by JohnDowdell at 02:23 PM | Comments (2) | TrackBack
August 24, 2006
Custom clickmaps
Custom clickmaps: Where do people click on your webpages? Here's a set of rolled routines to visualize it... uses a simple JavaScript event handler to log click locations, then serverside image generation to create an alpha overlay which you can view on-demand in your own browser... red-tinted areas get the most clicks, down through orange, yellow, blue-green etc. Handy. But clicks are just one thing to measure -- SWF ads can already track mouse motion (not just clicks) -- some groups use eyetracking equipment to discover how people look at a page -- the inputs can be expanded over the simple JavaScript click detector. Then the display could be expanded too -- instead of just displaying aggregate values as a color we could slice things up by time or pageversions (Google Measure Map and Yahoo Finance currently use such time-controls in SWF displays), or creating rollover maps with dependencies ("ok, all those people who rolled over the left navbar, where'd they end up going next?") -- interactivity which goes beyond what a static PNG can fulfill. A background-transparent SWF displayed using the browsers' WMODE compositing style is already used as an overlay layer in many ads. Do you know of any current SWF-based work in creating heatmaps to help visualize user activity like this...?
Posted by JohnDowdell at 02:17 PM | Comments (0) | TrackBack
August 16, 2006
Improved "Hello World"?
Improved "Hello World"? Roger Purves had an idea here, in a comment on Manish Jethani's "Hello, world!' in Flash/Flex" example. Roger wrote: "The screen should show a circle and a square. In addition, the screen should display the text: 'Please drag the circle into the square.' The user does this drag, and as a result, the text 'hello world' appears somewhere on the screeen." What would it take to do a simple drag'n'drop interaction, resulting in a display change, in various runtimes? Seems like a great idea, simple to execute, achievable... have you seen any such comparisons before?
Posted by JohnDowdell at 07:53 PM | Comments (0) | TrackBack
August 15, 2006
Validity and reality
Validity and reality: At Web Standards Project, Ben Henick links together three articles about invoking rich content across browsers in W3C-approved ways. The difficulty is that the HTML spec outlawed EMBED tags after they were in use for a few years, and post-bubble browser development didn't take up the slack... the world's deployed browsers never gracefully handled that mid-flight change in expectations. Use of an OBJECT tag alone generally handles simple browser visibility now, but the browser makers still don't document if this invocation handles compositing (wmode), communication (npruntime), streaming, printing, other features beyond mere appearance. It's one of the legacies of this "single spec, multiple implementations" approach -- we need to test new work against the range of possible user agents to make sure they do as we actually expect. I appreciate that Ben has linked these three together, but I'm not sure that any of them give readers the full picture... testing carefully before deployment should fill in the gaps.
Posted by JohnDowdell at 05:20 PM | Comments (1) | TrackBack
August 09, 2006
Compositional interactivity
Compositional interactivity: At O'Reilly, Nat Torkington describes the difficulty of adding JavaScript-based interactivity to arbitrary webpages -- even Mark Lukovsky of Google had difficulty adding mapping abilities to someone else's webpage. That webpage worked well for its audience and creators, but needed to be engineered to higher specifications to accept arbitrary content. SWF is easier to encapsulate, easier to add to unsuspecting pages. I think Nat is hoping that everyone developing content follows more closely the full set of documents describing best practices with HTML/JS/CSS, so that they don't inadvertently interfere with each other. But it may be easier to compose chunks together if the chunks are already discrete packages...?
Posted by JohnDowdell at 09:39 AM | Comments (0) | TrackBack
August 07, 2006
Tab Mix Plus
Tab Mix Plus: Thumbs-up on this Firefox extension. I had been using a different Firefox extension for increasing the features of tabbed windows, but after accidentally nuking my old Firefox I had to grind through the Extensions list after reinstallation, and tried Tab Mix Plus instead. It lets me combine tabs from different windows, undo a tab-close action, and other chores which were a pain before. When combined with the little Unread Tabs extension my multi-window browsing is much more efficient... feels like the other half of the "tabbed browsing" feature was finally added. Good stuff. (I also use FlashBlock, Web Developer Toolbar, and Quicknote on my various machines... I was looking at some of their master-password extensions, but it seems like it binds you to single-machine access.)
Posted by JohnDowdell at 02:48 PM | Comments (2) | TrackBack
July 28, 2006
"The right to fork"
"The right to fork": Two sentences, in this piece about reactions to GNU Public License revisions, changed my mind: "This, to me, is the bedrock of open source. It is, in Brian Behlendorf's terms, 'the right to fork.'" I feel like I should have heard this phrase before, but I hadn't... took me by surprise, concise, elegant definition. I'd hear this as "the right to control your own experience", but both phrasings leave "the right" underdefined... they don't say which options of others are restricted in order to give you your rights. (Most "rights" conversation I hear in SF is based on the US "rights retained by the people" to limit federal power, but arguing about "rights" gets real slippery when you're talking about consensual relationships rather than geographically-bound monopolies on force like governments, so "the right" would be ambiguous in both phrasings; I can't talk like that.) Maybe "our goal is that we want each person to be able to control their own experience; things that increase the options of others are good"... that's a phrasing I could agree with. With software you run on your machine, I definitely see great ranges of personal choice. But software that runs on other peoples' machines -- the capabilities you can rely on in the world to get your message across -- the more we can predict what others can do, the better... seems true too? When you say the word "chair", you don't worry that someone else calls tables "chairs" and chairs "tables" -- when sending a message to someone else, it's better if both parties can read each other well, to predict a message's actual effect. We need to be able to fork our private choices, and standardize our public choices... is that a good way to put it...?
Posted by John Dowdell at 09:59 PM | Comments (1) | TrackBack
July 19, 2006
New browser comparison
New browser comparison: ExtremeTech compares betas of Firefox 2, Microsoft Explorer 7, and Opera 9. The comparison is more about using a browser than developing for a browser -- the above link shows a chart about tab and RSS behavior, and there's little here on CSS or JavaScript behavior. The conclusion shows some of the differences, but acknowledges that different people will choose different browsers.
Posted by JohnDowdell at 04:28 PM | Comments (1) | TrackBack
Too much asynchronicity
Too much asynchronicity: The comments at Jeff Veen's post here point up an interesting problem: a web interface which let visitors choose usernames originally used Ajax-style techniques to determine whether a particular username was already taken, but such queries didn't lock the name on the server. The result was that two people might choose the same name at the same time and the application failed.
Posted by JohnDowdell at 02:18 PM | Comments (5) | TrackBack
July 13, 2006
Browser advancement
Browser advancement: A big downside of JavaScript interactivity is the diverse engines which may attempt to execute those instructions. Getting someone to update their browser is easier than getting them to update their operating system, but as eWeek observes, the lack of clear consensus on "best browser" means that "Ajax" will have to support a diversity of brands and versions for some time to come: "For that matter, unless Firefox 2.0 and IE 7 improve greatly before their respective releases later in 2006, neither will come close to topping the quality of the already shipping Opera 9."
Posted by JohnDowdell at 04:16 PM | Comments (0) | TrackBack
July 12, 2006
Google Calculator
Google Calculator: Not new, but a good trick. I was reading how Seoul received 400 millimeters of rain. Typing "400 mm in inches" into the Firefox location bar shows the conversion directly: 15 and 3/4 inches. This trick can also convert distance and temperature.
Posted by John Dowdell at 07:29 PM | Comments (4) | TrackBack
July 07, 2006
PNG vs OpenRaster?
PNG vs OpenRaster? Odd article at NewsForge... talks about movement towards a new type of raster file format for opensource projects (see their wiki for intro)... meanwhile, PNG was the very first Recommendation from the W3C, then became an ISO standard, and is also extensible as well (that's how Fireworks works, btw)... yet the article and wiki don't seem to even mention PNG as a solution for these graphic needs. I'm not sure if they're unaware of PNG's true power, or if it doesn't meet their needs in some way, or if there's a historical conflict, a NIH problem, or other.
Posted by JohnDowdell at 02:44 PM | Comments (3) | TrackBack
July 05, 2006
Typing in location bars
Typing in location bars: CNET reports that typing into the location bar of Internet Explorer, without "http://" type prefixes, can activate an application of similar name stored on the desktop. I'm guessing the request goes through the Windows registry, but I'm not comfortable exposing my local drive in a WWW browsing environment like that. In Firefox, this behavior is different... typing a search term into the location bar (not the search field) brings you to the page with the top rank for that term at Google. I've been using this "I feel lucky" technique a lot more lately... typing "get flash player" in the URL field to go directly to the Adobe download page, etc. I'm not sure how other browsers handle non-URLs typed into their location bars -- it takes awhile for such edge features to make their way into specs.
Posted by John Dowdell at 05:43 PM | Comments (0) | TrackBack
July 03, 2006
Ajax accessibility
Ajax accessibility: Aral Balkan offers a tiny SWF which can tell your JavaScript whether a working text-to-speech screenreader is installed on the current playback system. More info from his weblog: "[An idea for] improving accessibility in Ajax applications by exposing, from a Flash application, the ability to detect whether accessibility features are installed on the user's computer. I had taken this feature for granted and didn't realize that the Ajax world was forced to live without it... FlashAid allows JavaScript to check if accessibility features exist on the user's computer by using a hidden (1 pixel x 1 pixel) Flash application. It requires Flash 8 and should be compatible with every browser supported by ExternalInterface [ie, 'any modern browser']."
Posted by JohnDowdell at 12:05 PM | Comments (1) | TrackBack
June 12, 2006
sIFR 3.0
sIFR 3.0: Mike Davidson, on the SWF-based technique for better display text in webpages: "It's been almost two years since we originally released sIFR, and predictably, the world is still not a tangible step closer to a real custom typography solution for the web." But Mike, the world is closer... we've got sIFR! ;-) Seriously, my point here is that WWW browsers do have an integrated way to get better typography (and more!), via the extensibility model all browsers have, and thanks to the work of Mike, Shaun, Mark and the gang. True, you won't get all browsers to implement their own native methods, in identical fashion, anytime soon, much less have all those consumers change their whole browsing environment... but the browsers' decade-old support for plugins does give deployed browsers precisely parallel ability today. I particularly like how the 3.0 adds bigger abilities, like realtime shadowing and filtering, with greater HTML integration such as CSS control and auto-detection of HTML pagefont size. More info here.
Posted by JohnDowdell at 03:11 PM | Comments (2) | TrackBack
June 01, 2006
Browser comparison
Browser comparison: Lengthy article, but no built-in summary, and after two speed-reads I couldn't summarize it either. Nice charts, but I'm not sure what the ordinate values signify. Key quote: "This article highlights a few facts about the browser market and points to some really useful features found in non-IE, non-Mozilla browsers that explain why users remain devoted to them and, like me, continue to raise a stink when they are ignored." [via John Gruber]
Posted by JohnDowdell at 05:17 PM | Comments (0) | TrackBack
May 22, 2006
Ajax vs Java
Ajax vs Java: Chris Adamson of O'Reilly attended last week's JavaOne conference in San Francisco, where hallway conversations pushed back against using JavaScript as the client engine, in deference to Java. Chris notes "Frankly, client-side Java is a pretty small part of the Java world right now,", but then tells why the recent popular emphasis on JavaScript still leaves him uneasy: "While client-side Java may not have the right answers to key questions, it at least knows which questions to address, and chief among these is compatibility. AJAX's concept of compatibility is a sort of 'well, all modern browsers kind of do these things more or less this way... the differences aren't that bad, so you figure it out'. Like Melee simplifying combat by ignoring it, AJAX simplifies compatibililty by ignoring it. What AJAX gains in its key story, deployment, I think it loses in compatibility, to say nothing of lurking gotchas like accessibility. Maybe this isn't a problem now when your AJAX app is running on the computers of you and your tech-savvy friends, but when you're on a government contract that has to support accessibility modes that AJAX is blissfully unaware of, or when you doom level one tech support to telling Grandma how to upgrade her copy of IE for Windows 98 ('it came with the computer, I don't know what version it is!'), I suspect we're going to see some serious unintended consequences. Java deployment is a damn nightmare, no question about it, but once installed any applet, WebStart'ed app, etc. should run the same spec'ed way everywhere."
Posted by JohnDowdell at 05:20 PM | Comments (4) | TrackBack
AS3 performance tests
AS3 performance tests: Mike Lyda runs ECMAScript tests across the JavaScript engines in Firefox and Explorer, and the ActionScript engines in recent versions of the Adobe Flash Player. These tests are on beta versions, and the hosting browser definitely changes how plugins are allotted processor cycles, but the results are encouraging. I'm not sure whether these initial dozen tests reflect the benefits of the Just-In-Time compiling in Flash Player 9, where compressed ActionScript bytecode is expanded to true machine code on the client. More in comments here. Many of the Flash-to-Flash tests do show an order-of-magnitude improvement (or more!) in logical processing.
Posted by JohnDowdell at 02:37 PM | Comments (1) | TrackBack
Optimizing JavaScript
Optimizing JavaScript: Cal Henderson offers a lengthy guide at ThinkVitamin for speeding up the delivery of ambitious JavaScript work. He touches on one of the great ignored realities of web development: the number of separate HTTP transactions has an impact on startup time. Older HTTP transaction methods require four network messages each (response, request, finish and acknowledgement, if memory serves), and although HTTP 1.1 can pipeline several requests together, compliant browsers tend to limit the number of simultaneous resources delivered to two -- bottom line, the more URLs in a page, the longer it takes. (Classic Flash streams and can start very quickly; more modern Flash with high use of callable-at-any-time symbols has a longer startup but still doesn't suffer that need for multiple TCP/IP transactions.) Things get trickier when you consider multiple pages within a website, and your caching strategies for that content... using multiple external .JS libraries can cost more for the first page than for subsequent pages. Compression is also possible, but adds extra work on both server and client. One strategy he gets into towards the end is to set .JS files with an expiry date of ten years, and then change the names of these .JS files when you want to update them (which still seems creepy to me). Long article, but worth it for JavaScript development, I think, particularly if part of your audience uses slower connections or slower computers.
Posted by JohnDowdell at 01:45 PM | Comments (1) | TrackBack
Anderson on WPF, SWF
Anderson on WPF, SWF: Tim Anderson writes, at IT Week magazine, a question I hadn't seen before in magazines: Can Microsoft catch up to Flash? Tim sees the WPF/E plugin predictions as "further evidence that the future belongs to cross-platform internet clients, not Windows desktops," and that Adobe's Flash Platform is now in a position where it could use "some healthy competition". Clientside Java is briefly mentioned, but the various browsers' JavaScript runtimes ("ajax") are not. Adobe's business is built around providing a neutral "engagement layer" of media and interactivity across varied environments -- we're committed in a way that Microsoft, Sun and the browsermakers are not. But I was surprised that Java wasn't given higher position here, because people writing to the Java Virtual Machine did set the context for deploying applications to varied machines -- clientside Java did suffer forking & unpredictability problems, but did serve to get many people thinking in this direction. But overall, I'd likely think of it more as "What's the best way to get things done on Other Peoples' Machines?" rather than "Can Microsoft catch up to Flash?" More from Tim here; thanks to aSH for the link.
Posted by John Dowdell at 08:33 AM | Comments (1) | TrackBack
May 19, 2006
Gruber on Darwin
Gruber on Darwin: John Gruber of DaringFireball.net writes of Apple's decision to not release source code to upcoming versions of its OS kernel, focusing particularly on the ability of varying engines to execute existing deployed content: "The insinuation here is that if the source code to Darwin's kernel were available, users of high-end Power Macs (or whatever they're going to call them) and Xserves would be able to run their own hot-rodded kernels and yet still run Mac OS X. I suppose technically that might be possible, it certainly doesn't sound plausible. I highly doubt one could just plop down a recompiled kernel and expect the rest of Mac OS X to continue 'just working'." I think similar arguments hold even stronger for Adobe Flash Player, where what people seek is predictability on Other Peoples Machines.
Posted by JohnDowdell at 02:50 PM | Comments (0) | TrackBack
May 13, 2006
Eich on plugins?
Eich on plugins? I wasn't able to attend this "browser issues" panel at The Ajax Experience, but Michael Mahemoff's notes attribute this to Brendan Eich of the Firefox team: "Flash is a plugin, plugins are second class, that won't change. If Flash were open or open-source, would be merged in ways that would be wonderful, but don't think it's going to happen. W3C people trying to standardise in that area - MS for XAML, FF for XUL, etc. Different languages, different runtimes, IP considerations and compatibility constraints." It's hard to tell from this what he actually said, in what context. I checked his blog, but when searching "eich plugins second-class" the closest hit was about upcoming graphics tags, written two years ago. Could mean a couple of different things, would be good to read more direct source info.
Posted by John Dowdell at 09:03 AM | Comments (8) | TrackBack
May 08, 2006
Audiences' browsers
Audiences' browsers: Microsoft's Robert Scoble writes that all Microsoft web services should work in Firefox browsers from the first public exposure, and draws many interesting comments in return. Some think it's against Microsoft's core business to support non-Microsoft choices; some think it's okay if there is eventual support for another browser so long as releases for IE ship on time; some think that designing against specs which may or may not yet be supported in the world's currently deployed browsers is a more pure and preferable path; some point out that Opera and Safari have sizable audiences too (Robert talks about "some bug" with Safari that prevents "advanced AJAX")... lots more talk here. Core problem? When delivering to diverse engines -- the world's deployed browsers -- you have to either use the features they all support identically, or lock out part of the potential audience, or do extra development work for "graceful degradation" atop multiple renderers. Features, audience, or cost; choose two. Plug: Flash works identically across browsers and the widest range of operating systems... smarter to use a shared common neutral layer than to get into the "standards vs reality" development problems. Robert acknowledges in comment 62: "But I don't live in a fantasy world. I live in the world as it is. There are hundreds of millions of IE 6 versions out there. They will never support standards the way IE 7 or Firefox or Safari do. Sorry. So, until we get everyone to upgrade to one of the modern browsers, you can't rely on doing just standards-based development." You can actually rely on HTML 3.2 in the world today, and HTML 4.01 is pretty good, and CSS is getting there, and most JavaScript engines are congruent now (although continuing to advance)... you can definitely do "web standards" today, but the implementations, and then the deployed implementations, don't advance even as quickly as the not-quite-fleetfooted consortium specs do. You can do more today with abilities your audience supports today, and there's one core set of advanced abilities that more consumers support than any other....
Posted by John Dowdell at 10:30 PM | Comments (0) | TrackBack
May 04, 2006
FABridge walkthrough
FABridge walkthrough: At WIRED, Robert Capili describes his initial learning experience with the Labs release Flex Ajax Bridge, a set of libraries to speed development of Flex applications which can be controlled directly by the browser's JavaScript engine. Later he uses it to add UI elements via JavaScript to a bare SWF shell file. In conclusion he notes that this alpha needs more documentation and examples... I'd also like to see info on how to support these browser-dependent abilities for audiences using diverse browsers. Bottom line: Browser extensions are part of the browser, and you can use browser-based development skills (like JavaScript) to create interfaces which go beyond what a browser can do.
Posted by JohnDowdell at 11:33 AM | Comments (0) | TrackBack
April 11, 2006
ActiveX change today
ActiveX change today: This has been quieter than I expected today... the default option in Windows Update now has the "click to activate" change to ActiveX Controls. The above DevNet link has a set of before-and-after pages so you can check... the "external JavaScript" page should display just the same as before, and with the inline OBJECT/EMBED you should see a dotted outline on rollover, with a tooltip that says "Click to activate". (This DevNet page also has a Captivate presentation so you can see the difference if not running an updated IE.) One casualty of this change is any applet which follows the mouse around, such as the web pets at Bunnyhero... these will still animate, but the browser will not tell the plugin of the mouse position until that "click to activate" requirement is fulfilled. Are you seeing any other impacts today? any novel issues arise...? [Additional blogsearch terms: eolas, patent, activex, Active Content]
Posted by John Dowdell at 04:25 PM | Comments (2) | TrackBack
Radar on new apps
Radar on new apps: Nat Torkington of O'Reilly Radar looks at the XUL-based AjaxWrite project, and draws a distinction between network connectivity for the application (AjaxWrite offers instant global net distribution, updates, tied to a Virtual Machine rather than an Operating System), and use of network connectivity for the document (Nat wants remote storage of all files, collaboration tools, simultaneous views among multiple users into the same document, and integration of other web content like RSS). Interesting distinction, I hadn't thought of it that way before... he wants the document out in the cloud, rather than stored locally. Synchronous collaborative work is tricky, though... may be an order of magnitude more difficult than a standalone single-user app. (The "Ajax" in the name is used in the marketing sense, rather than referring to XmlHttpRequest for text-refreshes.)
Posted by John Dowdell at 08:09 AM | Comments (3) | TrackBack
March 31, 2006
RSS webpage comparison
RSS webpage comparison: At TechCrunch, Frank Gruber assembles a feature-matrix of nine online RSS readers (Bloglines, NewsGator, etc). Applications are compared on features such as: number of panes, date/relevance sorting, recommendation abilities, mobile access, etc.
Posted by John Dowdell at 11:52 AM | Comments (1) | TrackBack
March 25, 2006
MIX videos on the way
MIX videos on the way: I'm focusing so strongly on the Microsoft conference this week because it's significant when a major player in the world's computer experience like Microsoft so strongly endorses themes like "experience matters", declarative interfaces and the like. Here, Michael Swanson, Technical Evangelist with Microsoft's Expression team, says that they'll have videos of all events available for free online viewing sometime within the next month. Get the source evidence of the event's predictions directly; make up your own mind. (psst, Mike, my Firefox/Mac plays SWF video easily, if you'd consider....)
Posted by John Dowdell at 09:49 AM | Comments (0) | TrackBack
Embedded microbrowsers
Embedded microbrowsers: These two examples are pretty cool... Robin Good shows how Grazr and Bitty use JavaScript and XmlHttpRequest to make functioning little browser-like interfaces within your own web page... lets you drill down into RSS feeds or other linked page structures. (Bitty's tag line: "Bitty is the little browser that goes on any Web page, it's like Picture-in-Picture for the Web.".) Part of the reason I like these is because it took me a moment to realize how I could interact with these "EMB"s... part of the reason I like these is because people are using Ajax to emulate what others were doing with Flash five years ago, albeit with higher production values and greater audience inclusiveness. One advantage over SWF is that the browser's "Find Text" finds text in the display -- the feeds are in the browser's rendering domain. Robin notes "you may need firefox" for some of this, but Google searches on the two sites with term "firefox explorer" don't turn up testing or support info. I'm not sure whether each microbrowser's chrome is customizable... guessing it's IMG tags but comes from a single server because of the advertising model. Good stuff here, worth a look.
Posted by John Dowdell at 08:53 AM | Comments (3) | TrackBack
March 24, 2006
Time for IE7 work
Time for IE7 work: Eric Meyer gives a "start your engines!" alert as the upcoming browser gets locked down on layout behavior: "A little while ago, I said that designers should remain calm and not hack their sites to fix them in the IE7 beta because it was a moving target. That is no longer the case. It's now time to start testing sites in the IE7 beta and identifying any layout problems that may occur... I'll be doing this as soon as I can, and I encourage everyone who can to do the same... IE7 is scheduled to go final in the second half of 2006, so we have a calm period of at least three months in which to find out how things stand before IE7 goes final." If you have websites with ambitious use of browser features, then it's a good time to download here and make sure the new engine meets your expectations.
Posted by John Dowdell at 04:41 PM | Comments (0) | TrackBack
Full IE/Eolas Apr 11?
Full IE/Eolas Apr 11? Robert McMillan of IDG News Service has an article which entered wide commercial syndication today. He says that Microsoft expects to mainline their "click to activate content" change to Internet Explorer in their April 11 version of Windows Update, although the exact timing is still subject to change. Full info on user experience and hassle-minimization is at the Active Content Developer Center. I've been seeing the issue continue to appear on mailing lists, from people who just learned of the change and are shocked... I'm figuring we'll get newbies on it for another few months. Fortunately, most of the people who have already worked through the browser change find that they can get the results they wish. It's apparently most alarming when you first hear the news, less alarming after you examine it more.
Update: [Additional blogsearch terms: eolas, patent, activex, Active Content]
Posted by John Dowdell at 01:14 PM | Comments (3) | TrackBack
March 23, 2006
Flex as Cross-Browser Solution
Flex as Cross-Browser Solution: On an "ajax" theme, I'm bumping up this DevX article which hit the aggregators last week... Shari Nakano and Steve Samson examine the cross-browser JavaScript needed for even a simple task like text retrieval, and compare the much cheaper coding/maintainence costs when using Flex's XML layouts to invoke the clientside Flash Player. Asking the server for new text is a real simple task. Deserializing XML to in-memory objects, rendering stuff, all the media tasks... these show even greater efficiency (and possibility!) differences between Ajax and Flex. The authors conclude, as I do, that both available technologies should be used, as appropriate... that Ajax is in no way "wrong"; it's the Ajax-triumphalist *argument* which is wrong.
Posted by John Dowdell at 08:46 AM | Comments (2) | TrackBack
March 14, 2006
Unicode & characters
Unicode & characters: This is a little off-topic, but it covers a subject in depth which is only alluded to elsewhere. Japan, Beijing, Taiwan all use multi-stroke characters, but the characters and their meanings may differ across languages, and have differed in various regions across time. This has added difficulties for encoding in web pages via the Unicode approach. It's a long essay, with background on different approaches, timelines, some of the reasons for some of the solutions, more. [Additional blogsearch terms: japanese, kanji, hanzi, traditional, simplified, BIG5 ]
Posted by John Dowdell at 03:11 PM | Comments (1) | TrackBack
March 13, 2006
XHR support %?
XHR support %? The link goes to a Google search on "How many browsers support AJaX?" That XmlHttpRequest was introduced in Microsoft Windows browsers in the late 90s, but it wasn't until Firefox added it that live data requests became chic. Pages like the Wikipedia entry describe which browsers support it, in either its MS-style or its Firefox-style JavaScript requests. But what percentage of the web audience uses browsers which fulfill standard XmlHttpRequest calls? It's an important question, one that you have to answer before figuring out your support options for visitors in noncompliant browsers, but I don't recall anyone measuring such things directly. The NPD Flash audit measures how many consumers can immediately view certain content in their current browser... do you know of any sites, even with a specialist audience, which make stats for how many of their visitors have browsers which can grab new text without dumping their current layout? Have you seen any data on audience capabiity, rather than just "which browsers have it"? Thanks in advance for any tips in comments.
Posted by John Dowdell at 01:00 PM | Comments (0) | TrackBack
FAB comment
FAB comment: I got this link from David Mendels, about last week's Flex/Ajax Bridge... Richard Monson-Haefl has a strong background in Apache and Java, and he says that these bridge routines, for easy communication between Flex 2.0 and NPAPI or Microsoft browsers, are "the single most important advancement in Ajax this year". Lots more key quotes in here, observations on declaring interfaces via MXML from a Java server background, the feature differences between Flex and JavaScript, the "too many JS libraries" problem, more. My takeaway is that, if you're developing for delivery to a hypertext browser, then there's a good range of technology available to you... it's more natural to look at "Flash *and* JavaScript" than "Flash *or* JavaScript". This may be a good bookmark if you need to convince someone with a Java background of their actual options in interface design.
Posted by John Dowdell at 12:46 PM | Comments (0) | TrackBack
March 10, 2006
XMP Toolkit on Labs
XMP Toolkit on Labs: I just noticed this, and anticipate that there will be better-informed comment from others later on this, but, eh, I type fast. ;-) "XMP" is Adobe's Extensible Metadata Platform, and the Toolkit provides way to include custom authoring info in JPEG, PSD, TIFF, AVI, , WAV, MPEG, MP3, MOV. This metadata can then be used within various authoring tools, Adobe Bridge, Lightroom, more. Examples include tagging a photograph with keywords, versioning or contact info on a text layout, etc. The XMP technology is used within other standards, such as Creative Commons licensing. The Mac version of this Labs toolkit is a Universal Binary, for both Motorola and Intel Macs. Sounds interesting to me, and I'd appreciate hearing any thoughts you have on it, thanks.
Posted by John Dowdell at 12:16 PM | Comments (4) | TrackBack
March 08, 2006
Ozzie, clipboard
Ozzie, clipboard: Twenty-nine paragraphs in: "Simply stated, I'd like to extend the clipboard user model to the web." A bit before that there was the concept of websites as silos, just like desktop applications before you could transfer data through the clipboard, but that's where I sort of lose things... a website is more a presentation of a set of services than it is the services themselves, so I'm not sure how you'd copy and paste between websites... I'm guessing he's talking more of a new authoring metaphor for requesting and rendering varied web services in a browser window. Or maybe being able to snag some section of (any? some?) website for reuse elsewhere. There's 25M of "screencasts" available, which may make the idea clearer. So what's my point here? I had seen many weblog references yesterday to this article, and couldn't quite make out what they were referring to, but last night I finally got time to read the original and still don't feel I can accurately summarize the key idea, saving others the time of reading.
Posted by John Dowdell at 08:21 AM | Comments (5) | TrackBack
March 07, 2006
Flex/Ajax Bridge
Flex/Ajax Bridge: This will likely get blogged heavily the next few hours, but I wanted to slip in some environmental context on it... this way of controlling Flex interactivity from the browser's JavaScript (and vice-versa) is obviously as dependent on the browser as on the plugin. The "limitations" section says the alpha was tested in Firefox 1.5 (on unstated platform) and IE6.0sp2. The intercommunication method is called "externalInterface" in Flash 8, which I believe is based on this 2004 press release from Mozilla, Opera, Sun, Apple, and Adobe, as well as adding the prior ActiveX Scripting for Microsoft's browser on Windows. I don't know of any conformance testing on these browsers... Brad Neuberg ran into performance problems awhile ago when trying to pass large amounts of data through this simple messaging interface, for instance. I don't know of any problems with this implementation, but as with anything that involves browser functionality, it's good to stresstest the work on the range of environments your audience might choose.
Posted by John Dowdell at 05:51 PM | Comments (0) | TrackBack
March 01, 2006
IE ActiveX change
IE ActiveX change: Ziff-Davis reports that Microsoft has pushed their changed browser live: "The update is now available to the general public as an optional download via Windows Update and Microsoft's Download Centre Web site." I'm not sure what sort of consumer adoption such an option in Windows Update would provoke. ActiveX content displays as before, but requires a click into the screen area in order to activate for interactivity. The old Macromedia materials have been updated on the Adobe site for this new, less onerous implementation. A quick check of Microsoft blogs doesn't reveal additional context. If you've got any questions, concerns or other thoughts, it'd be great to collect them in the comments here so other Adobe staffers can hear them at a single address, thanks.
Update: [Additional blogsearch terms: eolas, patent, activex, Active Content]
Posted by John Dowdell at 07:35 AM | Comments (6) | TrackBack
February 28, 2006
Expression vs web
Expression vs web: Wayne Smith of Microsoft has some context on Sparkle for web work, as opposed to platform work. Scroll about 2/3rds down, to the "WPF Everywhere" section, where they discuss environments other than Vista and WinXP: "That's a little way in the future. WPF/E will make a subset of the WPF available to other platforms and to a range of devices which have yet to be decided, although I think we have announced that it will be available for the Apple Macintosh. Build work is proceeding but at the moment it's very much at the stage of being defined and specified. There aren't any dates attached to it yet, but I can say that it certainly won't be a reality in the immediate Vista timeframe, so for instance it's not something that Expression Interactive Designer will initially target. It'll be a future version of Interactive Designer that will work with WPF/E... Ours is more of a platform story than a player technology. Yes, the WPF/E will also be in effect a player, but it is designed to extend the reach of WPF, rather than being a separate entity in itself... where we're different [from Adobe] is that we're not trying to be technology-agnostic. We are very clearly in the ASP.NET camp with Web Designer, and we drill down very heavily into it." This seems more in line with how many of us were reading the story a few months ago, rather than the "Quartz vs Dreamweaver" type of stories that were in the press at the time. Microsoft's in the business of providing a deeply-integrated operating system; Adobe's in the business of providing a neutral media/interactivity layer atop the wide variety of the world's devices. Both take advantage of good technology like vectors, HTML, data-binding, and the rest. The news about Expression seems to be that it will be easier for designers to work in a straight Windows environment, and it won't be coders-only anymore.
Posted by John Dowdell at 04:59 PM | Comments (1) | TrackBack
February 17, 2006
CSS game
CSS game: I've had this piece from Stu Nicholls open on my desktop a few days, and couldn't really tell you why... it's not the most riveting of games, yet I respect that he reworked styling descriptions to such odd purpose... strange little thing, it is, d'you have thoughts on it...?
Posted by John Dowdell at 01:11 PM | Comments (3) | TrackBack
February 16, 2006
JS framework comparison
JS framework comparison: Kevin Yank compares yesterday's Yahoo JavaScript UI library with Dojo, Prototype, and Zimbra's AJaX toolkit. The comparison doesn't go deep, but does give a good flavor of each project. The Yahoo User Interface library has a nice interface itself, with examples linked on the main page for each entry. While looking at these I had a very strong sense of deja vu... where Dreamweaver 1.0 put its JS animation power into the application's interface, Yahoo provides external textual material describing how to trigger it via text. Examples like the targeted drag'n'drop remind me of the JavaScript used in the CourseBuilder extensions for Dreamweaver. The big difference seems to be that development workflow here is text-based rather than UI-based. Related note: One big unknown for me here is the actual effect of multiple HTTP connections to fetch external CSS files, external JS files... an under-appreciated benefit of SWF file format is that the number of four-step HTTP negotiations is dramatically reduced and (with appropriate authoring) the content can start to display 'way before all media & instructions are transferred to the browser... no big thing, just affects scalability, and it's always hard for me to see what a page actually does when its source code is scattered among more than three or four files. Anyway, there's good stuff in these articles, as well as the Yahoo Design Patterns, but I'm a little puzzled at the differences in perception of such material over the last decade.... [via Chris Cornutt]
Posted by John Dowdell at 01:21 PM | Comments (0) | TrackBack
February 15, 2006
Looks like a nail
Looks like a nail: Microsoft staffer Ian Mouster writes: "In the world of application delivery there has long been a choice between reach and fidelity: either your application is high fidelity (eg a rich client with a rich user experience) or it has really broad reach (eg an HTML page). The Nirvana is to bring these two things together so that you get broad reach with a high fidelity application. And for many years now the Microsoft platform has been one of the few ways - maybe the only way - of getting close to that ideal...." I've seen this "rich vs reach" discussion as a Microsoft talking point for about a year, whether for presentations or applications or archivable documents, but, I don't know, that storyline just seems to be missing a certain, ah, je ne sais quoi.... ;-) (I definitely agree with his point that lots of people use Windows, and so a Windows-only technology reaches many people deep into their computers, but considering that Flash Player 8 is already more popular than Windows XP, it seems that if you wanted the widest reach for predictable yet system-safe interactions then Flash work would be the ticket.)
Posted by John Dowdell at 02:28 PM | Comments (2) | TrackBack
February 14, 2006
Yahoo browser strategy
Yahoo browser strategy: Nate Koechley talks about how Yahoo handles the testing of HTML/JS/CSS interfaces. I think it boils down to them having a whitelist of browsers which they test and work ("A-grade"), a blacklist of browsers which they test and don't work ("C-grade"), and a greylist of browsers they haven't tested ("X-grade"). The blacklist gets a simple HTML presentation which all the browsers can render. The untested greylist includes rare browsers which aren't cost-effective to test, and new browsers which could not be QA'd during the last development cycle. They assume that untested browsers can handle their normal content. A striking quote, which I can't document: "There are over 10,000 browser brands, versions, and configurations and that number is growing." The core strategy seems to be to use an alternate representation for certain audience members. This strategy is also used by some for audience members with different sensory or motor capabilities... a version of the site which is optimized for screenreading, eg. Other people argue that this creates "second class citizens", and say that one document should be made perfect to fit all audience members. (I'm also thinking of alternate representations for those with low English skills... I don't know of any real analytic work on "How many versions of my website should I make?") Nate offers an appendix with a chart showing various browser brands, versions, and OS combos, and whether each supports their app, does not support their app, or whether its support for their app is currently unknown -- basically they like Firefox 1.07 or 1.5x, any IE/Win past v5.0, Opera/WinXP, and the most recent Safari versions on the most recent Apple OSs. If you put the amibitious stuff in Flash, of course, this whole testing regime would be a whole lot cheaper.... ;-)
Posted by John Dowdell at 04:57 PM | Comments (0) | TrackBack
Firefox memory
Firefox memory: Ben Goodger discusses aspects of how Firefox handles memory: "Firefox 1.5 implements a Back-Forward cache that retains the rendered document for the last five session history entries for each tab. This is a lot of data. If you have a lot of tabs, Firefox's memory usage can climb dramatically. It's a trade-off. What you get out of it is faster performance as you navigate the web." He discusses how to tweak this preference. In a related discussion, Robert O'Callahan notes how JavaScript control over SVG primitives in Firefox 1.5 requires promoting each primitive to a first-class browser entity in XPCom, with significant memory effects, and Brendan Eich responds: "Don't use XPCOM in core rendering and layout data structures. Do use XPCOM where it wins, as high-level inter-library and inter-programming-language glue, where the QueryInterface and virtual method call costs are noise, and the benefits for programming in the large are obvious." (The Adobe browser extensions use XPCom, but more as that "inter-library glue" than for changing colors on mouseover and other simple tasks.)
Posted by John Dowdell at 04:04 PM | Comments (1) | TrackBack
Ambitious CSS guidelines
Ambitious CSS guidelines: Roger Johansson offers tips for using CSS when you wish to go beyond the basics, into those areas in which the various realworld implementations your audience may choose do no tyet fully coincide. He recommends to remove all defaults for all elements, to do most of your viewing in Firefox or Opera and then to test in the popular IE/Win, to shun "CSS hacks", and to have your markup approved by the spec-validators. This seems like good advice for the future, too, even though the various browsers will eventually converge in implementation details for the CSS specs... rendering engines are always pushing the edge, and with multi-engine format like CSS, HTML and JS some engines will always advance faster than others... staying in the mainstream where implementations have already converged is safest, but if you've got to get ambitious, then Roger's guidelines can help.
Posted by John Dowdell at 03:31 PM | Comments (0) | TrackBack
MS browser changes
MS browser changes: Microsoft details some of the effects of a change to ActiveX handling in a future version of the browser. The biggest difference is that such browsers will mandate a click in ActiveX screen area for user interactivity -- if you've been following the Eolas news over the years then this seems a lot less onerous than what we all were looking at back in 2004. I've heard there will be orientation material up on the Adobe site soon, but it's still unclear to me when and how this browser change will actually ship, and how many people it would actually affect in what timeframe. Red flags: This Microsoft document notes some problems in current testing: window scrolling, DHTML "wmode" layering, CSS settings, Google Toolbar issue, and I can't tell if these will be addressed before consumer distribution.
Update: [Additional blogsearch terms: eolas, patent, activex, Active Content]
Posted by John Dowdell at 03:05 PM | Comments (3) | TrackBack
February 13, 2006
Browser overview
Browser overview: InternetWeek compares UI handlings in the Microsoft, Firefox, Opera and Maxthon browsers. It's 18 pages, but is segmented logically into subjects. There isn't much here on CSS differences or JavaScript differences, but a lot on how different browsers approach different tasks such as bookmarking a group of webpages, detecting suspicious URLs, handle XML versions of websites, more.
Posted by John Dowdell at 05:01 PM | Comments (0) | TrackBack
February 11, 2006
Carson conf notes
Carson conf notes: Simon Willison took extensive notes during the Carson Workshops Future of Web Apps conference. He features quick-scanning summaries of presentations from people at del.icio.us, Flickr, Yahoo!, 37 Signals, Google Maps, Mint, Adobe Flex. I haven't read it all yet, but I definitely appreciate the work he (and the speakers) contributed here.
Posted by John Dowdell at 12:13 PM | Comments (0) | TrackBack
Data request differences
Data request differences: David M. Peterson compares implementation details in XmlHttpRequest support across various current browsers. "I keep on bumping up against implementation inconsistencies on IE vs. Safari vs. Opera vs. Mozilla. Although the interface exposed is pretty much the same, what it does in the background is very different, especially with regards to HTTP." All these browsers can use the same call to refresh text data without reloading the rest of the web page, but there are differences in exactly how each browser handles this chore. He has set up a test page which examines implementation details for your current browser, and a future step is to catalog and compare the results across browser brands, platforms, and versions. [via Chris Cornutt]
Posted by John Dowdell at 10:00 AM | Comments (1) | TrackBack
January 27, 2006
XHTML 2.0 vs HTML 5
XHTML 2.0 vs HTML 5: Edd Dumbill writes of the debates over which way browsers should behave next year. I don't have a succinct overview myself. Changes like putting ALT text into a full IMG tag sound like they'd have some effects on the world: "<p><img src="http://example.com/water.png">H<sub>2</sub>O</img></p>" Key quote: "In these two articles, I've presented the salient points of both WHATWG's HTML 5 and the W3C's XHTML 2.0. The two initiatives are quite different: The grassroots-organised WHATWG aims for a gently incremental enhancement of HTML 4 and XHTML 1.0, whereas the consortium-sponsored XHTML 2.0 is a comprehensive refactoring of the HTML language. While different, the two approaches are not incompatible." (Related: Sometimes I like to go read the 1993 papers on HTML, the types of jobs for which it was envisioned, and how it was refactored down as a simpler, more learnable, and more uniformly implementable format than SGML....)
Posted by John Dowdell at 03:16 PM | Comments (0) | TrackBack
January 26, 2006
Google SVG use
Google SVG use: Earlier this week Google released a study of how many web pages were constructed, and displayed the results in SVG. There was discussion at Slashdot and other places, but on Evolt's mailing list, Dejan Kozina described viewing tests in a variety of SVG-supporting environments. (Summary: SVG ain't "SVG", you've got to specify the implementation.) Max Schwanekamp had more info on how the decision was made. For me, this is the key issue behind most of the Microsoft Expression discussions this week -- where does the stuff actually work, what costs do your audience have to pay to view it? Focusing on the file formats is nice, but what's the actual engine which renders your work in each of the various viewing environments?
Posted by John Dowdell at 05:17 PM | Comments (3) | TrackBack
January 25, 2006
svgtest.org
svgtest.org: New opensource project, designed to make a test suite for comparing the various SVG renderers. The mailing list is discussing some of the issues involved.
Posted by John Dowdell at 04:08 PM | Comments (0) | TrackBack
Web design vs "web standards"
Web design vs "web standards": The author of ActionScript Jabberwocky runs a rant on browser variability, and pulls good commentary in reply. He contrasts the Flash approach of defining how the world's computers will act (by getting a lightweight rendering engine onto all those machines), and the HTML approach of defining how the world's computers should act (by defining an ideal file format, then hoping others implement engines for these formats, and that these various renderers match behavior to support the design, and that consumers choose the designer's preferred renderers). I think that both user-controlled and presenter-controlled formats are important in the ecology, but I also suspect that designers' desires can quickly over-reach the shared areas of cross-browser functionality -- HTML started simple, but has gotten more complex and less approachable over the years. There's a good discussion here about the balance between predictable design and multiple engines.
Posted by John Dowdell at 03:46 PM | Comments (2) | TrackBack
January 13, 2006
AJaX bandwidth
AJaX bandwidth: Jonathan Boutelle has a piece here on how the MacRumors site reported on the MacWorld Expo keynote via automated XmlHttpRequest ("literal AJaX") and realized a bandwidth savings. I left a comment at JB's place but received a server error, and so am reposting here. It's great that MacRumors separated their text from their presentation, but I'm not sure that the bandwidth comparisons are apples-to-apples -- calling for a fresh XML version every minute may have a different refresh rate than how often someone may do a full-page refresh in their browser. There's another variable in whether the every-60-second XML delivery is the full body of text, or just the delta of changed text from the last request... you could write your JavaScript and server routines either way. Calling it "AJaX" may not be as accurate as saying that the content was finally separated from the presentation, because the JavaScript XmlHttpRequest call is just an implementation detail, with the big difference in being the re-architecture of the document to separate text from interactivity (JS), styling (CSS) and layout (HTML) instructions. Good news, though, and I appreciate the tip from Jonathan.
Posted by John Dowdell at 09:59 AM | Comments (3) | TrackBack
December 07, 2005
Ferraiolo on SVG
Ferraiolo on SVG: Jon Ferraiolo, longtime contributor to Adobe's SVG work, offers guidance on the SVG mailing list, particularly in light of the current info about technology on the merger FAQ and subsequent discussions. "Adobe has no plans to do anything which would disrupt any ASV3 installations or dependencies on ASV3 downloads. If we come out with new viewing technology which includes SVG support, we will be highly sensitive towards the needs of SVG applications that are installed in the field today." (Related: Andrew Wooldridge, one of the first people to get into Dreamweaver extensibility, notes a new Yahoo list for those tracking experiments in in-browser drawing via the CANVAS tag in Safari and Firefox.)
Posted by John Dowdell at 10:08 AM | Comments (0) | TrackBack
November 30, 2005
Firefox SVG resources
Firefox SVG resources: Yesterday's Firefox 1.5 release was the first version to have some type of SVG rendering enabled by default. Because "AJaX" got popular only after XmlHttpRequest appeared in the preferred Firefox browser, I'd expect an uptick in SVG experiments with this new renderer. The above link shows which parts of the SVG 1.1 spec are implemented and not implemented in Firefox (compare the W3C implementation matrix, from 2001). Jonathan Watt also offers SVG authoring guidelines to make pages more renderer-independent. More info is in the Mozilla SVG mailing list. [via Jonathan Watt]
Posted by John Dowdell at 02:32 PM | Comments (6) | TrackBack
November 28, 2005
Hackery costs
Hackery costs: Tantek Celic discusses the long-term effects of getting overly tricksy with CSS. The article is long, starts with detail and bounces back between viewponts, but I think the main point is "stay in the mainstream when rendering on a range of Other Peoples Engines". Steven Wood has a similar summary at Molly Holzschlag's blog. When reading this I think of the original principles of HTML as a way that anyone could create hypertext documents, and of the pressure now for increased amounts of arcane knowledge as a higher barrier-to-entry. (Things are more straightforward when designing for a single engine than for multiple engines, naturally... there's also the issue of whether you write a spec and hope everybody else implements it "correctly", or whether you provide a capability and then hope others adopt it.)
Posted by John Dowdell at 04:34 AM | Comments (1) | TrackBack
November 09, 2005
MS browser dependence
MS browser dependencies: This post from "Scott", whom I think is a Microsoft staffer (I could search, but he could list his name too), talks about some of the browser dependencies that prevent their DHTML/AJaX sites from working outside of IE/Win and Firefox. (The live.com site today adds Firefox, but still fails without feedback to Safari or other browsers... John Welch captured how I feel about the need for usefully guiding visitors about their experience.) More from surnameless Scott here.
Posted by John Dowdell at 03:23 PM | Comments (6) | TrackBack
November 07, 2005
JSifying SWF
JSifying SWF: You may be comfortable using SWF-producing tools, but not everyone is. That's why I think Paul Colton's AFLAX routine is cool. If I'm understanding it correctly, he offers a generic SWF file (aflax.swf), and a matching generic JavaScript file (aflax.js) to talk to this SWF. Then in a second JavaScript file you can write instructions for the desired effects. See this barchart.js file -- it's like a JavaScript developer is writing to a richer rendering engine than what they normally write to, giving a result like this. Advantages? More approachable for those already using a JS-centric workflow. Disadvantages? Calling more files, more parsing than with a precompiled SWF. It took me a little while to figure out what was going on, and I may still be offbase, but offering Flash-y effects to any JavaScript developer to play in any browser sounds like a good goal to me.
Posted by John Dowdell at 03:20 PM | Comments (1) | TrackBack
November 01, 2005
Eolas news
Eolas news: Not news, really... came out last week, but you might get questions from clients or colleagues now that the article is in such wide syndication. From what I read, this month's ruling was mostly about an appeal on a prior ruling where Microsoft had to pay Eolas $500 million, rather than about what browsers can legally do in the future and how. (For the latter, the Active Content Developer Center has had its content mothballed to avoid confusing anyone who stumbled upon it, but to my knowledge those technical methods are still available, should they be needed.) Anyway, no news here from us, from what I can read into it....
Posted by John Dowdell at 04:35 PM | Comments (2) | TrackBack
October 24, 2005
Browser leak links
Browser leak links: Evolt has a long discussion (continued in this week's archive) about ways to get various memory leaks with various JavaScript techniques in various browsers. (I couldn't parse Aardvark's original question... doesn't seem like it's particular JavaScript which is the problem, so much as particular JavaScript in a particular browser or two.) Joel Webber's "DHTML leaks like a sieve" paper from January doesn't seem to be on Blogspot anymore (see comments elsewhere)... there are links to utilities, articles and technotes on the subject... this Evolt discussion might be a good bookmark if you ever have to handle some browser's memory use in some JavaScript routine yourself. (Related: Tinic Uro on Garbage Collection in Flash Player 8.)
Posted by John Dowdell at 02:37 PM | Comments (1) | TrackBack
October 12, 2005
Apple introduces...
Apple introduces..." DHTML scrolling... appears to work with all but IE/Mac.
Posted by John Dowdell at 02:49 PM | Comments (0) | TrackBack
September 30, 2005
Web 2.0 def
Web 2.0 def: Tim O'Reilly coined the term, and there's since been a lot of discussion about what it might mean, but here Tim has the most practical definition I've seen yet: "Web 2.0 is about systems that harness collective intelligence." Sounds good to me. Hierarchies work for lots of tasks, but decentralized decision-making networks work for lots of other tasks... need both. It's easier to diagram how a piston works than how a garden works, though, so complex systems take time to evolve.
Posted by John Dowdell at 08:10 PM | Comments (0) | TrackBack
September 29, 2005
AJaX via IMG
AJaX via IMG: Cute... people have been trying to separate data from presentation in browsers for years, but there are only so many things the various browsers update without page-refresh... aside from Java or Flash, the hidden frame trick was the most popular solution until Firefox adopted the old Microsoft XmlHttpRequest function. But document browsers can also request new graphics without refreshing the page, and Julien Lamarre shows how this can update the page too -- he passes along user data in the URL when re-SRCing an IMG, then grabs the server's reply from the cookie data it sends back. I'm not sure when you'd choose this technique over others, but it's a good reminder of what document browsers actually do, how they work.
Posted by John Dowdell at 02:59 PM | Comments (0) | TrackBack
September 22, 2005
Slashdot CSS
Slashdot CSS: Popular commentary site changes its display system: "After 8 years of my nasty, crufty, hodge podged together HTML, last night we finally switched over to clean HTML 4.01 with a full complement of CSS." Amazing stat: the site has 900,000 users (I'm assuming these are registered users, not visitors)... 60,000 articles already... 13 million comments (no wonder I couldn't read them all! ;-) Graphics are still in proprietary, patent-ridden GIF instead of the W3C's first Recommendation, though. ;-) The site itself has a SourceForge project page, where problems and requests can be tracked... see example of workflow... I'm interested in any comments from those who have worked on the back end of a system like this, trying to refine input for changes, thanks in advance.
Posted by John Dowdell at 12:56 PM | Comments (5) | TrackBack
September 21, 2005
DEMO reviews
DEMO reviews: This conference offers many smaller groups a way to quickly showcase their recent work. Mike Masnick at Techdirt has some of the stronger notes I've read... Keith Shaw and friends at NetworkWorld.com offer good content too.
Posted by John Dowdell at 03:51 PM | Comments (0) | TrackBack
September 16, 2005
WPF animation
WPF animation: I got this off the Microsoft conference aggregator... "WPF" is "Windows Presentation Framework", the new name for Avalon which was Longhorn-speak for Vista, and whose actual format is XAML. I don't know of a way to see this without a large installation, but the source code's "BeginTime" style keyframing caught my eye, particularly with all those "Sparkle vs Flash" discussions online this week. Seems like this would be sort of large to send down to a client.
Posted by John Dowdell at 05:15 PM | Comments (5) | TrackBack
September 14, 2005
WPF/E info
WPF/E info: In Microsoft's announcements today there was something about "Windows Presentation Foundation 'Everywhere'", which was a way to see some of the Avalon goodness without buying a new operating system (and presumably hardware). I couldn't search up anything earlier today, but now there are impressions from Adam Kinney (above), Michael Coates, Ben Galbraith, and more. It's an interesting problem... to get enterprise adoption they'd often have to offer at least some way for non-Vista audience members to participate... there's MS Office for Macintosh, Outlook Web Mail for the rest of the world, ActiveX for IE/Mac, and so on. To get new runtimes on multiple platforms, particularly when relying on difficult media elements like audio and video... well, my immediate thought is that they might make a wrapper SWF to handle XAML files in the Macromedia Flash Player... seems to make more sense than writing their own native-code engines and hoping people will download and update them. The overall announcement makes a lot of sense, and this afternoon we're starting to see conference attendees describe what they heard at the event.
Posted by John Dowdell at 05:22 PM | Comments (0) | TrackBack
Microsoft Expression site
Microsoft Expression site: The newspapers told me this was a "Microsoft vs Macromedia" deathmatch, so I naturally had to go check. ;-) I viewed this page in Firefox/Win and it was nice... little "remote mouseovers" when you roll over the "Quartz Web Designer" box and such. I tried reading the source, but (like many websites these days) it costs awhile to read the markup. So I opened up IE/Win and went to the same page... much nicer visuals, when you roll over the boxes there's now a little animation with motion blur. "Okay," sez I, "that's just visuals, let's learn a little more about functionality," and I went to the Quartz demos page. When I clicked the "Click here and begin" graphic it didn't quite begin... ulp! I was back in Firefox, that's why, switching over to IE/Win there was a whole nice video presentation. Somehow, I guess I may not be in the target demographic for this offering.... ;-)
Posted by John Dowdell at 01:53 PM | Comments (4) | TrackBack
Good JS support matrix
Good JS support matrix: One of the problems with ambitious interaction and display in web browsers is the diversity of playback engines which will attempt to handle those instructions. Mark Wilton-Jones offers a JavaScript library, and he does solid work in saying which environments he has tested and found predictable... scroll down to the browser matrix mid-page. I'm not sure of the assumption that newer versions contain old functionality... this old "getUrl(javascript:" matrix always scared me with how some under-documented functionality happened to disappear in newer versions. He also doesn't seem to document whether scripting is predictable across browser platforms, as well as across browser brands. But this is really the type of support chart which is needed if using ambitious JavaScript on a public site, isn't it...? [via the discussion forums at the MS Atlas site]
Posted by John Dowdell at 12:23 PM | Comments (0) | TrackBack
September 12, 2005
Deer Park effect
Deer Park effect: An FYI on the new Firefox beta... out of the eight or so extensions I use, only one was available updated for this beta... the rest of my extensions are currently disabled. I'm also not able to easily find the old version on my drive... I may have to uninstall to regain prior functionality. (I had bitten the bullet on the beta because the current release has started failing once or twice a day on me, and I suspected damaged bits, but generally, "If it ain't broke don't fix it" holds true once again.... :(
Posted by John Dowdell at 05:05 PM | Comments (9) | TrackBack
Scoble on Sparkle
Scoble on Sparkle: Microsoft blogger Robert Scoble responds to some of the pre-conference articles: "One thing I gotta correct. I used to think that Sparkle was a Flash killer. Hey, that was good hype cause that team hired a lot of graphic designers, including guys like Manuel Clement who used to speak at a bunch of the Flashforward conferences. But I got the demo. It is NO Flash killer. You'll get a look at the demo on Channel 9 on Wednesday after the team presents what they are doing here at the PDC." Vector drawing is useful -- XML-defined interfaces are useful -- the WWW is useful. But different initiatives make different use of these technologies. Microsoft is working hard on an entire new operating system. Macromedia is working hard on a universal client across, not only browsers and operating systems, but across devices. Each company does have to act, at least in part, "as if" they are directly targeted, but going from "vector interfaces" to "A is a B-killer" mainly just adds some journalistic drama. Take each offering for what it does best.
Posted by John Dowdell at 03:48 PM | Comments (0) | TrackBack
Gap.com pulls data
Gap.com pulls data: This NYT article can be freely read at Seattle Post-Intelligencer -- it describes how clothing stores The Gap, Banana Republic, and Old Navy are revamping their websites. Most commentary I've seen focuses on how the stores closed their sites during the slow end-of-August period... it wasn't just the website being replaced, but also the inventory system and the promotion system at the same time. I was impressed by some of the user-experience improvements they offer -- they're trying to replace data within the page more than replace the pages themselves. They apparently avoid loss-of-context by using additional browser windows (they're apparently using JavaScript for interactivity), but overall they've got a better connection between client and server than in the classic late-90s "web app" model. It's good to see the emerging consensus that the early-00s "RIA" model is indeed the way to go. Meanwhile, here in 2005, there's already a lot of work being done on getting beyond the desktop browser.... ;-)
Posted by John Dowdell at 01:06 PM | Comments (1) | TrackBack
August 31, 2005
Firefox blinks
Firefox blinks: I don't know what prompted me to check, but... the current Firefox browser still renders . I know there's a practical joke or two in here somewhere.... ;-)
Posted by John Dowdell at 02:50 PM | Comments (3) | TrackBack
Eclipse Rich Client Platform
Eclipse Rich Client Platform: Darryl Taft has a succinct quote here on Eclipse RCP: "Milinkovich defined RCP-based rich client applications as the open-source equivalent of Microsoft smart client applications, which combine the richness of a desktop environment and the lightness of a browser-based application. Milinkovich said RCP 'rules' because 'the Web is not for everything.' He said he views RCP applications as replacements for .Net smart client applications." Getting stuff to run on Other Peoples Machines (OPMs) is the hard part... browsers handle it by having different HTML/JS/CSS renderers, of roughly comparable featuresets, on OPMs... Microsoft handles it by creating the operating system... Macromedia handles it by platform-neutrality and tons of great content (thank you!)... it sounds like Eclipse is working on creating an extensible clientside runtime with optional modules, maybe similar to the XUL work from Mozilla. But still, there's a chicken-and-egg problem for many projects in whether you can persuade a potential audience member to install that runtime, or its extensions. For me, a significant factor is that consensus is emerging that applications optimized for hypertext document browsing aren't tailored for all purposes to which we can put the network. More info via the Eclipse RCP FAQ.
Posted by John Dowdell at 02:16 PM | Comments (0) | TrackBack
August 23, 2005
EMBED-less accessibility
EMBED-less accessibility: Andrew Kirkpatrick tries various approaches to avoiding the EMBED tag, then checks how each performs, in a variety of browsers, on the following features: (a) whether that browser supports even simple appearance of the plugin content; (b) whether the plugin can then connect with the Microsoft Active Accessibility layer for screenreaders; and (c) whether keyboard access then works normally. (Other problems found in various browsers by avoiding EMBED include the loss of data parameters, difficulty streaming, loss of FSCommand, more.)
Posted by John Dowdell at 03:02 PM | Comments (0) | TrackBack
August 17, 2005
AJaX as ActiveX
AJaX as ActiveX: With all the talk this past season about XmlHttpRequest, Pete Freitag raises a point I hadn't considered: if you set your IE/Win security levels to "Highest", these sites won't work. (NB: Here, "AJaX" means the actual Asynchronous JavaScript & XML definition, rather than the more recent "fancier JavaScript" definition.) Why? The XmlHttpRequest object in Internet Explorer for Windows is implemented as an ActiveX Control, just as the Macromedia Flash Player and other plugins are. Try it -- go to Google Suggest in IE/Win, type a few words, and you'll see the results of a realtime data request to the server. Now go to the Tools menu, to Internet Options, and pull up the "Security" pane -- slide that security level to "High", close the dialog, refresh the page and there goes the AJaX. At this same level you won't see any Flash work either, but these are both ActiveX Controls which come with the browser... doesn't seem much ground to discriminate between them other than net functionality.....
Posted by John Dowdell at 03:51 PM | Comments (2) | TrackBack
August 09, 2005
Multiline URLs in Firefox
Multiline URLs in Firefox: Simple, but handy... Jeremy Zawodny notes a hidden Firefox preference so URLs greater than 80 characters long can be easily copied from email or whatever. Took me a few days to go "about:config", but it works for me, does what I want! (Jeremy also has a funny interchange with a certain species of net denizen.)
Posted by John Dowdell at 04:47 PM | Comments (1) | TrackBack
July 29, 2005
MM KB in FF
MM KB in FF: Want to check the Macromedia post-release documentation from your web browser? You can save a step with what Craig Petrou has donated here... it's a Mycroft search extension for Firefox which lets you directly query the Macromedia Knowledge Base from your browser's search bar. It brings you directly to the Knowledge Base Guided Search page on the topic, which not only lists normal search result hits but also offers navigational drill-down into a topic. This joins the macromedia.com and ActionScript LiveDocs search plugins from Greg Beauchesne and Albert Banks. Beats a bookmark -- just type, click, and research!
Posted by John Dowdell at 12:45 PM | Comments (3) | TrackBack
July 21, 2005
"Understanding the Greasemonkey vulnerability"
"Understanding the Greasemonkey vulnerability": Simon Willison explains the potential exploit within the site-altering Greasemonkey extension to Firefox, and does so within a page of text. I tried to distill this to a paragraph, but could not... there was a digression into two flavors of XmlHttpRequest which I couldn't confidently paraphrase. The core problem seems to be that JavaScript within a web page could watch for a certain JavaScript event in the Greasemonkey routines, to grant the rogue site extra privileges to accessing your hard drive. This breaches the different security levels granted to scripts in pages you visit, and scripts you install in your own browser. (The usual XmlHttpRequest follows the "same-domain" security restrictions used by Java, JavaScript and Flash, but the GreaseMonkey variant temporarily trumps this, and that's where the exploit occurs.) Sidenote: I'm still convinced that a Greasemonkey-enhanced Firefox should present a different user-agent string than a regular read-only Firefox, as a courtesy to website developers who do not wish their content remixed.
Posted by John Dowdell at 04:12 PM | Comments (1) | TrackBack
July 13, 2005
Google Maps Mania
Google Maps Mania: This weblog is described as "An unofficial Google Maps blog tracking the websites, ideas and tools being influenced by Google Maps."
Posted by John Dowdell at 04:18 PM | Comments (0) | TrackBack
July 07, 2005
Traffic-proofing servers
Traffic-proofing servers: Brandon Harper writes of what he did when finding that material on his little Celeron 466 server was suddenly linked to a hot topic on Slashdot. First step was to turn dynamic content (database query) into a static HTML page... next step was to optimize Apache's settings for a high traffic loa