Tiny Projector

While searching for on-demand server-side Java compilers for cellphone, I ran into an interest project at MIT Media Lab by accident.  Simply titled Tiny Projector, Stefan Marti documents his work on building prototypes of his solution to limited display problems inherent in mobile devices.

"The basic idea of TinyProjector is to create the smallest possible character projector that can be either integrated into mobile device, or linked dynamically with wireless RF connections like serial low range transceivers." – Stefan Marti

Stefan provides plenty of diagrams and pictures of circuits, models, and his solderworks.  He looked like he was having hell of a fun time doing it.  Starting from July 2001 to May 2002, his project progressed from this:

To this:

What was the difference?  Cellphone users won't have to twirl their cellphones!  Aside from the coolness of the idea, the paper is a fun look at how technologies get developed at personal level.  I enjoyed reading it.

Web Service in ASN.1

Sun engineers talk about how they are addressing web service performance issues using ASN.1 to encode XML in this Fast Web Services article.  According to the article, so called Fast is 4 to 10 times faster depending on the complexity of SOAP request and response being exchanged.

Binary XML is one of the first problems I tackled when I first discovered XML many years ago.  Since then XML spec was published and SOAP was introduced.  I was intrigued by SOAP because it shared many characteristics with Inter-Application Communication (IAC) work "Dave" and I worked on for Frontier ages ago.  Looks like the Wheel turned again and now we have Fast Web Services.

My opinion is that, while there will be some web applications which are practically only with Fast Web Services, the performance gain will be lost on most web applications.  Just look at how we have gotten used to squandering memory and bandwidth as availability increased.

Faster performance could encourage finer-grained web services which amounts to fetching a document one word at a time.  Even worse, fine-grained web services increases load on the server-side, not only on web servers, but application servers, database servers, and directory servers.  This is one case where common sense differs from reality.

While thre are ways to avoid these problem, solutions require skills, experiences, resources, and mindshares not readily available in the Lazy Web.  To best use Fast Web Services, consider it after design and implementation phase and either before or even after deployment so that your design don't end up with a built-in dependency and unavoidable waste and abuse stemming from the dependency.

FeedDemon UI Blues

FeedDemon could have been good, but it's UI sucks at the moment.  It introduces metaphors without feedback nor justifications.  On top of metaphors like Listing and Newspaper, it built too many menus and commands that looks all too similar.

In the latest version, I end up with many default channels like Amazon category feeds without an apparent means to remove them.  I tried the menus in vain but ended up trying to delete one at a time and then gave it up.  I could careless if there was some dialog somewhere.

If I can't find it, it doesn't exist.

Kid’s Software

KidzMail looks good (via Gadgetopia).  It would have been even better if it was web-based and provided e-mail service as well like like Hotmail so kid-appropriate filters can be come pre-installed.  Even better, expand the functionality to include other activities including blogging, IM, games, trading, and, especially important, education.

Kid's perspective affects not the UI but the functionality itself.  Take a common functionality like spellchecker.  Instead of merely underlying misspelled word and a way to correct it, each misspelled word is an oppotunity to educate the sender AS WELL AS the receiver.  Instead of correcting it, the program can use crayon like coloring to mark it and then provide correction on the side with a line drawn to the bottom where definition and related information is shown.

A weighted dictionary can be used to teach words kids are not likely to know so new words can be introduced incidentally as well as via suggestions as the kid is writing a message.

Education is a under-developed country in the software world.  Although education can benefit greatly from correct application of technology, all we do is shove more hardware at them instead of coming up with better software and interfaces that widens the teaching opportunities.

Take for example, GameBoys.  There are millions of these things and kids are absolutely attached to them, yet there are very few educational software for GameBoys.  Even a simple software like electronic flash cards could do wonders to kids.  To do this, all one needs is a GameBoy cartridge capable of running Java (i.e. JemBlazer) and a means of communication with a nearby PC like USB, Bluetooth, or even Wi-Fi.

EverQuest

I spent a good part of yesterday playing EverQuest.  It was partly a day-long vacation for me and an opportunity to study a phenomenon.  Installation was easy enough and graphics was adequate, but EQ user interface really sucked.

I couldn't believe how bad it was even after all this time.  Windows popping up every where, weird keyboard and mouse controls, confusing map, text colors too dark to see read, the list goes on and on.  All the 3D UI lessons learned by the game and simulation industries over more than a decade seemed to have been thrown out.

Manual was pretty useless also and, even worse, there was little free online information about EQ.  Everyone was selling information, equipment, and items instead.  Pretty weird, I must say.

XML Security C++ 1.0

The XML Apache Project has released XML Security C++ 1.0, a C++ library that implements XML digital signatures.  This is the first stable release.  I have used Java version of the package but haven't tried the C++ version, so I don't have any opinions other than that the library depends on C++ versions of Xerces and Xalan which tend to support latest standards at the cost of larger footprint and lower performance than other XML and XSLT implementations.

Still, it is nice to have alternatives to XML Security Library (XMLSec) by Aleksey Sanin.  Latest version of XMLSec is 1.1.0 released on August 5th.  XMLSec uses LibXML2 which was written by Daniel Veillard for Gnome project.

Both libraries are cross-platform and Win32 binaries are available.

This makes me wonder why there isn't a C++ version of Batik.

Garriage?

Recent posts elsewhere about gay marriages and XML namespaces mixed in my head somehow and got me thinking about the naming aspect of the gay marriage controversy:

What if we called it garriage instead of marriage?

I know it is silly, but I have silly thoughts when I am silly.

Good Patents and Bad Patents

According to a federal jury in Chicago, this frivolous patent is worth $521 million.

It is:

"A system allowing a user of a browser program on a computer connected to an open distributed hypermedia system to access and execute an embedded program object."

In plain language, it's a bleeping patent on plugins for web browsers.  Is that novel enough to warrant patent protection?  I don't think so.  Compare this to a Korean company that came up with a way to shoo mosquitos away by generating sound from cellphones.  Now THAT is worth awarding a patent on and their $600K per month revenue is honestly earned money.  Not THIS crappy patent that could cost us half a billion dollars via Microsoft Tax.

Living IRC Server

Frequenting #joiito IRC channel got me thinking about IRC which is still a wild technology in my opinion.  For some reason, IRC technology has stood still while its cousin Instant Messaging surged forward.  One idea I had recently was Living IRC Server.

Living IRC Server is an IRC server enhanced with AI and designed to strive for survival.  For a server to survive, it must be useful.  To be useful, IRC server must encourage participation, enhance user experience, and market itself using allowed mediums like web pages, feeds, e-mail, IM, etc.

For example, not everyone is equal in any given IRC channel.  There are key individuals who can make or break a chat session or channel.  On #joiito, Joi Ito is a key person.  Joi and a few others often act as catalysts, encouraging participation, new topics, and informally mediating conflicts.  Making their messages more noticeable (i.e. increased font size, underline, or highlighting) so they don't get lost heir messages can impact the IRC channel's survival.

Marketing-wise, IRC server might send an IM notice to inform and invite individuals to join a session.  For example, if conversation level is low or turnover (popping in and out) is high, IRC server can notify catalysts with information that might entice them into joining the conversation like "Joi, there are 24 people in #joiito.  Their names are…"

Service bots spamming for survival, eBay server taking self-initiated actions to enhance auction participation, etc.  It's a confusing picture of what might be ahead that both intrigues and disturbs me.  Imagine a Match.com bot whose primary survival goal is encouraging marriages.  That bot could keep introducing new prospective spouse even after your marriage since there was no mention of 'everlasting' in the survival goals.

Making of Apache Geronimo

It turns out that Apache Geronimo will arrive earlier than I expected because it will ship with a forked version of JBoss called Elba, forked by a group of former JBoss contributors who formed Core Developers Network, a JBoss support company.  JBoss is crying foul saying only JBoss has the right to offer JBoss code base under non-LGPL license.

The question is who owns the copyright in open source projects like JBoss?  Code Developers Network group members have apparently written major components of JBoss like CMP 2.0, so the picture is fuzzy at this point.  As I written before, open source world mirrors what goes on in the commercial world.  It's a dog-eat-dog world.