Google Gadget ecosystem statistics for March

The Google gadget ecosystem received 960 million pagevieiws last week, a 36% jump from numbers reported by the search giant just one month ago. Users are adding themes, videos, games, and even a few productivity tools to their personalized homepages and blog sidebars, creating new content for fun and business. In this post I’ll provide some new statistics about Google gadget growth over the past month, building upon my larger statistical overview of Google Gadgets in early March.

March saw the rebirth of two widget brands, and spring cleaning on a few others. On March 8 Yahoo! launched a major update to its My Yahoo! property on a limited scale, giving existing users a sneak peek at a revamped homepage with modules provided by Yahoo! and close partners. A day later Netvibes announced its new Universal Widgets API and a new version of their homepage. Google introduced a homepage redesign on March 20, including support for artistic themes that react to the time of day.

Let’s jump right to the stats. March numbers in this post were measured on March 3, 2007. April numbers were measured on April 2, 2007.

Total listed modules

Google added 622 gadgets to its directory in March, a 15% increase in available content. Available Netvibes modules increased 7%, likely bolstered by existing developers upgrading their modules to the new UWA markup format. Windows Live 13% more gadgets in its directory than just one month ago.

Widget startpage module growth, March 2007
ProviderMarchAprilGain
Google4,2264,84815%
Netvibes6737217%
Windows Live56964013%
Pageflakes1491533%

Fastest growing Google Gadgets

Total Google Gadget weekly pageviews grew 36% in the last month, but a few gadgets stood out with spectacular growth spurts. This growth could be caused by increased promotion by the authors, a high relevancy to an already popular gadget, seasonal changes in content demand, or many other reasons.

11 fastest growing Google Gadgets, March 2007
GadgetGain
Fortune cookie20,518%
Freebie of the day7,645%
The Weather Channel5,354%
Helicopter game5,145%
Windows Live Mail3,096%
Bowling Master2,972%
Customizable RSS Reader2,738%
Jokes and Humour1,951%
Slim RSS Reader1,892%
Wikipedia Photo of the Day1,888%
Odeo podcasts1,777%

RSS gadgets are a rising trend, providing a quick glance at a set of feeds on a personalized homepage, or sharing a relevant set of feeds within a webpage sidebar. I was surprised to see Microsoft’s Windows Live Hotmail on a list of fastest growing Google Gadgets, taking thousands of users at a time away from Microsoft’s own search promotion portal. Odeo might be up for sale, but that hasn’t stopped its podcast widget from climbing the charts in March.

Top Google-produced gainers

Google remains the most popular author on its own platform, accounting for about 60% of all weekly gadget views across the Google Gadget ecosystem. Google’s own gadgets grew at a slower rate than the rest of the ecosystem in March, trailing the market by about 2%.

Top 6 Google-produced gadget gainers, March 2007
GadgetGain
Feeds in Tabs159%
Google Video131%
Google Docs & Spreadsheets109%
Google Bookmarks108%
Google Checkout107%
Baseball Player of the Day93%

RSS gadgets show their continued popularity, this time as a one-feed per tab option provided by Google. Google Bookmarks and Google Docs & Spreadsheets gadgets are aimed at web users producing and tracking their newly created content, and may be an indicator of the general popularity of both services. The Google Checkout gadget was the biggest surprise to me, letting users follow the top-selling products and prices at retailers supporting Google Checkout’s purchase option.

Summary

Google continues to grow its gadget reach and content options, serving nearly one billion gadget views in the last week of March. The growth rate of Google-produced gadgets was slower than the general ecosystem in March, with third-party modules gaining more and more market share.

New weekly podcast on tech news and trends

Last week I started a new weekly podcast covering news and trends in the web technology industry. I plan to sit down with different newsmakers and experts each week to examine the changing state of web technology and hopefully capture a snapshot of how this changing world affects our lives and livelihood. Niall Kennedy’s Podcast is a bit like an extended conversation on the topics I like to cover on Niall Kennedy’s Weblog. I’ll post short summaries to my blog for each new episode, but if you’re interested in full write-ups and enclosures you should subscribe to the podcast feed.

I started podcasting about three years ago and it’s always been a bit of an experimental medium for me. I’ve published in hypertext for about 14 years and I’ve seen our search and subscription capabilities grow over time. Publishing a podcast is one way to learn about audio search, podcatchers, podcast measurement, and podcast marketing first-hand. I also enjoy distributing someone’s voice from Silicon Valley to a pair of ears in Greece or India and opening up new opportunities for anyone to feel like they are in the room listening in on a conversation.

I record face-to-face podcasts for better audio quality and interactions. I’m syndicating the podcast in the Atom syndication format, hopefully breaking a few podcatchers in need of an upgrade. I’m syndicating the name and URL of each guest as a contributor, and you can follow text comments with aggregators supporting Atom Threading Extensions.

Last week I sat down with Eric Lin of Phone Scoop to talk about mobile content and the possibility of Google entering the handset business. Yesterday I chatted with Richard Moross of Moo cards about virtual identities transferred to the physical world. Enjoy!

Adobe Apollo: beyond the hype

Adobe released early bits of its next big product bet on Monday morning, a web and desktop hybrid code-named Apollo. Apollo is the first child born out of the Adobe-Macromedia merger of April 2005, bringing together the desktop strength of Adobe PDF combined Macromedia’s web-savvy Flash and Apple’s web browser engine. Apollo will continue to receive heavy marketing from Adobe building towards a 1.0 launch in the fall. In this post I’ll break down the components of Adobe’s Apollo framework, identify opportunities for application development, and compare the promised features against other software offerings.

What is Apollo?

Apollo combines Adobe Reader, Flash Player, and Apple’s Safari browser engine into a single desktop application for the Windows and Mac platforms. Apollo applications have access to the local file system and are placed on your taskbar or dock just like you’d expect from an application.

Apollo will be available as an autoupdate for Flash 9 users and will have similar distribution to existing free products from Adobe such as Reader and Flash.

Adobe Internet TV: Philo

Adobe Philo displaying Rocketboom

Adobe’s first big Apollo app is an Internet video application codenamed Philo. The pervasiveness of Flash Player created multi-billion dollar Internet video startups powered by the Flash video format. The Philo team hopes to expand the display size and quality of distributed videos and get publishers encoding using the latest Flash video encoders. Publishers can skin the entire video player, delivering MTV content in what looks like a MTV video player, or a Rocketboom-themed player shown above..

I have not seen or used Philo, but it should directly compete with Democracy player and possibly Joost. The popularity of online video and cobranded players should help accelerate Apollo’s adoption.

Apollo components

Expect Apollo to use the latest version of all available components at ship time. Apollo requires ActionScript 3, meaning content must be written for Flash 9 and above in order to interact with the Apollo program. HTML, JavaScript, and CSS are handled by WebKit, the open source browser engine behind Apple Safari, Apple Dashboard widgets and the Nokia S60 browser. PDFs will support features such as digital signing and approval, and it’s probably best to develop on the recently released PDF 1.7 format.

Step out of the browser

Modern web applications are pushing the web browser to its limits and already taking advantage of desktop functionality such as JavaScript execution and browser plugins such as Flash or Quicktime. Publishers can take that same web application running inside a browser tab, wrap it in Apollo descriptors, and create a cross-platform desktop application.

Most Apollo applications will likely be repurposed web pages running inside a specialized environment. Mac users already have some of this functionality today as fans of a particular service have created WebKit-based applications combining desktop familiarity with a constantly connected web application.

Imagine your heavy, always-open web apps leaving your browser tab and creating an application-like presence in your taskbar. With a few extra hooks into the Apollo runtime the web application could access files on your hard drive such as your address book, music library, or calendar.

Plugins such as Flash are second-class citizens within the web browser, receiving limited resources even when displayed in the active window. Safari and WebKit lead Dave Hyatt recently explained some of the plugin issues in detail, including complicated state of balancing system resources and user expectations. A stand-alone application removes the limits of these resource constraints, letting an Apollo application write more data to disk, consume more CPU cycles, and interact with other application data on your computer (for better or worse).

Existing WebKit apps

Pyro Campfire application Pyro is a desktop application for the Mac that takes 37signals’ Campfire chat application out of the browser and into the desktop environment. Pyro accesses local UI elements such as new message displays, and supports system notifications using Growl. Campfire might stay open during your entire workday, and it’s useful to have a separate application window and desktop features associated with that workflow.

Pandoraman logo PandoraMan takes Pandora‘s Flash-based streaming music player out of a web browser window and into an application in your dock. You might listen to music throughout the day or enjoy quitting your web browser often, and a desktop application such as PandoraMan helps the music keep playing.

Mac OS X (Objective C/Cocoa) applications taking advantage of the WebCore framework compete with Apollo on the Mac platform. Mac applications built on WebCore can bind to other libraries on the Mac system, taking advantage of notifications, system libraries, and native UI elements.

Windows Presentation Foundation

Nostalgia

Windows Presentation Foundation (WPF) is part of Microsoft’s .Net Framework version 3.0. The presentation layer runs on a user’s graphics card, taking advantage of the specialized hardware to create a the glassy look of Windows Vista or offload other system tasks. WPF UI effects will likely become expected behavior from future applications.

Windows developers can take advantage of Internet Explorer libraries on the machine to render HTML while maintaining the same zones and access controls defined by other parts of the system. A C# developer should be able to write a small application to wrap a website, including plugins such as Flash.

Microsoft’s planned release of WPF/E will extend the reach of Microsoft runtimes across operating systems and web browsers. WPF/E is the most direct competitor to Apollo outside the native application space with support for animation, graphics, and common audio and video codecs.

Summary

Apollo extends the reach of the Flash development community onto the desktop, creating new opportunities for application development using ActionScript 3. The ActionScript development community can now deploy applications onto cell phones using Flash Lite, inside a web browser using Flash Player, and onto the desktop using Apollo.

Apollo’s PDF electronic document support will play a role within the enterprise, opening up smarter form handling and reliability. An enterprise already dependent on PDF workflow and accountability may tap into Apollo for a consistent work flow across the company.

I’ve heard the write-once run-anywhere many times over the past 10 years, but few applications have actually delivered. Java and Java Web Start are the closest historical comparisons, but the demand for multimedia content creates a new breed of competitors in the form of Flash, Apollo, and WPF/E.

I’m still a fan of native application development to create the most feature-rich and well-integrated application possible in the smallest resource footprint. Java and ActionScript programmers can extend the reach of their code base without learning too many new things, and I definitely understand that attraction, but serious applications should be well integrated.

Adobe has allocated $100 million towards investing in companies that enhance its engagement platform and is especially interested in funding Apollo companies. As of last month Adobe had invested in 6 companies, including word processing company Virtual Ubiquity. Companies might develop for Apollo to take advantage a strategic investment from Adobe at reasonable terms.

Apollo in its current form seems overhyped, but the cross platform development space will definitely look different in a year as we see new toolkits from big companies executed inside and outside of the browser. It’s not too difficult for a web application to pop out of the web browser and into a standalone web technology, and the marketing and investment dollars being spent by large companies such as Adobe and Microsoft should help boost the visibility of cutting edge web apps.

MySpace CSO on keeping users safe

This month’s CSO Magazine features an interview with MySpace security czar Hemanshu Nigam. The article discusses the wealth of available information about the site’s 150 million members for both good and bad purposes, and ways MySpace is working to clean up and protect its community and brand. Parent company News Corp. wants to create a safe community attractive to new users and advertisers, yet MySpace members are so active and so varied it’s not always an easy task. Nigam formerly worked for heavy-handed intellectual property enforcers Microsoft and the MPAA.

Interesting excerpts

No senior citizens

MySpace members can no longer browse the site for members over 68 years-old. This change complicates the process of finding a member with an age such as 69 or 99, two frequently bogus values. Specialty social networks such as Eons, focused on people 50 and older, start to make sense as large sites such as MySpace cut off the head and the tail of their age range to reduce costs and provide a better user experience for their core user base.

MySpace employees noticed that some young members were listing their age as 69 (shorthand for a sexual position). Older members were then running searches for, say, 69-year-olds under four feet tall, in hopes of finding young members interested in sex. Now, members can no longer browse for people over the age of 68.

120-person support staff

The 120-person MySpace support operations team scans supposedly scans submitted information for illegal and bogus submission. School alumni information is likely more accurate than the person’s submitted age, and MySpace can flag the outliers. I doubt MySpace reviews every uploaded photo and video, since their staff would need to review 122 pieces of content a minute over their entire 8-hour shift just to cover today’s level of upload activity.

The 24/7 support operations team—currently about 40 percent of MySpace’s 300-person staff—manually reviews the 7 million images and videos that are posted every day. They also run searches to try to find underage users who post information, like the name of the elementary school they attend, that indicates they are not at least 14 years old. The company says it currently shuts down about 30,000 profiles of underage users each week.

AskCity lets you draw your search area

Ask.com’s local search product AskCity launched new tools last night that allow searchers to define the scope of a search by drawing on a map. Ask has always been focused on liberal search queries you might ask a concierge and this new search feature again puts the user in charge while abstracting some complexities of local search.

AskCity search drawing tools

In my example search above I searched for coffee near The Palace Hotel, a popular web conference spot. A search for the hotel put a marker in the middle of Market Street, but it didn’t matter in the case of my search. I drew a circle with about a one city block radius, a reasonable walking distance for a meeting or general break from the conference action. AskCity plotted a few options on the map and opened a new pane showing search summaries from IAC partner CitySearch.

A typical local search asks the user for a ZIP code or street address as a center point and searches for nearby points of interest. Users can limit their search via drop-down menu selections with choices including things like 1, 3, or 5 miles from the specified center. If you’re on the edge of a ZIP code boundary or would like to limit your search for after-dinner drinks to the two blocks around your restaurant you’re often out of luck. AskCity’s drawing tools let users draw their search boundaries, constructing longitude and latitude ranges while the user applies a brush stroke.

Despite its unique features such as walking directions and search boundary drawing tools AskCity continues to frustrate me with other UI elements that just get in my way. The map would adjust its center and its zoom level after every shape-based search, leading to extra work trying to pan and zoom back to my search area. It wasn’t immediately obvious how to make the search result pane go away — you maximize the map pane to minimize the search results — and the search listings and reviews displayed seemed to be out of date, not listing a Peet’s that opened last year, and a restaurant I first visited about a year ago was listed as “soon to be open.”

I’m a fan of AskCity’s willingness to experiment and rethink approaches to local search based on our actual behavior. I just want my experience with the whole product to be as productive as my interactions with the single mapping pane.

State of the Google Gadget ecosystem: gadget features

Gadget platforms have many levels of integration and customization beyond a metadata wrapper and some markup. Beginners and tinkerers might stick to the basics, but some gadget authors go beyond the plain essentials and add support for multiple languages, tabbed views, and specify any requirements a gadget may expect. In yesterday’s post I provided an overview of the Google Gadgets ecosystem, detailing the types of content and authors producing Google universal gadgets. Today I’ll dive into developer features and observed implementations.

  1. Language support
  2. Content types
  3. Gadget height
  4. Top built-in libraries
  5. Gadgets produced by Google
  6. Extra requirements
  7. Summary

Language support

Google gadgets language breakdown

Google gadget authors may target up to 15 specific supported languages. Authors add a message bundle for each supported language, displaying static text in the preferred language of each visitor.

328 Google gadgets (8%) specify one or more message bundles targeting a specific language. Although Google only officially supports 15 languages I observed 36 total languages throughout its ecosystem including Serbian, Kannada, and Catalan. I was surprised to find Asian languages in the top 5, as translation services are not as widely available to the gadget authoring masses of North America and Europe and encoding can be tricky.

Content types

Google gadgets content types

A large majority of gadgets (71%) do not declare their Content type and therefore default to html. 5% of all observed Google gadgets have no content markup and instead reference an external URL (an easy way to bootstrap a gadget with pre-existing dynamic content). Only 0.26% of all Google gadgets request inline access.

Note: Google deprecated the render_inline attribute of ModulePrefs in favor of a Content attribute of html-inline. My 0.26% inline gadget observation includes both html-inline and render_inline=”required“.

Gadget height

Google gadget heights

Google Gadgets may specify a natural gadget height, shrinking or expanding the rendered gadget window beyond the default height of 200. Twenty-one percent of all gadgets specified a custom height, with a mean height of 181 and a median height 150. It looks like 200 is a pretty good default value for widgets, since gadget authors don’t seem to vary too far from the default.

Top built-in libraries

Google Gadget developers can use extra features and Google UI tie-ins through feature-specific JavaScript libraries. 847 gadgets (20%) request one or more of these additional six libraries.

Top Google Gadget feature libraries
LibraryUses
Dynamic Height601
Analytics202
SetPrefs163
Tabs53
MiniMessage42
Drag4

Dynamically adjusting a gadget’s height is the most popular extra feature of Google gadget platform. Tracking a gadget’s stats through Google Analytics is the second most popular library, followed by programmatic access of up to 2 KB of user preference storage. MiniMessage is the newest library of the group, showing a temporary message (or advertisement) inside a gadget and I was surprised to see it already used almost as much as tabs.

Extra requirements

Google Gadget authors can specify one or more operating systems, web browsers, or browser plugins that may be required to render their gadget.

Browser restrictions are expressed in 35 total plugins, likely due to JavaScript differences between browsers. Firefox was the most popular browser requirement with 68% of the browser requirement market share.

Adobe Flash logo Flash is explicitly defined as a plugin requirement in 46 gadgets (1%), but only 16 of those gadgets (35%) specify a minimum required version of the Flash Player. Flash usage within Google Gadgets content is likely much higher, just not explicitly defined inside the module preferences.

Gadgets produced by Google

Google logo MC Escher

Google has contributed 48 gadgets to its directory from 17 different authors. That number includes test gadgets created by engineers, and only 28 gadgets created by Google Inc. had gadget views over 500 last week. Google-produced gadgets accounted for 44% of their ecosystem’s total gadget views last week.

Summary

Google Gadgets content is produced for a global audience including a few relatively small language bases and countries. Most gadget authors create new content instead of simply directly referencing a remote page, and only a small percentage of gadgets require inline access its additional security access. Gadget authors are taking advantage of Google’s built-in JavaScript feature libraries to display and track dynamic content, including Google’s support for advertising and promotional messaging in small, dismissible boxes.

Google-produced gadgets are the most popular, but 66% of total gadget views, over 400 million per week, are due to the work of third party developers and fans of site content.

I predict a big increase in Google Analytics integration with new and existing gadgets in the next few months as authors track details of their gadget success on the increasing amount of gadget endpoints. I think Flash usage is higher than explicitly specified as Flash 9 content produced for MySpace becomes the lowest common denominator for companies just getting started in the space or who just prefer to stick to their Flash/Flex tools.

I’ll continue to monitor the Google Gadget ecosystem over time and post some periodic updates as my crawlers discover new things.

State of the Google Gadget ecosystem

Last week the Google Gadgets team released page view numbers for gadgets in its directory, giving outsiders their glimpse of gadget activity across Google Personalized Homepage, Google Desktop, and syndicated throughout the web through Google Gadgets For Your Page. Over the weekend I crawled the entire Google Gadget directory, collecting information about every listed gadget to create a better and more complete understanding of a widget/gadget ecosystem including its level of health, geographic diversity of authors and supported users, popular categories, and some of the most popular gadget programming methods (just to name a few). In this post I’ll share some statistics on the Google Gadgets ecosystem from a business point of view. Tomorrow I will post details and statistics about ways Google Gadget developers are going beyond the basics with features designed to reach a worldwide audience and deliver a smaller footprint inside these rich Internet applications.

Note: This analysis is based on all gadgets listed in the Google Gadgets directory on Saturday, March 3, 2007. I am capturing ongoing values and may do more with this data over time. Directory listings were received directly from the public directory after receiving permission from Google. Gadget source code was pulled from individual publishers.

  1. Total and active
  2. Authors
  3. Top 10 gadgets
  4. Top categories
  5. Summary

Total and active gadgets

  • There are currently 4,226 gadgets registered in the Google Gadgets directory.
  • 56% of all Google Gadgets listed in the directory have 500 or more views in the past week throughout the Google ecosystem.
  • 8% of all Google Gadgets were either offline or contained invalid XML markup.

Authors can submit their completed gadget to Google for inclusion in the directory, placing their content as close as a link away from the Google Personalized Homepage and Google Desktop. Google stores a local copy of each gadget for dependency and to reduce external loads, which keeps some of the 8% of observed failures humming along just fine.

Web widget competitors

Web widgets by platform March 2007

Google currently has three-times the number of web widgets available in its directory than Netvibes, Windows Live, and Pageflakes combined.

Google Gadget authors

Google Gadget authors in Europe

There are 2,009 authors producing Google’s 4,226 gadgets. Gadget authors are distributed around the globe, including Columbia, Iran, and Nigeria. Most gadgets are created in the United States and Europe, Google’s two strongest markets.

Authors receive a link and a listing on Google.com and Google domains throughout the world. A weighted link from Google domains is a prize itself, but surprisingly only 100 gadget authors (5%) have taken advantage of this promotional opportunity.

Google Earth users can browse the world’s Google Gadget authors using this KML file.

Top Ten Google Gadgets

Google served up over 700 million gadget views last week, including over 400 million gadget views (57%) from its top 10 gadgets.

Top 10 Google Gadgets
Week Ending March 3, 2007
Google GadgetViews
(000)
Date & Time130,290
Google Calendar91,491
Driving Directions38,615
Google Map Search31,460
Daily Horoscopes27,382
Wikipedia27,314
Google Videos22,375
To-Do List14,583
Word of the Day13,645
Dictionary.com12,520

Google produces seven of the top ten gadgets in its ecosystem. Two of the top gadgets are produced by fans of an information service, Wikipedia and Word of the Day. Gadget promotion by Google and third-parties can heavily influence a gadget’s popularity and each dictionary site likely receives a large number of referrals from its 13 million weekly gadget views.

The median Google gadget received about 6,000 gadget views last week, far from the average of 300,000.

Google Gadgets by category

Google Gadgets category distribution

Most Google Gadgets (80%) fall into the tools, fun & games, or lifestyle categories. The tools category is productivity-focused, helping users track their latest shared documents in Google Docs or search the yellow pages. The tools category is also a bit of a catch-all and therefore makes sense as a top category. The fun & games category helps people play Tetris, Pac-Man, or Sudoku from their homepage or blog sidebar. The lifestyle category features content such as recipes, a photo of the day, and popular videos.

Gadget authors may specify up to two categories per gadget, meaning some gadgets are counted twice and others not at all.

Summary

  • Google’s gadget platform contains over 4000 submissions, creating specialized content options beyond a web feed remix.
  • Google’s gadget directory contains six times as many entries as its nearest competitor.
  • The top 10 Google Gadgets account for 57% of its reported gadget views across the ecosystem.
  • Productivity tools are the most popular Google Gadgets category, in terms of both gadget count and gadget views.

Tomorrow I’ll dive into popular gadget components and supported features.

Six Apart widget podcast with Byrne Reese

Last Friday I visited Six Apart‘s headquarters in San Francisco to talk about widgets with Byrne Reese. Byrne is the former product manager of TypePad, currently a product manager of Movable Type, and a developer of plugins and widgets used in both products. Byrne and I talked about the current state of widgets in Six Apart’s four blogging products: TypePad, Movable Type, LiveJournal, and Vox.

Our 25-minute conversation about Six Apart widgets is available as a 11 MB audio download. I will summarize a few highlights from our conversation below.

TypePad

TypePad logo TypePad is a hosted blog service with basic and advanced templates available to authors depending on their paid subscription level. Basic templates take advantage of a drag-and-drop sidebar manager, letting blog authors insert and rearrange widgets from the TypePad widget directory without directly editing the underlying template HTML. TypePad accounts at the Pro level or above can edit their template HTML directly through TypePad advanced templates, placing any widget code anywhere on their pages.

TypePad authors can browse available widgets in the TypePad widget directory from the TypePad admin interface or select a compatible widget from TypePad partner site Widgetbox. Widget publishers can add widget content directly from their site using the TypePad widget API and a valid partner service key.

Web feeds and advertising widgets are the most popular widgets on TypePad. Authors like to make money, and they like to integrate content from across multiple sites of interest or other areas of online activity such as their latest photos on Flickr or a music playlist from Last.fm.

Movable Type

Movable Type logo Byrne developed the Sidebar Manager plugin for Movable Type, integrating the drag-and-drop simplicity of module management into the administrative interface of self-hosted Movable Type software. The Sidebar manager plugin was built into Movable Type’s core code starting with version 3.3. Movable Type treats widgets as a special type of template module, grouping appropriate sidebar content for your blog homepage, category listings, or individual entry pages.

Movable Type plugins allow third-parties to integrate content and functionality directly into the blogging application and output their content directly into each generated HTML page. Movable Type supports static generation of blog files using Perl, or dynamically generated pages using PHP (or both), letting plugin and widget developers utilize available features to create the best possible integration experience.

Byrne has not seen many developers taking advantage of the plugin + widget management features of Movable Type, but perhaps it’s just an education hurdle.

LiveJournal

LiveJournal logo LiveJournal has a user base that is very security focused, taking a conservative stance on the trade-offs required when including third-party code on their journals. In the past year LiveJournal has opened up a little bit, whitelisting a few widget publishers for inclusion in LiveJournal templates. LiveJournal compiles its user templates, removing any unknown JavaScript entered by an author before the file is saved to disk. A whitelisted widget passes through this filter and is available to LiveJournal’s over 12 million authors.

External widgets can only be added to LiveJournal after the code is reviewed and approved by Six Apart staff. The best way to get whitelisted for inclusion on LiveJournal is to initiate a partner discussion with the Six Apart business development team.

Vox

Vox is a closed system and a very controlled environment, and only Six Apart authored widgets are currently available on this new blogging system. Vox may open up in the future to allow third party widget content in its author admin interface.

Summary

These are just some of the topics covered in my 25-minute podcast with Byrne Reese of Six Apart. Listen to the full audio to hear our thoughts on popular widgets, widget business models, and what widget functionality we might expect from Six Apart in the future.

I hope to make this type of developer interview a regular feature, providing direct information about developing widgets on popular widget platforms.

Universality of the web widget

Netvibes announced a “Universal Widget API” at last week’s Future of Web Apps conference in London, promising a write-once run anywhere widget environment using an open-source widget runtime. The new widget system encourages publishers to author widgets using the Netvibes API and extend the reach of their content beyond the Netvibes user base through an adaptable wrapper. In this post I’ll walk through some of the differences between widget deployment endpoints from the publisher’s point of view, explaining just a few ways a widget must adjust its dialect and structure to adapt and optimize in different widget environments.

  1. Manifests
  2. Inline and collapsed widgets
  3. Storing local variables
  4. Platform look and feel
  5. Requesting remote data
  6. Internationalization and localization
  7. Libraries
  8. Summary

The manifest

Each widget platform requires some sort of manifest file, a definition of a widget’s contents, file, and author information for interpretation by the widget platform and its widget directory. A manifest file will commonly collect pointers to files within the widget package (CSS, JavaScript, widget preview image), a description of the widget (title, summary, author), and any libraries or non-baseline features you would like to include with each widget render.

The widget description is easily standardized, collecting an author’s name, e-mail, and URL, the widget’s homepage on the web, and a description of the widget’s function. The widget title is a bit more difficult, as some publishers would like to dynamically update the title to display a total number of unread mail messages, the current weather, or an active search term.

Inline and collapsed widgets

Most web widget engines offer an “inline” option, placing your widget code directly into the page instead of inside of the default placement within a sub-page (iframe). Inline widgets can change the page’s background color, interact with other widget content on the page, create a dynamic widget title, and more. Permissioning inline access varies by platform but can be a useful option for your widget.

Collapsed Microsoft gadget weather

Microsoft gadgets support a collapsed display mode for inline gadgets, displaying extra information about a gadget’s content within the gadget title bar. In the example above I’ve collapsed the Windows Live weather gadget, displaying a weather icon and today’s temperature high’s and lows instead of a multi-day forecast. A collapsed mode allows more widget content in the same available space.

Storing local variables

Apple Dashboard widget weather location

Your widget may require some configuration to function at its best. You might ask the user to input a ZIP Code, a user ID, or a favorite baseball team to deliver the appropriate content in your widget. You might also allow customization of colors within the widget frame or text, the total number of items to display (3 days of weather, the latest 5 San Francisco Giants news stories, etc.), or whatever else might be applicable to your widget’s display and customization.

Widget variables and configurations are stored on the widget platform’s servers, letting users input their preferences once and have the same configuration across multiple computers. The default method of preference input is usually a text input field, but you can provide a drop-down list of possible options, radio buttons, checkboxes, and many other choices.

Platform look and feel

Each widget platform typically has its own design, styling a widget window, creating a specially styled button, or generally matching the look and feel of the surrounding environment. Windows Vista Sidebar will appreciate an Aero Glass look-and-feel, Mac users will look for Aqua-styled buttons, Windows Live gadgets might display a FancyButton, etc. Each widget can adopt the default settings of the web browser, explicitly bind with the target platform’s UI, or package a custom CSSfile.

Requesting remote data

Web widgets typically request data through the hosting platform’s proxy, supplying a remote URL to a specialized data type handler and specifying a preferred response such as XML or JSON. The platform caches each request by default for a period of time (usually about 30 minutes) to increase performance and lighten the load of all the Google Personalized Homepage users subscribed to BoingBoing’s RSS feed or requesting earthquake updates for northern California.

Here’s an example of how developers can request an feed on three different personalized web homepages:

Google
_IG_FetchFeedAsJSON('http://example.com/rss.xml', CallbackFn, 5)
Netvibes
Ajax.Request(NV_XML_REQUEST_URL + 'url?' + escape(http://example.com/rss.xml), {method:'get', onSuccess:CallbackFn})
Windows Live
Web.Network.createRequest(Web.Network.Type.XML, 'http://example.com/rss.xml', {proxy:'rss', numItems:5}, CallbackFn)

In the example above I specified a web feed URL, a callback function, the total number of feed items I would like returned, and I would like the data returned to my callback function as a JSON object. Each platform also has request proxies for generic data, XML, JSON request, etc. Your get, post, put, and delete proxied functionalities may vary by platform.

Internationalization and localization

Hello world. Hola mundo. G’day mate.

The newest web products are launching to a global audience, finding popularity beyond English-speaking borders and becoming the hot thing in France, Poland, or Japan. Some widget platforms support internationalization and localization bundles, allowing a widget author to define unique phrases sent to English, French, Polish, or Japanese users. The widget platform interprets the language requested by each user’s browser combined with the international domain being accessed and passes this information along to any widget willing to listen. A Google Canada user might view your widget and request the content in French for example. Google Personalized homepage currently supports 15 languages throughout its widget platform.

Libraries

Widget platforms can contain a set of basic features available to each widget but expand their capabilities through additional libraries. Google gadgets can request an analytics module to track widget views, add tabs, and more. My Yahoo! widgets might tie into already loaded YUI libraries. Windows Live Gadgets even have a preferred method of string concatenation (StringBuilder).

A universal widget could load the appropriate library at each destination on demand, or provide a generalized runtime to load similar functionality through its own modules.

Summary

The immediate concern with any write-once run anywhere solution is an abstracted non-native feel for each deployment. Like the promises of Java and wxWidgets for desktop applications, cross platform solutions can sometimes feel a bit alien and heavy when compared to a native application. Developers can extend the reach of their applications quickly and easily, trading off a native look-and-feel, performance and memory utilization, and more for a broader list of compatible platforms.

A universal widget might lose out on advertising opportunities available in each widget platform’s gallery. Your widget may not be listed in the Apple Dashboard gallery, the Google Gadgets directory, Windows Live Gadgets Gallery, etc. Users of each platform typically are directed to these directories to find new pieces of content and it’s a free form of advertising for your widget and your brand.

I think universal widgets combined with a good statistics tool will help new widget developers better understand their deployed audience and tweak their offerings over time to deliver the best possible experience for each platform. Widget developers and publishing sites will want to better understand the parent environment of their widget (Google homepage, Live.com, Netvibes, tec.), web browser and version, language, country, and much more. Netvibes will likely see an increase in widgets available for their platform and abstract some of the work needed to stay on top of the changes at each widget platform.

There are many more differences between platforms than I’ve covered in this post, but I hope it gives you a good idea of what it means to integrate well across multiple points of deployment.

Yahoo! centralizes its JavaScript network with free hosting

Yahoo! is opening up the JavaScript powering its websites a bit more tonight, encouraging developers to directly reference libraries on its servers from within their webpages. Yahoo! User Interface Hosting opens up versioned access to the popular YUI Library, creating faster load times for sites across the web using Yahoo’s optimized, geo-distributed, and reliable data centers.

Yahoo! UI hosting sample code

Many websites utilize common libraries for JavaScript development, creating a drop-down menu, file retrieval, or chart rendering using a library such as Prototype, script.aculo.us, dojo, and many others. If five Ruby on Rails sites utilize the same script.aculo.us library for effects you’ll have to download the same file(s) five times from each of the five different domains. Centralized resources such as YUI Hosting create a single download source requiring one file download regardless of the number of sites taking advantage of the YUI library.

Yahoo! is a global company and spends a lot of money serving up web content as fast as possible in London, San Francisco, or Tokyo. The central YUI files are on that same network, creating a shorter path from a user’s browser to required files needed to enhance a website. Pulling files from a separate domain also creates an opportunity for more parallel content downloads, circumventing the two requests per host limit in Firefox and Internet Explorer.

Yahoo! will be logging each request and its page origination, so if you are worried about privacy and providing pageview numbers to outside sources the hosted version of YUI may not be for you (grab a download, host your own).

A web widget feature

Version 2.2 of YUI, released on Tuesday, includes support for a new global variable named YAHOO.env. Web widget developers can reference this variable to determine if YUI is already present on the page for additional functionality or before loading a conflicting library. It’s a useful feature for blog sidebars, letting your widget peacefully co-exist with a del.icio.us, Flickr, or MyBlogLog widgets/badges without unnecessarily weighing down the page.

Summary

I think the Yahoo! Interface Library will continue to gain traction thanks to its heavy development, extensions, and documentation. It’s already being used by large sites such as The Wall Street Journal and SmugMug and across the revamp of the Yahoo! network, which are some key votes of confidence important in new technology adoption.