« March 2003 | Main | May 2003 »

April 30, 2003

Sprint Announces Bluetooth Phone

Until January, I'd been a long-time (over 5 years) Sprint customer. I switched to ATT because I wanted the Sony T68i phone, primarily because of its bluetooth capabilities. Overall, I've been pretty happy with it, but I liked the 1xRTT network better than I like the GPRS network. The speed was better and coverage seemed better. Yesterday, Sprint announced that they'll support the new T608 phone. I really like the T68i phone and ATT has been a reliable carrier, so I don't think I'll switch, but if Sprint had had this phone four months ago, I'd still be with Sprint.

9:10 PM | Comments () | Recommend This | Print This

Organizing Data: Whence Real Integration?

I was just answering an email and realized how far we are from real integration. There were two related emails. One with an attachment that I wanted to save to a folder. One of them turned into an appointment. Don't forget my reply. I also have two related URLs that I want to keep track of related to the emails. The emails are in a two email folders (received and sent), the attachment, now modified, is in a folder, and the URLs are in my bookmark list. I really want them all in one place. Furthermore I want managing them to be easy. Here's some workarounds:

  • I can save the email messages as text to a folder and drag the URLs there as well. I can't attach that folder to the appointment, however, or store the appointment in the folder in any meaningful way.
  • I could blog it all, but that seems like an unwieldy solution. And here again, there's no good way to tie it to the event.

Maybe the answer is something like David Gelernter's Lifestreams metaphor, but that seems like overkill. I liked hearing that in Chandler everything has a URL. Giving everything a name in a common namespace is the first and more important step to unification.

What I want is for Apple to realize that iLife should link the things in my life: appointments, email, documents, and URLs rather than my music, movies and pictures. I think Apple is in danger of focusing too much on the gee-whiz media stuff (witness their announcement of yesterday) and not enough on the stuff that will really make a difference in the lives of their customers. I like iTunes and iPhoto, but if they went away my life would go on. Not so with my email, appointments, files, and URLs.

5:19 PM | Comments () | Recommend This | Print This

The Hundred Year Language

From Patrick Logan's weblog, I found a pointer to an essay by Paul Graham called "The Hundred-Year Language." I don't know Paul well, but I have interacted with him on more than one occasion. A hundred-year language is one that people will still want to use in one-hundred years. Paul makes some very interesting points and, if you program, the essay is well worth the read---right to the end. Here's one quote I just can't resist repeating:

I don't predict the demise of object-oriented programming, by the way. Though I don't think it has much to offer good programmers, except in certain specialized domains, it is irresistible to large organizations. Object-oriented programming offers a sustainable way to write spaghetti code. It lets you accrete programs as a series of patches. Large organizations always tend to develop software this way, and I expect this to be as true in a hundred years as it is today.

The phrase "accrete programs as a series of patches" is so deliciously visual that it makes me smile.

8:04 AM | Comments () | Recommend This | Print This

April 29, 2003

Hydra and iStorm

Hydra caused quite a stir at ETCon last week. I thought it very helpful in getting a group to capture thoughts together. iStorm is a similarly positioned product. I looked into it and here's what I thought.

iStorm bills itself as "the worlds most innovative collaboration tool." iStorm is a collaborative editor like Hydra, but also comes with a drawing board and chat client. It can even understand LaTeX which could be really helpful for collaboratively doing math. Here's my one minute review:

  • iStorm requires per-user licensing for more than two users. Collaboration takes place between like-licensed instances of the application. This would have made the kind of wild-fire experience that happened at ETCon impossible.
  • The blackboard would be nice. iChat with Rendezvous seems to work just fine in most instances. LaTeX is handy if you need formulas.
  • Unlike Hydra, iStorm allows only one person to edit the document at a time by means of a glowing ball that changes colors and acts like a semaphore. I think Hydra's free-for-all is much more interesting and more natural. In a conversation with a large group, people frequently step on each other.

Clay Shirky mentioned in his talk that he uses chats and wikis to help manage large conference calls. People use the chat to "get in line" for a turn to speak and do other administrative tasks. They can use the wiki to make notes on the agenda, and keep track of links, references, statistics, etc. Of course the problem there is that wikis don't allow real-time free-for-all editing like Hydra, so everyone can take notes in their own topic, but they can't take notes on the same topic (in the wiki technical sense). Combine these kinds of tools with the web for broadcasting slides and you've got a conferencing facility that is effective and relatively inexpensive.

11:29 PM | Comments () | Recommend This | Print This

Using Rendezvous with iChat and Hydra

I don't know how many OS X users there are in the class. If there's more than one, I'd encourage you to use Rendezvous to connect in class and make use of some tools to enhance your classroom experience.

  • You can use iChat with Rendezvous to open up chat sessions with others in the class. I think this kind of back-channel communication can be helpful.
  • Download and install Hydra, a Rendezvous enabled editor. You can use it to create a set of group notes. Once you use it, you'll be hooked.

11:06 PM | Comments () | Recommend This | Print This

Some Things to Know

Welcome to CS330. If you've made it here, you've found where I'll be posting occasional thoughts on the class. Feel free to take a few minutes to read the blog this is part of. Here are a few places of note:

11:00 PM | Comments () | Recommend This | Print This

April 28, 2003

Concepts of Programming Languages

Wednesday I start teaching a course for BYU called Concepts of Programming Languages. This is a course I designed 10 years ago when I first went to BYU and its still taught in much the same manner. The text, which is an excellent introduction to how programming languages work, is Essentials of Programming Languages. In many curriculums, this course is a survey course that simply becomes a "programming language of the week" sort fo thing. I try to avoid that. The primary concepts that the course tries to teach are:

  • The interpreter architecture pattern
  • How static structures (i.e. programs) give rise to dynamic behavior

The class uses Scheme (a dialect of Lisp) and the students build a series of interpreters for a variety of language features, including one that interprets and object-oriented language, and one that does type checking. The class calendar is online (updated automatically from my iCal, of course). There are copius class notes. In my class last semester I had quite a few students who had Macs, so I'm going to encourage collaborative note taking using Hydra. I am thinking of establishing a class Wiki as well to see what happens. I'll be blogging the course, but not to my homepage. I've set up a separate category on my blog, so if you're interested in following along, you'll have to visit that page or subscribe to that RSS feed separately.

5:26 PM | Comments () | Recommend This | Print This

April 26, 2003

Where Am I Going? Blog Events from iCal

Thursday while I was listening to Ben Hammersly's talk on the semantic something or other, I noticed that he had a box on his weblog that showed events he was planning to attend in the near future. I thought that was a good idea, so I put one on my weblog too. If you look to the right, you'll see a box labeled Upcoming Events that lists things I'm planning on going to in the next 90 days. I didn't really want to double enter this on my calendar and my blog, so I decided I'd link the box on my blog to the calendar I keep on my Powerbook. This is the story of how I did it.

You're probably aware, if you use iCal, that it stores its calendars in iCalendar format. What's more, it can display and create multiple calendars in a color coded way so that events can be conveniently categorized. My plan was pretty simple. I'd create a special calendar called Travel and put my travel related entries there. That would put them all in a single file called Travel.ics in iCalendar format. Then I'd parse the file and turn it into HTML. That would give me something to suck into my blog.

It turns out that there aren't any complete libraries for parsing iCalendar files in Perl, but there is a PHP application called PHP iCalendar that has a nice iCalendar parser. The application is designed to display iCalendar formatted calendars on a web site. One of the nice features is an RSS generator for calendars. Now, I've never written any PHP before, but I've written tens of thousands of lines of Perl, so I figured I'd be OK. Besides, it easier to learn a new langauge than to write a parser. :-)

My standard procedure for learning a new language is to just jump right in and start modifying some existing code to do what I want. The RSS code looked the closest, so I copied it to a file called events.php and got started. It turns out that it wasn't very close--by the time I was done, there wasn't much of the original file left. I wanted to display only the all day events for the next 90 days. I put things like airline departure times and hotel check-in info in my calendar as well and I didn't want those on my blog. I also wanted to link the event title to a blog entry describing it when one existed. The latter is not directly supported by iCal, so I store the link as a tagged entry in the Notes field like so:

link: http://www.windley.com/categories/speakingEngagements/2003/03/06.html#a478

The code accesses each of the all day events in the parsed calendar during the next ninety days in order. The parsed calendar breaks repeating events apart, so I had to collect them back together. Luckily, they're all on sequential days or it would be harder. The code also greps for any link: tags in the DESCRIPTION field (what the Notes become in the iCalendar file) and pulls the URL out. Finally it spits them all out in the HTML of my choice.

The PHP module is available on my local web server and I use a cron job (check out Cronnix for a nice GUI crontab tool) to copy the files over to where the PHP program can access it. The results are available for the price of a GET. This chunk of code pulls the resulting HTML into my Radio template

<% 
local(s_str=string.urlEncode("XML"));
local(url="http://panther.local/phpicalendar/rss/events.php?cal=Travel");
local(s= tcp.httpReadUrl(url));
return(s)
%>

A few notes on the implementation:

  • A more general events module would grab all-day events as an option, not just the only way its done. I should also handle repeating events in a more general way. My code, for example, will make a hash of overlapping repeating events. Luckily, I don't plan to travel to more than one place at a time.
  • The file should probably spit out RSS or some other XML variant and then use an XSLT service to turn it into HTML so that its useful for more than just feeding my blog.
  • This is my first PHP code, so if you promise not to make fun of me, I'll share it with you. If you make any improvements, please let me know.
  • I wish the iCalendar format was an XML-based standard. That would have made this job easier.

XML or not, this is a great example of how having data freely available in a standard format frees it from the tyranny of the application.

6:34 PM | Comments () | Recommend This | Print This

April 25, 2003

What's in a Name: Social Software

Dave Winer argues that social software is hype. "Take something that exists, give it a fancy new name, and then blast at reporters and analysts about it." I have some sympathy for that position, I used to argue it myself. In some ways, Alan Kay made a similar argument in his "nothing new under the Sun" demonstrations yesterday. Maybe I'm just getting soft as I age, but I've come to rethink my position somewhat. Here's why...

In the 80's Object Oriented Programming was the hype that got my dander up. After all, it was nothing more than an effective linking of closures and sub-typing. But it was something more. The technology existed and the ideas existed in the minds of a few visionaries. What didn't exist were frameworks, libraries, books, and, most importantly, a broad-based understanding of what OOP was, how it could be used, and why it was beneficial. When I say "broad-based" I'm including random IT workers in various places, but also technical managers and others who are making business decisions.

A good example is the State of Utah. There are 900 IT workers. For the most part they're bright and hardworking. But many of them, including their managers, have also been working for the same organization for a long time, doing the jobs that need to be done, without the advantages of flitting off to conferences on the latest trends a couple of times per year. I doubt you could find many of them that wouldn't embrace OOP at this point. The hype, if you will, has sunk in and permeated even the farthest corner. Application server technology is just starting to seep in. I received an email from a Utah State IT worker just last week asking for my advice on some books to help him understand the difference between a web server and application server and how to use them effectively. XML is generating lots of heat, but not much fire. Web services aren't even on the radar screen yet and the only reason that they're being experimented with in a few forward looking places is because of the hype that surrounds them right now.

So, when I heard the term "social software" used as a way to categorize blogs, wikis, email, mailing lists, groupware, and what have you, I saw it for what it is. Its not some crass marketing gimmick, although it will certainly be used for that. Rather its the best way we have for helping an industry come to grips with trends that are unmistakable. We give it a name and start having conferences, writing articles, and arguing about it in blogs. :-) This gives people who haven't paid any attention yet a major clue that there's something worth looking at here. Until they get that clue, they're too busy with other things. To understand your privileged position in being able to see this struggle perched above the fray, spend some time in a large IT organization and see how difficult it is to get new ideas to take root there. I think you'd gain a new appreciation for the immensity of the task and the role that the "hype engine" plays in educating people and getting them to move.

9:15 AM | Comments () | Recommend This | Print This

April 24, 2003

Done at ETCon

I'm leaving the ETCon a day early. A good friend is graduating from college tomorrow and I need to be home for that. Its a shame all the nanotech stuff was scheduled for Friday. I really wanted to hear more about that. One of the great pleasures of the conference was meeting Doug Kaye in person and being able to spend some time getting to know him better.

6:33 PM | Comments () | Recommend This | Print This

Hertzfeld and Kapor on Chandler

Andy Hertzfeld (of Mac fame) and Mitch Kapor (of Lotus fame) are speaking about Chandler, an open source productivity tool that Kapor is funding out of his own pocket. The organization Mitch created to build it is the Open Source Applications Foundation. Why Chandler?

  • email is the most important productivity tool
  • there are gaps between what email is and what users want.

Mitch describes it as Lotus agenda meets the Internet. A rich ability to associate all kinds of thing and people in natural ways. Here are some features:

  • Power email - managing large volumes of email
  • Sharing and collaboration - share anything with anyone including browsing other people's repositories. Publish and subscribe to let you receive changes automatically.

Chandler is a platform (seems to be the mantra here). The UI is scriptable with a graphical font-end for doing the scripting. Andy says "the hard thing about being a programmer is keeping track of lots of abstract things." I disagree. The hard part of programming is creating static documents (whether textual or graphical) that result in correct dynamic interactions. This static to dynamic barrier is something most people don't cross with ease.

Beyond scripting, the program is designed to be extended in many different ways. All of the subsystems, including the UI, the object database, networking, sharing, and security, will be usable independent of the application.

The application uses wxWindows for cross-platform development and Python as a development language. There is a persistent object database for storage. The architecture allows for multiple front ends: GUI, PDA, cellphones, Web, etc.

I enjoyed the tour around the site and seeing how they've set it up for managing the open source development. They are using a WiKi.

OK, here is the coolest thing I've heard so far: every item in Chandler has a URL. This is totally the right thing. I want all of my items to have a unique address that i can reference. Its interesting that even though naming is very fundamental to Computer Science, we build do many applications that don't give names to things.

Chandler is available now as a 0.1 release. The early releases are not feature complete, although what's there now is interesting to play with. Mitch thinks that by the end of the year, 0.5 will be out and the most extreme early adopters will be able to start using it.

5:30 PM | Comments () | Recommend This | Print This

The Internet Bookmobile and Copyright Protection

One of the talks I didn't get to go to, but wanted to was on the Internet Bookmobile. This is a real vehicle (see the pictures on the link) that drives around printing books on demand. The books are all in the public domain (which lots of classics are). The bookmobile doesn't keep them on a harddrive, it downloads them as needed. The printer in the bookmobile can print and bind a book in two minutes, producing one every 30 seconds (pipelined). Cost is about $1. We could probably use one of these in Utah. This is a great example of society benefiting from material in the public domain after the author has enjoyed their monopoly. Congress is keep lots of good material out of the public domain by continuing to push out the copyright period everytime it comes up for a vote. Your grandchildren will suffer so that Sonny Bono's estate can accumulate more wealth. Great societal tradeoff, huh?

4:27 PM | Comments () | Recommend This | Print This

WarblogsWarblogging

We're talking, via phone, to Stu Hughes of the BBC from the UK. He created a blog before he left for Iraq as a way for him to communicate his experience with friends and family. He was in a land mine accident and now is recovering from surgery where part of his leg and his foot were amputated. . His blog talks about the experience and his steps (literally) to recovery. Xeni Jardin is interviewing him and doing an excellent job. Very touching story, but interesting from the standpoint of Stu using his blog to reach out to others, explore his new situation, and, I suspect, get a little therapy. He says something that is very true: you write for yourself and if someone else gets something out of it, then that's good too. You have to have that perspective if you want to keep blogging. Sometimes there's not much feedback.

Doc Searles commented about the community surrounding warblogs and the fact that there are two or three stars who are at the center of that community. I think that's an interesting idea. These people seem to have to exist in these communities. Doc says that he's chosen not to be political in his blog. I agree. I have tried to stay away from that as well. Part of my reason is that to do it justice, I'd have to spend much more time at the political stuff than I'm willing to do right now. Otherwise, you say some stupid things and you just get into trouble---people get very passionate about these things.

Stu is discussing being scared when he realized his blog was getting a lot of attention. He was scared because he hadn't thought about how public it was and wasn't sure he'd been as careful as he should have with what he said and scared that when his employer found out, they'd ask him to shut it down as he hasn't gotten permission first since he saw it as a personal way to communicate with his family.

3:26 PM | Comments () | Recommend This | Print This

Ben Hammersley on Semantic Urhmmmmm

RSS is extensible. Ben is showing RSS that contains contributor information (using Friend of a Friend data inside Dublin Core contributor tags), trackback data, and annotation references. All of this is added automatically by the system.

ThreadsML is based on RSS 1.0. It uses an Apache module called mod_threads and Dublin Core. Using ThreadsML, conversation happening in blogs, mailing lists, and IRC could all be merged together to form a threaded stream of the conversation.

The major problem with this is subject.

  • Subject lines are rarely useful
  • One old solution is hierarchal ontologies
    • Easy to use but...
    • It only works one way.
    • Hierarchical ontologies are cultural specific.

One answer might be ENT or Easy News Topics for RSS 2.0. ENT allows ontologies to be created on the fly. This takes away the cultural specificity and allows each person to define and publish their own classification systems. (Here are notes about a breakfast conversation on ontologies that I didn't take part in.)

To make this useful, there needs to be a way to link ontologies. There's a big question about whether this will scale or now. One test site called e-Kcollectors has five sites feeding ontologies and quickly reached 50 top levels. So we could see so many ontologies and categories that the diminishing utility is rapidly reached.

3:10 PM | Comments () | Recommend This | Print This

Clay Shirky on Social Structure in Social Software

Clay Shirky is giving the final talk of the morning. Clay was the subject of some controversy during the conference caused by this article in the Register. Tim O'Reilly bit back saying He got a complaint from a speaker who didn't get included, and made that complaint the basis for a rant. He didn't talk to anyone at O'Reilly. He didn't make any effort to get background or hear the other side. He wrote a flame, not a story. I told Tim that I'm not surprised at all. Anyway, here's what he said...

Clay defines "social software" as software that supports group interaction. This is a radical concept given that most of the technology patterns prior to the Internet were point to point or broadcast. The best group interaction technology was the kitchen table. Clay's premise this morning is that social software is its own worst enemy.

W. R. Bion did research with groups of neurotics. He discovered that, as a group, the neurotics were taking actions that defeated efforts to help them. They were not acting individually, but there was not clear group consensus. Bion concluded that humans are fundamentally individuals and fundamentally parts of groups. Kind of like the wave-particle dynamic for electrons. Clay gives an example:

You're at a party and you're bored, but you don't leave. This is different than from a book store, etc. if you get bored -- you usually leave. That social stickiness is what Bion is speaking of. However, when one person leaves then everyone leaves. This triggering event (Gladwell's tipping point) pushes group over to action "Paradox of groups"

Bion identified some specific patterns of group interaction:

  1. sex talk done for the purpose of flirting or pairing.
  2. identification and vilification of external enemies
  3. religious veneration Nomination and worship of an icon ("cult of clay"). Putting something beyond critique.

Group rules like Robert's Rules of Order protect groups from falling into these patterns and thus protect the group from itself. Clay gives an example of BBS systems in the 1970's that started out as "open access" and "freedom of speech" were "overrun" by teenage boys who wanted to talk about bathroom jokes, sex, etc. The group didn't have enough structure to fend off these "attacks" on the group. This was a social issue, not a technological issue. "An attack from within is the pattern that matters."

Clay just said "they formed a government because they needed a government." I think this is an important point. Groups of all sizes need not only rules, but meta-rules (like a constitution). The probability that any unmoderated group will get into a flame war over whether to have a moderator approaches one as time increases. Small groups can engage in patterns of interaction that large groups can't. We are now getting interesting ways (RSS, chat, etc) to experiment with this, and ways to do the experiments quickly and cheaply. When you lower cost, interesting new things happen.

We're seeing an explosion of social software. Clay asks "why now?"

  1. Because it's now. Just learning patterns over time and internalizing these ideas. Clay asks why we had to go through Geocities with pictures of badly scanned cats before we got to weblogs, for example.
  2. Because it's web-native (weblogs, wiki's). He criticizes the "Lotus juggernaut with a Web front end". It's the web all the way in (not like lotus notes with a web plugin). Easy to extend, easy to break-down. Assumes http as transport, markup as encoding. This lets us build things quickly.
  3. We can now have a small pieces loosely joined (coupling, synchronous/asynchronous) pattern. One example is the emergent democracy work by Joi Ito. Joining of conf call / chat / wiki loosely linked into a mesh of modes. Interrupt messages move to chat room from conf call, and in chat or wiki, annotation happens. "Broadband Conference Call" held together with a little bit of social glue.
  4. Ubiquity. Everyone has access not just to the Internet, but also to the tools for writing the web. All is a very different amount than most. We no longer live in a two hula hoop world, where online and offline worlds are distinct. This quickly becomes an assumption.

There are some things that need to be understood to help make groups work:

  1. Do not separate technical and social issues. Not all social issues can be specified in technology.
  2. Members are different than users. In particular, there usually arises a core group of users in a long-lived group.
  3. The core group has rights that trump individual rights in some situations. Citizenship goes beyond just the ability to login. Otherwise you're subjected to the tyranny of the majority. All groups of any integrity have a constitution, whether in code or in social charter.

There are some design features:

  1. Identity matters. Clay says "handle" rather than identity because of the baggage that identity pulls in with it, but I think its important to deal with the messiness. Anonymous and even pseudo-anonymous systems don't cut it. The basis for group interaction is knowing who said what when. Moreover, reputation requires real identity. There should be a penalty for switching handles.
  2. Design some way for their to be members in good standing. There is an interesting parallel to a talk I heard by the Slashdot creators and how they came up with karma.
  3. Need some barriers to participation. This means that some things need to be hard for some people. This gives the core group tools to defend the group from attacks.
  4. You need some way to protect the group from scale. He makes a reference to Metcalfe's law.

Overall, regardless of what the Register article claims, Clay is a forward thinking guy and his talk was thought provoking.

Note on how this blog entry was created. A lot of folks here have started using a Rendezvous enabled editor called Hydra to do collaborative note taking. I've been logged into the feed, making some contributions, and freely using the group notes to remind me of workings, organization, and other things that happened during the talk, as it happened and I blogged it. Actually very cool.

12:11 PM | Comments () | Recommend This | Print This

Kevin Lynch on Central, A Type-2 Web Services Application Framework

Kevin Lynch from Macromedia is talking about an upcoming macromedia product called Central (whitepaper in PDF). Central is an example of some of the rich internet applications that people are developing. Apple's Sherlock is another example. One way to think of Central is "internet as desktop" but done more much "right" than Microsoft's attempt to just turn the desktop into a browser. Central allows users to link chunks of data from various sources and tie Internet-based applications together. The following concepts are important to Central:

  • instant delivery
  • occasionally connected computing
  • cooperative applications
  • open data, which I think means decoupling data from applications
  • context, meaning apps know more about the user and the user's current situation.
  • collaboration

Of course, standards like RSS and Web services are important to making this work. Kevin sees Central as the glue that can tie these things together. I call these kind of applications "type-2" Web services-based applications. Type-1 Web services applications are built using application networks like those being pioneered by Web services brokers like Grand Central. Type-2 Web services applications are those built using rich internet applications like Central. In that sense, Central is a Type-2 Web services application framework.

11:15 AM | Comments () | Recommend This | Print This

Alan Kay: The Computer Revolution Hasn't Happened Yet

The keynote for this morning is Alan Kay and is entitled "Daddy, are we there yet?" Alan is the inventor of SmallTalk, among other things and he has utah ties, getting his PhD from the Univ. of Utah in 1969. His primary complaint is that the last 20 years have been pretty darn boring because we're spending our time making better buggy whips in the form of better spreadsheets, better ways to write memos, etc. Alan quotes from a paper written in 1963 called "Man-Computer Symbiosis:" In not too many years, human being and computing machined will be coupled together very tightly and the resulting partnership will think as no human brain has ever thought before. he claims that this hasn't happened in large part yet, although I'd argue that networked computing has allowed some of us have made some progress in that direction.

To prove his point, Alan is going through four or five examples (all with live demos and video which is pretty cool) of really neat, revolutionary computer science breakthrough including Ivan Sutherland's Sketchpad and McCarthy's LISP 1.5 implementation for the PDP-1. He is now showing what is likely the first collaborative software system: Engelbart's NLS. Built in 1968, it had live full motion video conferencing and concurrent document editing with shared cursors.

Alan shows something called "end user computer literacy" which is a graphical LOGO-like environment where users draw things like cars and steering wheels and then connect them together using scripts they build from property panels. It doesn't sound dearly as impressive as it was to see. The goal is to get kids building programs and using it to do experiments. One of the examples is using the system to explore the notion of a gravitational acceleration constant.

The base system is called Squeak. Squeak is the programming language and the OS. Its a grand total of 2.8M of binaries. One interesting thing he showed was that his presentation was actually a sequence of desktops so that each slide was a fully functional view. This made for some pretty cool demos.

10:14 AM | Comments () | Recommend This | Print This

April 23, 2003

ETCon Blogs

Interested in reading other voices about ETCon? Here's a Wiki Directory of ETCon Blogs.

8:35 PM | Comments () | Recommend This | Print This

Semantic Mapping

Jo Walsh is talking about a semantic mapping model for geospatial information called spacewebspace. spacewebspace is a MUD world done using RDF in Jabber (I think). She's talking softly and quickly and its pretty far out there. This Friend of a Friend project is tied in somehow. Steve Fulling would love her slides---they're all in lowercase.

Ignoring XML serialization, RDF is just a directed graph. The MUD bot allows you to tag locations with geodata. I think the idea is to build a virtual, RDF based map of a real place. Boy! I don't think you have to use Jabber since the system is based on GET and POST, any http enabled client should do. There's some reference here to something Hofstadter wrote in Godel, Escher, Bach. I'll have to go look it up. An aside: if you've never read GEB, buy it now and read it.

Possible uses:

  • travel itineraries
  • picture annotation
  • web annotation (blogosphere)
  • collaborative annotation (restaurant recommendation)

The system uses OWL (web ontology language) to create taxonomic descriptions, properties, and logical constraints on the spatial model. The model is created us a similar manner by having a "conversation" using Jabber with an ontology bot.

You can use the RDF graph to do route finding traversal. OWL allows psychological factors to be encapsulated in the logical inference. The slide shows an SVG map of the London subway system that is inferred from the semantic model of London. With historical data, that is version control, you could flip back and forth in time inside the virtual world.

This would have some interesting uses in eGovernment and GIS. These people and the Earthviewer and OpenGIS people need to get together. Being able to overlay this data on Earthviewer would be cool. Even cooler would be to use Earthviewer as the interface to this for creating the data.

5:58 PM | Comments () | Recommend This | Print This

Building the Memex

Maciej Cegiowski from the National Institute for Technology and Liberal Education is talking about P2P semantic search engines. The Memex is an idea that Vannevar Bush wrote about in 1945 to catalogue and organize information. Maciej is speaking on semantic indexing.

Maciej claims that its possible to infer semantic relationships from document content. He uses a case study of Steven Johnson (author of the book Emergence). Steve had 1146 paragraph clippings from 15 books arrange in flat-file text. He shows a search on "photosynthesis" which returns the traditional keywork matches but also entries that talk about "chloroplasts" and "symbiosis." It works on the principal that related documents share words.

The most well-known algorithm, called LSI, is O(n3). Another method is called contextual network graphing.

Peer-to-peer search, which seems something of a misnomer to me searches multiple connections in parallel and then interleaves the results. The project uses contextual network graphs to link articles. Maciej envisions a search API that would allow users to plug various search engines into their own aggregator (think RSS, but RSS doesn't quite cut it for this app).

Semantic searching and document linking is popular area. When I was CIO, I talked to a lot of folks who had a better way to search. I talked to some folks, Steve Nieker and Martin Remy, at lunch who are from ThinkTank23 who do searching. Homeland security has pushed this topic to the fore, but large organizations have always had the problem of finding what they have.

3:55 PM | Comments () | Recommend This | Print This

The O'Reilly Radar

Tim starts off with a well-known quote from William Gibson: "The future is here, its just not evenly distributed yet." This leads to his "big hairy, audacious goal (otherwise known as a mission statement: Changing the world by capturing the knowledge of innovators. One of his key strategies for doing this is "leveraging alpha geeks."

Here's the editorial filters that Tim uses:

  • Disruptive technology
  • Technology uptake is accelerating
  • Its on a long term trend (he quote Ray Kruzweiler: "It has to make sense in the world in which you finish, not the one in which you start.")
  • Grassroots support--bottom up
  • Inspires passion
  • Has deeper social interactions
  • There's a real need for information
  • Has professional practitioners
  • A possible business ecology

Here are some things that are hitting Tim's radar:

  • Amazon Web Services. I think whats interesting here is that this is a social networking issue, not a web services issue. Amazon had already bought off on affiliate marketing and thus had a mind-set that was conducive to building web services for their platform. Companies that are having a tough time understanding Web services probably don't have a culture that values interacting with partners in a networked way. Tim has AWS up as an example of a larger trend: creating web-facing databases that can be repurposed. In other words, the same thing I'm talking about in Enabling Web Services.
  • Tim Pozar is now talking about the Bay Area Research Wireless Network. This is a community network that has great potential for public safety. We, of course, have this problem in spades in Utah where there is so much rural area.
  • Andy Phelps is a professor at RIT. He's showing a player user community web-site called Phank. He's not associated with them, but thinks they are an example of an interesting phenomenon. Phank is a online community, called a guild, built around the game Everquest. They have built a community that is stronger than the bond to the game and so they're looking at other games to migrate to. They fund their work by playing the game and selling information about it on eBay to other players.

2:43 PM | Comments () | Recommend This | Print This

Eric Bonabeau on Biological Computing

Eric Bonabeau is Chairman and Chief Scientific Officer at Icosystem. He apparently used to work for Microsoft Research. He's talking about social insects and what studying them can teach computer science. The chief question is "how do we shape emergence?" Less succinctly, "how do we define individual behavior and interactions to produce desired emergent patterns?"

His first lesson is "the whole is more than the sum of its parts." Eric spoke for a while about how Ants learn paths to food sources via pheromones and even find the shortest part in a robust way because pheromones evaporate. He's now showing how that can be used to solve the traveling salesman problem. This is biologically inspired since it makes several important departures from true ant behavior. The solution method compares well to other optimization techniques. I found a paper by Dorigo and Gambardella on this topic. Its being commercially applied by companies like Unilever.

The second lesson is "simple rules rule." Eric is describing how ants create bucket brigades organized by size with larger, more efficient ants closer to the nest. Simulation shows that this is the optimal way to organize labor. CVS Pharmacies was able to apply this rule to their distribution centers and saw a 34% increase in productivity.

The third lesson is "no one needs to be in control." He uses the example of collective transport where ants collectively try to carry something too large for any single one. They all push in random directions and make no progress until by chance more push in one direction and get them all going in a single direction. Another example is nest contruction in wasps and termites. He built a model based on a simple rule of brcks being deposited based on some stimulation in the environment. The only form of global communication is the structure itself.

The fourth lesson is "size matters." In small colonies, workers exhibit polyvalence, meaning all workers do all tasks. In larger colonies, specialization occurs. This is true, of course, in human organizations as well. Some organizations don't practice it well and that hurts their efficiency in significant ways. The State IT organization comes to mind.

12:55 PM | Comments () | Recommend This | Print This

ETechCon Photos

I have started an album of my pictures from the Emerging Technology Conference. Feel free to take and use them.

11:43 AM | Comments () | Recommend This | Print This

DRM Panel

Dan Gillmor is moderating a panel on DRM. First up is Joe Kraus. Joe used to be at Excite back in the day. He is best remembered, by me at least, for an interview with Morley Saffer from 60 Minutes where he said "this is not your father's company." He was right; my father's company lasted more than 3 years. :-) He's now a lobbyist on digital rights in Washington and is quite well informed. His organization is DigitalConsumer.org. His message is one I've said many times: Silicon Valley has to wake up and realize that politics is central to their business. Hollywood and the recording industry understand this very well. Technical companies typically don't.

Wendy Seltzer is an attorney with the EFF. She says that DRM is not digital rights management, but digital restrictions management since DRM isn't about rights, its about restrictions. Of course, rights and restrictions are just two sides of the same coin. She describes copyright in layers. There's a layer of copyright law that has certain rights and restrictions. Companies layer technology on top of that to try and enforce the law and to take away some of the rights of consumers that are granted in copyright law. DMCA is a layer on top of that that restricts technologists and consumers from tampering with that technology. In that light DMCA is not about copyrights, but about restricting technology.

Bunnie Huang is a former MIT student who figured out how to hack the XBox. The interesting point here is that DMCA doesn't attack this hack on the basis that Bunnie stole intellectual property, but on the basis of whether he has the right to run something on Microsoft's hardware, which he bought and paid for, other than Microsoft's OS. namely he put Linux on the XBox.

Lastly is Cory Doctorow, from the EFF. He mentions Napster as the largest collection of human creativity ever. What's more it was built in a matter of months without any central command and control and for very little money. He compares it to a library and the destruction of Napster was a virtual burning of the library. In the wake of Napster, more libraries sprung up in its place. The problem with Napster wasn't that it threatened the the recording industry. New technologies have always displaced existing distribution mechanisms. The problem is that we haven't figured out how to compensate artists in the new system. DRM takes a different approach, asking the question "How can we burn the library so that we never have to burn it again."

11:24 AM | Comments () | Recommend This | Print This

Howard Rheingold

This morning's keynote presentation is Howard Rheingold on "Technology Innovation and Collective Action." Howard is the author of many books. The book which really brought him to the attention of geeks was The Virtual Community about his experiences in the Well. The latest is a book that has had some popularity called Smart Mobs. I picked up a copy yesterday but haven't had a chance to start it.

Howard's message this morning is "You can create tools that amplify collective action: innovate our way out of the enclosures growing around us." His theme is collective action. He contrasts this with collectivism. Collective action is people voluntarily working together to create some common good and is the basis of civilization.

Howard mentions the use of social software and mobile technology in politics. He claims that technology played a major roll in turning around the recent electioins in Korea and in monitoring elections in Kenya. I would agree and take it beyond mere politics to the realm of eGovernment. I think that the transparency engendered by eGovernment can play a significant role in changing government and driving appropriate social behavior.

He has an interesting take on RIAA and DRM. He notes the change that took place with the PC wherein consumers of computing services became users of computing services. The result of DRM would be to turn us back into mere consumers and only people who worked at certain places would be allowed to be users.

Howard tells the story of having an iPAQ that was enabled to read bar codes. He pointed it at a box of prunes and the UPC was linked to information about the company, product, etc. Each of these was linked to a Google search. The top item in the search on the company that produced the prunes as a Supreme Court decision about them and their labor practices. His point is that every thing has a story. Howard asks the question "who will be allowed to read and write these stories?"

9:49 AM | Comments () | Recommend This | Print This

April 22, 2003

Biological Models of Computing and Self-Reconfiguring Robots

I'm attending the Biological Models of Computing session tonight. John Scott is the moderator. When I was at the University of Idaho, I was in a weekly seminar with two other CS faculty members and two faculty members from the Biology department where we read books and papers to explore this topic. I've been out of it for a long time, but it sounded like an interesting way to spend an evening.

We just played a game that shows emergent behavior. In the game, everyone picks two people at random and identifies one as the aggressor and one as the defender and when the moderator says "go" you try to position yourself so that you get behind your defender from the point of view of the aggressor. Then you make a simple change where you are the defender and try to position yourself between the aggressor and your other pick. Two very different kinds of behavior emerge. I won't say how it turns out so as to not ruin the game for you. Try it. The behavior is predictable if you've seen the game before, but not easy to predict without empirical data.

John works for Icosystem. The question of the day, because of the background of Icosystem is "what coherent behavior emerges from lots of independent actors each following their own set of rules. There are many other "biology inspired" computing models (viz. neural nets, genetic algorithms).

The USC CONRO project was mentioned in passing, so I looked it up. Very cool, self-reconfiguring robots. Check out the hardware prototypes and the movies on the software hormones page. The concept appears to be similar to what Rodney Brooks has been talking about, but in a cellular construction. These things are like Legos on steroids. Imagine being able to create 1000s of these kinds of things with self-contained power and good sensory equipment on each one. Who couldn't love playing with these?

8:28 PM | Comments () | Recommend This | Print This

Texts for My Enterprise Computing Class

I've selected the following texts for my CS426 class on Enterprise Computing at BYU for next Fall:

As I've mentioned before, I'm anxious to change the format a little and move a little more about Web services into the content and that will require removing some of the content we talk about now like CGI.

5:19 PM | Comments () | Recommend This | Print This

Office as a Web Service Platform

Charles Maxon from Office Zealot is speaking on using Office 2003, the XMLized version formerly known as Office 11, with Amazon Web services (AWS).

Charles claims that Office 2003 solves a number of issues that have kept developers from viewing it as a platform:

  • Distribution - Web services solve previous distribution difficulties
  • Security - Security issues have been solved. Really...we promise!!!
  • Captive data - XML make the data fungible. Its not trapped in proprietary formats.
  • Sophistication perception - XML and Web services are cooler to work on that macros.

Charles showed an example of giving Excel the URL of the AWS service for a search and an XML Schema and then getting a custom view of the data. Pretty simple to do and let's you work with the data using charting, sorting, pivot tables, etc. The data can be published from the Excel document to a web share for use by others.

He also demoed the research and reference library feature that allows AWS data to be brought into the Word task pane and then easily included in a Word document. The task pane essentially becomes a web browser, but its being driven by XML and formatted using XSL. This is not default behavior, but something that Charles wrote to include Amazon functionality into Word.

SmartDocs takes the task pane functionality even further allowing developers to create context sensitive controls and content that uses and modifies the XML in the Office document. The coding is done using a COM (.dll) add-in that is based on Smart Tags. The manifest contains this code, XSL stylesheets, Schemas, and so on. Charles demonstrated this using a task pane that had been customized for creating consulting services proposals.

Regardless of how its used with Amazon, I believe that this kind of functionality, built-into a program that almost all companies have already decided to buy for their employees represents a big opportunity for enterprises to roll-out Web services in ways that are inexpensive and affect the bottom-line. For example, one could easily imagine a travel application that has been built-in Word and customized for a particular company. The travel application grabs relevant data from company and travel agent Web services but looks like a Word document to the user. Publishing to the company's travel web share would then submit it. Of course, all they'd see is the XML-delimited data and they could suck that into whatever legacy application they use to manage travel now. After the trip, the user would use a smart expense report document that would grab the application to fill-in a lot of the data. Additionally, the expense report could use other services from the company's Web services to ensure that expense report rules are followed. Again, publishing to the travel web share would file it. That's one small application out of hundreds or thousands of small enterprise applications that could be built. Microsoft obviously understands the idea of platforms being more valuable than applications.

3:52 PM | Comments () | Recommend This | Print This

AWS Features and APIs

Jeff Barr is the Amazon Web Services (AWS) evangelist. His presentation on AWS is online. Simplest Shop is an example of using AWS to create an alternative shopping experience for Amazon products. The site uses a comparison shopping model in contrast to the standard product view from Amazon. The site is pretty impressive when you think that the guts is all Amazon. Another demo site is the Amazon Lite site. Notice the browse mode on the left-hand side and the history box on the right.

Some Amazon information that needs to be understood:

  • ASIN - Amazon Standard Identification Number. This is the basic key to each product on Amazon.
  • Browse Node - Collections of items. ASINs can be in multiple browse nodes.

Amazon, as has been widely noted, has stayed out of the REST vs. SOAP debate by making their site compatible with both methodologies. I've used the site in a RESTian way and apparently so have a lot of others. Amazon handles more REST-type requests than SOAP-type requests. This probably shouldn't be surprising since if all you want is a simple "give me a listing and let me reformat it" kind of request, grabbing the XML from a search and using the built-in XSLT engine to format it is dead-simple. Even so, the Amazon Lite demo site is done in a RESTian fashion, showing that REST doesn't have to equate to "simple."

Greek Landscapes is another example of a RESTian use of Amazon. The site is all XSLT stylesheets and HTML. Click on a book link and note that the URL is Amazon, but the formatting is for Greek Landscapes.

Jeff describes three types of architectures for using AWS:

  1. Static architecture that uses only HTML and XSLT stylesheets. This is relatively easy to do and doesn't require any kind of sophisticated hosting.
  2. Dynamic architecture that uses server side code and a SOAP or XML interface. DevManagers.com is an example of this kind of site that is built using PHP.
  3. Pseudo-static architecture where you dynamically grab data on a regular schedule and create static pages from it for use by customers. ePinions.com is probably doing this. This kind of architecture scales well for large loads. Of course, data like availability won't be up-to-date in this model.

Jeff is talking about caching. Obviously, Amazon would prefer that users cache the data rather than hitting Amazon's servers every time. An interesting point: this is pretty easy to do in REST mode since the infrastructure of the Internet can already to this and there's lots of proxy code for HTTP already written and available for use.

Here is a tool for exploring the merchandising API. It doesn't work very well in Safari or Mozilla (i.e. its IE specific). Even so, the tool looks like a useful way to explore what kind of results you can get back and even play with the XSL transformation.

The Merchandising API allows a developer to get access to data about the products on Amazon in a variety of ways. There are two major modes: light and heavy. Light is more useful for simple indexes. Heavy is for creating fully functional product sites. I asked about URL longevity. No real answer except general agreement that stable URLs for things like images is "a good thing." The Merchandising API supports the "find" and "discover" legs of the Amazon "find, discover, buy" triangle.

The Shopping API provides the "buy" leg of the triangle by allowing users to add things to their shopping cart. The easiest way to do this, of course, is with a simple link to Amazon. This can simply take people to a page on Amazon, give them a "buy box" or even push the item right into the shopping cart. The more interesting AWS component, however, is called "remote shopping carts." The NBA Store is an example of a site that uses a remote shopping cart. The remote shopping cart creates a hidden cart on Amazon and then transfers that into the users actual Amazon cart and they're transfered into the order pipeline. A new feature announced today is that the order pipeline can be branded. Try it on the NBA Store. You'll see the NBA co-branding with Amazon throughout the order pipeline.

One of the things you've probably noticed when you use Amazon is that it now tells you that there are used items available when you search for something. Amazon does this by allowing other people to sell their stuff using Amazon's platform. The Seller API allows this to be managed through AWS. There are actually three different ways that this works: Marketplace is for Amazon products, zShops is for non-Amazon products, and Auction is for, well, auctions. The Seller API is batch oriented.

There are some external toolsets for using AWS. Rael Dornfest the "hacks" editor for Oreilly and he passed out an upcoming "confidential draft" of an "Amazon Hacks" book. Paul Bausch is the author of the book. Chapter 6 of that book will cover AWS. Here are some other toolsets:

More demo sites:

  • Saturday Night Live People uses AWS to create a vertical niche site around Saturday Night Live and drive sales of books, DVDs and other merchandise related to the cast and guest hosts.
  • Here are three power tool sites: Shop for Power Tools, NE Sales, and Tool Realm. Three different takes on the same product line that all use Amazon as their platform.

10:34 AM | Comments () | Recommend This | Print This

Amazon

Some facts about Amazon:

  • 31 million people bought something on Amazon last year
  • 21% of the transactions on Amazon are merchants other than Amazon
  • The Amazon Web services API allows developers who are not Amazon employees to use the platform.
  • Amazon has spent about $900 million on technology.
  • Associates program is second most successful marketing program. There are 900,000 associates in the program (I represent two of those IDs).

The Amazon Web services platform comprises three APIs:

  • Selling API
  • Merchandising API
  • Ordering API

For this to be more than just an interesting playground for geeks, Amazon has to provide an economic model that works for other business. That's the only way that they can use outside development effort to leverage their technology investment and encourage 3rd party innovation.

Amazon got into this through their "Amazon Recommends" program that they made available to associates. They found that many people were screen scraping the HTML and decided to just send them XML before they converted it to HTML. The associates program already had Amazon thinking that working with partners was a good way to do business, so Web services is just a way to enable that. I think its interesting to note that the desire to cooperate came first. If the associates program had fizzled, Amazon wouldn't have embraced Web services easily.

The key thing for Amazon goes beyond merely cooperating with partners, however. Amazon is the 800 pound gorilla, so what they're creating is a platform instead of an application. Tim Oreilly likes to say "a platform strategy beats an application strategy everytime."

9:52 AM | Comments () | Recommend This | Print This

Conference Start

One of the real treats of these OReilly conferences is getting to meet so many of the people I read everyday. This morning at breakfast, I was at a table with Glenn Fleishman, Tim Pozar, Cory Doctorow, Rael Dornfest, and Doug Kaye. I'm sitting in the Amazon workshop right now. From the schedule, it sounds like it will be an interesting day.

9:41 AM | Comments () | Recommend This | Print This

RSS for eGovernment

The State of Utah's Enterprise Development Group (eDG) has recently been working on RSS applications in Government. Ray Matthews and others at the Utah State Library has been educating people from all over on RSS. Its great to see some of it sticking in house. I think RSS has great applications in eGovernment. Press releases are an obvious application, but other applications include event notification for all kinds of things, but public meeting notices would be a great first start. Another example: I'd like to see the CommuterLink data available via RSS. What about court decisions? Someone ought to start a catalogue of all the things that you might want to do with RSS and eGovernment. I'd bet the list is long and that most of the applications are not all that expensive to implement.

9:06 AM | Comments () | Recommend This | Print This

April 21, 2003

Refactoring: Emerald Lake to Aspen Grove

Tim Bray is talking about refactoring, the process of rewriting code. Tim makes the point that it seems extremely painful to rewrite something that's more or less working but that it isn't as bad as it seems, having been through it once before. My personal experience leads me to agree.

When I was at iMALL, we built a multi-million dollar eCommerce system that allowed small merchants to set up a web-based storefront online. The system was code-named "Emerald Lake" or EL. We planned and implemented for months. We spent a lot of money. When we were done, we were severely disappointed. Performance wasn't good and there were some nasty problems with transactions that were hell to track down.

We almost immediately started a complete refactoring of the code that was code-named "Aspen Grove." Aspen Grove was completed, thanks in large part to our earlier experience, in a few months by a much smaller team and far exceeded our expectations in performance and ease of use.

Were we just inexperienced? That might explain some of it, but there were a number of seasoned people on our team. I chalk most of it up to the fact that refactoring is a real technique. I've always been a big fan of prototypes and while EL couldn't really be considered a prototype, Aspen Grove was certainly the beneficiary of its legacy. Tim quotes Fred Brookes from The Mythical Man-Month who said in 1975 "Plan to throw one away. You will anyway."

6:09 PM | Comments () | Recommend This | Print This

Off to Oreilly Emerging Technology Conference

I'm catching a flight this morning to San Jose to attend the Oreilly Emerging Technology Conference. It looks like a good program and Oreilly always does a great job. I'm looking forward to it. There will undoubtedly be Wi-Fi access so I'll be blogging some of what I hear. I'm sure lots of others will be as well.

8:28 AM | Comments () | Recommend This | Print This

April 18, 2003

Jabra Freespeak

I've got a bluetooth enabled t68i phone that I have a lot of fun playing with. I have an Ericsson HBH-20 bluetooth headset, but as you can see if you click out to the picture, its still got a wire and a little fob for the electronics that clips on your clothing. The other day, I picked up a Jabra Freespeak bluetooth headset at CompUSA for $99.99. Here's my initial review.

  • The Jabra is self contained and fits behind your ear. After a few days of using it, I can say that this is the most comfortable headset I've ever used. I had it on for a few hours while I was driving and my ear didn't get sore, it stayed in place, and no having any wires running up to it means that you don't get snagged when you turn your head suddenly.
  • People I'm talking to have reported that the conversation is clear and the voice-activated mike is doing a fair job at removing the road noise that my truck creates.
  • The unit comes with a recharger and the literature claims that you get 100 hours of stand-by and 3 hours of talk time on a charge.
  • Associating it with the phone was painless and it seems to seamlessly re-associate as I take the phone in and out of its presence.
  • The T68i's voice-activated answering and dialing work fine with it so you can use the headset with the phone in your pocket.
  • There is an on-off button on the device which also is used to answer the phone. It takes some practice to be able to effectively push the button with the headset mounted on your ear, but you get used to it.
  • The volume goes high enough to be painful, which I count as a good thing. I hate when you can't quite get the volume high enough in a noisy environment.
  • I love the Jabra earbuds. It fits snugly in your ear and is comfortable at the same time.

I was really debating in CompUSA whether I wanted to spend $100 on a headset, especially when I had one that worked. I'm glad I bought it. The one I had worked, but wasn't convenient enough for me to use. Now I've got something that meets my needs. Besides, a new gadget is a new gadget---if I can just get people to stop calling me Uhura.

8:07 AM | Comments () | Recommend This | Print This

April 17, 2003

Programming the Internet

I spoke at the BYU Computer Science colloquium today. The title of my talk was Internet Programming. I borrowed quite heavily from some of Rohit Khare's work and some of my own thoughts in that area. As an example that many people can relate to, I also included a discussion of Clemen Vasters' Content Pipeline idea. Here is a copy of my slides. I'm not entirely happy with the presentation yet. You still get a lot of blank stares from some folks. Even so I had some great discussion afterwards that produced the following ideas:

  • Kent Seamons and I talked about the use of the trust negotiation work that he and his students are doing as a way of creating trust between parties involved in a service exchange.
  • Kevin Seppi and I talked about using Baysian techniques to analyze these kinds of systems for performance.
  • Kelly Flanagan brought up the idea of using an ALIN device to duplicate a transaction stream and using one stream to drive the production service and the other stream to drive a QA service or one in development. You could even have a process on the ALIN device that compares the result streams and produces a report of the differences in content and performance.

In short, almost anything you'd develop or measure on an operating system, you could do on ALIN devices. That leaves a lot of room for creative thinking.

6:19 PM | Comments () | Recommend This | Print This

April 16, 2003

A Better Finder

A number of people have talked about a better Finder. Tim Bray pointed me to a Finder replacement for OS X called Path Finder. Tim wasn't happy with the performance on a 500MHz machine. I'm happy to report that performance on a 1GHz machine is good and in just a few days I've become a convert. Overall, the user interface design is better and there are some features (like history) that just make a lot of sense in a file browser.

10:30 PM | Comments () | Recommend This | Print This

April 15, 2003

Content Pipelines

Clemens Vasters is talking about content pipelines. Clemens envisions a system for processing RSS feeds, Exchange folders, public websites and other information that pushes this content through a series of stages in a pipeline that processes the information in specific ways. For example, one stage might add Google search results to the content and another might annotate it with relevant books from Amazon. Still others might perform language translation or dictionary links. Clemens sees this as an open architecture that allows stages in the pipeline to be written by anyone and routed to as necessary. In other words, this is a set of web services for RSS feeds. This is a cool idea that generalizes the Mockerybird Book Watch. Clemens says:

So,Êif such a distributed infrastructure existed, and you'd aggregate this entry "backrouted" through a pipeline of filters provided by Weather.com, Google.com, Dictionary.com and Amazon.com, you'd have the weather for Athens and Madrid, all relevant Google links and books onÊ"content" and/orÊ"pipelines" and WS-Routing, andÊlinks toÊexplanations of all non-trivial words in this text. How's that?

The lesson here is that its the links to related information that are adding value. For example, for most of the words in a typical post, I don't need an artificial link to the definition, because my brain has already made that link internally. For some words though, it would be helpful. One of the interesting aspects of this project would be the user interface issues to ensure all this information make sense once it gets to the user.

9:32 PM | Comments () | Recommend This | Print This

Hacked

I got hacked this morning. If you happened to tune in, you saw an uninteresting message from someone demanding money. This wasn't the first time either. Turns out my page had been hacked at least two other times during the last week, but Radio just overwrote it when I publihsed new stuff. That's one advantage of posting frequently and really shows the benefit of a content management system. The site can be recreated with relative ease. The problem was a known security hole in Gallery 1.3.2. I was able to fix that using information on the Gallery site and, I hope, plug the hole.

5:03 PM | Comments () | Recommend This | Print This

The Modern University?

Philip Greenspun asks why Universities don't provide more for group learning and keep students in school 45-50 weeks out of the year so that they can finish in 2.5 years instead of 4. Northface Learning is a company that thinks they can do just that for Computer Science students. They also think they can make money at it. I've seen the progress they've made over the last year and they might just pull it off.

8:46 AM | Comments () | Recommend This | Print This

Jabber Gets Liberty Enabled

Jabber, the open source instant messaging platform and PingID, have announced that Jabber will use PingID's SourceID gateway to allow Jabber users to allow federated single sign-on to Jabber services. SourceID is an open source implementation of the Liberty alliance specification. SourceID is still a pretty well-kept secret, but partnerships like this will help it get out into the sun.

8:21 AM | Comments () | Recommend This | Print This

April 14, 2003

Tabs for Safari

Thank you, Apple. Safari now has tabs which are much easier to manage, from my perspective, than multiple windows.

8:50 PM | Comments () | Recommend This | Print This

Weblog Directories

Dave is making another impassioned plea for people to start using OPML based directories. I'll add my small voice to the chorus. About 3 months ago, I got to wishing I had a way to create specialized directories of the content on my weblog and related content from elsewhere. As a consequence, I started my feature page. But this is just an OPML directory that Radio renders using activeRenderer. The OPML is available here. This isn't the complete answer however.

A little while ago, I started to want to reference my collection of posts and material on GXA separately as well, so I split that out as a separate OPML directory. Ideally, I should be able to reference this in my "features" OPML and get it included as part of the features outline. Something isn't working right however. I'm not sure if its activerRenderer or something I'm doing wrong. So, for now its just an HTML link. I also wish there was an automatic way for activeRenderer to create a link to the OPML files so that people know they're there for the taking. There's probably some way to do it in the template, but I haven't figured it out. Once I get these things figured out, I'd like the features page to just be the top level directory for the other material. There's still some organizational work to do to make this all work the way I'd like, but its a big step forward in creating a table of contents for themes in my weblog and related material.

Like it or not, its humans who add value to the Internet and these sorts of directories are the directory equivalent of weblogs with lots of people doing little bits of work that can then be aggregated, searched, and used by others.

6:02 PM | Comments () | Recommend This | Print This

Weblog Business Strategies

I'm going to be moderating a panel session at the Jupiter Media conferernce on Weblog Business Strategies in Boston this June. This is the same conference at which Dave Winer and David Weinberger are giving keynotes. My panel is on Tuesday afternoon (June 11th) and is entitled "Using Weblogs In Large IT Organizations." I have a few ideas for panelists, but if you've got suggestions, feel free to shoot them my way.

5:41 PM | Comments () | Recommend This | Print This

April 11, 2003

Grand Central Connects Web Services

Imagine a world with no Postal Service nor Federal Express. Whenever you wanted to send a document to someone, you'd have to find out how they accepted documents, find a trustworthy carrier to transport the document, and then negotiate delivery mechanisms, notification requirements, and security measures. This is the current situation of Web services. Sure, transport is available and there are some basic standards about envelopes and how to look up an address, but there's not much else. In fact, unanswered questions about security, reliability, trust, and coordination abound. [Full story at InfoWorld...]

One of the best parts of doing this review was my interactions with Grand Central CTO John McDowall. Its clear that John's primary objectives are guaranteed message delivery and 100% uptime. In addition to these primary objectives, his engineering team works hard to ensure that the network delivers some other important features:

  1. Security. The network provides authentication and authorization services on three levels: HTTP with password authentication, HTTPS with password authentication, and HTTPS with a host-verified SSL certificate from Verisign.
  2. Logging. The network logs details about every transaction that goes through it. Each transaction is assigned a unique tracking ID. These logs can be reviewed online, accessed as a web service, or exported for use elsewhere. This is useful for debugging but, more importantly, provides for monitoring and auditing. Grand Central maintains these logs for a year with a standard contract.
  3. Interoperability. The network supports SOAP via HTTP, of course, but also allows connections to and from partners who use FTP or even SMTP.

The Grand Central engineering team follows some important principals in building the network:

  1. Multi-dimensional scaling. The network is a distributed collection of servers that can be scaled for performance and reliability in small steps.
  2. Clean service oriented architecture. Grand Central creates the features in the network as Web Services and treats things like alerts and events as first class citizens---that is they're just SOAP messages that can be fed into the network and treated like any other SOAP message. This creates enormous power through extensibility and service re-use.
  3. User self-service. The network is designed so that all of the features can be accessed and configured by users using a web interface without interaction with the humans at Grand Central. Future extensions will expose these interfaces as web services so users can control their network programmatically.

In speaking with John, the answer to many questions is "when customers demand it, we'll deliver it." This kind of customer driven product management has served a number of companies well. Success in this strategy depends on having a solidly built foundation on which to hang features and Grand Central has the basics done.

5:15 PM | Comments () | Recommend This | Print This

Singularity Hints

So, you'll probably accuse me of living in a cave somewhere, but I was talking with Scott Lemon this morning at a Utah Venture breakfast and he mentioned "the singularity." The look on my face must have told him that I had no idea what he was talking about, so he explained.

The Singularity is the point where superhuman intelligence spontaneously emerges from our various technological activities. The idea was put forward by Vernor Vinge and taken up by Ray Kurzweil. I had an opportunity to hear Kurzweil speak a year or so ago and I have to say it was fascinating. This is how Kurzweil describes it:

The Singularity" is a phrase borrowed from the astrophysics of black holes. The phrase has varied meanings; as used by Vernor Vinge and Raymond Kurzweil, it refers to the idea that accelerating technology will lead to superhuman machine intelligence that will soon exceed human intelligence, probably by the year 2030. The results on the other side of the "event horizon," they say, are unpredictable. We'll try anyway.

Now, I've got a really big practical bone in me, so I tend not to worry about this kind of thing too much. Even so, I see things that make me think that if we're not headed for this kind of singularity event, we're at least headed for an era of near ubiquitous data .

  1. Already, I believe that people who write and read blogs, use IM, and even email are at a decided advantage over those who don't in terms of not only what they know, but how they think about the world. Maybe this is self congratulatory or self delusional, but I believe it nevertheless.
  2. Things like OnStar and Grid Sensors are already creating a world where information is being collected in ways we never thought possible and Moore's Law will just make them cheaper and hence more ubiquitous.
  3. Improvements in business intelligence tools and concepts like virtual networks of demand will provide even more of the right data to people at just the right time. In fact, I noticed just this morning that Sam Ruby is blogging about aggregators that are much more intelligent.

Will all these trend add up to a singularity? I don't know. I can't even bring myself to speculate. I do know, however, that they have significantly changed how I work, what I think, how I interact with people, and even the people I know in a very short time. When I talk to people who haven't made the jump, I feel like I did in 1993 when I was trying to explain the WWW to people.

When I gave a guest lecture to the Rollins eBusiness Center, I created a list of keywords that I think are important indicators of technology trends in the near term:

  • Personalized
  • Peer-based
  • Decentralized
  • Collaborative
  • Connected
  • Converged
  • Presence-enabled

I'll probably expand on this next week when I talk to the BYU CS department. Scott is one of the guys I talk to regularly who gets it. Dave Fletcher is another. Most of the time I can hardly wait to wake up in the morning to see what cool new thing the day will bring. Its rare that I'm disappointed.

12:26 PM | Comments () | Recommend This | Print This

April 10, 2003

Wi-Fi Security: Guarding Against Man in the Middle Attacks

People discuss the security issues surrounding Wi-Fi a lot and it is one of the primary stumbling blocks to widespread adoption. Most people who look into the problem fixate on WEP as the primary problem. In fact for small businesses and SOHO, its not really a big concern: cracking a 128-bit key with the volume of traffic a small network generates is going to take too long to be worth it in most cases. Large businesses ought to be using VPNs anyway. The larger security problems, from my perspective, are more subtle, like the man-in-the-middle attack. This picture shows the set up:

In this scenario, the bad guy sits out in the parking lot or in the adjacent suite with a powerful WAP attached to their computer. They also run a DHCP server. When someone in the corporate net brings their laptop in and boots up, their Wi-Fi card associates with the bad guy's WAP and gets an address. If they are connected to the corporate LAN through a wired connection, the bad guys now have access to a trusted host on your network. If they normally attach wirelessly, they've associated to the wrong device which can then present them with login screens and steal passwords. Either way, its an effective strategy, easy to exploit, and difficult to protect against.

The best protection in this case is not some high-tech gadget, but some very straightforward, workaday IT practices:

  1. Manage all devices, especially laptops, and ensure that any device with a wireless card is also running a personal firewall product. This isn't normally done because most people think of the firewall being on the edge of the network without realizing that every wireless device is potentially on the edge.
  2. Create policies about what is and isn't allowed. For example, in this case, if you don't have a wireless LAN at the workplace, create a policy that disallows wireless cards to be enabled on devices in the workplace.
  3. Educate users to the dangers and enlist their help. They can be on the look out for unusual events. They should also remove or disable wireless access cards if your corporate environment doesn't allow them whenever they're at work.
  4. Regularly scan for rogue signals. The devices necessary to do this aren't expensive and even unskilled workers like physical security personnel can conduct the survey for evaluation by experts later on.

Wi-Fi security isn't rocket science (just computer science) and its not impossible. Mostly it requires some upfront expertise and a realtively well-run IT shop to carry out the practices. Its a shame its gotten a bum rap because I'm a firm believer that its a real productivity booster in many cases.

4:34 PM | Comments () | Recommend This | Print This

April 9, 2003

The Future of IT Consulting

Harvard Business School has a new working paper on the future of IT consulting. The paper is only available in excerpt, but there is an interview with its authors that has some interesting comments. I found this comment from the excerpt to ring true:

As an established function, IT in the company now has more degrees of freedom to source services for highly specific purposes and value. One CIO describes the IT organization of the future as consisting of the following:
  • Business analysis to understand the needs of the businesses
  • Technical architecting to oversee and interface between IT and business systems
  • Project management to implement change consistent with the practices of the company
  • Management of IT processes
For each of these four capabilities, this CIO easily identifies the IT consulting outsiders who currently provide that service to his corporation. And, he states that his strategy aims to steadily bring more capability on the first three into his own organization. He prefers that these capabilities reside in his organization and then, by default, go to the outside if he has no alternative.

This is completely consistent with what I say in my paper on the modular IT organization. The first three of these fall within what I call the "value innovation" function. The actual management of the IT processes is what I put in the "service provisioning" and "solutions delivery" areas. I also agree that we should keep the expertise inside the IT organization and use consultants for staff augmentation (i.e. I need three more programmers to complete this project, but my organization manages the project) and expertise that's too expensive to keep on staff full-time (i.e. many small and medium sized organizations probably can't keep security experts on staff).

9:14 PM | Comments () | Recommend This | Print This

Tips for Protecting Your Identity

Much is made of the potential for identity theft in online transactions, but the truth is that the vast majority occursdue to meat-space activities that are much simpler to pull off. I ran across a set of ideas on how to protect your identity and thought they'd be good to record. Some of them are obvious, at least to me, but they probably aren't to everyone. I don't know who the author was. Here they are, edited and augmented by me:

  • When you are writing checks to pay on your credit card accounts, do not put the complete account number on the "For" line. Instead, just put the last four numbers. The credit card company knows the rest of the number and anyone who might be handling your check as it passes through all the check processing channels won't have access to it.Ê This is more difficult to do if you use Quicken or some other electronic bill paying mechanism. I've often wished the credit card companies would give me a separate account number from my credit card number.
  • Put your work or cell phone number on your checks instead of your home phone. If you have a PO Box use that instead of your home address. Never have your Social Security Number printed on yourÊchecks.
  • Shred bills, credit offers, bank statements and other correspondence that may contain personally identifying information. This keeps people from rummaging through your trash to gather information that may come in handy for stealing your identity.
  • Mail bills and anything else that contains a check or account numbers in a drop box rather than leaving it in your mailbox for the mailman to pick up. Even better, start paying your bills electronically. This prevents theives from stealing your outgoing mail and using the checks or account numbers.
  • Photocopy the important items from your wallet, remembering to get both sides of each license, credit card, etc. Keep the photocopies in a safe place. You will know what you had in your wallet and all of the account numbers and phone numbers to call and cancel.Ê make sure you have those phone numbers with this information.
  • I also carry a photocopy of my passport when I travel either here or abroad. Its probably not a bad idea to keep a photocopy of your driver's license with you when you travel as well in case it gets lost. You might be able to get on a plane and get home with it.
  • If your wallet is stolen, its important to cancel your credit cards immediately and notify your DMV and the Social Security administration (if you carry your Social Security card in your wallet---I do not for obvious reasons).
  • If your wallet or purse is stolen, file a police report immediately in the jurisdiction where it was stolen, this proves to credit providers you were diligent, and is a first step toward an investigation. There likely won't be one, but you established a record nonetheless. Ê
  • Call the three national credit reporting organizations immediately to place a fraud alert on your name and Social Security number. The alert will notify any company that checks your credit that your information was stolen and they have to contact you by phone to authorize new credit. This will keep thieves from opening new numbers in your name, signing up for cell service, etc. It can stop them in their tracks. The numbers are: Ê
  • Keep copies of all your correspondence with credit card companies. credit reporting agencies, and the government after your information is stolen.

3:48 PM | Comments () | Recommend This | Print This

Well its Even Worse Than That

In response to the recent uproar over Google News returning company press releases, Karlin Lillington writes ...it seems to me that a lot of newspapers, magazines, radio and television stations also routinely publish/broadcast items that are basically just rewritten, unquestioned press releases and government statements, which also aren't clearly distinguished from 'actual' news articles... Well, its even worse that that.

In fact, much of what is not just rewritten company press releases is just rewritten from other papers. I saw the same misinformation quoted and requoted from paper to paper as they read each other's stories and rewrote them. I wrote about this a little in my essay on Living With the Red-Billed Oxpecker. Reporters get some little tidbit of information and have to file a 600 word story, so they go back and quote themselves and others to backfill. The worst are the weekly tabloids since they almost always have an ax to grind, so they add their slant to the story with what they wish were true. I even know of an instance where a monthly magazine picked up the weekly tabloid story and spun it even more afield. Of course, these people never call to verify their facts---that would spoil the fun.

9:31 AM | Comments () | Recommend This | Print This

Blogging Panel at UEN Summit

I'm going to be moderating a panel on blogging at the Utah Education Network's annual technical summit. I'm unfortunately opposite a session on Mac OS X which I think will garner significant attention. I plan to open with some information on what blogs are and use examples like the Weblogs at Harvard Law and Kern County Superintendent of Schools since UEN provides service to both higher and public education. Today, I notice that David Carraher has posted an article on using weblogs in education that I'll have to read for ideas. I'll probably also draw on my experience last fall using weblogs to help manage my class. Here's the abstract:

Among the problems cited by educators in teaching critical thinking skills to students are the lack of access to primary sources of information, the inability of students to experiment with thoughts and concepts before committing to them (on a test for example), and the difficulty students have getting multiple, valid outside reviews of what they are thinking. Weblogs are a solution to these problems. Weblogs allow teachers to guide informal classroom activity and to see student's work before its time for the test or final paper. Students gain a vehicle for creatively experimenting with thoughts and concepts and easily accessing, cataloging and storing outside information related to their interests. This panel will introduce the concept of weblogs, or blogs as they are commonly called, discuss what makes them different from other websites, and talk about how they can be used to enhance classroom education. The panel will consist of weblog experts from around Utah and be moderated by Phil Windley who operates a popular technology blog at www.windley.com and has first hand experience using blogs in an educational setting.

9:12 AM | Comments () | Recommend This | Print This

April 8, 2003

LAMP and JAMES

Jon Udell makes reference to LAMP platforms (Linux/Apache/MySQL/Perl|Python|PHP) in an article about his interview with MySQL's CEO Mårten Mickos. I've been thinking of using an architecture I'm calling JAMES when I teach my large-scale distributed systems class next fall.

JAMES stands for JSP, Apache, MySQL, EJBs, and SOAP. In my class, I'd like my students to see three different client-server architectures, a 2-tier architecture, an n-tier architecture, and a web services or service oriented architecture (SOA). Ideally, I'd have them use LAMP for the 2-tier architecture because its so popular. But they don't already know PHP|Python|Perl and that creates some overhead I'd rather do away with. So, I'll substitute JSP and have them use JAM for the first, JAME for the second and JAMES for the third. In fact, we'll probably have the entire installation done so that they work from the start with jBoss and Tomcat. I'll probably use Axis for the SOAP part.

In the past, they've done a series of homework assignments that installed and familiarized them with the components they'd use to complete a large final project. The problem is that it back-end loads the semester with a lot of work and adds considerable stress to the students lives as the semester draws to a close. (And you didn't think professors worried about those kinds of things, did you?) With the new set-up, I think I'll have three separate projects. One using a 2-tier JSP/Apache/MySQL platform, one the uses an n-tier architecture with jBoss thrown in, and a third that creates web services using Axis on top of their EJB project. The advantage is that there's one platform and one set of tools to learn. What's more, the third project would be the easiest, rather than the hardest.

I'm always looking for good ideas for projects. If you've got some ideas that would work on the 2-tier platform or the n-tier, I'd love to hear about them. One of the hardest things to get students to understand is why they'd ever want to use anything but a 2-tier architecture. At the scale they work on in the class, there's nothing you can't do with LAMP. Its tough to bring the realism of a multi-machine distributed n-tier architecture into a class with limited hardware budgets and too many students.

8:06 PM | Comments () | Recommend This | Print This

Evelyn Rodriguez Blog

Evelyn Rodriguez, who although living in the Bay Area right now, has some deep Utah ties, has started a blog. Evelyn was the organizer of the Digital Identity Summit that I blogged a few weeks ago. She's got an interest and expertise in digital identity and web services. I look forward to following what she writes.

6:16 PM | Comments () | Recommend This | Print This

Bonding for Broadband

One of the little noticed bills in the past utah Legislative General Session was Senate Bill 184 which allows the creation of municipal improvement districts for telecommunications. This is the way it works:

  • A group of property owners decide that they want some telecommunications service (like broadband).
  • They petition the city to create a "special improvement district" for that purpose and the property owners are put into that district. They need not be contiguous.
  • The city creates the district, bonds for the capital required to build out the facility, and contracts with someone to do the build-out and someone to provide service.
  • The city charges members of the improvement district a property tax sufficient to meet their bond obligation.

This creates a situation where a group of property owners can more or less take matters into their own hands, with the city's cooperation, to create a viable broadband alternative. The city has a much lower cost of capital since these are general obligation bonds and thus tax free than a private entity making previously questionable project profitable.

This is an interesting development with respect to Utopia. It could be used by non-Utopia cities to provide broadband to their citizens. I've heard of non-Utopia cities who are considering using this bill to do just that. I think there's also a way for Utopia to use it to use general obligation bonds in place of revenue bonds on at least some of the project. Between this, Utopia, and the Utah Valley Community Network (or UVCN) initiative there are at least three very different models that are being tried out right now along the Wasatch Front to deliver broadband. Let a thousand flowers bloom.

4:22 PM | Comments () | Recommend This | Print This

LAL Cat Archive

I spoke to Quinn Snell's CS426 class yesterday. One of the things I talked about was how the World Wide Web got introduced to BYU. I had just joined the faculty in 1993 from the University of Idaho and was waiting for my equipment to arrive. To combat my boredom, I started playing with these new things called web servers. We set one up at http://lal.cs.byu.edu. We even set up a web site for the University (without any explicit permission) and we'd teaching professors and grad students from all over campus about HTML, browsers, and web servers. One of the most popular things we did was called the LAL Cat Archive.

Because all the machines in my lab were named after cats (like panther, jaguar, etc.) one of my grad students, Kelly Hall, started to collect pictures of cats from various places. For a time, this collection was the most popular content at BYU and even got a mention in Newsweek magazine. Eventually, we had to take it down because of the bandwidth drain, but the pictures have been preserved and I've made some of them available in my photo gallery.

11:47 AM | Comments () | Recommend This | Print This

April 7, 2003

Programming the Internet

I'm speaking at the BYU Computer Science Departments colloquium on April 17th at 11am in 1170 TMCB. Readers of this blog are cordially invited (campus map). The title of my talk will be "Programming the Internet." I'm taking some inspiration from Rohit Khare's statement that

The future of software development requires integrating network services that are very far away, and owned by strangers.

Here's the first draft of the abstract for my talk:

Programming on the Internet means integrating network services that are very far away and owned by strangers. Thus, programming the Internet requires that we understand issues raised by a new type of module (network services instead of objects), latency, and decentralization (contrasted with mere distribution). This talk will explore those issues, current research and techniques for exploiting or mitigating them, and areas for future research.

The body of the talk will draw from research, innovations, and developments in the areas of Web Services, digital identity, and active intermediaries (including web service routers, switches, and proxies). If you have ideas or pointers on any of these areas that I ought to cover, please let me know. I'll post a future refinement of my ideas as the talk grows closer and, of course, the slides once its done.

12:28 PM | Comments () | Recommend This | Print This

April 4, 2003

Industrial Advisoty Council Papers on Enterprise Architecture

The Industry Advisory Council (IAC) is a broadly based organization of information technology (IT) professionals representing more than 300 companies nationwide that provide products and services to the government. (It says so right on their website.) They have been very active in supporting the Federal government's enterprise architecture initiatives. Their website has a collection of white papers on enterprise architecture. I haven't read the papers, but I've been to several presentations by IAC members on the contents of the papers.

Many of the more progressive states are following the Fed's lead on this and doing the same thing with help from NASCIO. The semi-annual NASCIO conference is being held in Pittsburgh next week. I suspect that part of the program will be devoted to enterprise architectures. Maybe Rock will blog some of it for us who can't be there.

5:00 PM | Comments () | Recommend This | Print This

Googlewashing, Googlejuice, and Exploiting Page Rank

There is an article in The Register alleging a tech-blogger conspiracy to hi-jack the phrase "second superpower" though the power to exploit page rank on Google. The article refers to this as "googlewashing." The story is that Dave Winer and Doc Searles didn't merely link to James Moore's weblog entry on "second superpower," but were part of, to paraphrase Hillary Clinton, "a vast tech-blogger conspiracy." The article says:

But the real marvel is that they did it with so few people. Pew Research Center's latest research says the number of Internet users who look at blogs is " so small that it is not possible to draw statistically meaningful conclusions about who uses blogs." ... But we're looking at a small sub-genre of blogdom, the tech blogs, and specifically, we're looking at an 'A list' of that sub- sub-genre. Which means that Google is being "gamed" - and the language perverted - by what in statistical terms in an extremely small fraction indeed.

Now, I happen to think that James Moore's piece is naive and starry-eyed. Furthermore, I can't really tell that much difference between what he's saying and what the original NY Times article was talking about---so the whole point of the article in The Register is lost on me. But that's a story for another blog. This article is about exploiting page rank.

Calling what happened here "googlewashing" is ludicrous. In fact, I'd say its just what was supposed to happen. Dave and Doc are both authors of popular blogs and hence have a lot of "goooglejuice." They're popular for various reasons, but the fact is that, in the currency of the Internet, they've earned it for reasons that are entirely valid. I think classifying them as "tech bloggers" makes it sound like they earned their googlejuice by writing about transistors and then used it to influence thinking about the war. The fact is that they both write about a number of topics, their ideas have merit and a lot of people read them. Consequently, when they link to an article, Google assumes that other people will want to see that article as well. Rightly so.

Now, there are companies that do exploit page rank. One such company is a Utah firm called 10x Marketing. As an example, do a search on web analytics and notice that the number three listing on Google is a firm called Omniture. Omniture is one of 10x Marketing's customers. One of the services that 10x Marketing sells their customers is increased ranking on Google.

Lots of companies do search engine placement. !0x Marketing does the normal kinds of things as well. They'll consult with you on site design, metadata like keywords, and so on. Their expertise is understanding how search engines work and helping their clients make the most of it. Another thing that 10x Marketing does is run an "affiliate marketing program" which is really a clever way of ensuring that links to the sites they have as clients show up on lots of other sites as well. But 10x Marketing does some other things that are a little more out of the ordinary.

Open the www.worldhistory.com website and take a look on the left hand side. You'll see a link to www.omniture.com over the words "website analytics." Worldhistory.com gets over 100,000 visitors per month, so it has a lot of googlejuice. Getting a link there using the right words is worth a lot in terms of your rank on Google. Its no accident that there's a link on Worldhistory.com for Omniture. Worldhistory.com is own and operated by Paul Allen the CEO of 10x Marketing. Many other of 10x Marketing's clients have links on worldhistory.com as well.

I don't think this is necessarily wrong but it is clearly an exploitation of how Google ranks pages. Kind of makes me wish I'd been able to hold on to superbowl.com. I'd be able to make a handy living just exploiting it for its googlejuice.

11:03 AM | Comments () | Recommend This | Print This

April 3, 2003

Excellent GXA Reference

Joseph Chiusano is a Senior Consultant with Booz Allen Hamilton. He's also one of the most knowledgeable people on GXA who I know. In this excellent article on developer.com, Joseph lays out GXA and explains the important components in some detail. I've been going through them one at a time. I've still got one left that I really want to look into WS-Transaction.

6:56 PM | Comments () | Recommend This | Print This

April 2, 2003

jBOSS and Middleware 2003

In this interview with C|NET, Marc Fluery, the force behind jBOSS says that "JBoss software will displace commercial Java server software faster than Linux is replacing more entrenched operating systems." That's a bold statement, but not beyond the realm of possibility. Marc will be keynoting Middleware 2003 in Rio de Janeiro, Brazil this June. I've been thinking of going, but I wish it were closer. Going to Rio would be nice, but its time consuming. Is anyone else who reads this blog going? Let me know.

10:06 AM | Comments () | Recommend This | Print This

Making Applications Green with Envy

Jon Udell is blogging the Infoworld CTO forum. He has a very detailed post on Adam Bosworth's (CTO, BEA Systems) talk. There's a lot of interesting insights there, but something that Adam said relative to integration challenges caught my eye:

Data lives behind firewalls, apps guard it jealously, you can't run one query to reach all of them. I don't think we give this idea enough mind time. Sure, we like to think of databases as repositories of our data independent of the application but ask yourself two questions:
  1. How many databases under your control were started as the data foundation to a single application.
  2. How many of those ever get called on by some other application.

I'd bet the answer to these questions is "all" and "a few" in that order. This isn't surprising---most IT is done incrementally, reactively, in response to the problems of the day. Someone starts an Access database to keep track of a few things at work and in a few years the database is mission critical, living on direct attached disks, under someone's desk.

As an example, in the State of Utah an individual can exist in over 225 separate databases and they have no way to normalize this data. It sounds easy but its not. Even getting the various agencies to sit down and talk about a single database for information on individuals is difficult because it solves no immediate problem and everyone has their own agenda. There are even databases that allow an individual to be associated with more than one SSN. The long term benefits are huge, but so is the short term pain.

Much of what is interesting in IT today is an effort to solve at least part of this problem. CRM is, at its heart, about creating a single, logical data store of all the data about an organizations customers and its interactions with them. ERP has the same goals for human resource and financial data. Large organizations, including the federal government, are working on enterprise architectures. An important, and as of yet still unrealized, part of the federal enterprise architecture initiative is a data reference model.

Thinking of data proactively and attempting to build data models independent of applications is difficult not just technically, but politically as well. I think we can make some progress toward independent data by adhering to some fairly simple prinicipals about making data more usable outside an application. That doesn't solve some of the thorniest problems however. Its time to break up the one-to-one relationships between applications and data. But the only way this will happen is if CIOs make it an issue, take a stand, and play a leadership role. CIOs by nature should have a longer term vision than the operational folks and this is a perfect example of where that principal ought to have an impact.

9:34 AM | Comments () | Recommend This | Print This

April 1, 2003

eGovernment Through the Deseret News

Dave Fletcher reports that the Deseret News has put inspection results from the Regulatory Services Division of the Utah Dept. of Agriculture online. I saw the article in the paper, so I missed the online application. The application is pretty good. Its unfortunate that its not done by Agriculture however since it will quickly become out of date.

This online data points out one of the real powers of eGovernment: true transparency. I've given a few examples of this before (nursing homes and sex offenders). This data was all available before but not easily so. Practitioners of eGovernment have a duty to not only make this kind of data public, but to design the applications in ways that the data is truly useful. This includes both good user interface design and good data design.

There are other instances where private concerns have enabled eGovernment applications. I think this works as long as (a) the agency that has the information is making it easily available and (b) the private concern is committed to keeping the application up to date. This likely isn't the case on either account here. The Dept. of Agriculture has few IT resources and they're stretched thin providing basic services. Consequently they can't spend much time supporting the Agency's mission. This isn't unusual, most of the IT assets in State agencies are deployed in that manner.

Of course, many will be upset with me and say "making sure agency personnel have network access and functioning desktops is supporting the agency mission." I beg to differ. Anyone can do that including an outside contractor. But agency IT personnel are in a unique position to understand the agency's business well enough to properly deploy eGovernment services. The Governor's goal of ubiquitous eGovernment will never be realized until agency IT personnel see that as their primary mission. Sadly, they're too busy right now with trivia to accomplish that which would truly change government.

8:38 AM | Comments () | Recommend This | Print This