December 2005 Archives

  1. Dec29

    Mac small business dinner January 11 in San Francisco

    Macintosh Small Business group WWDC

    I am organizing a dinner for Mac small business owners and developers on Wednesday, January 11, at Chaat Cafe in San Francisco starting at 7 p.m. I want to bring together the small businesses attending the conference for face-to-face discussion and sharing of ideas among other people who have probably used your software and read your blog but might have never met face-to-face. I enjoyed the lunch meeting during this year's WWDC and want to keep the conversation flowing.

    Chaat Cafe is located at 320 3rd Street (corner of 3rd and Folsom) in downtown San Francisco, one block from Macworld and the Moscone conference center. They have free WiFi, so bring your laptop to show off your latest creations to everyone. You will order food and drink individually with an individual bill ($10 or so), so there are no billing hassles! The restaurant can hold about 75 people, leaving enough room for people to break into small group discussions.

    Anyone is welcome to come join us. People with some expertise in small business services are especially encouraged as there are generally many questions raised and good knowledge sharing.

    I'd love to have some freebies to give away to help out some new development projects and small businesses trying to get started. Invoicing, blog hosting, legal advice, Cocoa book, that sort of thing. If you offer some small business services and would like to help get a new business off the ground please contact me.

    Tags: ,

  2. Dec28

    Marissa Mayer on OneBox

    John Battelle had conversation with Google's Marissa Mayer this morning about the affect of the deal between Google and AOL on Google's search results. John posted a loose transcript of the conversation, but what interested me most was the discussion around OneBox results on Google's search result pages.

    What we normally do on the OneBox, like on our stocks page or travel, where we have links to a few providers, we look at Media Metrix or PageRank data, and generally they agree and corroborate themselves (as to) who are the top three or five providers. And those are who we generally look to include. We make sure to look at the overall user experience – you know do these people have a good page for us to click through to? So with the travel providers what we were looking for is do you get a results page that shows you flights? ... We looked at who was willing to provide us a page that was suitable and accessible

    It's good corp-speak but I don't think it's the truth. I view a Google OneBox result with links to third parties as an intermediate step for Google to learn more about that traffic flow before introducing their own hosted service. Answers.com led to the define operator and related results pages based on Google crawl data. I expect Google will integrate travel search with Froogle and eventually introduce financial services tracking if only because Googlers want to spend some of their 20% time creating better ways to track their financial portfolio.

    Tags: ,

  3. Dec28

    Paid placements over broadband pipes

    The latest of Om and Niall PodSessions is now available. This week Om and I talk about the emergence of paid placement or prioritization of services on networks run by broadband providers such as your cable or telephone company.

    Cable and phone operators currently prioritize the handling of data packets from their own services flowing across the network. A call placed using a carrier's Internet telephony product will receive priority handling ahead of calls placed using competing services such as Skype or Vonage. The carriers are now in discussion with other businesses dependent on fast delivery of their content to include similar service prioritization for a fee. Microsoft might be willing to pay Comcast for a trip to the front of the pipeline for its live conferencing or gaming products. Yahoo! might pay SBC to have its pages returned faster than Google. These prioritized services will appear to be better performers for customers and lead to better experiences and sales.

    This week's podcast is titled "Towards a two-tier Internet" and available as both a podcast and a full transcript. The podcast audio file is 23 minutes and 14 seconds in length, a 10.8 MB download.

    Tags: , ,

  4. Dec27

    Exclusive: Google to offer feed API

    Google plans to offer a feed reader API to allow third-party developers to build new views of feed data on top of Google's backend. The new APIs will include synchronization, feed-level and item-level tagging, per-item read and unread status, as well as rich media enclosure and metadata handling. Google Reader PM Jason Shellen and engineer Chris Wetherell both confirmed Google's plans after I posted my reverse-engineering analysis of the Google Reader backend.

    The new APIs will allow aggregator developers to build new views and interactions on top of Google's data. Google currently has at least two additional Google Reader views running on current development builds.

    Google may offer public access to the feed API as early as next month. Shellen said the team wants to nail a few more bugs before publicly making the service available to the world.

    Hopefully the Google team is considering offering API hosting and processing similar to Alexa's platform. Hosting personal homepage widgets on Google Base is a good start but think about if developers could interact with data via JavaScript on the same domain as the service!

    Google Desktop would be an ideal first implementation of the new APIs, centralizing Google's feed retrieval and reducing load on individual servers. Google feed grabber, FeedFetcher, currently collects content for Google Reader and Google personalized homepage.

    Google's new offering is direct competition to NewsGator's synchronization APIs but are easier to code against (no SOAP required). Google currently does not have the same reach across devices as NewsGator but an easy-to-use API from the guys who brought you the Blogger API and "Blog This!" might really shake up the feed aggregator ecosystem.

  5. Dec26

    WordPress 2.0

    WordPress 2.0 is now available for download from the newly redesigned WordPress.org. The new release includes many behind-the-scenes changes as well as some front-end AJAX goodness. A Subversion update is the best way to upgrade your existing installation.

    My favorite new features:

    • Improved user permissions that allow you to select a role instead of a number.
    • Better importers. WordPress importers can login to other blogging services and suck out your data, comments and all!
    • Abstracted data layer allows future support of various databases and makes plugin development a bit easier.
    • Rich post authoring through a WSYIWYG interface and drag and drop post components. You can even add new categories direct from the posting interface. Users may actually prefer to author their posts through the default interface instead of a desktop tool.
    • Photo attachments are generated as sub-pages complete with its own comments and tracking.
    • Persistent cache. Frequent database queries are cached to disk allowing for faster response times, especially on high-traffic sites.

    WordPress 2.0 also includes the Akismet anti-spam plugin in the default install.

  6. Dec26

    Google Reader API

    Google Reader

    Google Reader is an online feed aggregator with heavy use of JavaScript and pretty quick loading of the latest feed data from around the web. Google's AJAX front-end styles back-end data published in the Atom syndication format. The data technologies powering Google Reader can easily be used and extended by third-party feed aggregators for use in their own applications. I will walk you through the (previously) undocumented Google Reader API.

    Update 10:40 p.m.:Jason Shellen, PM of Google Reader, called me to let me know that Google built its feed API first and the Google Reader application second as a demonstration of what could be done with the underlying data. Jason confirmed my documentation below is very accurate and Google plans to release a feed API "soon" and perhaps within the next month! Google Reader engineer Chris Wetherell has also confirmed the API in the comments below.

    A reliable feed parser managed by a third party lowers the barrier to entry of new aggregator developers. Google and its team of engineers and server clusters can handle the hard work of understanding feeds in various formats and states of validation, allowing developers to focus on the interaction experience and other differentiating features. You can also retrieve and synchronize feed subscription lists with an established user base that could be in the millions, providing a better experience for users on multiple devices and platforms. Google Reader's "lens" provides only one view of the available data.

    Google Reader users are assigned a 20-digit user ID used throughout Google's feed system. No cookies or session IDs are required to access this member-specific data. User-specifc data is accessible using the google.com cookie named "SID."

    Feed retrieval

    /reader/atom/feed/

    Google converts all feed data to Atom regardless of its original publication format. All RSS feed post content appears in the summary element and unlike the My Yahoo! backend I found no additional metadata about the feed containing full posts but Google does publish content data where available.

    You may request any feed from the Google Reader system using the following URL structure:

    You may specify the total number of feed entries to retrieve using the n parameter. The default number of feed items returned is 20 (n=20).

    Google strips off all the data it does not render in Reader. Stripped data includes namespaced data such as Apple iTunes podcast data and Yahoo! Media RSS, additional author data such as e-mail and home URL, and even copyright data.

    Subscription list

    /reader/atom/user/[user id]/pref/com.google/subscriptions

    Google Reader's feed subscription list contains a user's current feed subscriptions as well as past deleted subscriptions. Each feed is contained in an entry complete with feed URL, published and updated dates, and user-specific tags, if present. Current subscriptions are categorized as a reading list state. You may request the full list of feeds by setting the complete to true.

    Here is a copy of my Google Reader subscription list with my user ID zeroed out. I am not subscribed to my RSS feed (index.xml) and I have added tags to my Atom feed. Each listed feed contains an author element which appears to be empty regardless of declarations within the original feed. Perhaps Google plans to add some feed claiming services, but its own Google blog has no affiliated author information.

    Reading list

    /reader/atom/user[user id]/state/com.google/reading-list

    My favorite feature of the Google Reader backend is direct access to a stream of unread entries across all subscribed feeds. Google will output the latest in a "river of news" style data view.

    Here is a sample from my limited subscription set. You may specify the total number of entries you would like Google to return using the n parameter -- the default is 20 (n=20).

    Read items only

    http://www.google.com/reader/atom/user/[user ID]/state/com.google/read

    You can retrieve a listing of read items from Google Reader. You might want to analyze the last 100 items a user has read to pull out trends or enable complete search and this function may therefore be useful. You may adjust the number of items retrieved using the n parameter -- the default is 20 (n=20).

    Reading list by tag

    /reader/atom/user/[user id]/label/[tag]

    You may also view a list of recently published entries limited to feeds of a certain tag. If you have tagged multiple feeds as "marketing" you might want to request just the latest river of news for those marketing feeds. The returned feed contains both read and unread items. Read items are categorized as read (state/com.google/read) if you would like to hide them from view. The number of returned results may be adjusted using the n parameter.

    Starred items only

    /reader/atom/user[user id]/state/com.google/starred

    Google Reader users can flag an item with a star. These flagged items are exposed as a list of entries with feed URL, tags, and published/updated times included. You may specify the total number of tagged entries to return using the n parameter -- the default value is 20 (n=20).

    Google treats starred items as a special type of tag and the output therefore matches the tag reading list.

    Add or delete subscriptions

    /reader/api/0/edit-subscription

    You may add any feed to your Google Reader list using the Google Reader API via a HTTP post.

    • /reader/api/0/edit-subscription -- base URL
    • ac=["subscribe" or "unsubscribe"] -- requested action
    • s=feed%2F[feed URL] -- your requested subscription
    • T=[command token] -- expiring token issued by Google. Obtain your token at /reader/api/0/token.

    Add tags

    /reader/api/0/edit-tag

    You may also add tags to any feed or individual item via a HTTP post.

    • /reader/api/0/edit-tag -- base URL
    • s=feed%2F[feed URL] -- the feed URL you would like to tag
    • i=[item id] -- the item ID presented in the feed. Optional and used to tag individual items.
    • a=user%2F[user ID]%2Flabel%2F[tag] -- requested action. add a tag to the feed, item, or both.
    • a=user%2F[user ID]%2Fstate%2Fcom.google%2Fstarred -- flag or star a post.
    • T=[special scramble] -- three pieces of information about the user to associate with the new tag. Security unknown and therefore unpublished.

    Conclusion

    It is possible to build a your own feed reader on top of Google's data with targeted server calls. You can power an application both online and offline using Google as your backend and focus on building new experiences on top of the data. Advanced functionality is available with a numeric Google ID and some variable tweaks.

    Google has built the first application on top of this data API, the Google Reader lens, and judging from their choice of URLs the lens may not be Google's last application built on this data set. I like the openness of the data calls and think the Google Reader APIs are simple enough to bootstrap a few new applications within Google or created by third-party developers.

  7. Dec22

    Bloglines 3.0

    Bloglines logo

    Bloglines switched it's user-agent from "Bloglines 2.1" to "Bloglines 3.0-rho" on Tuesday afternoon. My guess is that "rho" are the initials of a Bloglines search engineer who pushed his test code live without changing the user-agent but there could be some big changes coming in near future.

    If you are a FeedBurner user you may have noticed a large drop in your subscriber statistics over the past day (hat tip: jasonspage). I just heard back from Dick Costolo, CEO, and learned that FeedBurner had previously ignored this Bloglines user-agent as it was just a development test but they will be changing over their site code this morning to reflect the new behavior of Bloglines and its code.

    Tags:

  8. Dec21

    How Google search works

    Matt Cutts wrote a quick primer explaining Google search to librarians. He walks readers through how Google discovers pages, indexes, and later analyzes a user's query across a network of analytics servers.

    For each search that someone types in, over 500 computers may work together to find the best documents, and it all happens in under half a second.

  9. Dec21

    Correcting Kottke

    Popular blogger Jason Kottke recently posted an entry criticizing blog search companies for the incompleteness of their results compared to his internal search tool powered by Movable Type. I happen to know both Movable Type and blog search pretty well, so I decided to dig into the data and see where search engines might have missed the mark in the interest of improving quality. I found that Jason's criticisms where a bit unfounded yet still may alter the perceptions of many people who are heavily influenced by what they read on his blog.

    Jason found more results searching his installation of Movable Type 3.15 than he was able to find using many search engines. I manually checked every page on Jason Kottke's Movable Type install for mention of the word "Freakanomics" and found some disconnects between what was presented to Jason in his Movable Type search results page and what is presented to the world at large, including search engines.

    Jason's installation of Movable Type is located at Yoink.org. I searched all blogs on his Movable Type installation for "Freakonomics" over the past 6 months Update: Jason has since deactivated public search. I chose 6 months because has only been indexing feeds since June and I wanted a good base for comparison.

    Movable Type returned Jason's most recent blog post as well as 9 posts from his link blog.

    1. The economics of sex... posted on December 12. The term "Freakonomics" appears nowhere in the entire source code of the page.
    2. Profile by Michael Lewis of Mike Leach posted on December 7. There is a link to freakonomics.com near the end of the post but the word "Freakonomics" appears nowhere in the post text.
    3. A pair of Boston economists... posted on December 5. "Freakonomics" appears nowhere in the entire source code of the page.
    4. ...People who don't clean up after their dogs.. posted on October 7. "Freakonomics" appears no where in the entire source code of the page.
    5. Unique Planned Parenthood pledge drive posted on September 19. There is a link to freakonomics.com at the end of the post but the word "Freakonomics" appears nowhere in the post text.
    6. Oakland A's are rolling posted on August 16. There is a link to freakonomics.com near the end of the post but the word "Freakonomics" appears nowhere in the text of the post.
    7. Crime fell because of rap music posted on August 9. There is a link to freakonomics.com in the post but the word "Freakonomics" appears nowhere in the text of the post.
    8. Where did all the crack go posted on August 8. There is a link to freakonomics.com at the beginning of the post but the word "Freakonomics" appears nowhere in the text of the post.
    9. Economics of poker written on July 18. The word "Freakonomics" appears nowhere in the entire source code of the page.

    4 out of the 9 posts surfaced by Movable Type's search functionality contained no mention of "Freakonomics" anywhere in the outputted post. The word "Freakonomics" may occur somewhere in a field not outputted to the final page such as keywords, excerpt, extended entry, or something else, but there is no content that anyone could expect a search engine to match for the desired query. Jay Allen wrote the search engine built-in to Movable Type and I'm sure he could answer any questions about your individual install.

    5 out of the 9 posts contain a link URL partially represented by the search term. A search engine could pull out "freakonomics" from the URL if it chooses and a query term contained in a URL is one factor used to rank queries in large search engines such as Google. Technorati tries to optimize its various search indexes available to user queries by limiting search possibilities. If you are searching for a link a query analyzer should only look through a list of available links and not keywords. If you are looking for a keyword a query analyzer should throw away any link data and search only against the words in a post.

    I am not sure where The New York Times sourced its data but it didn't come through me.

    If you have any questions about "what they are telling us is actually true" and would like some answers for your own posts or research you can contact me to find out more about how search works. I'm a big fan of researched blog posts and adding more original and thoughtful content into the world.

    Update 12/22: Jason updated his post based on this new information. I e-mailed him last night with a link to the post, an alert that his search interface was showing, and inviting further conversation. He wishes I had just stuck to an e-mail instead of a full post, but I don't see it as "airing dirty laundry." Thousands of people would read his post while he was asleep and I had a chance to TrackBack and provide some extra information for people viewing the web page and believing all search engines suck.

    Tags:

  10. Dec21

    WordPress developers get corporate

    Automattic

    This morning the lead developers of WordPress unveiled a new corporate entity based on the popular open-source blogging platform. The new company, Automattic, employs WordPress lead developers Ryan Boren and Matt Mullenweg, contributing developer Donncha O'Caoimh, and Andy Skelton.

    The new company will provide WordPress consulting services and develop and maintain services such as hosted blogging site WordPress.com and antispam tool Akismet.

    Automattic is a Delaware corporation founded on March 28, 2005 and previously mentioned on this blog as "WordPress Inc." in late March. The company's official launch is meant to coincide with the release of WordPress 2.0 later this month.

    Tags:

  11. Dec20

    My Yahoo! feed API

    RSS buttonPowered by My Yahoo!

    Yahoo! has developed a backend infrastructure that can be easily deployed across various applications online or on the desktop with full synchronization and feed parsing handled on its servers. Developers could tap into the Yahoo! backend and develop new feed-aware applications quickly and easily on a robust platform already used by millions of users. Yahoo! just needs to publicize the code and make sessions a bit easier but I reverse engineered their code and I'll give you a primer.

    Aggregator developers spend a lot of time dealing with issues such as proper parsing, feed storage, and at later stages providing synchronization between online applications or other desktops for a seamless reading experience across multiple devices. Yahoo! has the infrastructure behind the scenes to power a services-based feed aggregator on any platform based on a (previously) undocumented My Yahoo! API.

    You must first submit login credentials to Yahoo! and receive a few cookies. Yahoo! will also generate a web services session ID that will regenerate in a nice XML message when it expires. Requests are handled by a pool of API servers located at api[0-3].my.mud.yahoo.com.

    Individual feed data

    /rss/Content/V3.0/getFeedData

    Yahoo! serves feed data to its applications through a format built on top of RSS 2.0. You can pass the API parameters such as the maximum number of items to retrieve, your desired date format, the level of processed content to return, and the requested ordering of your results. Yahoo! returns a fully processed and cleaned-up feed with extra metadata.

    Yahoo! tracks when the feed and each individual post was created, modified and updated. They add information such as whether the feed contains the full content of my post and if I am a podcaster. Rich media such as images or audio content is contained in separate content elements. Yahoo! even creates a special server-side unique identifier for each post, saving aggregators a lot of headaches.

    Here is the locally stored Yahoo! output of my blog's RSS feed compared to my actual feed.

    You might want to check out the live feed data for my blog after you have logged-in to Yahoo!.

    All an independent developer would have to do is style the returned clean feed data and only deal with one data format plus some custom elements. A lot easier than typical development.

    Synchronization

    /ymws?m=SetMetaData

    Yahoo! synchronizes its list of feeds between applications using SOAP messages. Each client application appears to be assigned an identifier and a version number as well as unique user information tied to a session.

    Here is the My Yahoo! synchronization SOAP message with my personal account information removed. Requests are processed using mod_gsoap.

    Entire feeds may be marked as read using a resetUnseen element inside a SOAP message. Yahoo! does send some communication back to the server when each post is selected in the Yahoo! Mail view but the individual IDs do not correlate with the internal post ID. Given Yahoo!'s current interfaces synchronizing read status at a per-item level might not make much sense.

    Yahoo!'s mail servers can serve as an example endpoint.

    Adding and deleting feeds

    /rss/Subscriptions/V3.0/addUserSubs

    It is possible to add individual subscriptions using an individual API call with a client property, feed URL, and a web service ID.

    Here is an example query adding Scripting News to your Yahoo! aggregation space.

    /rss/Subscriptions/V3.0/delUserSubs

    You can similarly remove the same feed. Here is an example query removing Scripting News from your Yahoo! aggregation space.

    Conclusion

    I think it is possible to construct a new aggregator interface completely powered by Yahoo! on the backend and extended by individual developers for the best user experience and ease-of-use. Developers could also store data locally in a desktop aggregator for online access or to allow better search over time.

    I think Yahoo! should develop a desktop aggregator powered by its APIs. In my limited testing I believe it is possible to build a Yahoo! desktop aggregator for Mac OS X using Cocoa, WebKit, and CoreData. I've been meaning to talk to the RSS folks at Yahoo! about desktop client possibilities and there's nothing like a lengthy blog post detailing my current progress to get the conversation started.

    Tags: , ,

  12. Dec19

    New Technorati search results, profile features

    Technorati released a redesigned search results page and member profiles tonight, including some features I've been wanting for a long time. You can find the official announcement on the Technorati weblog and I will share my personal thoughts and favorites below.

    Personal tag cloud

    Technorati personal tag cloud

    Technorati now displays a personal tag cloud for each member profile! You can now glance at a blogger's profile and get a pretty good idea about his or her most blogged about topics. Tim Appnel's Tags.App plugin for Movable Type displays some similar tag visualizations but now anyone on any blog platform can visualize their topical focus.

    Yes, I want this component to be one of the options bloggers can select as part of their Technorati JavaScript embed but that takes just a little more time and it's best to get the goodies out the door and iterate. The top tags per blog has been available via the Technorati API for months but this is the first time it's been exposed on the main site.

    New search results format

    New Technorati search result

    Search result excerpts are now a bit longer and meant to welcome the newbie by hiding away some of the more advanced options. Above I hovered over the magnifying glass to reveal a scoped search option for the word "soccer" from a mommy blogger. The talk bubble icon displays the number of inbound links to that blog.

    I miss not being able to glance at a person's link count on the search results page but I think there may be better ways to represent the same data to quickly communicate worthwhile information. I like the eBay stars program used to communicate a feedback rating and perhaps some similar tiny graphics could be applied to Technorati link counts but with more meaningful colors.

    Keyword search charts

    Technorati charts

    It's now easy to visualize keyword use trends over the past 30 days with keyword search charts. The chart above shows the use of the word "Santa" in blog posts over the last 30 days. I've been using these charts to follow spikes around product announcements around the industry to see if the excitement and interest in a product remains or quickly fades. Right now I am watching the search result for "Ronaldinho," a Brazilian who was just named best soccer player in the world for the second year in a row.

    Advanced charts

    You can easily construct your own charts in various sizes using a standard URL structure:

    http://technorati.com/chart/ + [keyword] + ?size= + [size]

    Charts are outputted in PNG format. The size of the chart varies from a default of s (small, or 180x150 pixels) to xl (extra large, or 700x500 pixels). Publishing tools could easily add a Technorati chart to graph trends over time.

    Enjoy! We've promised the Technorati ops team not to release any new features until after Christmas to keep our servers running a bit more predictably than normal.

  13. Dec18

    iTunes Movable Type podcast tip

    I like to output as much data as possible for feed aggregators, especially when one feed aggregator accounts for over 50% of my podcast listeners. I was frustrated that my podcast did not have a published duration until I realized there was a pretty simple solution: MTEntryKeywords.

    I almost never use the keywords field, yet it is already built-in as a storage option for every post. Perfect! No plugins necessary. Here's how you do it.

    1. Add your podcast's duration (mm:ss) as your entry keywords.
    2. Add a line to your RSS 2.0 feed:
      <itunes:duration><$MTEntryKeywords$></itunes:duration>

    The time column will now be populated in iTunes for all of your podcasts.

    Tags: ,

  14. Dec18

    Week of the APIs

    The latest episode of Om and Niall PodSessions is now available. This week's theme is APIs and the new opportunities for service providers, developers, and end users. Kevin Burton of TailRank joined us to add an independent developer perspective to this week's discussion.

    This week's session is 26 minutes and 28 seconds in length and a 12.2 MB download.

    Topics

    Amazon introduced its Alexa web search platform on Monday. The new services give developers the ability to use content from Alexa's crawler data and other web services in a hosted environment. Amazon is letting developers upload their own data, process the data on their machines, host the results, and even create new web services based on the final results. Amazon's move caused a reexamination of developer programs in Silicon Valley as Amazon is charging for premium features not currently offered by eBay or Yahoo!.

    On Tuesday Google introduced the Google homepage API, opening up its personalized homepage to outside content. The new modules are similar to desktop widgets such as Konfabulator but exist within the browser page and are intended to be the first thing a user sees when he or she launches a browser window. I wrote my own Google homepage module earlier this week.

    FeedBurner launched FeedFlare on Tuesday, allowing feed publishers to easily add content to their posts from services such as del.icio.us or Technorati. I think the new service changes how publishers view their feed as part of a larger ecosystem. I wrote about FeedFlare earlier this week.

    Yahoo! released a new output format, JavaScript Object Notation (JSON), for its search and maps APIs on Thursday. This new format helps developers potentially skip a step when interacting with Yahoo! data, making dynamic applications respond faster and easier to develop. JSON also helps Yahoo! get around the JavaScript XMLHttpRequest function's cross domain security policy

    Google seeks to extend its reach into the VoIP and video IM space with its introduction of jingle, a new API for Google's GTalk client. Google proposed two new extensions to the XMPP standard used in its clients and many others throughout the world. The new libraries and APIs should extend the reach of Google's instant communication services throughout the Web.

    Tags: , , , , , ,

  15. Dec16

    Exclusive: TypePad outage update and details

    Six Apart executive status report

    Popular blog hosting provider TypePad.com was unavailable to its members for 18 hours today as a result of a failed storage upgrade during scheduled maintenance late last night. I visited Six Apart's headquarters in San Francisco earlier this evening to talk with Six Apart employees about the events that transpired and the current state of TypePad's blogging platform.

    I sat down for an interview with Anil Dash, Six Apart's Vice President of Professional Products, about an hour after TypePad's servers came back online. We discussed TypePad's reliability issues over the past two months, what went wrong today, and how the company plans to prevent future outages and create a reliable service.

    Anil and I had a candid conversation about the difficulties of building a large-scale hosted service, the uniqueness of TypePad's members, future plans for the TypePad product including Project Comet and a business-level offering, and how the company approaches scalability and building dependable applications that people love to rely on as a utility.

    The entire 23-minute interview with Anil Dash on TypePad service issues is available as a 10.4 MB MP3 audio download. Any rumblings you may hear is the sound of TypePad engineers running back and forth nearby and literally shaking the entire room.

    Each paragraph in the interview transcript below is uniquely identified in the page markup. To link directly to a paragraph just use add "#" and the question and paragraph id found in the source.

    Interview Transcript

    Niall:

    Hi I'm Niall Kennedy and I'm here with Anil Dash of Six Apart. Anil is VP of Professional Products and we're going to talk about TypePad and some of the issues that happened today, Friday, and last night. Hi Anil.

    Anil:

    Hello.

    Niall:

    Can you tell us a bit about what happened last night to cause a loss of service to TypePad?

    Anil:

    Yeah. I think the first thing I would start with is no data was lost and the service is back up and running now. A couple weeks ago, as you well know, we had some problems with capacity and scalability as TypePad has been getting more popular. We made a bunch of commitments in terms of improving bandwidth, improving power, and things like that. Among those changes was improving our storage infrastructure and one part of that was increasing redundancy. We actually have accomplished most of the things we promised we would do on that list and one of the last things to do was to improve redundancy on storage.

    We were bringing online another storage system and it's one of those things where you have a moment of vulnerability while you're improving the system and we had a failure during that point. So we had what we thought would be a fairly routine scheduled maintenance last night and we had posted an alert about that so people knew ahead of time "oh, OK, this is why this blip is happening" and right at the end of that window of maintenance we had a failure of the new storage system.

    The process at that point was understanding what had happened and whether there were any issues of data loss, which fortunately there were not. The first step that was decided -- and this is something I am sure will be avidly debated -- is that we would go to the last full snapshot. We have incremental backups and we have full snapshots and most people I think that are listening to this probably know the difference. The full snapshot was anywhere from a few hours to a few days old, depending on people's blogs. We then did a verify on the data that we were restoring.

    As we brought the disks back up -- the process is like the olden days of Windows 98 when you would get that reboot into the blue screen saying "I am running checkdisk and please wait forever while I check your hard drive." It was doing that process and this is what we started doing last night and all through the night and in the interim we had those old snapshots of pages up. I think a lot of the people who were looking at their blogs today or posting had that alarm of "oh my gosh, old data" and "does this mean old posts are safe and my new posts are not?" It was making sure that was not the case that took a lot of time today. And then, of course, eliminating single points of failure, identifying all the other problems. Between all those steps together it took until this afternoon Pacific Time before we were able to switch the app back on.

    Niall:

    You guys run a variety of sites from TypePad.com, blogs.com, Major League Baseball blogs. What sites and partners were affected by the outage?

    Anil:

    All the TypePad-powered sites in the U.S.: TypePad.com, blogs.com, Friendster's blog service, as well as Major League Baseball's service to various degrees. I don't actually know offhand the details about which blogs were affected on those services or what percentage it is. That's something I know our operational team definitely knows but my job today interfere with them. My estimation is the majority of TypePad blogs were affected.

    Niall:

    How did you notify TypePad members of the outage and the unavailability of their recent posts?

    Anil:

    We had a couple of different steps. The first is our status blog which is our first line of defense and the first place you should check if you ever have a question as a TypePad user. It honestly is probably not nearly prominent enough to find and that's something we are going to be remedying. It's one of those things you find out in these situations is that people don't know that channel exists. And then we'll be blogging about it. I think one of the things we've shown a pretty good track record of is having a conversation about these things and really engaging in a dialogue with our members and I think you'll see our usual breadth of posts which is here's a technical explanation for people who care about that, here's what we're going to do to make it right for people -- I think for most people that's their priority -- and then a little about what we've learned from the past is something we will go into. You work at Technorati. I think the folks at Technorati have done a really good job about being open in communication on that. I think we've got a pretty good reputation there and I'd like to be sure we stay in touch with everyone.

    Niall:

    Did you consider sending out e-mails to every TypePad member to let them know that they wouldn't be able to post and their latest posts might not be available?

    Anil:

    Yeah, I think we talked about a variety of different channels and the thing you want to do is make sure you have all the right information getting to the right people at the right time. Part of it is until you know that everything is up and running and all the data is OK you don't want to send a "we don't know" e-mail because it tends to make things worse before it makes things better. That's something we've gotten by talking to our professional users and people who are really invested in their blog. They've said "just let me know you are aware there is a problem and then let me know when you've fixed it and in between if you're going to tell me about the fsck you're running on your hard drives I don't care." I think that's probably true for most TypePad users. "Just let me know when it works." That's I think what we're really going to focus on is that blogging experience.

    There are many different channels. I spent all day commenting on blogs today. Other folks here at the company have. Jay Allen I think a lot of people will see out there. A lot of people have been on IM and on Skype and on phone calls all day too. We talked about if we should do a big Skype call with a bunch of people but finding something that we can setup in a short amount of time that scales to millions of users or millions of listeners is pretty hard. I think in the future we'll see what we can do about that too.

    Niall:

    How are today's problems related to the problems you had at the end of October? Are these similar issues? Are they going to be recurring?

    Anil:

    No, it is actually not about capacity at all. I saw somebody describe it as "a perfect storm" today or it was like a "lightning strike." I felt a little bit like Charlie Brown when Lucy pulls the football out. It was absolutely one of those situations where we had tackled the problems that caused application performance issues in the past and we wanted to make sure we were bulletproof. At the point where we are kind of putting up another line of defense we kind of hit ourselves on the head and got knocked out. The timing was terrible and it just one of those things where Murphy's Law will just always in.

    Lucy pulls back the football

    Niall:

    Are LiveJournal users affected at all or are they on separate hardware?

    Anil:

    Not at all. They are on separate hardware. The best thing about having LiveJournal in-house is they have really taught us, and the whole web in general really, about scaling and reliability in large-scale operations. They've got 9 million journals and they recently did a datacenter move to the same datacenter we've got TypePad in. They have hundreds of servers, millions of users, millions and millions of posts and they did it with some glitches around e-mail and things like that but no downtime. The open-source technologies they have created like MogileFS, a caching file system and Perbal, a load balancing system, run sites like Wikipedia and Slashdot and Friendster: these gigantic and dynamic sites. They've shown that the technology exists. People on our team build these services capable of making large services reliable. I think you are going to see a lot of knowledge transfer and best practices about how to make this stuff bulletproof and reliable.

    One of the examples I think Steve Rubel talked about on his blog is eBay back in 1999 when people were just starting to have their livelihood depend on the auctions closing on time and the service would go down. People solved these things then and I think we are going to see the same thing for us.

    The thing that gives me a lot of faith is we have these TypePad users that are rooting for us to do it even though we have absolutely not met their expectations, especially today. We had somebody send us pizzas for the whole TypePad team for lunch today saying "I love TypePad, I know you guys are going to do right by us, I trust you to get it right, and we are thinking of you." That's an astounding thing for a community to do. That's really special, that's why you do it. That's why you keep going we dropped the ball today.

    Niall:

    Can you talk about the backup solutions that are in place to make sure people don't lose data on TypePad?

    Anil:

    I'll speak as much as I know. I don't want to overstep what I am knowledgeable about because I am not on the operations or infrastructure teams that we have. There are, as I understand it, the now redundant storage system. One of the interesting things about our architecture is we have a database that stores all your posts but it generates and a machine that generates the pages that your posts appear on. They are separate. The storage failure today was on the system that stores your web pages that you can view and that's why we saw an older cached copy when they went back live. The entries in the database are on a separate database server and that is already redundant and somewhere we knew we didn't lose any data so we felt a lot better about that. We were able to verify that pretty quickly, it was just the disks that took some time to come back online. In terms of architecture I don't know exactly how the different tiers split up but the database is separate from the web server pages and now we have redundancy on both.

    Niall:

    Last February in an interview Ben and Mena mentioned that TypePad was originally intended for 3000 users and then it was going to switch over to an invite-only system. Is this a scalability issue and is TypePad up to the challenge of hosting hundreds of thousands of blogs?

    Anil:

    I think what they were talking about there was not so much the architecture of TypePad but the concept of how many people would want to be blogging, how many people would want to be on a hosted service, and how many people would pay for a hosted service. It really spoke more to whether, I think this is something Om Malik was talking about with Web 2.0 scalability in general, are you designing for a community of people who you are personal friends with and can talk to one-on-one or are you trying to bring something to the masses? I think that's the biggest distinction that Ben and Mena were talking about the change for.

    As far as the application architecture actually I feel more confident than I ever have that we can scale out to support the number of users TypePad is hosting. We have got millions of people on this platform. TypePad and TypeKey are related and I think between the two of them you are certainly into the millions of users. That's something where I think the learnings from LiveJournal in particular are really really educational for us.

    There are a couple of different places you can fail. You can fail at app, you can fail at hardware, you can fail at connectivity. We've probably had each of those problems. I think that we have stated that it's a goal for us and that it is a requirement for us to be business class. It's really really important to be professional-grade.

    I think that is a distinction from ... I have this debate all the time with Jason Fried from 37signals where his team and David Heinemeier Hansson have made Ruby on Rails into this web development phenomenon but nobody's ever done a really large-scale service, certainly not the scale of TypePad let alone LiveJournal, on that platform. David Heinemeier Hansson has said "we don't want to invest in scale." I think he is overstating the point for rhetorical effect, but it's understated whether it is a priority of yours or not and whether you want to have impact with a small influential crowd or whether you want to bring this technology to the masses. Those are things that we are really clear on. I think it's really important to us that we are a company of bloggers. I think, you know, we're all bloggers. I've had a blog for 6 years now I think and there are a number of people in this company that is true for. We've been doing it a long time and we want it to be something that everybody can do. It's a different goal and it matters to us that people that are of blogging and from blogging that bring blogs to a regular user as opposed to being Bill Gates saying "this is a high growth area that I think we should maximize revenue potential in." We want people to have a voice and we think we can help them do that.

    I think TypePad users today are sharing their passion for their blogs and they care that much about their sites. We are absolutely lucky to have that kind of passion from our users. One of the kindest things today was a friend of mine on the Blogger team IM's me and said "hang in there, we had a 7-hour outage one time" and everyone has had different outages but to be really supportive and also to say we're kind of kindred spirits and we're a team of people that are bloggers too. It's a nice thing that there is still that sense of community and that people notice.

    Every major blogging service except you guys has had downtime this week. Del.icio.us got unplugged for a while, and I think Bloglines said "they are sucking eggs" was their quote. That's nothing negative against those guys, I have huge amounts of respect for both those teams, and we probably share a huge overlap in users too so it's the same people we are talking about. It's a hard problem and it has to be something that either that's your priority or it's not. You only get the problems that you are uniquely qualified to suffer for. TypePad is the thing we care about and so this is the burden we take on.

    Niall:

    I know you guys are planning some changes to TypePad's infrastructure including some behind-the-scenes stuff you are doing as part of Project Comet and some other initiatives. Can you talk about that and what's being done?

    Anil:

    I don't have a lot of specifics there because I think a lot of that stuff is always evolving based on what feedback people have. Frankly we redoubled our efforts on TypePad's infrastructure sometime before the problems we had in October. It was something we recognized and we wanted to focus on and the first step in that was moving our server location. We didn't get done entirely in time for that but it did happen and pretty smoothly once the performance issues were addressed.

    I think we've got our best team, some of the people who have been looking at TypePad the longest, really looking at all of the different ways TypePad can scale. Something you and I, Niall, talked about that we haven't really announced but the intention is to do a business-level TypePad. We have the kind of flagship customers that some people were blogging about today like MSNBC or ABC News or USA Today are all running their blogs on TypePad. That's an incredible responsibility. It's just as serious to me as people who have their baby pictures and talk to their friends and family on there. That's an incredible amount of trust to put in us and I am at least heartened that it made the news that we let them down today. You want it to be newsworthy when you fail, not when you don't.

    That much is good, but we do have a bit of a hole to dig out of as far as people trusting us and I don't know what the ratio is. It's maybe for every day you screw up you have to have a month where you're perfect or a week, or whatever it is. That's something I have a lot of confidence people are going to give us the chance to get right because we've had that dialog with them because they know that we are out there listening and they know they can call me or Skype me or IM me or TrackBack me or whatever and we'll all reply.

    Niall:

    Talk about that "business class." How does that differ from what there is now? How do you define business class reliability at Six Apart?

    Anil:

    We haven't gone into specifics on it and I think obviously this is something we are going to redefine based on today to some degree. It really is about saying that it matters to us to be a professional tool people can trust. We understand that the constraint for a lot of companies with blogging is they don't want to deal with their IT department. You'd rather sign up and just use something you can expense on your credit card and ask forgiveness rather than permission, although we'll probably say it nicer than that on the website. People also want an option for priority support, people want to be able to have that relationship with us, people want to optionally purchase a service-level agreement.

    I think that's absolutely a reasonable option for people to have if they think that it's worth their investment. Those are things where we've had people say "I do this for fun" or "I like a service to be free" or "I don't like to deal with SLAs or boring legal stuff," bring on the boring legal stuff. If we can do things the way we want to for the business audience blogging should be deadly, dull, boring. Something that you just don't even have to think about, it just runs like an e-mail server or a web server or a search server where it's just there as a utility. I think you guys have stated probably different terms but similar aspirations for Technorati where you just count on it, you know it's comprehensive, and you know it's there. That's definitely a parallel to what we want to do.

    Niall:

    Are you guys going to take any time off this Christmas? Is your team going to get a break at all?

    Anil:

    I work most closely day-to-day these days with the Movable Type team and they have had a great week with the Yahoo! partnership we announced so they are going to have some well-deserved time off.

    I personally am going to be traveling and dealing with some of our partnerships overseas. The nice thing about having a break here in the U.S. is it's not always taken in other countries so we get some time, some downtime, to really connect with our partnerships in Japan and things like that.

    There's no question to me that everybody who is in operations is going to be 24/7 for the foreseeable future on their beepers and on their phones and on-call. They have done that before and it wouldn't be the first time that a hard drive was the grinch that stole Christmas. That's what they signed on for. They really do have an amazing amount of dedication to making sure people can connect with the people they care about so that goes a long way.

    Niall:

    Is Six Apart hiring operations personnel to take care of some of this stuff?

    Anil:

    We've brought on a new director of ops, we do have a bunch on new people on the ops team. We've been building up that team for some time and like I said, it's funny I was looking at one of the performance monitoring systems that monitors TypePad and we had these old cached copies of the pages coming up but they were coming up really fast! It was one of those things where that was an improvement that had been made, a performance improvement and a reliability, and even when you have this hardware failure there are these other things that are good news.

    They are a really dedicated team. This is not something that was any human failure or error. I have a tremendous amount of respect for them doing hard work day in and day out.

    Niall:

    If there are aspiring sysadmins out there should they be sending in their resumes?

    Anil:

    Yeah. I think anybody that's got talent and cares about blogging we want to have on our team and have them contribute. So yes, please.

    Niall:

    Where is the best place for TypePad users to send in comments or feedback?

    Anil:

    There are a couple of different ways. We have our help ticket support system built-in to the app. People who use TypePad know that support team is pretty legendary for their dedication. Feel free to get me directly. I'm Anil [at] sixapart.com so I am pretty easy to get ahold of for most people. I know Barak our CEO is also willing to get feedback. He's BarakB [at] sixapart.com.

    Those are great ways to get us. We are going to have TrackBacks on the posts that we will have up about this so feel free to link. Blog about it, we do our Technorati searches and find everybody talking about what we're doing. We probably can justify the ego surfing more than most people so give us a mention and talk about it. We'll try to be out there. We don't guarantee we'll read every single post but we try to.

    Niall:

    Thanks Anil. I hope you get some downtime this Christmas season.

    Anil:

    Bad word!

    Niall:

    I hope you get some relaxation time this holiday season and I hope everyone out there using TypePad keeps on blogging.

    Anil:

    I appreciate it and thanks for giving us a chance to talk to everybody.

    Tags:

  16. Dec16

    TypePad outage open post

    Popular blog host TypePad just came back online after being down most of the past day. This outage affected hundreds of thousands of bloggers including mainstream media outlets such as MSNBC and The Washington Post. Given the high-profile status of TypePad and its members, this story is certain to be well-covered in the coming day and week.

    Today's outage, coupled with the performance issues of the past month, has shaken the confidence of even the most dedicated users, and many members are seriously considering taking their business elsewhere. I spoke with one TypePad member who has used the service since it was first introduced in beta form back in July 2003. He told me "this sort of outage leaves me wondering if my blog is really okay in their hands, or if I should take it back into my own." An advertisement for the term "TypePad" is currently 78 cents on Google and I expect the price will rise this weekend as web hosts capitalize on the opportunity.

    Six Apart agreed to do a podcast with me tonight when they find some time. I cancelled my plans for the night and like any good disaster reporter I am going to plop myself down across the street from the Six Apart offices to help get the full story out to the world.

    Please leave comments and questions below that you would like me to address with the staff at Six Apart tonight once I am able to get some face time. You may also contact me privately with questions and concerns.

    Update 7 p.m.: Comments are closed. I recorded a podcast and I am currently editing audio.

    Tags:

  17. Dec15

    Feedster loses founder, CTO

    Feed search company Feedster has parted ways with its CTO and founder Scott Johnson as of this morning. Scott's final papers were faxed to Feedster from the Technorati office! I spent this morning with Scott and I can tell you this was not of his will or a pleasant process.

    I've known Scott for a few years. Scott has split his time over the past year between Feedster's headquarters in San Francisco and his wife, son, and home in Indiana. I think once some dagger wounds heal Scott will be much happier on his next project.

    What's next? Scott said if he'd love to start a company to sell pre-configured MythTV boxes but does not want to put his family through the legal troubles involved with shaking up a large industry. He's very interested in making complex technical problems easy for end users and I am sure his next project will involve simplifying technology in some form.

    Good luck Scott!

  18. Dec15

    Technorati Web Comments for Firefox

    Technorati Web Comments extension

    I may have a Technorati version of the Blogger Web Comments Firefox extension running on my machine right now. Google directs users through a terms of service for the extension that asks users to agree to not modify the code, so I can can't confirm my hacking...

    You can download the Blogger Web Comments Firefox extension directly without passing through the terms of service if you would like.

    Under part 4 of Google's Firefox tools terms of service, proprietary rights, they claim full ownership over all released plugins and prohibit all modifications and derivative works.

    Except as expressly authorized by Google, you agree not to modify, rent, lease, loan, sell, distribute or create derivative works based on the Software, in whole or in part.

    That sucks. When I use an open-source product I expect to be able to tweak, modify, hack, and break a few things. Slapping protections and restrictions on an extension of a Mozilla Public Licensed product seems a bit evil to me.

    If anyone would like a copy of the plugin with green or pink styling, or with results from Technorati or another service, or with full support for the MetaWeblog API, I can tell you that definitely possible but Google's lawyers might come after me if I admit to modifying the extension.

    Tags: , ,

  19. Dec15

    Blogger Web Comments Firefox extension

    Blogger Web Comments for Firefox

    Google just introduced an extension for Firefox that allows you to see the latest blog post linking to any page as it's viewed. The extension brings up a small window in the bottom right-hand corner of the browser window with the most recent reference to the page. You can click on the box to extend it to the last 6 posts or view the entire result set on Google Blog Search.

    Users can also add their own comment about the page by clicking a special "Add Comment" button linked to their Blogger account. The Google FAQ mentions they hope to add support for blogging services other than Blogger in the future.

    The plugin only works with Firefox 1.5 or above. It's a very cool feature and the smooth execution does not surprise me as Google employs many Firefox core developers. Nice work Glen! The plugin requests an RSS file from Google blog search for the URL and displays the result inside a special chrome container.

    Tags: ,

  20. Dec14

    Paying bloggers for generating useful content

    As more and more companies create business models around "consumer generated media" individual publishers are beginning to wonder when they might see a slice of the revenue. I believe there are opportunities for bloggers to be paid for their content without compromising editorial integrity and also rewarding the tool builders.

    PriceGrabber review bonus

    Profiting from consumer generated media is not a new thing. Shopping sites such as Amazon.com or PriceGrabber have been doing it for years, asking an author to turn over the rights to their content in exchange for the author's work being featured alongside a product. At PriceGrabber we paid anywhere from $5 to $25 for many of these reviews realizing that more information about a product helped drive clicks and completed the buying decision. I think bloggers can be similarly paid for syndicating their content to larger sites to assist in the buying process as one small example.

    Blogger merchant relationship

    Most people are familiar with the Amazon Associates program where registered affiliates receive a percentage of the final purchase basket for each sale initiated from another site. Review a DVD, provide a special link, and receive a few dollars for your lead generation. Yahoo! plans to pay individuals for generating successful leads through its Shoposphere Pick Lists. In existing cases such as Amazon or Yahoo! if you feature some content on your blog you receive a small percentage of the purchase and both sides are happy.

    Blogger toolmaker relationship

    What if there were tools available that made it a lot easier to post reviews to your site in a well-styled format with extra features such as an updated price or how other people have bought the same product after reading about it on your blog. Should the toolmaker receive a small percentage of that revenue?

    Browsing tools such as Mozilla Firefox or Opera currently receive tens of millions of dollars a year from web searches generated using their tools. The tools are offered for free and people enjoy the experience.

    The same partner agreements should exist for specialized blogging tools that help generate a sale or a profitable benefit for another company. If Byrne Reese makes it really easy to blog product reviews with Media Manager shouldn't he be rewarded a few cents for every sale? I think so, and some of the details for paying toolmakers still need to be worked out by affiliate sites.

    Distributed content network

    What if instead of linking only to Amazon, your content was available for republication to any aggregation sites willing to pay a bounty? Shopping comparison sites, individual merchants, and buying guides could supplement existing information with a network of reviews and first-person accounts. There may some matching and distribution service in the middle connecting the content creators with multiple sites such as Amazon, Buy.com, Overstock, eBay, etc. The matching and distribution service helps the individual blogger make more money and reach a broader audience than they had before.

    Sample review from Amazon.com

    Reviews are currently rated on sites such as Amazon for their level of helpfulness. These rankings provide a way to rank multiple reviews and reward authors that positively contribute to a purchase even when the research and purchase decision takes place on a site such as Amazon.

    Submitting your content to a distributed network or aggregator requires some standardized data format to express key elements of your review for redistribution to interested consumers. The format should be standardized to lower a publisher's switching cost and allow for the highest possible number of consuming services.

    Conclusion

    I believe some of this ecosystem is starting to come together. E-commerce sites are establishing partner and developer relationships as well as affiliate programs. Toolmakers such as FeedBurner and Six Apart are establishing relationships with advertisers on behalf of users. Formats such as hReview bring together a group of coauthors representing hundreds of millions of users across web properties such as AOL, Microsoft, and Yahoo!.

    These are developing thoughts, business models, and code, but there may be an ecosystem forming around improved online content for everyone.

    Tags: ,

  21. Dec14

    Yahoo! launches podcast subscription center

    Yahoo! just launched My Subscriptions, a new area on Yahoo! Podcasts where users can manage their subscribed podcasts and listen to these audio files online from their browser window. Users can also rate and review each podcast and its individual episodes.

    The online audio player uses the Windows Audio format and redirects the stream through Yahoo!'s servers allowing for some additional services as the middleman. I am currently on a high bandwidth connection and Yahoo! is offering me podcasts at 56 Kbps.

    Yahoo! passes the audio file location to a JavaScript file to create a new audio stream. Here is a sample JavaScript file for my latest podcast. There are a few interesting variables such as advertisements, beacons, and referrer tracking currently in the JavaScript. As the middleman Yahoo! could choose to insert audio advertisements into my podcast in addition to the large advertisements it already has planned for the center of the player window.

    Update 12/16: Joe Hiyashi from the Yahoo! Podcast team contacted me with more information about the service. He told me Yahoo! Podcasts does not intercept any streams and the audio files are served directly from the publisher at the fastest possible speeds both sides allow. The JavaScript I discovered is used for Yahoo!-generated content such as advertising and are not used for podcast content according to Yahoo!.

    Tags: ,

  22. Dec14

    Google Personalized homepage API

    My first Google homepage widget

    Yesterday Google announced an API to add content to the Google personalized homepage using a custom XML file. Last night I coded my first Google homepage widget to display a Technorati Mini on my personalized homepage with a pre-populated value of my blog URL.

    Here's how you can check it out:

    1. Go to the Google personalized homepage and sign-in.
    2. Click on "Add Content" in the top-left corner.
    3. Create a developer section by adding a feed URL of "developer.xml." You will now see a new "My Modules" section.
    4. Add a module by entering with http://www.niallkennedy.com/gmodule.xml in the URL field.
    5. You should now have a Technorati Mini section!

    If you run into problems try deselecting caching and/or inline in your "My Modules" settings.

    There are many different possibilities for additional content to add to this page and different ways I could have coded my module. Google allows you to prompt a user to set preferences and pass in variables to your content. I could have prompted the user for a search term when he or she first loads the module.

    These new modules are very different than adding just text or a RSS feed to the homepage. Think of the Google homepage as web version of Konfabulator or Apple's Desktop widgets with preferences, rich interactions, and the ability to carve yourself a slice of someone's personal start page.

    While you are playing with the Google homepage API you may also want to check out Microsoft Gadgets, Microsoft's homepage modules to reach that set of users that will use Live.com as their homepage with the next versions of Internet Explorer and Windows Vista.

    Tags: , , , ,

  23. Dec14

    Answering Scott Gatz

    Scott Gatz of Yahoo! poses a few questions on his blog that came up during a private dinner Monday night. I think some of the questions already have answers so I'll post them here. It's a bit feed geeky and may have an intended audience of about 20 people.

    No index flag. We need a way to mark an RSS feed as "OK to aggregate, but don't show in search results." For publishers who output a different feed per user, you don't want to see 100 different feeds that are basically the same thing.

    I think the robots meta tag "nofollow" directive already communicates this preference for link alternates listed in the page head and a rel value of "nofollow" communicates the preference at the link level. Search engines should pay attention to these user preferences when discovering new feeds.

    The easiest path to personalized feeds is to ask for a username and password over HTTP Authentication. You would also have exact tracking methods for that user since you are basing unique readers on a username instead of something like a unique IP address and User-Agent combination.

    Tracking statistics at the item level remains elusive since most feed aggregators load every feed item at once. One possible solution is to track "focus events" such as a mouse pointer hovered over the post area or an item marked as unread. Aggregators would have to gather some of this data and send it to a central location for marketers and feed publishers but there are currently no incentive models to drive such a flow of information.

    Update: Greg Reinacker of NewsGator added his own thoughts and prefers a namespaced additional element in the feed.

  24. Dec13

    FeedBurner adds 7 pieces of flair

    FeedBurner introduced FeedFlare this morning, a new way to easily add information to the bottom of your post content. FeedBurner creates small GIF files -- about 300 bytes each -- for each feature allowing supplementary information about the post to be updated without changing an item's read status in an aggregator. FeedFlare launched with the following 7 features:

    FeedBurner FeedFlare
    1. E-mail a link to this post to a friend or colleague.
    2. E-mail the author of the post. This feature only works if you have already have defined the author's e-mail address somewhere in the feed such as managingEditor element in RSS or author element in RSS or Atom.
    3. The number of links referencing the post, as measured by Technorati.
    4. Del.icio.us tags used by users who have bookmarked the entry.
    5. A link to add the post as a del.icio.us bookmark.
    6. The number of comments about the post. FeedBurner uses the Well-Formed Web Comment RSS feed created by blog platforms such as WordPress to discover a comment feed associated with a particular post and count its items.
    7. A link to the Creative Commons license for the post or feed, if a Creative Commons license exists.

    I really like the clever use of images and uniquely tracked links to generate each piece of FeedFlare. FeedBurner is capturing data about every click and they will be able to report this click-data to its users as part of its reporting interface.

    FeedBurner also announced their intent to create an API around these features to enable placement of the same footer images on a blog's HTML page. An API will also allow third party services to add their own FeedFlare options for use by FeedBurner publishers.

    I think FeedFlare is a smart move for FeedBurner as it introduces their services to a whole new set of casual users who just want to make their feeds look a little better. Once FeedBurner has these additional publishers using their service they can easily add premium and revenue-generating services such as a Pro account or advertising.

    Tags:

  25. Dec13

    Ruby on Rails 1.0

    Ruby on Rails logo

    Congratulations to David Heinemeier Hansson and the rest of the Ruby on Rails team for releasing version 1.0 of the development framework. It's an important milestone and the framework has made a big impact over the last 15 months and changed the way some people think of programming online applications.

    Tags: , ,

  26. Dec13

    Technorati Kitchen: it's what's cooking

    Technorati just introduced the Technorati Kitchen, an area where we can post projects we have been working on that we do not feel are ready for integration on the main site. The first project available in the Technorati Kitchen is Explore, a way to discover the most popular recent blog posts around a specific topic of interest. You can use Explore to see emerging trends in the areas you care about or just catch up with the top stories of the day in a few minutes.

    The beta moniker is so overused and abused no one can really take it seriously anymore. The kitchen is a place where you experiment with different ingredients and mixtures that may turn into things you would like to serve to guests. Your mixtures and recipes are in different states of readiness and some never make it out of the kitchen and instead end up in flames or in the garbage. Technorati wants to experiment with possible features and thrill our expert users while not scaring away new visitors and people just becoming familiar with blogging. I like the idea of a kitchen as a testing ground.

    Any mad experimenting in a kitchen of course makes me think of Swedish Chef of The Muppets. Especially this video of Swedish Chef trying to bake some bread.

    Explore is hopefully the first of many Technorati features introduced in the Kitchen. There will be more to say on the Technorati weblog once the team has a few hours of sleep.

  27. Dec12

    Yahoo Widget Engine

    Yahoo! Widgets Engine logo

    Yahoo! just released a new version of Konfabulator, now known as Yahoo! Widgets Engine. The new version includes new default widgets for Yahoo! search, maps, notepad, address book, and mail. Also included are improved widgets for Flickr, Yahoo! Photos, Calendar, Weather, and Finance.

    According to Toni Schneider of Yahoo! there have been 1.5 million downloads of Konfabulator since it was acquired by Yahoo! in August. Downloads are currently about 90% Windows, a low number considering Apple's latest operating system features a very similar application, Dashboard, already built-in. 50-100 widgets are submitted to the widgets gallery every week.

    Yahoo! Widgets Engine is a different take on desktop applications. While other companies have focused on search with a small sidebar component Yahoo! is trying to place content on the entire desktop space related to its various content properties. It would not surprise me if Yahoo! starts to bundle Widgets Engine with its desktop search product.

    Tags:

  28. Dec11

    Six Apart partners with Yahoo!

    Yahoo! and Six Apart just announced a deal to make Yahoo! hosting the preferred small business host for Movable Type. Yahoo! currently hosts about 30 million individual websites including hundreds of thousands of small business sites. Yahoo! is using FastCGI, making Movable Type run a bit faster than a typical hosting install.

    Movable Type is available on all hosting plans including the starter $11.95 package. Users of other blogging software may have to pay $8 more for Perl, PHP, and MySQL support for their accounts. Customers can visit a special page on Six Apart's website to purchase a Yahoo! Small Business hosting account with Movable Type.

    The current Yahoo! installation of Movable Type uses version "3.2ysb5-20051201," a custom Yahoo! Small Business build.

    Six Apart has previously asked web hosts for $5 a month per installed user. A small business license would fall under Six Apart's commercial licensing program that currently charges $26 an author for their 50-author package. There is currently no mention of the financial terms of the deal, and I don't expect either side to announce or confirm payments.

    Yahoo! offers free limited web hosting for all small businesses that add their information to Yahoo! Local allowing small businesses to start a small web presence. Yahoo! will be encouraging upsells to their small business hosting service and a weblog might be a key selling point for small businesses wanting to make frequent news updates to their site. The deal could represent a significant recurring revenue stream for Six Apart.

    The Reuters article also mentions Six Apart is currently developing a version of Movable Type using an Oracle database backend.

    Tags: , , ,

  29. Dec11

    Podcast with 37signals

    Earlier today I had the opportunity to interview Jason Fried and David Heinemeier Hansson of 37signals for my podcast with Om Malik. We talked about scalability's role in business planning, built-to-flip startup companies, and programming using the Ruby on Rails framework.

    Our interview with Jason Fried and David Heinemeier Hansson is 29 minutes and 50 seconds in length and a 13.7 MB download.

    Om posted earlier this week about companies that don't take scale into account when building a web service. David Heinemeier Hansson responded to Om with his own experiences building Basecamp and other hosted applications. We took the dispute to the podcast and had a really interesting conversation.

    Tags: , , ,

  30. Dec11

    Urban blog advertising

    Blog posts on a lamp post

    I was walking home tonight when I came across a very different form of lamppost advertising. Someone had posted two of their latest blog posts at a busy street corner in San Francisco. The top post introduces weblogs and the topics they cover, encouraging people to read more weblogs for the latest news about their community and the topics they care about. The bottom post talks about comments by radio host Rush Limbaugh against homosexuals.

    Someone came by and added their own Xanga blog URL to the post about Limbaugh, possibly as a way to supplement the existing 88 comments on the site.

    Spotted at the southwest corner of 8th Street and Market Street in San Francisco. A pretty clever way to get more readers.

    Tags:

  31. Dec09

    Scuttle: open source social bookmarking

    I use open source project Scuttle to manage my bookmarks on my server with full control over all my information. Scuttle is GPL licensed and uses PHP and MySQL to create a multiuser environment for storing bookmarks for public or private consumption.

    Anyone is welcome to join my social bookmarking tool on NiallKennedy.com. The API is a del.icio.us clone and open for import and export of your bookmarks if you try it out but don't like it.

    Tags: ,

  32. Dec09

    Yahoo! buys del.icio.us

    Yahoo del.icio.us logo

    Yahoo! has bought social bookmarking site del.icio.us for an undisclosed amount. Joshua Schachter posted an announcement to the del.icio.us blog and mentions Yahoo!'s ability to help del.icio.us scale and keep pace with it's growing user base and site usage. Jeremy Zawodny welcomed the del.icio.us team on the Yahoo! Search blog and notes Yahoo! properties My Web and Flickr are natural matches for Joshua and del.icio.us.

    Del.icio.us is based in New York and received its first round of funding in April 2005 from a variety of investors including Amazon.com. The site now has about 300,000 registered users and 10 million shared links. Del.icio.us is the third small tagging company acquired by Yahoo! this year, joining photo sharing site Flickr and events site Upcoming.org. Both Flickr and Upcoming's staff relocated to Silicon Valley after the buyout and so will Schachter and perhaps some other members of the 9-person team.

    Del.icio.us will most likely be integrated with existing Yahoo! Search property My Web. My Web allows Yahoo! members to tag search results for discovery through a defined social network (Y!360) or all Yahoo! users. Yahoo! will use del.icio.us bookmarks to better inform personalized search results throughout its services. Its ability to combine signals of relevance from search result click-throughs to a listing of sites bookmarked and classified will lead to increased use of Yahoo! Search and its related services while driving more targeted advertising, demanding higher advertising rates.

    Caterina Fake of Flickr was integrated with the Yahoo! social search team following her company's acquisition. I expect Joshua Schachter will play a similar role within Yahoo! meeting with various teams across multiple products to discuss how tagging and other community-powered technologies might be used in Yahoo! products.

    Hat tip to Michael Arrington of TechCrunch for letting me know about the announcement.

    Tags:

  33. Dec08

    Google Christmas treat

    Google has decorated its advertising sidebar with a strip of peppermint candy cane for certain holiday searchers. Try a search for Christmas, peppermint, or candy cane to see the modified search results page.

    Tags:

  34. Dec07

    About.com switches from MT to WordPress

    Matt Mullenweg just posted the news that About.com is switching all of its sites from Movable Type to WordPress. About.com is owned by The New York Times and has the largest public-facing blog installation of any company I know. Pretty big news for WordPress as they add another big name media site to their list.

  35. Dec06

    Submit site feeds to Yahoo! Search

    Yahoo! Search allows any user to submit a list of pages for submission in Yahoo!'s search index. You may submit site feeds to Yahoo! formatted as RSS 0.9, 1.0, or 2.0, Atom 0.3, or a text file with one URL per line.

    You can automate the process if you would like with just a few simple steps.

    • Start with the base URL of http://submit.search.yahoo.com/free/request?pass=1&class=1. Parameters pass and class are required.
    • Add a url parameter, setting the value to the URL-encoded location of your feed. Example: http%3A%2F%2Fexample.com%2Ffeed.xml
    • Submit via HTTP post.

    Sending a ping to blo.gs might eventually accomplish the same thing but until then you can be sure your content is available in Yahoo! Search results as soon as possible by sending a ping with each content change.

  36. Dec06

    Cingular HSDPA 3G data network

    Cingular Bay Area 3G coverage

    Cingular just announced 3G data access throughout the entire San Francisco Bay Area and 14 other metropolitan areas across the country. The new network uses HSDPA technology that currently supports average connection speed of 400-700Kbps but can technically support up to 10Mbps.

    Merlin U730 wireless card

    Cellular data networks allow you to be online in more places than you can find a public WiFi hotspot. You can even use it in your car or on the train to get some work done while commuting. These new cards support seamless handoff between cell towers and downgraded non-3G data connections. It's nice to know that no matter where you are you can easily get connected to the Internet even if it's not at the broadband speeds you are used to.

    The data plans are a bit expensive at $60 for unlimited access but everyone I know that has a high speed card raves about it. It's the new geek bling.

    Tags:

  37. Dec06

    Kanoodle cookie bounty

    Advertising network Kanoodle will now pay webmasters for planting a cookie on a visitor's computer without ever showing an advertisement. Sites placing a cookie classifying a user's browsing habits into one of 7,500 contextual ad categories. Publishers in the program will be paid 5% of the revenue earned when an advertisement served on the Kanoodle network is triggered by a cookie generated on the publisher's site.

    Kanoodle advertisements are an integrated option for TypePad Pro users. Bloggers could profit from distributing cookies on their own personal weblogs for later monetization on a TypePad Pro site with advertising or other blogs using Kanoodle's advertisements.

    I am not a fan of third party cookies and block all cookies that are not served from the site I am currently browsing. Most users won't even know the extra cookie has been added to their system and with no screen real estate lost I expect many publishers may experiment with this new cookie bounty.

    Tags: ,

  38. Dec06

    Rich RSS beyond text

    I just posted the latest episode of Om and Niall PodSesssions to our podcast site. This week Om and I talk about the possibilities of RSS beyond text and blogs as content such as photos, music, movies, and more are delivered using RSS and other syndication formats.

    TiVo single podcast screen

    I have been playing around with some of the new broadband RSS services on my TiVo and thinking about new methods of content delivery to the home. Broadband access has been sold as an instant-on service available anytime you wish to interact and retrieve information. I believe the next wave of services will deliver information directly to you on a variety of devices throughout your life including your mobile devices and home entertainment center. Media and information will be waiting instantly consumable in a variety of formats. I think syndication technologies such as RSS can deliver this new content on a regular subscription basis.

    The RSS beyond text podcast is 21 minutes and 23 seconds in length, a 9.9 MB download.

    Tags: , ,

  39. Dec05

    Syndicate Conference San Francisco

    I am a panelist for Searching the Syndisphere at next week's Syndicate conference in San Francisco. The panel will discuss different approaches to indexing and surfacing syndicated content, business models, emerging trends, and other topics chosen by the moderator.

    If you would like to attend the two day conference you can save 30% using a discount priority code of SPKDEC. A two day pass is $836.50 and a one day pass is $437.50 with the discount code applied.

    Tags: , , ,

  40. Dec05

    Eric Schmidt's rules of management

    Google CEO Eric Schmidt and Berkeley professor Hal Varian wrote an article in the latest issue of Newsweek about Google's approach to managing the knowledge worker. Google's extensive perks program is their way of removing things that may get in the way of their employees.

    Schmidt admits Google's problems of "techno-arrogance" and "the not invented here syndrome." The company also needs to adjust to a workforce of varying ages and motivations as it looks towards long-term growth.

    One of our not-so-secret weapons is our ideas mailing list: a companywide suggestion box where people can post ideas ranging from parking procedures to the next killer app.

    I like the idea of having somewhere to throw out ideas and know everyone on the list wants to hear your new ideas.

    {N]obody throws chairs at Google, unlike management practices used at some other well-known technology companies. We foster to create an atmosphere of tolerance and respect, not a company full of yes men.

    Obvious poke at Microsoft and Ballmer supposedly throwing a chair across his office when researcher Kai-Fu Lee left Microsoft to work for Google.

    Google has remarkably broad dissemination of information within the organization and remarkably few serious leaks. Contrary to what some might think, we believe it is the first fact that causes the second: a trusted work force is a loyal work force.

    Good to hear! Google should encourage more employees to blog and make intelligent decisions about information that could be proprietary to the company.

  41. Dec04

    Google total information awareness potential

    Google is gathering as much information as possible about our online activities in the interest of serving up more targeted ads across more and more locations. Google continues to introduce new services limited only by what can have an advertisement placed alongside the content. Future products might include data gathering and targeting as a primary business goal with the intent of collecting higher advertising revenues elsewhere on the network on a future visit. Yahoo! just announced they will serve advertisements based on surfing behavior. Where does Google stand in its behavioral targeting?

    Google is already well on its way to building an information awareness network on its own sites as well as the sites of hundreds of thousands of willing webmasters and millions of desktop clients. What is the current state of Google's information network?

    1. Google has the ability to track and analyze every web search query, news request, and television or video browsing.
    2. Google Alerts send strong signals about your interests and help focus advertising relevance.
    3. Every e-mail sent, received, or drafted in Gmail or every instant message or voice conversation delivered through Google Talk increases the intelligence of the advertising machine as it learns more about your casual interests.
    4. Social networking services such as Orkut analyze your friends and their interest to better understand your potential influences.
    5. Google Analytics and AdSense tracks your movement on every site with the service enabled, creating a behavioral profile.
    6. Webmasters can verify their domains of control using Google Sitemaps. Reviews and other Google site content can easily be associated with a Google account.
    7. Google Toolbar picks up every site you visit, regardless of the site's participation in a Google supported tracking program.
    8. As an Internet service provider blanketing entire cities with free wireless access, Google will have access to the full online activities of entire populations including their frequented locations. Trail programs are planned for Mountain View and San Francisco.
    9. Not on a Google network? That's OK, just route all your traffic through Google Secure Access.
    10. Not online? Google Desktop will index all of your files and connect to the central database once you connect to the grid to update your advertising profile.

    All that is missing right now is all these different data collection tools talking to each other to create one large profile per user. Microsoft could compete in the space by recording every web action on a computer running Windows but such actions would most likely be seen as abusing a monopoly. Google has the ability to silently deploy cross pollination of its advertising platforms across a multitude of services whenever it would like to flip the switch.

    Scientia est potentia. Knowledge is power.

    Tags: ,

  42. Dec02

    Odeo Studio released

    Odeo Studio

    Odeo just released their online audio recording software called Odeo Studio. Odeo Studio was previously available to a limited group of users. The new version 0.14 is the first public release of the software.

    Giving people the ability to record content via a web page or telephone takes away a lot of the complexity of podcasting or casual voice message creation. No worries about getting the proper recording software, encoding the audio, uploading to a server. Now all you have to do is hit record on a web page and everything is done for you.

    Recordings are limited to only 3 minutes so Odeo is not yet a realistic tool for full podcasts. It's just the right amount of time for podcasts listeners to leave comments on shows. Yep, I'm requesting features already!

    Tags: ,

  43. Dec01

    Skype thoughts

    Skype updated its Mac client today with some new user interface features, improved call quality, and some additional member information. I like the small touches such as the new blue dock icon and the ability to automatically pause iTunes when you receive a new incoming call.

    I just realized today that Skype works over local Bonjour networks. The feature has been around for a few months, but none of my coworkers knew about it either.

    Om points out that many of the Skype 2.0 features were previously available as plugins from third party developers. I have not used any of the plugins, but I think the features demanded by users should be rolled into the core service offering and hopefully it is possible to hire some people from small plugin development shops who are already passionate about the technology. I think video was a question of when, not if, and any developer of a video plugin would have opportunistically entered the market to gain some revenue and experience before making its move.

    I've been thinking about using SkypeIn combined with Skype voicemail for podcast listener questions and comments. I am just deciding on a call-in number, but I think it's a good idea. Area code 763 spells "pod" is available for call-in numbers. I've been waiting for Skype to add numbers in Ireland but I might crack and add a U.S. number for the show.

    Tags:

Niall Kennedy Niall Kennedy is a web technologist in San Francisco, California in the United States. I am very interested in the world of... MORE »

Search this weblog:

Subscribe:

Recently Popular

Archives: Popular Categories

Sites: More from Niall