Missing Amazon Workshop

Argh.  I signed up for Amazon Workshop at O'Reilly Conference but didn't realize it was on today until too late.  I could have sworn it was on 24th.  I am getting a haircut to make up for it (?).

Latest PGP SDK Released

PGP Corporation released PGP SDK 3.0.2.  Woohoo!  Two types of licenses are available:

  • Weak-Link License – for developers who wish to take advantage of PGP capabilities on systems that already have a PGP product installed.  PGP libraries cannot ship with your product. This license is cost free.
  • OEM Developer License - for developers who want to integrate PGP technologies into their products' feature set.  PGP libraries can be shipped with your product.  This license is not free.

To get the SDK, follow the instruction on the SDK page.

Python News

Chandler 0.1 – Chandler is Mitch Kapor's open source Its-Not-An-Outlook-Killer written using Python.  This is the first release.  Here is what Mitch has to say about the release.

"The first release of Chandler, release 0.1 is now available! While we're still very early in the design and implementation process, we intend for this 0.1 release to make us a more fully open project. We have made the release available for download, opened up our bug tracking database, and opened our source code repository. We have also spent quite a bit of time in the past few weeks focusing on improving our code and documentation." – Mitch Kapor's Weblog

Twisted 1.0.4 – Twisted is a python framework for network applications.  This version features a few optimizations, drastically less buggy GUI reactors, fixes for several Perspective Broker bugs, a bit more documentation, and the customary extra helping of internet carries a hint of Washington D.C. cherry-blossom scent.

Lupy 0.1.3a – Lupy is a port of Lucene from Java to Python.  This version fixes a few bugs and adds Unicode related changes.

Auto-Mirror Web Service

Since the bubble burst, contents have been disappearing.  Just yesterday, I have been reading some papers on techniques for simulating hand-drawings (I wanted to follow up on on my idea that UI artifacts like buttons that looks hand-drawn stands out, without being too loud, a very useful quality).  After finding and reading about ten interesting papers on the topic, I started reading secondary papers referenced in those papers.  What surprised me was that majority of those links were broken.  Mostly sites were simply shutdown.  Rest of them were due to papers being removed or moved elsewhere.

If I have some web resources that links to external web resources, only think I can legally do now is pray.  If the resources are critical to me, I can use a local copy, but there are several problems with using a local copy:

  1. using a local copy may be illegal.
  2. updating local copy is cumbersome and often requires manual review (real paper might get replaced with sorry-but-its-gone page).
  3. UI may become confusing or verbose enough to interfere with the content.

Owners of those external resources also have their own problems.  First, they don't know who are depending on their resources, so there isn't much choice when they have to stop operation for one reason or another.  Second, scalability often cost too much and takes too much time to increase (when your server goes down because you got slashdotted, its too late to get additional servers).

One solution for both parties is to use web services to negotiate auto-mirroring of contents.  For external resource referencing sites (well, everyone), auto-mirroring guarantees that external resources referenced by their content will be available.  For owners of external resources, they can route requests to mirror sites when load gets too heavy.

Technically, its just mundane stuff.  Resource consuming server asks resource owner, via SOAP, whether certain resources can be mirrored.  If not, nothing is done.  If allowed, content is mirrored and resource owner notes the mirror location as well as information (capacity, location, etc.) useful for balancing load across multiple mirrors.

What excites me is that amount of work involved is relatively small, yet benefits are so huge.  I can easily imagine this being a standard web server feature within a year.

Great FreeTextBox

FreeTextBox is a great looking free open source rich text control for ASP.NET.  Go check it out and try different examples.  I am particularly pleased with its offer to provide support if user buys one of several commercial rich text controls written by others.  Raving about the virtues of open source is easy, knowing the importance of healthy commercial software market is not.

XMLSEC 1.0 Released

Aleksey Sanin released long waited 1.0 version of XMLSec, an open source C implementation of XML-Signature and XML Encryption.  Good job, Aleksey.  FYI, XML-Signature and XML-Encryption are used in 3D-Secure, SAML, Liberty, XKMS, and other key standards.

"The XML Security Library 1.0.0 release is the major upgrade from 0.0.X version. The new version includes multiple crypto engines support (with "out of the box" support for OpenSSL, GnuTLS and NSS); simplified and cleaned internal structure and API; several performance and memory usage improvements; new or updated documentation (tutorial, API reference manual and examples)."

NOTE: XMLSec uses LibXML2.  Canonicalization code was moved to LibXML2.

JavaScript + XML == ECMAScript 2.0

Following BEA's foray into a language with first class XML integration, XML will be added to ECMAScript 2.0.  The work is known as E4X (ECMAScript for XML).  Brendan Eich, creator of JavaScript, has already done substantial amount of work to add XML to Mozilla's JavaScript engines.  A team of experts including both Brendan Eich (Mozilla) and Adam Bosworth (BEA) will be working on this.  This looks more promising than what Microsoft has been doing so far in this area.

Newspaper-like UI for News Aggregator UI

News Aggregators of today have data-oriented UI, meaning the UI reflects how the data is structured (items, categories) and distributed (feed URL).  News articles are separated and filed under categories or feeds.  Outlook-like three-pane UI seems natural from this perspective, but this approach is not very user-friendly, turning news reading into an annoying experience.

I predict that the next generation of news aggregators will sport more user-oriented UIs.  For example, people are used to reading newspapers.  Newspaper layout is, while seemingly simple, a complex subject that mix aestetics with artificial intelligence.  From UI designers' point of view, newspaper metaphor is a powerful tool that evolved over more than hundred years to communicate large amount of information effectively without sacrificing readability.

Imagine a browser-like window displaying a newspaper frontpage-like view with columns of articles under bold headlines.  Articles are pulled from direct or indirect (via editorial process) RSS feeds as well as syndicated news feeds.  Merging articles from a large number of sources into a single newspaper is the key idea here.  News sources are demoted from being an important UI artifact to a single line at the end of an article.

There are visual artifacts at corners and edges for nativigating to other sections.  Each sections are topic oriented.  Important articles from each section are displayed either partially or entirely on the frontpage.  Importance is determined by a combination peer feedback and a hierarchy of editorial input.  Users can click on an article to view it different zoom levels for more comfortable reading size.

Each article is adorned with visual artifacts that allows:

  • the reader to request more details which creates a special news section that fills up over time as news articles related to the special section is arrives.
  • express interested other news written by the author.
  • participate in polls related to the news.
  • forward to friends by e-mail, IM, or your own newspaper (more on this later).
  • comment or make a blog post within the context of the article
  • save for reference later

Visual layout and article selection and placement policies should customizable by the user as well as saved and shared with others.  Professional versions ('designer-newspapers') can be bought.  Professional version of the software adds editing and publishing features.  This will allow creation of specialized quality newspapers.

While I could write this tool myself, I would be happier seeing a new explosion of news aggregators sporting such a user-friendly UI and 'community' features.