December 2005 Archives

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com

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

(Article Continued …)

So what are your thoughts on tofu-flavored PHP?

M. David Peterson

AddThis Social Bookmark Button

Related link: http://www.xsltblog.com/archives/2005/12/net_c_wrapper_f_1.html

[UPDATE: Reading through the readme.html I noticed this:

All CLS compliant .NET languages are supported.

So I guess you should scratch the C# and replace it with: EVERYTHING! :)]

[Original Post]
Jeff Rafter recently sent me an email to inform me of the above titled project a friend of his developed. This needs to get out on every wire I can possibly send it out on as this is WAY TOO COOL!!!!

The body of his email is as follows:

I thought you might find this one interesting: a friend of mine wrote a
C#/.NET 2.0 wrapper for Berkley DB. It supports XPath 2.0 and XQuery…
so I thought it might be of interest to you.

http://sf.net/projects/libdb-dotnet

For those of you unaware (which I doubt is all that many, but you never know) Berkley DB is a well beloved open source DB which as of the last year or so provides direct support for XQuery. So, in essence, not only do you have open source .NET-accessible client-side XQuery support via Saxon.NET, but (even better!) you can now access a Berkley DB (from SleepyCat Software) which is (more than likely anyway) going to be quite a bit faster as well as the fact that its a full-fledged DB which Saxon.NET obviously is not. Don’t get me wrong… Obviously as the developer of the Saxon.NET project I’m not trying to put it down in anyway, but knowing one’s strengths and weaknesses is an important part of understanding when to use what tool and why. For accessing raw XML in a .NET-based application, Saxon.NET would be a good choice.

However, if your needs include an open source .NET-accessible client-side (or server side for that matter) DB with a proven track record of performance and reliability, then the above linked project is obviously something you should take interest in.

As an extended note, for non-open source XQuery-enabled .NET-accessible DB’s your options would include SQL Server 2005, SQL Server Express, and DataDirect. If I’m missing any that you know about, please either let me know or simply leave a comment.

Thanks for the info Jeff!

[NOTE: Not sure if this project supports Mono (if it doesn’t, given that its open source, it shouldn’t be all that long before it does), but I will find out and update this post accordingly]

If anybody happens to have any extended details leaving a comment would be a great way to let the rest of the community know.

M. David Peterson

AddThis Social Bookmark Button

Related link: http://channelxml.com/community/blogs/m.david/archive/2005/12/26/8.aspx

Our first “real” podcast, this time around we got things a
lot closer to the way they both should and will be as we continue
forward. In this show Kurt and I debate the OASIS Open Document format,
Microsoft’s Open XML Format, and the significance all of this will have
both in the here and now as well as in the future. The entire debate
last about sixteen(16) minutes with another four(4) minutes of music
and fun for a total of twenty(20) minutes in combined length.

We still have some mic balancing to debug, but overall this time
around is 1000 times better than the last. This time around we got
Kurts mic pretty much spot on but mine needs a bit more tweaking (you
may want to turn the volume down a tiny bit lower than you normally
might listen to a podcast. It can be a bit harsh on the ears as I’m
noticing right now listening to the final MP3 output.) We’re getting
closer though, and this time is certainly better than last.

We actually recorded two hours of content last night which should
equate to about one hour and fifteen minutes of total content. We
covered five(5) total topics of which in listening to Micah’s
advice (and agreeing with his point that each segment needs to be
between 15 and 20 mins in total length) we plan to publish one at a
time as time allows to edit each segment. As mentioned above this
segment covers the OASIS Open Document and MS Open XML office document
formats.

Plenty of fun was had with this one. It can be enjoyed in mp3
and as soon as I have a chance to make the conversion, wma formats
(I’ll add the wma link to this post when its ready to go.) You can
point your podcatcher at the RSS 2.0
and, as soon as I have a chance to create it, Atom data feeds such that
you can automatically snag each podcast as it becomes available.

Any ideas for possible future topics?

Jennifer Golbeck

AddThis Social Bookmark Button

This post is part one of a two-part guest post by Yarden Katz,
a student in the MINDSWAP lab at the
University of Maryland, College Park.

Must We Mean What We Say (In OWL)?1

1With infinitely many apologies to Stanley Cavell (and in turn, Kendall Clark)

Here’s a claim shared by several people in the Semantic Web community:
ontologies will be everywhere. Regular web authors−meaning the people who
are technically competent enough to make web pages, or maintain a
blog through some automated software−will create and use them. Not
surprisingly, those who advance this general claim usually have different ideas about
how it should be implemented. For some, “ontologies” means “OWL” (Web
Ontology Language), and for others it might mean something else, perhaps target=_blank href="http://www.w3.org/2004/12/rules-ws/accepted">some rule language
proposal, or perhaps a target=_blank href="http://www.w3.org/DesignIssues/Notation3.html">language without
a formal semantics altogether. In this modest post I will focus on the first group, mostly because I think OWL is an interesting
language, but also because it is a target=_blank href="http://www.w3.org/TR/2004/REC-owl-features-20040210/">W3C
standard, and a significant one (at least in the Semantic Web
community.)

I think one would be hard pressed to argue that OWL is inexpressive.
While there are many desirable extensions to it depending on your
domain or application, there’s a whole lot you can still say, much of
which is not expressible in various popular knowledge representation
(KR) systems. However, this great expressivity also means that those
advocating the implementation of the Semantic Web vision using OWL
have a non-trivial problem on their hands: OWL is hard. It’s hard to
learn, it’s hard to teach, and until target=_blank href="http://www.mindswap.org/2004/SWOOP/">excellent recent work
it was virtually impossible to debug in a robust way. This spins out
several key questions:

  1. How do I say X in OWL?
  2. Here’s what I wrote in OWL, does it say X?
  3. I want to say both X and Y in OWL, are they compatible?
  4. I want to say X in OWL and I know I can’t, but how can I still
    say X?

There are at least two major distinct perspectives on how to solve this: (1)
with great and comprehensive tool support, the average user of OWL will
not need to meddle in these low-level details; creating OWL
will be easy, in the way that creating a highly sophisticated webpage
nowdays does not require editing HTML by hand (no logic course needed!), or (2) with lots of
examples, documentation and ontologies to reuse, very minimal tool
support will be enough to allow people to use OWL effectively; writing
OWL will be easy. Of course, these are both extreme positions and
there are many people who want both, and many in between. I
believe that nothing short of a revolution in the history of tools for modelling in KR will
enable (1) to happen in its full glory.

I am leaning towards the second position, in the following sense: with a lot of work and
motivating domain-specific applications, OWL can be effectively
learned and used to say interesting and useful things by
decently-sized communities of web users. A consequence of this
realization is that the community of people actually writing OWL will
be narrower, and that it won’t be as easy to write OWL as it is HTML.
The average OWL user will require much more technical sophistication
than the current average Joe Blogger, and given the nature of OWL, I
don’t think this will change. Perhaps only communities like the
technically capable biologists (who have some great work in
bioinformatics to build on and use) will actually write non-trivial
ontologies and use reasoners directly. This does not imply that OWL
will not affect the experience of web users outside of that
community−quite the contrary, it certainly doesn’t prevent end-user
software from making use of OWL−it just means that the average web
user will not be modelling and publishing OWL ontologies.

So the punchline: Semantics are hard in general, and especially hard
to automate. OWL is semantically rich and this makes the problems
extra hard. Expecting it to be otherwise, especially at this
stage, is unrealistic.

With this excessive intro, I am hoping to make a baby contribution to
perspective (2) on this problem, of actually explaining the semantics of OWL. In the
next post I will outline some common pitfalls of modelling things in OWL (some of which
are characteristic of many other KR formalisms), and briefly review
some useful semantic extensions to OWL.

This post is part one of a two-part guest post by Yarden Katz,
a student in the MINDSWAP lab at the
University of Maryland, College Park.

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com

It was another late night session, but Mark Peterson and I managed to record more than two hours of give and take repartee on the role of open vs. property standards in the Massachusetts Open Standards Requirements case. Mark is definitely far more pro-Microsoft than I am, but to listeners of the podcast I also want to point out my own personal philosophy on this.

Though I have nothing but respect for the talent and calibre of programmers and technical professionals there, they have had a tendendency to make business decisions that I personally see as running counter to the best interests of both developers and computer users. What’s more, I believe that when any company has as much power and influence in the computer industry as Microsoft does, it needs to also be held to a higher level and standard of accountability.

(Article Continued …)

Kurt Cagle

AddThis Social Bookmark Button

It was another late night session, but Mark Peterson and I managed to record more than two hours of give and take repartee on the role of open vs. property standards in the Massachusetts Open Standards Requirements case. Mark is definitely far more pro-Microsoft than I am, but to listeners of the podcast I also want to point out my own personal philosophy on this.

Though I have nothing but respect for the talent and calibre of programmers and technical professionals there, they have had a tendendency to make business decisions that I personally see as running counter to the best interests of both developers and computer users. What’s more, I believe that when any company has as much power and influence in the computer industry as Microsoft does, it needs to also be held to a higher level and standard of accountability.

(Article Continued …)

Michael(tm) Smith

AddThis Social Bookmark Button

Any sensible person designing web sites these days ought to be
designing them with some consideration for how the sites will look
when viewed on a small-screen mobile device.

If you care to know the reasons, start by reading the href="#reallymobile">Preface: What “mobile” really means
section below. Otherwise, just skip ahead a little, to where I
outline four steps you can take to make a site “mobile
considerate”:

  1. Add “jump” links
  2. Adjust the physical order in your source
  3. Do initial layout testing in a PC browser
  4. Ditch the novel-on-a-roll-of-toilet-paper site design

Preface: What “mobile” really means

So who cares about mobile web browsing? Well, I do. Partly
because I work for a company that makes software for the mobile
Internet, but also because I personally use and rely on my href="http://searchmobilecomputing.techtarget.com/sDefinition/0,,sid40_gci820042,00.html">keitai
(short for keitai denwa = mobile phone) and the “other
web” — the mobile web
— quite heavily. More heavily,
actually, than anybody else I personally know. In fact, if there
is somebody using the mobile web more than me, well, I think
they’re using it too much. I think I’m using it too
much.

Any, being the trendsetter that I am, I find that people around
me often seem to start copying all the stuff that I do, and then
others copy them. and so on, and so on. So I’m sure it’s just a
matter of time before it reaches people like you, and you start
doing this cool thing that I do now — regularly browsing the web
on mobile devices. So if you’re someone who happens to design
things for the web, well, I think you can see that you can either
start designing now with mobile viewing in mind — instead of
designing exclusively for the un-mobile web
— or you can play
catch-up later, after you finally get hip.

And note that when I say “mobile”, I mean truly mobile. As in
handheld mobile. To me, anything that requires sitting in a
chair is not truly “mobile”. Nor is anything the requires you to
place your “mobile device” on some kind of surface (other than
your hand) before using it. Because, while whatever device you’re
using which requires that may by some stretch of imagination be
considered “mobile”, you ain’t. Because all your fancy
technology has made you un-mobile
.

Figure 1. You

src="/users/files/53819/laptop-jockey.jpg" width="300"
height="206" border="0" alt="Laptop jockey." title="Laptop
jockey." style="border: 1px solid rgb(204, 204, 204); padding:
4px; margin-right: 8pt; margin-bottom: 0pt;" />

photo copyright by
style="text-decoration: none; color: gray">dannyman, via
Flickr. style="text-decoration: none; color: gray">Some rights
reserved

(I would go so far as to suggest that any device that requires
or expects the use of two hands to operate it is mobility-impaired in
comparison to a device you can operate with one hand (e.g., a
mobile handset). It is often important to have one hand free for
manipulating other things
.) [cigarette, whiskey flask, booty]

Rock, paper, scissors: keitai beats Kaypro

So while you are slumped forward at a keyboard somewhere
“enjoying” a browsing experience via the magic of the contemporary
equivalent of a >Kaypro, I’m out in the real world enjoying my favorite
activities
[bar-hopping,
skirt-chasing, dope-smoking]
, all while browsing the mobile
web whenever the mood strikes me — using a truly mobile, handheld
device (in my case, a 2.4 Mbps, GPS-enabled
href="http://www.au.kddi.com/ezweb/service/ez_naviwalk/tokucho.html"
>location-aware
>W31T keitai).

Figure 2. Me

src="/users/files/53819/mobile-hipster.jpg" width="300"
height="296" border="0" alt="Mobile hipster."
title="Mobile hipster." style="border: 1px solid rgb(204, 204,
204); padding: 4px; margin-right: 8pt; margin-bottom: 0pt;"/>

photo copyright by
me. All rights reserved

Yes, it lacks a 1600-by-1200 pixel screen. Yes, it lacks a
keyboard with 90+ keys on it. But you know what? It doesn’t want
those things. All it wants to do is provide me with pure mobile
web-browsing satisfaction.
And it does.

One last thing before moving on: Note that throughout the
discussion which follows, when I mention “handheld browser”, I mean
a web browser on a handheld device — a browser that’s not
CSS-aware to the extent, for example that it can render CSS floats
and absolute positioning (which are not useful or relevant in a
small-screen handheld view).

Adding “jump” links

Perhaps the first thing you need to deal with when trying to
make your site mobile-considerate is figuring out how to handle
navigation among the various parts of each page
— particularly if your
site is rendered in multiple columns in the PC-based “big browser” view.

As an example of how to handle navigation for the handheld view
of a multi-column site, take a look in Firefox or another
PC-based browser at my friend href="http://akira.arts.kuleuven.ac.be/andreas/blog/"
>Andreas Bovens’ blog, “chosaq”. It’s designed into three
major “page parts”, which in the PC view are rendered in three
columns: a wide first column at the far left that holds the main
content, and then two smaller columns on the right.

One of the smaller columns is a sidebar that has links to the
blog archives and that has a search form. The last smaller column
(all the way to the right) is titled “News Selections” and has
links to external sites.

Below is a screen capture of the top part of the chosaq
homepage (chopped and channeled so that I could fit in in
here).

Figure 3. Top part of chosaq as seen in a PC-based
browser

src="/users/files/53819/chosaq-pc.jpg" width="536"
height="202" border="0" alt="Chosaq in the un-mobile web"
title="Chosaq in the un-mobile web"
style="border: 1px solid rgb(204, 204,
204); padding: 4px; margin-right: 8pt; margin-bottom: 0pt;"/>

Now, if you look at the site in a handheld browser, you will,
of course, see just one column instead of three. But knowing that,
Andreas has designed the site with consideration for making it
easy for users to jump among each of the “page parts”
(that is,
the sections that are rendered as columns in the PC view).

Figure 4. Top part of chosaq in a mobile browser

src="/users/files/53819/chosaq-top.jpg" width="240"
height="249" border="0" alt="Chosaq in the mobile web"
title="Chosaq in the mobile web"
style="border: 1px solid rgb(204, 204,
204); padding: 4px; margin-right: 8pt; margin-bottom: 0pt;"/>

Note the “Jump to …” links. If those links weren’t there, you
would find out the sidebar and “News Selections” parts existed
only if you took the time to scroll all the way down in the
browser frame.

Whether or not those links are displayed is controlled just
through CSS. If you look at the page in Firefox with CSS turned
off (go to
View > Page Style > No Style),
you’ll see that the links are actually still being served up in the
PC-based “version” (which is in fact the exact same content as the
handheld version). It’s just that they’re hidden in the PC
version, through the use of CSS (the display: none
property).

Adjusting physical order of source content href="#nav">⇮

Another important thing to keep in mind is the physical order
(in your source HTML file) of the major divisions (which are
usually HTML <div>s) that make up the “page parts” you see in
the rendered view of the page. For most sites, the right-to-left
and up-to-down order of the page parts in the rendered output
usually matches the physical order of the divisions in the source
file. But for CSS-enabled PC-based browser views, the physical
order of the source for page parts in your HTML source file does
not necessarily need to match the rendered
ordering of the page parts
.

Read the part above again. It’s very important.

What I mean is, for example: A lot of multi-column sites have
their smaller columns (navigation, sidebars, whatever) on the
left, with the main content on the right. For example, look at the
page you are reading right now: It has column on the left, with a
search form at the top of it, and with a long, long list of links
to all the O’Reilly sub-sites.

Most web designers who use that smaller-column-on-left style
put the source of the left-column div in the source file before
the source of main-content div. So when users like me go to
view your pages in a handheld browser, we’re screwed — because
you (thanks!) have forced us into doing unnecessary scrolling
.
That is, we first have to scroll down through all the left-column
content to get to what we really came to the site to see, which is
the content in the other, main column.

Unfortunately, the site at which you are reading this page
uses that page-parts-in-source-file-order design
. This is how
the top of the page looks in a mobile browser:

Figure 5. Top of this page as seen a mobile browser
browser

src="/users/files/53819/oreilly-mobile.gif" width="246"
height="379" border="0" alt="Example of poor page design."
title="Example of poor page design."
style="border: 1px solid rgb(204, 204,
204); padding: 4px; margin-right: 8pt; margin-bottom: 0pt;"/>

So if you were too look at this very page in an actual mobile
browser, you would need to scroll all the way down through the
entire listing at left of all the O’Reilly sub-sites before you
could actually start reading this piece
. Do you reckon that
would make you want to have a word or two with the site designer?
It sure makes me want to.

If you instead put the source for “extras” (sidebars, etc.)
near the physical end of your HTML source file
, you can
still use CSS floats and absolute positioning to cause it to be
rendered anywhere you want on the page. In the case of a
left-column-sidebar site design, put the left-column div
after the main-column div, and do your CSS magic to cause
that left-column div to be rendered at the left of the
main-content div when it is viewed in a PC-based browser. But
because mobile browsers display the content in the physical
order in which it appears in the source
, when you view your
site in a handheld browser, you’ll now get the main-column content
first. (And you can add jump links like Andreas’s to let users
know the other stuff is there.)

Testing: Getting a handheld view in a PC browser

If you have a current PC-based version of the Opera browser,
then you can get a “small screen” view in the PC-based version
of Opera
just be doing one of the following:

  • type Shift+F11
  • or, select View > Small screen

That will cause Opera to reformat the entire page into a very
narrow single column.

By the way, if you are reading this page in Opera, try typing
Shift+F11 right now
. See what happens? See what I
mentioned earlier about the search form and list of O’Reilly sites
being placed at the top of the column? See how far down in the
column the picture of my face is? Don’t I look lonely down there?
Wouldn’t I look much better and much happier at the top of the
column? I think I would. I wish the designer of this site would
fix things to put me up there at the top of the column, where I
belong.

Anyway, you’ll notice that the Opera Small
Screen
view also causes images to be automatically scaled
down
such that they are tiny enough to fit in the width of
that single column — just as most current mobile browsers will do
(well, most decent ones, at least). Very cool stuff.

But even if you are not running Opera, you can still actually
get a pretty good approximation in a PC browser of the handheld
view of the layout of your site. There are a few adjustments to
make:

  • Turn off all your “bars” (status bar, navigation
    toolbar, bookmarks toolbar, etc.) other than the main menubar
    (which you may not be able to turn off and which you probably
    don’t want to, because once you do, you may not be able to
    figure out to turn it back on again)

  • Resize the width of your browser frame down to
    something small. Really small. Make it so that the inner part
    of the frame where the actual content is shown is no
    more than 240 pixels wide by 320 pixels high (QVGA size); to
    compensate for the browser menubar and scrollbars, that means
    making the actual size no more than 260 pixels wide by 370
    pixels high
    or so (there is a href="https://addons.mozilla.org/extensions/moreinfo.php?id=60">Web
    Developer toolbar for Firefox that makes doing that easy,
    along with a lot of other things)
  • Turn off CSS (by using the
    View > Page Style > No Style
    trick or causing your browser to use some stylesheet other
    than the media=”screen” one — which is another thing that the
    “Web Developer” toolbar lets you do)
  • Play around with different font sizes. Users of
    modern mobile web browsers can change font size too. Some like
    big text, some small. At least try changing among 10, 12, and 14
    points.

As you jack up the font size and jack down the browser width
and height, you will quickly start to realize that, on the mobile
web, you want to have as little extra junk as possible at the
top of your pages
— because screen “real estate” up there is
quite valuable. You want whatever is at the top to pull your users
in right away. If there is nothing interesting right at the top.
they’re not going to take the time to scroll to try to find
something further down.

Here’s a screenshot of what chosaq looks like my
adjusted Firefox:

Figure 6. Poor man’s mobile-browser simulator

src="/users/files/53819/chosaq.jpg" width="268" height="400"
border="0" alt="image" />

That view is remarkably similar to what I see if I view the
page in a handheld browser.

Ditch the novel-on-a-roll-of-toilet-paper
page design

Most web sites serve up way, way too damn much content on any
given page. Most pages should have less content, not more.
As an example, consider a typical blog. The homepage for the blog
probably has the 10 or 15 most-recent items, and for each item, it
probably has the full text of the item right there on the home
page.

It’d be much more usable if the designer were to:

  • put fewer items on each page
  • “page” each item (serve up long items in smaller chunks, with
    “read more” and “next/previous page” links provided for navigating
    among the chunks)

So instead of having your blog homepage show the 15 most-recent
items you’ve posted, make it show just the 5 latest. And/or instead of
having your blog homepage show the entire freaking full text
(yeah, that really, really annoys me) of each of your 15
most-recent items, please (please) do me a favor: Have it just
show some reasonable portion of each item, with a “read more”
link to the full text
.

And (do I need to mention this too?) once I get to the full
text, can you page it for me there too? Yeah, I know some people
don’t like that kind of paging. I suppose those same people
would also probably also like to read a novel published on a roll
of toilet paper. Or a parchment scroll.

Me, well, I think parchment scrolls suck. Scrolling
sucks.
So spare me the novel-on-a-roll-of-toilet-paper design.
(And, smart guy, if — even after reading this — you insist on
continuing to design sites that way, well, I guess I’ll have to
come looking for. And I will find you. And I will smack some sense
into you. Because I reckon that’s the only way you’ll learn.)

Some examples of sites that do paging well:

  • The International Herald
    Tribune
    — open a news story. A “Page X:YY
    at the bottom of the left-most column tells you what page you are
    on and how many totals pages there are in the story. Now, resize
    your browser frame; you’ll see that the story gets paged into
    smaller parts dynamically, depending on the size of your browser
    frame. And the numbers in the Page X:YY
    indicator change dynamically.
  • Gmail mobile — open a long
    message and see that Gmail automatically pages it into smaller
    parts — with a hyperlink at the end of the each part that
    reads “more (N pages left)

Here’s a screen capture that shows what part of a paged
message looks like in Gmail mobile.

Figure 7. Paged message in Gmail mobile

src="/users/files/53819/gmail.jpg" width="236"
height="327" border="0" alt="Gmail message paging"
title="Gmail message paging"
style="border: 1px solid rgb(204, 204,
204); padding: 4px; margin-right: 8pt; margin-bottom: 0pt;"/>

The good news is that many frameworks for building web apps
(and most decent blogging apps) provide off-the-shelf mechanisms
for automatically controlling paging of content — so that you
don’t have to do it manually. Find those mechanisms and use
them.

Current practical limitations

Note that in the last section
above
, I made no specific mention of the mobile web. That’s
because the design approach of using paging instead of scrolling
is important on the non-mobile web as well. But while it may just
be a optional “nice to have” approach to design on the non-mobile
web, keeping page contents small is a must have design
requirement on the mobile web
— a requirement you
will need to meet if you don’t want to end up with a bunch of
pissed-off mobile-web users like me waiting in line at your front
door for their turn to smack some sense into you.

It’s a requirement in part due to some very serious current
limitations in many current handheld mobile-data devices and
mobile-data networks.

Those limitations include the fact that most mobile devices
have a relatively small amount of physical memory
, without
even any mass (disk) storage to use for swap space when physical
memory gets low. In many cases, that tends to severely restrict
the maximum size of a page that a browser can render. How severely
it limits it varies among browsers, devices and carriers. But
40Kb as the maximum size for an individual page is a figure
you might hear mentioned.

Another serious current limitation is the fact that the data
speeds of many mobile-data networks around the world are extremely
slow
. Pages on the mobile web can take a long time to load. If
you have only previously tested your pages over a
non-mobile network (DSL, a LAN, whatever), you’re likely to be
a little surprised as how long it can take most mobile devices to
load even a relatively small page.

But both of those limitations are (relatively) temporary ones.
Mobile-data devices with much more physical memory — along with
hard drives and other mass storage — will eventually be commonly
available. And the data speeds of mobile networks around the world
will increase significantly (as it has here in Japan).

Conclusion: PC-based “big browsers” are not the
only window to the web

The
limitations mentioned above have the practical effect of requiring
you — if you want your site to be accessible on most handheld
devices — to keep your page sizes small. Real small. However,
even after the current memory and data-speed limitations are
overcome, you are still going to need to keep your page sizes
small.
Why? Well, because the screens on handheld browsers are
going to remain relatively small. There is a practical limit to
how big the screens can get before the devices become no-longer
hand-holdable and so no longer truly mobile.

So handheld users are going to continue to see the web
through a very different “window”
than users of PC-based big
browsers — a small-screen window. And there are going to be more
and more handheld users wanting to get to a usable view of your
sites through that tiny window.

Ignore those users at your own peril.

Other factors that should go into “mobile considerate” site design?

Dan Zambonini

AddThis Social Bookmark Button

In the modern day world of technological advances, isn’t it about time we replaced Santa Claus with an algorithm?

Trouble is, I’m having problems working out some of the explicit checks and equalities that need encoding. Can anyone help? This is as far as I’ve got (I’ve been referring to “Santa Claus Is Coming To Town” for the business logic):

foreach ($aoWorldPopulation as $oPerson)
{
  if ($oPerson->isChild() &&
      ($oPerson->getNaughtyOrNice() == 'Nice'))
  {
    $oSanta->showerPersonWithGifts($oPerson);
  }
}

Any ideas for how isChild() and getNaughtyOrNice() should be decided? Where does one stop and the other begin?

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com/archives/2005/12/a_host_of_moons.html

I made a realization lately, one of those subtle jarring moments where you suddenly are aware that maybe, just maybe, you’re not in Kansas anymore. I check most of my e-mail through a popup component from Firefox, compose most of my writings through a custom XML editor editor I wrote for the same browser, and am finding increasingly that it is as much what’s going on around the edges of the web page that are the focus of my work. Similarly, I don’t do a lot of Java development, but I use eclipse regularly for doing UML and other work through a third party extension (read: plugin), and have worked extensively with specialized schemas and plugins for OxygenXML that let me do everything from writing DocBook documents to building XUL applications.

(Article Continues …)

Niel M. Bornstein

AddThis Social Bookmark Button

Anyone who attended the .NET and XML tutorial at XML 2005 will recall that I promised to update the sample code and include the changes made during the tutorial.

I hope you’ll forgive me for not having gotten to this yet, but I promise I will get it done before too much longer.

Thanks for your patience!

Dan Zambonini

AddThis Social Bookmark Button

The programmers amongst us all share a common need; the need to learn something new, every day, every week. With everything you’ve learnt up to this point, what’s the single most important piece of wisdom you could pass on to a programmer just starting out?

Here are some ideas to get you started:

  • Read The Mythical Man Month
  • Read Code Complete
  • Have the willpower to stick with Unit Tests and/or Test Driven development
  • Comment/Document even the throw-away scripts that you think you don’t need to

What do you wish someone had told you, years ago?

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com/archives/2005/12/the_new_radio.html

There is a curious, delicious irony going on today - exactly one hundred and ten years ago, Guglielmo Marconi sent the first radio transmission, the first non-naturally generated radio waves to propagate through the ether anywhere in the world, though changes necessary for making broadcasts work effectively had to wait for the efforts of uber-inventor Nikolai Tesla.

By the 1930s, radio was the Internet of its day, with General Electric and RCA and others the Microsofts and IBMs of the time, and radio engineers that generation’s geeks. Indeed, the parallels between the 1930s and the 1990s have been drawn by more than a few historians fascinated by the science and society of communications.

The circle’s come full round. The combination of syndication formats, digital audio compression, inexpensive recording solutions and of course the Internet has made it possible for anyone to create their own “radio” show, despite the fact that the media, beyond their aural similarities, are vastly different in their deployments.

The term podcast derives from Apple’s explosively popular Ipod music players, which with their intrinsic recording capabilities also makes it possible for such devices to also serve as the “content creation” portion of the cycle. The “cast” part is of course much older, deriving from broadcast - to cast one’s lines (or signals) all over the place without regard to who may be listening, and the onomatopoeic similarities between broadcast and podcast of course cannot be overlooked.

Certainly Internet radio has been around for a while - most commercial radio stations started broadcasting feeds to the Internet before the turn of the century, but its only been comparatively recently that this was accompanied by the corresponding use of a syndication feed that provided metadata for the feed and made it possible for RSS syndicators to very handily treat such podcasts in a similar manner to the way that it treated blogs.

This in turn has led a number of adventurous people to brave the podcasting waters, not only producing their own radio music shows (in some cases with music from indie bands well outside of the pale of the large conglomerates, in other cases with music with somewhat more dubious copyright antecdents) but it has also made possible the digital equivalent to the talkshow. Of course, since its the geeks that are generally the ones producing the podcasts at the present, its perhaps not surprising that technically oriented podcasts account for a significant proportion of this sphere. However, stand up comedy sequences and even radio plays are also becoming regularly heard on the digital airwaves.

Radio, digital or analog, is a potent medium. Radio engages the mind, the imagination in a way that is similar to the way that books do; indeed, there is a lot of evidence that reading forces an intermediate vocalization in the brain, and that it is this vocalization that helps us understand the actual word, not simply the recognition of the word’s shape. Thus when we read a book we are creating not so much a visual panorama as a theater of the mind.

Television, on the other hand, is a medium for the eyes, one that neither requires nor fosters deep analytical thought, but instead moves much lower down the brain stem to that part of us that reacts; our twitch brain, the one that seems to be even more hard wired for video games. There are times I wonder whether we are forcibly regressing ourselves by being so immersed in such a medium, but that’s a debate for another time and place.

I find, over the years, that the amount of time I spend watching television has diminished to near nothing, and indeed, watching TV or even a video for any length of time leaves me feeling queasy and disrupted, as if my brain has been turned off and is only just coming back online. I suspect this is why it has become a favorite medium for political discourse (hah!); we hear not the message but see only the messenger. Marshall McLuhan is dancing gaily around here somewhere, damn him!

On the other hand, I find it difficult to exist without the textured scapes of sound that radio provides, helping me to immerse myself in my own stories and thoughts while nonetheless feeling the contrapunctal stimulants of music and voice. For years, while cooking I would turn on the baseball game, grimacing or cheering as masters of the medium such as Dave Niehaus would weave an enthralling story each night, with every pitch and run and spectacular catch like a stanza in a modernized Homeric tale. One time my wife came in and saw me cheering a home run, and wondered why I wasn’t watching it on TV.

“Well, it’s like this. On the radio, its an epic, glorious struggle of young men fighting to overcome harsh adversity, personal doubt, and the cruel and insidious evil of masterful villains. On TV, its a bunch of guys trying to hit a piece of cork with a stick.”

Thus, it is perhaps not at all that surprising, given this inclination, that I would eventually decide to try the medium for myself. M. David Peterson (or Mark, as he personally identifies himself when not trying to differentiate himself from a thousand other Mark Petersons) had approached me about wanting to collaborate on a Podcast that would cover the state of the IT industry, with an especial focus upon the Internet, XML and those facets that he and I both eat and breathe on a daily basis.

Having said this, you’d think that this would be a simple proposition, but from the time we first broached the subject we discovered one obstacle after another thrown in our way. Mark normally lives in Seattle, but has been working from Salt Lake City on a contract, while I of course am on the lovely, but somewhat difficult to get to island of Victoria, British Columbia. Work schedules and school schedules conspired to make the time necessary to do even a remote recording difficult, and Mark spent a couple of weeks trying to get all of the equipment working together for more than a few minutes.

I’d hoped to do a broadcast before the XML Conference in Atlanta, but any such conference takes a lot of preparation to begin without having to find the time to do a radio show. Once at the conference, the Internet connection was abysmal at the hotel, nowhere near good enough, and my hope to record people fell apart in the face of my just wanting to talk to people without shoving a recorder in their face. I’m slowly getting the hang of interviewing, but the writer in me is somewhat of an introvert at the best of times, and interviewing has to be one of the most extraverted activities I can think of short of sales.

Finally, we managed to get the stars aligned long enough to do our first show, a production which wrapped at about 3AM with both of us just stumbling tired. This first show of eXplorations, our #0 if you will, is not one of the most spectacular pieces of production in the annals of the medium - we just talked (and argued) about browsers … where they were, where they were going, how they were being shaped by the forces of today.

It was as much of an experience for us in testing out the equipment and getting a sense of what it would take to put together a more cogent piece than it is good radio (or even good podcasting), though I have to admit that having listened to it after a couple of nights of sleep an separation, there’s some interesting bits there for anyone interested in the state of the industry, even taking into account my own somewhat nasally voice and an abysmal microphone.

Thus, without further ado: eXplorations, Episode #0: Browsers.

In order to subscribe to the show, point your newsreader or podcast software to http://channelxml.com/podcasts/explorations/index.xml.
eXplorations will, as the name implies, be jumping about from topic to topic, though likely with more structure than our first episode may indicate. It’s intended to be both a cogent look at the industry and also a more general, and perhaps even philosophical look at the nature of programming and how its affecting all of us, at a personal and societal level.

While the schedule will likely be somewhat erratic at first, we are planning on producing the show on roughly a weekly basis. If you are interested in having a particular topic discussed or even in participating in an interview with us (don’t worry, we don’t bite), please contact me, Kurt Cagle, and we’ll set you up to join in the fun.

Until then, don’t touch that dial!

So what do you think of podcasting and its future as the next “radio”?

Jennifer Golbeck

AddThis Social Bookmark Button

Readers are likely to say that I am against a lot of the new web-movements, what with my post about XFN and this one.

Let me reiterate that I think tagging is a good thing, and that when done properly it can be very powerful. On the other hand, the fact that it’s the Hot New Thing on the web seems to be leading some sites in to implementing tagging without thinking through why or what purpose it serves.

I was doing some Christmas shopping on Amazon.com recently when I noticed their new tagging feature. Toward the top of the page, you can add your own tags to items. This is useful - the ability to annotate an item, and review those annotations later can help users in a lot of ways. For that, Amazon gets credit. I also hold this principle to be true generally (be it on Amazon, in XFN, on Flickr or del.icio.us, etc.)- creating your own personal tags of anything can be helpful in remembering and personally organizing information.

Of course, the buzz around tagging is not because we can create tags to help ourselves, but that we can create tags that will help others. This is where I think a lot of applications go astray. Going back to Amazon, they have decided to add a section to the page to show everyone’s tags. Let’s look at a few examples:

Freakonomics, by my former professor Steven Levitt - this is the #4 best selling book on Amazon at the time I write this. Thus, if something is likely to be tagged, this is toward the top of the list - lots of people look at it. Yet, here are the tags displayed from users (with the number of times each tag was used in parentheses after each term):

Good Book (1), konomics (1), linda or dad (1), ok (1), freakonomics (1), revealing (1), contrarianism (1), best (1), Madison (1), Nick (1), Dad (1), Creativity Booster (1), business wish list (1), Math Stimulator (1), debunking (1)

I don’t think a reasonable person could argue that these are helpful to users. Interesting, perhaps, but questionably useful.

However, perhaps it is that one item. In thinking about a book that was very popular and had been out for a longer time, I went to The Da Vinci Code, by Dan Brown. With all the controversy and hype, certainly this was going to attract taggers. The results, however, are similar (note: spelling errors are from users, not me):

For Adam (1), dan (1), must read (1), Fiction (1), Dan Brown next novel (1), Mysteries and Thrillers (1), fiction (1), Mary and Jesus Books (1), Novels (1), critcal thinking (1), bestseller (1), novel (1), The Solomon Key and Beyond (1), Faux-Historical (1), The Solomon Key (1)

In addition, these pages are cluttered with further useless information by providing a list of people who tagged the book. These people are not connected to their tags, but rather listed in a separate section. Even if you thought someone was creating intelligent and insightful tags, there is no way to know which person that is.

I think this is a perfect example of tagging gone wrong. Amazon is not offering any real benefit to users by showing them all this data. They are just muddling up the pages. Yes, the feature is new and with more data, common tags may begin to be repeated, but if these tags are examples of what to expect, there is not a lot of hope. Seeing that 15 tagged The Da Vinci Code as a “bestseller” and “fiction” is still not going to help me.

Furthermore, Amazon doesn’t need this. They provide a very insightful list of phrases similar to what we would want from tags in the “Inside This Book” section. For Freakonomics, they list the first sentence and the following terms (as “Capitalized Phrases (CAPs)”):

University of Chicago, Supreme Court, Stetson Kennedy, Paul Feldman, Los Angeles, Head Start, Black Disciples, James Alan Fox, National Bureau of Economic Research, Sudhir Venkatesh, Quarterly Journal of Economics, Adam Smith, American Economic Review, Peter Sandman, Black Gangster Disciple Nation, Chicago Public School, Jake Williams, Journal of Political Economy, Johnny Appleseed of Crack, Most Popular White Girl Names, Oscar Danilo Blandon, Arne Duncan, The Impact of Legalized Abortion, Harvard University Press, William Julius Wilson

Each of those phrases are linked to a page that shows the number of references in this book and references in other books. If you have read the book, you know that these are interesting and useful glimpses into the text.

As I’ve said, I do believe tagging can be useful (and my next post will discuss how). However, sometimes a community solution like shared tags doesn’t offer anything but confusion. Unfortunately, Amazon’s shared tagging falls into this latter group.

Dan Zambonini

AddThis Social Bookmark Button

I don’t know why, but I was thinking about the price of different software products last night. I don’t think any of this means anything, but for some reason it won’t go out of my head until I write it down:

  • If Microsoft Windows cost any less (free?), would they sell any more copies? (no?)
  • If Linux (generic, not talking RHES etc) cost more (something), would they ’sell’ any less? (yes?)
  • If Oracle Database cost any more, would they sell any less copies? (no? not by much?)
  • If Google (Search) was a subscription service, would most people pay for it? (yes?)
  • Does Opera prove that most people won’t pay for a web browser? Or, considering that the web browser is becoming the most important software item on the desktop, would people pay a token sum for an exceptional browser product with hugely improved efficiency/features (firefox isn’t all that)? (yes?)
  • Similarly, if IE and Firefox were priced at $10 each, how many of each would sell?
  • In the next 10 years, will nearly all software be (cost) ‘free’ (i.e. the marketplace becomes more service-oriented)? Or will the reverse happen and people will pay for search, browsers, etc?
  • A Powerbook costs about $1500, and OSX about $130. But the ‘value’ of the $1500 powerbook includes being able to use OSX, not just the price of OSX. So, when OSX inevitably comes to the PC, how much ‘value’ will be lost from a $1500 powerbook? Will it then only be worth $1000 to a typical user?

Like I said, this doesn’t mean a whole lot (except point out that different products have different ‘value propositions’), but I have a niggling feeling that there’s something interesting to be found by following this train of thought.

M. David Peterson

AddThis Social Bookmark Button

Related link: http://channelxml.com/community/blogs/m.david/archive/2005/12/15/4.aspx

m.david : First podcast now available, ChannelXML Forums now live

It’s been a long time coming but I am happy to say that Kurt and I have finally finished our first podcast, its been edited (kinda) and it’s now available for download. As per my recent post to my ChannelXML blog:

First podcast now available, ChannelXML Forums now live

This is a quick post to announce that Kurt and I have FINALLY finished was we are now deaming our “Pilot” podcast… not that we plan on cancelling our own show, but the quality is a bit — ummm — shoddy would be a good word. Its not horrible and in fact its not too bad at all. But it can use some significant improvement, something we have the equipment to handle, but with as many problems as we have had trying to coordinate schedules and such we were both left recording this on our laptops using the built in Mics. Thousands of dollars spent on recording equipment to try and make this as professional as we could is this is what we were left with.

Such is life. :)

As mentioned, the first podcast is available now and can be accessed here.

The forums are also now open… But given that we havent really defined what this site is going to be all about, there may not be all that much to talk about. But there will be… so please bookmark the entry page into this site and subscribe to the various feeds of interest and stay tuned…. much more to come as we bring this year to a close and begin next year with a “bang” (more on just what that “bang” is in the coming weeks)

Until then,

Enjoy!

This will become much more organized, with proper RSS feeds to add to your podcatcher’s, but for now we simply wanted to get this out there and just learn as we go how to make this something we both love to produce and you love to listen to (that’s the goal anyway.)

Quick note: I recorded the intro separate from the other recordings so there’s an obvious point where it jumps from my intro which was recorded using a professional mic, and the recording from the actual conversation between Kurt and I on Sunday night. This won’t be a common occurence and is one of the reasons we are terming this a “pilot.” The conversation is interesting and I think well worth your time to take a listen. So please forgive us for the few hiccups here and there. We’re still in the learning stage of this new and exciting medium… so stay tuned. :)

Topic of this weeks show: The New and Improved “Web 2.0″ Browser Market where we discuss everything from Opera’s sudden and immediate reammergence as a technology leader and front-runner to our various feelings towards Mozilla “spin-offs” such as Flock.

Much fun is to be had, so don’t miss out ;)

What types of things would you like to have talked about on this show? Would you like to be a guest? Would you like for us to be the guest while you teach us a thing or two? At the moment, we’re all ears, so please, have at it/us. ;)

David A. Chappell

AddThis Social Bookmark Button

Sonic Suggests ESB Definition to Ease Chaos
by Vance McCarthy
http://www.idevnews.com/IntegrationNews.asp?ID=200

The ESB (Enterprise Service Bus) sector is quickly becoming rife with confusion. And, while there is growing consensus among vendors (and end users) than an ESB is supposed to provide a mediation layer between legacy and SOA resources, there are devils in the details.

Sonic Software this week put its ESB Definition into the marketplace, and execs say the document lays out ESB hallmarks architects and devs should look for. …

Sonic Publishes ESB “Definition”
Section: 01. Top Stories
By Jason Stamper
http://www.businessreviewonline.com/blog/archives/2005/12/#000094
Sonic Software, an operating company of Progress Software Corp, published what it considers an “Architecture and Lifecycle Definition” of an enterprise service bus (ESB), but anyone seeking a concise definition will be disappointed as Sonic’s view of the technology is encapsulated in a 55-page white paper.
In a shorter introduction to the definition, Sonic said, “An ESB is software infrastructure that simplifies the integration and flexible reuse of business components using a service-oriented architecture. An ESB makes it easy to dynamically connect, mediate and control services and their interactions.”

Lashing out at the large number of rival companies that also claim to offer an ESB, newly-appointed CTO, Hub Vandervoort said, “It’s time for fuzzy thinking about enterprise service buses to be replaced with a precise definition that allows the industry to separate fractional ESBs from the real thing.”….

Senior Editor Darryl Taft of eWeek wrote about the ESB definition announcement -

Sonic Seeks to Clarify Enterprise Service Bus
eWeek
Darryl K. Taft
http://www.eweek.com/article2/0,1895,1896328,00.asp

Sonic Software Corp. on Monday introduced its definition of an enterprise service bus.

In a reference model called “Sonic ESB: An Architecture and Life Cycle Definition,” Sonic laid out its definition of an ESB and offered a comprehensive and unambiguous vocabulary in a technology category rife with confusion and conflicting terminology.

ESB is an emerging standard for integrating enterprise applications in an implementation-independent fashion, at a coarse-grained service level via an event-driven and XML-based messaging engine….

ESB news: Sonic, Cape Clear make moves

December 05, 2005
InfoWorld TechWatch
Paul Krill
http://weblog.infoworld.com/techwatch/archives/004685.html
Looking to clear up industry confusion over what, exactly, is an enterprise service bus (ESB), Sonic Software, which pioneered this product category, on Monday released a document that the company believes settles the matter…

Of course, Sonic attempting to define ESB for the industry does seem a bit opportunistic, given the company’s bread-and-butter offering is an ESB. Sonic has sold an ESB since 2002 while others, such as BEA Systems, joined the fray later…

Sonic Software’s ESB Reference Model…A Step in the Right Direction
December 05, 2005
InfoWorld Real World SOA
Dave Linthicum
http://weblog.infoworld.com/realworldsoa/archives/2005/12/sonic_softwares.html>
Everyone loves references models. From the time I first saw my first ISO model back in the late 80s I feel in love with cute little diagrams that explain very complex topics. …
The purpose of reference models are to standardize on the way you view a technical concept, and thus the idea beyond the ESB reference modelESB reference model put forth by Sonic recently…
…Anyway, the Sonic stuff is worth a read. Good guys there, by the way.

ADT Mag –
Sonic Software delivers its idea of an enterprise service bus
December 5, 2005
ADTmag.com
ADT Staff
http://www.adtmag.com/article.asp?id=17585

Sonic Software on Monday introduced its technical definition of the enterprise service bus, a product it has been selling for some time. “Sonic ESB: An Architecture and Lifecycle Definition” examines the core capabilities and usage of an ESB, from development to production.
The company released the definition to explain the major architectural components of Sonic’s ESB. It employs more than 20 UML class and object diagrams to depict the structure and show examples of how the ESB is built and operates. The text was written to educate architects about the inner workings of an ESB. The appendix includes a complete class diagram and a 100-term glossary as a reference model and vocabulary for the industry to use as organizations build out their ESB strategies. …

Dave

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.eweek.com/article2/0,1895,1897577,00.asp

e-Week recently did a writeup of BEA Aqualogic. I find it intriguing that the opening sentence gives credit to Sonic ESB as being more mature and capable -

“While the aqualogic product has “service bus” in its name, BEA describes it mainly as a platform for managing services. This is probably a good thing, because as a straight ESB, AquaLogic Service Bus is merely competent and is clearly less mature and capable than more established ESBs, such as Sonic Software Corp.’s Sonic ESB.”

How cool is that?!

The article concludes with a ESB vendor shortlist, which says this about Sonic ESB -

Sonic Software’s Sonic ESB The product that defined the ESB category and the most mature and capable; when coupled with Sonic SOA Suite, it is a powerful services platform (www.sonicsoftware.com) ”

Dave

Michael Fitzgerald

AddThis Social Bookmark Button

Related link: http://tomcopeland.blogs.com/juniordeveloper/2005/12/rubyforge_now_s.html

If you didn’t notice…it was announced today that you can now do version control with Subversion on RubyForge. You can even switch an existing project from CVS to Subversion. Nice. It’s hard not to be a fan—nothing new here—of both Subversion and Ruby. You try, you like.

Jim Alateras

AddThis Social Bookmark Button

Just listened to a presentation Dr. Werner Vogels gave at ETech 2005 on E-Commerce at Interplanetary Scale. Werner, who is the CTO at Amazon has spend many years looking at distributed systems, particular during his days as research scientist at Cornell University speculates that in order to achieve the next magnitude of scale we need to move a way from current practices and turn our attention to biological ecosystems. In particular, Werner asserts that the epidemic theory may provide part of the solution to achieving massively redundant and available systems. The application of this theory may be relevant to state replication, caching, presence management and other fields.

If you’re interested then this post on Epidemic Computing at Cornell is a good place to start.

Jennifer Golbeck

AddThis Social Bookmark Button

Related link: http://videntity.org/

Videntity is an interesting web based social network that is open and combines OpenID, XFN, and FOAF. Users maintain an identity with personal information on the site, and they can invite friends to join. It is an open network because you can add information about people you know who are not in the network.

It outputs the social network data in FOAF and XFN, but does not yet read that in. The site is clearly a work in progress, but the creators seem to be on the right track with their future work described on the wiki. You can read more about that at
http://wiki.www.videntity.org/wiki/Social_Networking_Unlimited

You can find the actual network at http://videntity.org/.

If you’d like to see my sample page, you can get it at http://golbeck.videntity.org/.

And feel free to add me as a friend.

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.greystripe.com/

As a frequent traveler, I am often in unfamiliar territory and in need of a good espresso fix. It always seems that there are Starbucks everywhere, except when you are actually looking for one :) Fortunately, there is a solution. Caffeine Finder from Greystripe is a handy little app for your blackberry which allows you to find all the coffee houses in your immediate area.

Dave Mabe gives a pretty good description of it with some screen shots. I have used it a few times and found it to be pretty handy. The only downside I have found so far is that it is rather US-centric. If nothing else, I can now officially reaffirm to my friends the extent of my caffeine fanaticism.

Dave

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.sonicsoftware.com/products/sonic_esb/architecture_definition/index.ss…

Sonic Software introduced the concept of the ESB to the world in March of 2002 when we shipped the first ESB product. At the same time we started socializing the concepts and the terminology with the analyst community (Gartner, Giga, META, IDC, Forrester, etc), the journalist community, and the IT community at large in order to establish a common understanding of what an ESB is.

Our efforts appear to have worked :) The ESB product category has become so well known that you would be hard pressed to find a vendor offering SOA infrastructure today that doesn’t brand itself as an ESB. Even vendors such as IBM and BEA have announced their intentions to build one. The reason was successful in establishing this new technology category is that these analysts, journalists, and IT end users knew we were onto something very valuable.

We initially set the bar relatively low with regard to the definition of an ESB, in order to allow the quick uptake and the rapid adoption of the terminology and architectural characteristics of the ESB by as many vendors as possible. In those early days the initial definition of ESB was simply infrastructure that combined 1) Message Oriented Middleware, 2) Web Services, 3) Data Transformation, and 4) Intelligent routing based on content. Even though we always knew exactly what that meant, and what the architectural implications of that are, the side affect of this loose definition is the category has become somewhat broad and diluted as vendors have started adopting the terminology and trying to retrofit it onto their existing hub-and-spoke EAI broker, WS-toolkit, or application server architecture. There have so far been fairly good but imprecise definitions from the analyst community about what an ESB might include and what its purpose is. However there has not been any formal definition that an architect could look at, understand, and begin a fruitful comparative analysis.

As part of our unwavering effort to continue to provide thought leadership and education on what it means to be an ESB, Sonic Software has announced a more formal and detailed definition. The “Sonic ESB: An Architecture and Lifecycle Definition” is a technical explanation of the major architectural components of an Enterprise Service Bus. It happens to be based on the Sonic ESB architecture, but it is generically described such that it may be used as a reference model of others to study and gain an understanding of what makes an ESB unique from other approaches to SOA infrastructure. It is comprehensive and includes more than twenty UML class and object diagrams depicting the structure and examples of how this important new type of infrastructure fits together to support the design, configuration, and deployment lifecycle of an SOA. The text describes the detailed descriptions of inner workings of the ESB, and for completeness a complete class diagram and 100 term glossary are included.

The complete whitepaper, executive summary, and glossary can be found at –
http://www.sonicsoftware.com/products/sonic_esb/architecture_definition/index.ssp

Dave

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.nytimes.com/2005/11/27/arts/television/27itzkoff.html?pagewanted=prin…

I may be a bit more sensitive than most about this ;), but for those of you who follow the career of Dave Chappelle the comedian, it appears he has returned from his mysterious hiatus -

http://www.nytimes.com/2005/11/27/arts/television/27itzkoff.html?pagewanted=print

Dave

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.ftponline.com/channels/arch/reports/easbarc/2005/video/

I recently gave a presentation on ESB Architecture at the Enterprise Architecture Summit in Barcelona.
A recording of the whole presentation, including the comments from the audience members, can be found here -
http://www.ftponline.com/channels/arch/reports/easbarc/2005/video/ Look for the presentation entitled “How the Enterprise Service Bus Delivers on the Value of SOA”

Dave

Advertisement