Datasheet

On Flickr, and some other systems, the matter is slightly more complicated. The content made available
by Flickr isn’t typically owned by Flickr itself it’s actually the property of Flickr’s users. The photos
you see on Flickr are owned by millions of people across the globe. Obviously, use of your own photos is
not a problem you are free to use those where you choose but you should be careful about how you
use photos that do not belong to you. Flickr allows its members to assign different copyright licenses to
photos from the Creative Commons set of licenses, and so explicitly allow their use in other applications.
These licenses are discussed in more detail in Chapter 2.
When deciding what content to include in your mashup, always check that you will be using the content
in ways that are permitted by the copyright owner.
How Easy Is It to Get the Content?
It’s often said that if you can see the content on the web, you can write software to retrieve it after all,
that’s all your web browser is doing. Strictly speaking, that’s absolutely correct. The real question, how-
ever, isn’t whether or not you can get the content, but rather how
easy it is to get the content. Suppose,
for example, that the piece of text you need to include in your mashup is buried in the middle of some-
body else’s web page. You need to retrieve and parse the HTML on the page and try to locate the piece
you’re interested in. If the content of the page is regularly updated, this may in itself be a fairly tricky
task. Add to that the prospect of having to deal with cookies, web server authentication, and a whole
bunch of other things that happen quietly behind the scenes when you are browsing the Web, and the
seemingly straightforward task of getting your piece of text can quickly become a nightmare.
On the other hand, if the content is explicitly made available to you by the content provider, perhaps via
a defined programmatic interface or web service, then retrieving it can be extremely straightforward.
When planning your remix or mashup, you should always consider just how you will obtain the content
you will be using. In particular, you should check that it is made available in ways that will help rather
than hinder you.
Mashup Architectures
From an architectural viewpoint, the most fundamental decision you have to make when starting to
design your remix or mashup is where the remixing occurs. Does it occur on the server, or does it occur
on the client? Quite possibly, it’s a combination of the two. So how do you decide where to do the remix-
ing? As you work through this book, you’ll see many examples of both server-side and client-side
mashups in action, but let’s first take a look at the pros and cons of each.
For the sake of simplicity, we’ll assume here that all of the remixes and mashups we discuss are web-based
systems. Of course that doesn’t have to be the case you could just as easily write a native Microsoft
Windows application that mashes different kinds of data together. The basic mashing principles are, how-
ever, basically the same, no matter how you choose to build and deploy your mashup.
Mashing on the Client
Building your mashup so that it executes on the user’s client machine is often an attractive option. For a
start, it means that you don’t need any special software running on your own web server. You may not
5
Chapter 1: Rewriting the Web
05_097748 ch01.qxp 12/14/06 5:53 PM Page 5