January 3, 2006
@ 07:31 PM

It's another year, which means it's soon going to be time to figure out which conferences I'll be attending over the next few months. So far, three conferences have come up on my radar and I suspect I'll attend at least two of them. The conferences in order of my likelihood of attending them are

  1. VSLive: A conference for Visual Studio developers. I'll likely be there with other folks from MSN Windows Live to talk about the various APIs we provide and perhaps give hints or details on some of our upcoming API plans.

  2. ETech: I attended this conference last year and found it extremely valuable. There were developers from small and large Web companies talking about technical issues they had faced while delivering services on the Web as well as announcing cool new offerings. The list of speakers is great; Danah Boyd, Joel Spolsky, Kathy Sierra, Sam Ruby, Jon Udell, Simon Willison and Ray Ozzie. I don't plan to miss this one. 

  3. MIX: This is a Microsoft conference that will focus on our hip, Web-based offerings like IE7, Windows Media, Windows Live!, as well as "Atlas", Microsoft’s new AJAX framework. Given that I'll already have lost a week of work by attending ETech and I won't really be learning anything I can't find on internal websites by attending the conference, I'll probably miss this one. Of course, if my workload is light and/or I'm told I'll be speaking I might end up attending.

If you'll be at any of these conferences and would like to meet up to shoot the breeze about mindless geekery, holla at me. Also what other interesting Web geek conferences are out there?


 

Categories: Technology

A number of people have written posts about Microsoft's poor stock performance over the past week but there are two posts I thought were interesting enough to share on my blog.

In his post 7 years ago Omar Shahine writes

I started working at Microsoft. Just as a data point, the “strike price” for my first option grant was $31.7250. Today, the stock is trading around $26. At 7 years, there are two notable events:

  • You start to accrue 4 weeks of vacation per year
  • Your first stock option grant expires

So long option grant #1, I barely knew you :-). What are the chances the stock will shoot up 5 bucks in the next few hours so I can sell my grant?

On a more serious note, has the company really done so little in the last 7 years that the stock price warrants being down 19%? Will 2006 be the year MSFT rebounds? I sure hope so.

Anyway, it’s been a great 7 years. I look forward to the next few! Microsoft has been great to me over the years.

From a response by Andrew Leckey in the letters page of the Orlando Sentinel we get the item Shift to Internet impacts Microsoft stock which states

Q: I really expected more from my shares of Microsoft Corp. Has tech left it behind?

K.T., via the Internet

A: Microsoft rolled out its hot-selling Xbox 360 video-game console worldwide months ahead of rival Sony's next-generation PlayStation 3.

It is developing an online classified ad service to compete with the popular Craigslist. And it is entering the high-end supercomputer market with a version of Windows that ties together computers in a high-speed network.

But even though Chairman Bill Gates is the world's richest man and the firm has an unparalleled financial record and a mountain of cash, Microsoft gets no respect.

It is now frequently considered a value stock rather than a growth stock, a lumbering tech giant attracting investors with a relatively modest share price.

Microsoft stock fell 2 percent in 2005, following a drop of 2 percent in 2004 and a gain of 6 percent in 2003. Compare that to skyrocketing Google Inc. or Microsoft's own track record for 1996 through 2002, when its shares jumped nearly 400 percent.

Its highly profitable, industry-dominant Windows and Office software account for about 60 percent of its revenue, with an additional 25 percent coming from software for enterprise servers. New software products are continually being introduced.

The corporate vision is to expand beyond all that via the Xbox, Windows Mobile, Windows Media Center and IPTV platform to become the center of the digital home.

Because Microsoft shares look inexpensive in light of the potential to accomplish that, the Wall Street consensus recommendation is midway between "strong buy" and "buy," according to Thomson Financial. That consists of 14 "strong buys," 16 "buys," four "holds" and one "strong sell."

The biggest challenge, termed a "sea change" by Gates, is an industrywide shift to Internet-based software and services for everything from word processing to photo storage. This could make its conventional software packages less relevant.

Earnings are expected to increase 14 percent in fiscal 2006, which ends in June, the same estimate as for the application software industry.

I feel the same way as Omar does. You don't have to do the math and figure out my option grant from when I was hired four years ago to tell that it is underwater. However working at Microsoft has been great this past four years (wow, that long?) and I look forward to the next few years building social software for MSN Windows Live. It is interesting that Andrew Leckey feels that our biggest challenge Web-based software, it's definitely going to be an interesting year. 


 

January 1, 2006
@ 07:57 PM

Reading the blogs of Tim Berners-Lee and Jon Udell this morning, I was struck by how clear it is that the Javascript platform within the browser is somewhat immature and incomplete.

In his post Links on the Semantic Web Tim Berners-Lee writes

To play with semantic web links, I made a toy semantic web browser, Tabulator. Toy, because it is hacked up in Javascript
....
Here is the current snag, though. Firefox security does not allow a script from a given domain to access data from any other domain, unless the scripts are signed, or made into an extension. And looking for script signing tools (for OS X?) led me to dead ends. So if anyone knows how to do that, let me know. Untill I find a fix for that, the power of following links -- which is that they can potentially go anywhere -- is alas not evident!

In his post Predictions for 2006 Jon Udell writes

June 15: Browser local storage

An Alchemy application, though, always works with a genuine local data model that it stores as sets of XML fragments and navigates in a relational style. Bosworth's hunch is that a Web-style thin client, driven by a rich data model intelligently synchronized with the services cloud, could do most of what we really need -- both offline and online.
That's from a column entitled Thin client, rich data. The next turn of the AJAX crank has to involve an intelligent local data store. It's been on my wishlist forever, but Mozilla CTO Brendan Eich told me to expect results in 2006, so I do.

Almost everyone who has attempted building an AJAX application has hit the issues mentioned by Jon Udell and Tim Berners-Lee in their posts. Everytime I mess around with AJAX I can't help thinking how much more interesting the applications could be if I could offload the data aggregation/integration to the client browser instead of doing it on the server. I've thought the same about offline storage, why can't I store richer information than just cookie data on the local client in a cross-platform manner?

It's hard to get wrapped up in the AJAX hype when such fundamental holes exist in the functionality provided by modern web browsers. I hope Jon Udell is right and the Mozilla folks plan to fix some of the more fundamental problems with building AJAX applications on the Web today. 


 

Categories: Web Development

Kurt Cagle has a post entitled Open Standards and Organic Foods which begins

A question was posed to me recently concerning exactly what I meant when I talked about open standards, and how they differed from open source. In reviewing some of my previous postings, one of the things that I realized was that while I had offered up a number of definitions in passing, there really wasn't any single, stock answer that I or others had seen for what exactly open standards mean. Moreover, a lot of people tend to look at open standards with a somewhat jaundiced eye, as if it was simply one more marketing label in a field that is already way oversaturated with marketing buzzwords - they didn't understand why open standards were important, or they didn't understand the distinction between open source and open standards.

The software industry is now full of buzzwords and buzz phrases that are so ambiguous that if you ask five people what they mean you are likely to get ten different definitions. The problem this causes is that people often talk past each other even if they use the same words or even worse miscommunication occurs due to basic assumptions about the conversation which are incorrect. Examples of such ambiguous buzz phrases include; web 2.0, service oriented architecture and standards.

Some people I've talked to about this are surprised that I add 'standards' to this list. However the definition of what constitutes a 'standard' is in the eye of the beholder. About a year and a half ago, I wrote a blog post entitled Are Standards in the Software Industry a Chimera? which stated 

The word "standard' when it comes to software and computer technology is usually meaningless. Is something standard if it produced by a standards body but has no conformance tests (e.g. SQL)? What if it has conformance testing requirements but is owned by a single entity (e.g. Java)? What if it is just widely supported with no formal body behind it (e.g. RSS)?

For every one of the technologies mentioned above (RSS, Java, and SQL) you'll find people who will argue that they are standards and people who will argue that they aren't. SQL is produced by a standards body and has a number of formal specifications but since there is no conformance requirements most database vendors have embraced and extended it. It is difficult to write non-trivial SQL queries that will work across Microsoft's SQL Server, MySQL, Oracle's databases and IBM's DB2. The Java programming language and platform is supported by a number of vendors and has rigid conformance tests which make the statement "write once, run anywhere" true for the most part, however it is a proprietary technology primarily controlled by Sun Microsystems. Content syndication using RSS 0.9x/RSS 2.0 feeds is the most popular web service on the planet but the specifications were primarily authored and controlled by a single individual and have no formal standards body or corporation backing them till this day. In each case, the technology is 'standard' enough for there to be thriving markets around them with multiple vendors providing customers with valuable services.

From a customer perspective, standards are a means to an end and in this case the goal of standards is to prevent vendor lock-in. As long as users can choose between multiple RSS readers or developers can choose between multiple Java implementations, there is enough standardization for them. Where things become contentious is that there are multiple ways to get to the same solution (lack of lock-in).

"Open standards" are even more ambiguous since [as an industry] we don't even have a clear idea of what constitutes a standard. I read through Kurt Cagle's post and he never actually ends up defining "Open Standard" beyond providing analogies and rationales for why he believes in them. An interesting statement that Kurt makes in his post is the following

I suspect that in many ways the open standards movement is, at its core, a reaction to the rather virulent degenerate capitalism that exists today, in which a person can profit far out of proportion to the amount of work that they do, usually at the expense of many others who lose disproportionately to their work load.

The notion of 'profitting in proportion to your work' is pretty bogus and foreign to capitalism. Capitalism is all about the value of your work to others not how much work you put in. A minor league baseball player doesn't work an order of magnitude less than a major league baseball player yet he makes that much less. A multiplatinum recording artist doesn't work an order of magnitude harder than local bands trying to get big but makes that much more. It may not sound fair but that's capitalism. In recent centuries humans have experimented with other socio-economic movements that are more 'fair' but so far capitalism is what has stuck. </digression>

Anyway, my point is that buzz phrases like "standards", "service oriented architecture" and "web 2.0" have such diluted and ambiguous definitions to be effectively meaningless in technical discourse. People who've been in the industry for a while eventually learn to filter out these phrases [and often the people speaking them as well] when engaged in technical discourse. If you are a technical person you probably should be more explicit about what you mean by using phrases such as "freely implementable and patent unencumbered", "SOAP-based web services" and "AJAX powered website" in place of the aforementioned buzz phrases. Oh, and if they don't match up to what you mean when you use those statements then that just proves my point about the ambiguity of these buzz phrases.


 

Categories: Technology

I've been surprised by how often movies with similar themes end up being released at roughly the same time by Hollywood studios. Since it takes several months to shoot a movie this means that somewhere along the line some Hollywood exec hears about a rival studio producing a movie and decides to produce a movie with a similar theme. Some examples that come to mind are

I'm sure there are dozens of examples like this from across the years. What I wonder is whether I'm right that Hollywood execs just have a "follow the leader" mentality and decide that if a competitor is shooting a disaster movie for summer of next year that sounds like a hit then they need to shoot one as well. Or is there some more sophisticated reasoning at work?


 

Categories: Ramblings

December 27, 2005
@ 07:15 PM

About a month ago we released the first cut of the Nightcrawler edition of RSS Bandit and promised that there'd be a bug fix release within a month. So exactly 30 days and about 100,000 downloads later, we're shipping the bug fix version of the Nightcrawler release.

Download the installer from here. Differences between v1.3.0.38 and v1.3.0.42 below.

Translations

  • This release is available in the following languages; German, English, Brazilian Portuguese, Traditional Chinese, Polish, Serbian, Russian, Japanese, Italian, Spanish, Bulgarian, and Turkish.

Installer

  • The application can now be installed on computers that only have v2.0 of the .NET Framework available.

  • A mini-application for editing the keyboard shortcuts used by the RSS Bandit has now been added. To locate the application, look in the RSS Bandit application folder which is usually "C:\Program Files\RssBandit" for the application named ShortcutsEditor.exe

Feeds

  • Fixed issue where the subscription wizard picks the first feed found on a web page in auto-discovery mode instead of displaying the list of feeds found so users can choose which feed to add to their subscriptions.

  • Feed autodiscovery now uses the Firefox icon () which will also be used by IE 7, Outlook 12 and FeedDemon for indicating when feeds have been found on a web page within RSS Bandit.

  • The '+' that indicates that inline comments are available for a post now controlled by the Tools->Options->Display->Display Related Items as discussion threads checkbox. Note that this feature is now off by default.

  • Fixed issue that feed validation/autodiscovery/search in subscription wizard could not be cancelled

  • Fixed problems with processing titles in Atom feeds containing markup characters. We now pass all of Phil Ringnalda's Atom title test cases. .

  • Fixed issue where the title of first post in the feed is used as the feed title in some RSS 1.0 feeds..

  • Fixed issue where some comments aren't shown inline for some feeds that support <wfw:commentRss>

  • Fixed issue where the blog post is repeated as the first comment in some feeds that support <wfw:commentRss>.

Newsgroups

  • Added ability to create new posts in a newsgroup.
  • Subscribing to a newsgroup no longer asks for username and password per subscription since this information is specified when the news server was first added.

  • Subscribing to multiple newsgroups at once now supported.

  • Fixed bug where subscribing to newsgroups via Tools->Newsgroups results in 'Input string was not in a correct format' error on attempting to download posts from the newsgroup.

  • Fixed issue where downloading messages from newsgroups times out. This was fixed by setting the maximum number of items to download to 1000.

  • Fixed issue where subscribing to password protected newsgroups results in "Credentials property not an instance of NetworkCredential" error.

Synchronization with NewsGator Online

  • Fixed issue where when downloading feedlist from NewsgatorOnline the following error occurs; "Feedlist download failed with error: Object reference not set to an instance of an object".

  • Fixed issue that downloading feedlists from Newsgator Online never stops


 

Categories: RSS Bandit

December 27, 2005
@ 05:40 PM

Niall Kennedy has a blog post entitled Exclusive: Google to offer feed API where he reveals

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.
...
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.

As someone who's been thinking about synchronization between RSS readers for a few years I definitely see this as a welcome development. The Bloglines sync API is too limited in its functionality to be useful while the NewsGator API is both complex and designed with too many assumptions to be widely usable. However, unlike Niall, I blame the complexity of the NewsGator API on the data model and expected data flow than on whether it uses SOAP versus Plain Old XML (POX) as the wire format.

Once the Google Reader API ships, I'll definitely investigate the feasibility of adding support for it to the Jubilee release of RSS Bandit.


 

December 22, 2005
@ 08:05 AM

Finding myself with a few hours to kill this evening, I decided to update my Seattle Movie Finder mashup which provides information on show times for movies currently playing in the Seattle area. The update was to use the new map control that is being used by Windows Live Local instead of the old Virtual Earth map control.

So far there isn't a lot of accurate information out there for working with the new control. The best guide I found was the article Creating Your First Virtual Earth v2 Page, almost every other article or reference document seems to be outdated. As usual Chandu Thota was a fountain of wisdom when it came to getting info about the API as was Chris Pendleton.

Note: This version works in Internet Explorer. I've pinged the Windows Live Local folks to complain about Firefox support so I expect it should be forthcoming since they seemed aware of the problem.

It works in Firefox and Internet Explorer.


 

Categories: Windows Live

The Reuters article AOL, Google ad pact to include video, instant msgs states

America Online said Google had agreed to invest $1 billion to take a 5 percent stake in AOL, as part of an enhanced pact where Google will move beyond text-based advertising to allow AOL to sell graphical ads to Google's fast-growing ad network.

The stake effectively values AOL at $20 billion, a key benchmark should Time Warner elect to spinoff or sell a part of its Internet unit in response to dissident shareholder Carl Icahn's proxy campaign to break up the company.

Terms of the deal call for AOL to make more of its Web sites searchable via Google search, including a plans to feature AOL's premium video services within Google Video, a way of searching for Web-based video programming.

They also said they had agreed, under certain unspecified conditions, to allow users of Google's recently introduced instant messaging system Google Talk to communicate with users of AOL's market-leading AIM instant messaging service.

This is a very interesting development when combined with the recent release of the Libjingle library which allows developers to use the Google Talk API. Does this mean it'll soon be possible for any developer who grabs Libjingle off of SourceForge to be able to integrate the ability to instant message with any AOL Instant Messenger (AIM) into their applications free of charge? That is definitely game changing. I haven't looked at Libjingle [for obvious reasons] but I am interested in comments on whether my analysis is on the mark or not from people who've tried it.

I'll definitely be watching the Google Talk blog and Joe Beda's blog to keep on top of the developments in this space. Interesting stuff indeed. Perhaps I'll soon be able to integrate chatting with your AIM buddies into RSS Bandit ?


 

Categories: Web Development

December 21, 2005
@ 01:00 AM

I just found out about Yahoo! Open Shortcuts. This is SICK!!!. Yahoo! has done it again. The excerpt below is taken from the FAQ

  1. How do I use it?
  2. Do you have some shortcuts that are ready to use?
  3. How do I create my own?
  4. How do I manage my Open Shortcuts?
  5. Is there search meta word trigger?
  6. Can I name my shortcut the same name as a default shortcut?
  7. I've got feedback about Yahoo! Open Shortcuts. Who do I tell?
  1. How do I use it?

    Type an ! (exclamation point) followed by the name of the shortcut in the Yahoo! Search box.

    !shortcut_name

    Examples:

    !my to navigate to "http://my.yahoo.com"
    !wsf to search "weather san francisco" on Yahoo!

    For shortcuts that search favorite sites or start an Internet application, you can also type optional term(s) after the shortcut name.

    !shortcut_name term(s)

    Examples:

    !ebay lamps to search for "lamps" on Ebay
    !mail bill@yahoo.com to send email to "bill@yahoo.com"


  2. Do you have some shortcuts that are ready to use?

    These popular shortcuts are available for immediate use:


    Navigation
    !clist http://www.craigslist.org/
    !my http://my.yahoo.com/
    !mysp http://www.myspace.com/
     
    Search
    !amazon http://www.amazon.com/exec/obidos/external-search?mode=blended&keyword=%s
    !audio http://audio.search.yahoo.com/search/audio?p=%s
    !ebay http://search.ebay.com/search/search.dll?satitle=%s
    !flickr http://www.flickr.com/photos/tags/%s/
    !image http://images.search.yahoo.com/search/images?p=%s
    !mw http://myweb2.search.yahoo.com/myresults/ourresults?p=%s
    !news http://news.search.yahoo.com/news/search?p=%s
    !php http://www.php.net/%s
    !shop http://search.shopping.yahoo.com/search?cop=mss&p=%s
    !video http://video.search.yahoo.com/search/video?p=%s
    !wiki http://en.wikipedia.org?search=%s
     
    Application
    !note http://notepad.yahoo.com/?v=161&DESC=%s
    !mail http://compose.mail.yahoo.com/ym/Compose?login=1&To=%s
  3. How do I create my personal shortcuts?

    To create a navigational shortcut, use the keyword: !set with your shortcut name and destination URL.

    !set shortcut_name URL

    Example:

    To create a shortcut named "ff" to go to Yahoo! Sports Fantasy Football,
    Type: !set ff http://football.fantasysports.yahoo.com/f2

    To create a common search shortcut, use the keyword: !set with your shortcut name and the query.

    !set shortcut_name query

    Example:

    To create a shortcut named "watx" to search Yahoo! for "weather austin texas",
    Type: !set watx weather austin texas


    To create a shortcut that searches a favorite site or starts an Internet application, use the keyword: !set with your shortcut name and the destination URL. Within the URL, substitute the query term(s) with the "%s" placeholder.

    !set shortcut_name URL_%s

    Example:

    To create a shortcut named "yf" to search stock quotes on Yahoo! Finance,
    Type: !set yf http://finance.yahoo.com/q?s=%s

This is extremely useful. I've been wanting a short cut for searching Wikipedia on popular search engines for quite a while. Just for this feature alone I can see my usage other search engines dropping. 


 

Categories: Web Development