Web Services archives - Buzz’s Blog: On Web 3.0 and the Semantic Web

Buzz’s Blog: On Web 3.0 and the Semantic Web:

web services

Jun 2 2009   4:53AM GMT

Ambient intelligence: empowering the new Web



Posted by: Roger “Buzz” King
RFID tags, Ubiquitous Computing, ambient computing, The Internet of Things, ambient intelligence, web services, Web 2.0

This blog concerns advanced Web technologies that can be roughly described as being part of the Web 2.0 and the Semantic Web efforts. Most recently, we’ve looked at technology that will either buttress new Web development technology or take advantage of it. In particular, in the last posting of this blog, we looked at the Internet of Things and ubiquitous computing, and how they might interface with advanced Web applications to produce a combined, more powerful computing environment. We’ve also looked at New Songdo City - the u-city - and how it will at least indirectly serve as a testing ground for new Web technology.

Ambient Intelligence: A Powerful Enhancer of Advanced Web Technology.

In this blog entry, we’ll look at another new technology and how it might dovetail with the new Web. It’s called “ambient intelligence”. Like other software advances, although it is not directly related to the Web, it will dovetail beautifully with new Web technology.

We consider how ambient intelligence will make the Web radically better at serving individuals.

Ambient Intelligence: Just What Is It?

The term refers to computerized devices that tailor their behavior according to the nature of each user. First of all, though, we should make it clear that this is not a particularly new term, that it does not have a highly specific definition, and there are lots of other terms that have been used to describe similar concepts. But there is something focused that is emerging under the banner of this name.

Ambient intelligence is commonly discussed in the context of embedded devices, machines that have processors in them and that perform specific information-based tasks, as opposed to being general purpose programmable computers. Embedded computers are in cell phones, our automobiles, and “smart cards”. Sometimes, they can indeed be programmed to do almost anything, like the ones inside cell phones. But even then, it’s assumed that very few people will do so. The point is that they generally do not have displays, keyboards, or mice dedicated to their use. They are found inside small and large devices, as well as in the smarts of complex systems, like assembly lines. Mass produced, but sophisticated items like insulin meters have computers in them.

As an example, you could imagine that the vending machine you put money into tomorrow might already know that you drink nothing but 20 ounce Pepsis. Maybe every vending machine in your complex at work knows your habits. Maybe if you switch to Sprite on one machine, it will tell the rest. Maybe the machines will offer you one or the other until a new pattern seems to emerge and it appears that you will never again drink Pepsi. Or you might be able to enter your “favorites” on the corporate website, and declare what you prefer to drink. The machines will know - and so will the company that services those machines. All of this could happen without human intervention.

Ambient devices don’t have to specifically target individuals. You could imagine a computing system in an airport that can smoothly transition between human languages, customs, and regulations, to better serve a global audience. We’re very close to this sort of thing right now, actually.

Ambient Intelligence at the Fingertips of the Web.

But wait. Let’s get back to that vending machine. How do they communicate with each other to pass on the critical news that you’re a Sprite person now? How do you enter your favorites? How does the vending machine company get the news so they know what to order?

The Web. Those ambient vending machines use the Web.

On the Web, embedded devices can be engaged by web applications and
web services. (Remember that web services are programmatic interfaces to services;
i.e., they don’t have to be activated by a human using a browser.)
Embedded machines can also initiate web services, as well as trigger “push” tasks,
whereby a user on a client machine somewhere is told that something is happening and itʼs time to get to work. The embedded device and the user could be on opposite sides of the world, thanks to the Web.

RFID Technology: Tracking Things.

We’ve already looked at RFID technology.

As a reminder, the goal of RFID-based systems is help us coordinate and carefully control the use of various objects. Of particular interest are mobile objects. One of the key components behind this idea are RFID tags. RFID stands for “radio frequency identification”. A tag can be attached to almost anything. After they are deployed, an RFID reader can send out a signal, which is picked up by the RFID tags, and then respond. As things move around, as things are used in concert to perform tasks, they can be carefully tracked and managed.

An Example:

There’s another aspect of ambient intelligence. When people talk about a device that has ambient intelligence, often they are referring to a dedicated devices with a simple display, not a general purpose computer. By this quality, the soda machine example is a bit rudimentary, in that it probably doesn’t have any true native display at all, and the indirect way of accessing it, at least according to our example, is too general purpose - a website that is accessed with a full blown computer.

Consider something that is a major topic of discussion now, and a subject we will return to in this blog in the near future: electronic health records. The idea is that we would have life-long electronic medical information bases that would be accessible to medical providers (with our approval). This way, the fact that I had some disease as a child that makes us vulnerable for some other disease
later in life would become apparent to my family doctor, and the necessary screening exam would be scheduled periodically. Otherwise, how am I supposed to know about the consequences of something that happened when I was a toddler? My “EHR” would also hold prescription records, imaging data, and anything else related to my health. It would, of course, be a web-based app.

But various sorts of doctors - not to mention non-medical types like me - need information displayed and abstracted in special ways. My family doc might want to see everything is its raw form, if for no other reason than my doctor would be expected to know my medical history, if it were readily available. (And yes, if I had a chronic disease or were the caregiver for someone with a chronic disease, the immense size of the EHR would be truly overwhelming. I imagine that doctors might be afraid of being expected to process huge EHRs belonging to new patients.)

Now, consider an emergency room doctor. If I was lying on a bed in an emergency room, not conscious, having just collapsed and complaining of a terrible pain from a horrendous headache, and from nauseous, and unable to answer questions, the doctor needs data fast. The display that the ER doc uses would not be on a general purpose desktop computer, would not provide that massive raw data view, and would present information in a highly readable form.

Most importantly, that computer would have to be instantly adaptable to suit the needs of an emergency, and then later, go back to a non-emergency mode, to be of help in further treatment.

Or, it might be that the web server and not the machine in the ER, contains the ambient software. The machine in the ER might be a very simple client. But either way, the combined web application and local client would have to be capable of searching my online EHR, to look for possible problems, and to display them. It might deliver up the fact that just this morning, I had minor surgery on the baby finger on my left hand - and since I was so squeamish, I was given general anesthesia.

Boom. The ER doc figures out that my headache is from high blood pressure, which, along with nausea, is a common side effect of anesthesia, and it can hit hours later. The doc now knows that if I’m given a blood pressure reducing drug, I’ll be fine. But I might have to first be given an anti-nausea drug, and obviously, I wouldn’t be able to swallow that and keep it down, and so it would be administered at the other end of my food processing subsystem.

Wait, one more thing. What about RFID tags? Maybe I have one around my neck, and that’s how the doc figured out who I was in the first place, since I was stumbling around with no driver’s license. The machine in the ER scanned the tag - and voila.

The Reach of the Web.

If you think about it, by leveraging the Web, ambient devices can be empower in incredible ways - and in the years to come, we’ll see a new generation of such web applications emerge.

(Finally, if my medical scenario is ridiculous, and you are a medical professional, then I’m sorry.)


May 3 2009   3:00AM GMT

Email addresses, the new Web, and NASCAR.



Posted by: Roger “Buzz” King
NASCAR-like web ads, Web 2.0, Web 3.0, the Semantic Web, XML, namespaces, free email accounts, web services, web-based ads

The Semantic Web.

This blog concerns advanced Web technology, in particular,Web 2.0/3.0 and the Semantic Web. Each blog entry should be fully understandable on its own, but the blog as a whole tells a continuing story.

Very roughly, we’ve defined the Web 2.0/3.0 as the class of emerging web applications that are highly responsive, to the point of being competitive with desktop apps. Another characteristic is that they can manage large volumes of very complex media, like images, sound, and animation, as well as interconnected forms of media. We’ve looked at some specific advanced web applications.

Our concern here, in this blog entry, is the Semantic Web, which we have also roughly defined. The Semantic Web is something that does not yet exist, but would meet the very aggressive goal of supporting largely automatic web searches, freeing us from excruciatingly interactive, manual Google and Yahoo sessions. And we’ve seen that we would use such things as shared namespaces, intelligent full text searching, and XML-based markup languages to embed information in websites that could be used by smart browsers to perform far more accurate searches.

Web services would help a lot, too, by taking humans out of the loop when providing powerful web-based capabilities; one website can now provide a vast amount of information, for example, by silently using web services to collect information from many other web-based sources.

(By the way, we have also looked at precisely what we mean by “semantic” in the Semantic Web.)

The way we pay.

This all sounds very good. The Web would be far more useful, with automatically searchable Semantic Web-sites. But there’s a bad side to all of this, and it has to do with how we often pay for Web use.

The problem is that we often do not pay at all. At least not directly, with money. We pay by putting up with ads. Free email services, such as those hustled by Yahoo, Hotmail, AOL, and Mail.com, are generally accessed via web browsers, and we find the main pages of these email accounts stuffed with ads.

Some free email accounts even stick ads in your outgoing mail!

Often, the only way to get the ads stripped from a web mail interface is to pay a fee. We might also get more than just ad-free web mail pages; paying sometimes allows users to access their email with POP or IMAP protocols, via desktop clients (like Outlook and Apple Mail), thus avoiding ads in another way.

(As an aside, there are free email sites that either have no ads in them, or only very subtle ones. Try Gmail.com and Inbox.com. My favorite, with its clean interface and growing set of accompanying capabilities, is GMX.com.)

As it turns out, folks looking to buy ad space online find that they have a vast array of choices, and this drives down the cost of ad space. But these two things, an ever-growing list of free online services and cheap ad space, are related. This is because it is all too easy to build useful web applications. Like browsers, bulletin boards, calendar apps, blogging services, and stickies applications, email servers are cheap to build and maintain. Venders can use canned, largely free software components.

And, transmission costs on the Internet are effectively free, and the bandwidth is huge. Free email accounts often offer a gigabyte or several gigabytes of storage, because disk space is dirt cheap, too.

There is a lot of rebranding going on, too, where someone seems to be offering free email (or some other service), but it is actually being provided by a large email provider.

So, the way things have shaken out, is that free web apps like email servers look like NASCAR racing cars, covered with colorful ads. Many of these ads consist of video, and so we have to battle distracting, flashing colors so we can focus on our mail.

The trick behind online ads.

There is something happening in the online ad world: folks who provide these free, pay-for-it-with-ads services are learning to carefully target ads. There is specialized software available for this, and by plugging in some smarts, folks can make the ads that appear on your screen far more likely to be of interest to you.

How is this done? By watching what you type into search engines, by taking advantage of personal information you supply when you sign up for free email accounts and other services, and by carefully examining the content of the messages you send and receive, that’s how it’s done.

It’s important to point out that this works. The “click through” rate on ads can be radically improved, just by using some simple heuristics in choosing your ads. Folks who pay for ads love this, and it has allowed individuals who don’t even provide free web applications turn themselves in to ad space sellers. Your blog, your specialized website, can now host ads carefully targeted toward the visitors to your blog or your website.

But just wait for the Semantic Web.

But it will really kick in when the semantic web is here. The same technology that would make browsers far, far smarter about finding good URLs for you will make the targeting of ads at you extremely precise.

This slowly-emerging technology is badly needed by the folks who sell ad space and by the people who buy that ad space. That’s because you and I are starting to get used to this world of NASCAR websites. We are looking through or past or around the ads. They need to be made a lot smarter, is order to get our attention back.

But by using Semantic Web technology to radically increase click-through rates, by getting us interested in ads again, impulse shopping on the Web might skyrocket. It’s very easy to go from seeing an ad for a product you have never heard of before to having bought it.

Like little kids watching commercials for sugar-heavy cereals on Saturday cartoon shows, we will be manipulated like we have never imagined before. That’s the bad side to the Semantic Web.



Apr 26 2009   8:09PM GMT

The world of advanced Web applications: what are they?



Posted by: Roger “Buzz” King
Web 2.0, Web 3.0, the Semantic Web, XML, mashups, wikis, social networking sites, tagging, distance education, zenbe.com, evernote, GlideOS, namespaces, web services

This blog is dedicated to an ongoing discussion of Web 2.0/3.0 and the Semantic Web. The slant is on the technology itself, how it works and what’s going on inside advanced Web applications. We’ve looked at a couple different Web 2.0, in particular, Evernote and GlideOS. We’ve tried to characterize the capabilities of Web apps.

The impact of the new Web.

This posting addresses a non-technical question: What has been the impact of this technology our society?

Technological advancement can be very roughly broken into two groups: incremental and radical. Which of these is Web 2.0/3.0? Is it a radical advance?

Consider what highly responsive, multimedia web applications have done for us. They have enabled the development of:

* Wikis: These are web applications that allow us to collaboratively develop sophisticated, easily searchable information bases. These can range from dictionaries for specialized disciplines to vast databases containing DNA information. Data can be vetted by experts and/or challenged by random users.

Everybody knows about Wikipedia, but like blog and bulletin board software, wiki software can be easily installed and configured for deployment on almost any web server, whether it is publicly accessible, or used privately within a corporation or by a professional organization.

* Social networking sites: These are web applications that allow us to actively participate in a myriad of communities based on professional and personal interests. We find work, develop contacts, share music and photographs and video, and develop lifelong collaborations with people we would never have met otherwise.

They are also used by people who are in daily physical contact, but who find they can deepen their relationships by posting personal information on public sites like MySpace and Facebook. The interesting thing about these sites is that new and successful ones keep emerging,

* Tagged content vendor sites: Volunteers and paid individuals can contribute multimedia content and collaboratively tag it, using both freeform and highly sophisticated tagging protocols, such as the sophisticated MPEG-7 standard. (We will look at MPEG-7 in a future posting of this blog.) These include images and sound and video, and many taggers are highly trained professionals who can carefully categorize content according its detailed meaning. This technology makes a vast sea of otherwise-unknown assets available to us. It also makes these assets searchable, thus transforming a completely intractable task into something we easily perform.

In particular, this has radically enhanced the creative power of both professional and hobbyist animators by giving them complex scenery and character components to work with. Check out thoughtequity.com for an example of a content vendor. Take a look at daz3d.com for animation content.

* Mashups: These are portal or second tier web applications that take content from other web sources, such as Google Maps, investment information, medical advice, and scientific data. Often mashups take data from several or hundreds of other sites and create complex, highly valuable multimedia assets.

Take a look at woozor.com. It combines Google map and weather data.

* Distance learning: Universities, corporations, professional organizations, and lone instructors can develop and sell effective, multimedia educational packages that bring education to anyone who has Internet access. This allows us to retrain ourselves for new occupations, stay current in our professional skills, and find employment that is satisfying, steady, and high paying.

I teach on my university’s distance learning site, and we use video, sound, desktop video capture, slide presentations, and software demonstrations - and they can all be edited into a unified product. There are online universities now, where you can get a college degree. Take a look at jonesuniversity,com.

* Hybrid applications that support things like email, calendar, collaboration, RSS feeds, etc.

A good example of a hybrid application is zenbe.com, which provides a combined web-based email, list making, and calendar application, and in that sense is similar to many other email providers. But Zenbe also provides a collaborative tool called Zenbe Pages, which can be used by collaborators to organize their activities. A Zenbe page can have notes, calendars, lists, RSS feeds (not new ones, but existing RSS feeds) on them. Zenbe also provides quick access to Twitter, Google Talk, and Facebook.

By the way, it’s important to point out that the categories I list above are not as clear-cut as one might think. Many modern web apps contain elements from more than one of these categories.

The software building blocks.

From a programming perspective, what specific Web 2.0/3.0 software has allowed all of this to come about? We’ve discussed much of this already in previous postings of this blog. It includes XML and the exploding class of XML languages, namespaces, IDE’s (Integrated Development Environments), large code bases (such as the vast library of ready-made Java components), web service software development tools, and AJAX web page optimization technology. It also includes web development frameworks like Ruby on Rails, and newer ones, engineered toward high responsiveness, like Flex and Silverlight.

Also included are powerful media formats, codecs, players, and editors, which allow web users to do more than upload and search media; we can edit it and reform video, images, and sound, without leaving the simple world of our browsers. And of course, modern mega media apps enable us to build media assets. The list of contributing software tools goes on, but we’ll stop here.

It scales!

And there is something subtle, but important that gives advanced web technology extraordinary power: it scales. We manage shared resources that are truly gigantic in size, and are spread across countless machines around the world. We leverage global user bases, cheap server technology, and wide open Internet bandwidth to give media stores belonging to Web apps astonishing growth rates.

The bottom line.

Yep. Web 2.0/3.0, as a whole, is a truly radical advancement. It has fundamentally and globally changed society in a big way.



Mar 11 2009   8:24PM GMT

Web services: part of the Web 2.0 & Semantic Web picture



Posted by: Roger “Buzz” King
Multimedia, Rich Web Apps, the Semantic Web, Web 2.0, Web 3.0, Web development, rich internet apps, web services

This is the fifth in a series of blogs about the Semantic Web and Web 2.0/3.0. While the sequence of blog posts tell a continuous story, each blog should be fully informative if read out of sequence.

So far, we’ve discussed the Semantic Web, which is an attempt at automating the process of searching the web and integrating the results, and Web 2.0/3.0, which is largely oriented toward making media-intensive web applications highly responsive. (We noted in an earlier blog that Web 3.0 is an extension of Web 2.0, and we will look at this transition in a fugure blog.)

But there’s a third term that is often thrown into the mix: web services. What are they?

A web service is a web application that is not accessed interactively by a human, but rather by a program.

To make use of a website, we load a URL into a browser and visit the site. Once we’re there, we might - even if we don’t realize it - be operating a very sophisticated application, like Amazon. We can search their inventory - which sits inside a very large database - via Amazon’s search form.

But there’s something else you can do with Amazon. We can access their inventory via a web service. Or more precisely, we can build programs that can access their inventory by communicating with programs (called web services) that they have provided. Our programs and their programs talk to each other directly. These services can be used to do things that would usually would be very time-consuming, and in fact, often intractable, if performed with a browser. Their web services also allow third party vendors to post their stock on Amazon, and in return for a fee, let Amazon sell and ship their products. Thus, independent vendors can easily make themselves an extension of Amazon, something that works so smoothly that if we don’t look carefully, we might not realize we are buying something that is not directly marketed by Amazon.

The way a web service works is by the provider of the service (such as Amazon) making the interface to the software that implements the service publicly accessible over the Internet. Such an interface is called an Application Programming Interface, or API. This way, anyone who wants to write a program that will access the service over the web knows exactly how to write their program to talk to the web service. These programs that access web services are called “client” applications.

There is a wide class of web services available on the Internet, and many of them provide APIs that allow programmers to write software that can access vast databases of such things as news and real estate information. Many web services also are available via a website, for users who want to use the service interactively. And many client applications are really just doing the same thing a browser might do when accessing a website, except that the client is likely to be a far more specialized application and it runs as a desktop application on your machine. More importantly, that client program might be able to things that your browser cannot do.

For example, there is a web service called MusicBrainz; it provides information about music, not the music itself. It can be accessed via an API. There is also a website, MusicBrainz.org, where you can search the database interactively. The API might be accessed by a CD player application; it can communicate with MusicBrainz (without you knowing it) to download information about whatever CD you happen to be listening to on your desktop. It might enable your CD player to tell you the artist’s name and variations of that name, the release date, the catalog number, etc.

Since part of the idea is that we don’t have to directly interact with web services by using a browser, their explosive growth has been very quiet. Many websites are powered by input they get by using web service APIs. These second-hand websites are often called “portals”, and many portals integrate information from a number of sources and give you access to information that would otherwise be very tedious to find on your own. Web services are thus a critical building block for many of the multimedia, highly interactive websites that constitute much of the Web 2.0 effort.

In fact, they underscore the difficulty in making a sharp distinction between the Semantic Web and Web 2.0/3.0. This is because both of them depend highly on automating the movement of information around the Internet. A Web 2.0 website (often called a web application because it provides fast access to complex information, in particular, sound, images, and/or video) cannot answer your search request quickly unless it has ongoing, rapid access to underlying streams of information on the web. But this capability, of providing us with information integrated from multiple websites, is actually a cornerstone of the emerging Semantic Web.

The difference is that the Semantic Web will (hopefully) someday put a tremendous amount of smarts into web services, and allow us to locate, transform, and integrate information in extremely complex ways. The Semantic Web, in this sense, can be viewed as an extremely aggressive extent of the Web 2.0/3.0 effort.

So there we have it. Web services, in their hidden way, are rapidly evolving the web into something incredibly powerful.