Skip to content

{ Category Archives } mashupcamp

Mashup Camp IV: Speed Geeking 2 and wrap-up

It’s taken me a couple of days to get my notes transcribed from Mashup Camp’s last speed geeking session, since I’ve spent the weekend frolicking around in San Francisco. I really have to learn to do this before I kill all my brain cells on a weekend…

I saw many less speed geeking sessions than the previous day, in part because some of them just didn’t bother to participate in the second round. I’d like to point out to the demonstrators that if you can’t manage to wrap up your predetermined 6-minute conversation even when a siren goes off in the room in order to restart the next round, don’t expect me to believe that you could ever deliver anything on schedule.

Here’s what I saw:

QEDwiki: Not sure what the mashup was called, but it was built on IBM’s QEDwiki and combined Google maps with Upcoming.org (or should I say upcoming.yahoo.com) events, allowing you to search for events by subject/keyword, plot them on a map, then click through directly to the Upcoming event page. As with other QEDwiki sites that I’ve seen, this was multi-pane, with the top pane containing an RSS feed of events matching the search criteria, and the bottom pane containing the map. Future plans include adding Eventful and other event listings.

Cold Call Assistant: Another QEDwiki mashup, this one combining Salesforce.com data with a variety of other sources. You create a sales campaign on Salesforce as usual, which consolidates a list of contacts and their details, and this mashes it up with competitor information, news about the selected competitor or IBM (this was created by an IBM’er), local weather, restaurants and golf courses. The idea is that it provides context for a conversation that you’re about to have with the customer that you’re cold-calling for this sales campaign; why they picked golf courses rather than strip clubs, I’m not sure. :) There’s no feedback to Salesforce.com, that is, if anything comes from this call, you’d have to go back to Salesforce.com manually and enter in the data.

Best Price Food Shopping: An interesting idea for a mashup, which combines one feed per product (such as milk or bread) using Javascript to fetch and parse the RSS with Google maps to plot out where to buy your groceries. There’s some colour coding for which is the cheapest and most expensive, but this whole idea is reliant on the stores providing feeds for the underlying data, which isn’t currently happening. Useful for people with lots of kids who care about the price of milk, which isn’t me — I do much of my shopping in Toronto’s Chinatown, where I buy fruits and vegetables for pocket change.

Mashup Telephone: Probably the funniest (and most useless) mashup that I’ve seen, the mashup version of the telephone game: you know, the one where you whisper something in someone’s ear, they do the same to the person next to them, and so on until you’re all laughing about how scrambled that it got along the way to the 10th person. In this case, a search term was passed through successive mashup APIs sequentially to see what came up.

Flickrball: Another useless but charming mashup: a game where you have to get from one word to another in six moves (the old Six Degrees of Kevin Bacon thing) using tags on Flickr photos. Some nice eye candy in the UI, but it wouldn’t otherwise captivate me.

Seegest: A social movie rating site, where you rate what you’ve seen, what you’d like to see, and what you own. If your friends want to see the same movie as you, it helps to facilitate a movie night. If you own movies that you’re willing to lend, it can match them up with your friends (to whom presumably you’d be willing to loan a movie). It uses Yahoo authentication, so you’ll need a Yahoo ID to use it, plus feeds from Amazon for movie/DVD information and video of trailers from YouTube.

The last breakout session of the day, scheduled for after the speed geeking, sort of didn’t happen; most people were just hanging around chatting or demonstrating, and no one was in the room scheduled for the session that I had planned to attend. Given the opportunity to get north of the valley towards San Francisco before the 3pm car pool lanes kicked in, I headed out, skipping the closing session and the awards. At 2:58, I crossed the point just south of San Francisco airport where the car pool lanes cease to exist, and continued north for my weekend in San Francisco before the start of BPM Think Tank on Monday.

This was my third Mashup Camp, and likely my last; in fact, if it hadn’t been that I was coming down for BPM Think Tank anyway, I probably wouldn’t have attended this one. I enjoy Mashup Camp, but I’ve seen a lot of the stuff already, or am tracking it online; since I don’t write code any more, much of this is a bit peripheral to what I do, making it difficult to justify both the travel expenses and the time away from paying clients. Maybe I’ll be back when Mashup Camp hits Toronto, there’s certainly a strong enough tech community and BarCamp community to support one there.

Mashup Camp IV: Speed Geeking 1

Taking a break from the sessions just before lunch; there’s nothing that I want to go to right now, and this gives me a chance to catch up on my notes from yesterday’s speed geeking before today’s session starts after lunch.

Keep in mind that each session was a maximum of six minutes longer (shorter if the presenter didn’t actually restart when the siren went off), so there are likely to be errors and omissions here.

Here’s what I saw yesterday:

Voice + TWiki: This is an integration of LignUp’s VOIP service with TWiki to allow for the integration of voice information into the wiki environment. Although the author claimed that this was for non-technical people (he actually used the phrase “over 40″) to be able to add content, Twiki is an easy enough environment that I don’t think that this is really necessary, but one of the use cases that he showed is more compelling reason: someone is out in the field without internet access and wants to add a comment to a particular page related to that field location. For example, someone at a building site sending in a verbal report of what’s going on; I can also imagine insurance adjusters doing something similar. If you’re on the wiki and doing it interactively, clicking a button causes LignUp to call your phone and prompts you through the recording process. If you’re in the field, you can call a number, enter a PIN and the desired project (page) ID, and record. The next step for this type of integration would be to convert the voice to text, although I’m not sure if LignUp offers that sort of service; I suspect in any sort of inspection scenario, you wouldn’t want to trust an automated conversion but would still want the voice recording.

5thbar: Not the place that you go after the 4th bar, 5thbar is a mashup of information about mobile phones and accessories that provides a good one-stop site. It combines blogs and news via feeds, videos via the YouTube API, listings of the device for sale via the eBay API, and allows signed-in users to add tags and reviews. Although some carriers provide a subset of this information for the phones that they carry, 5thbar covers information for a wide range of phones across multiple US and Canadian carriers. It doesn’t yet provide comparison charts between devices, although the author sounded like he’s considering that.

Fast Mash: This is a demonstration coming from a university research project, showing how unstructured data can be extracted from sites and served up in a more structured format by the use of a reference data set in the same domain of knowledge. The example that he showed was taking “cars for sale” listings from Craigslist and creating a structured, searchable data set, more like a relational/tabular form, for further filtering and display (potentially as a data feed to other mashups). He did this in part by using Edmunds car buying guide as a reference data set in order to understand the particular tokens that might occur in the unstructured data; this is the key to the technique.

ClubStumbler: Finally, someone’s doing something useful with Google Maps: a way to plot the optimal route between a number of different bars/clubs that you select in your area. :) This uses the Eventful API to find out what’s going on at the clubs as well as Google and Flickr APIs, plus the author’s own API for finding the best route that he’s developing and commercializing. Seriously, though, this could be used in a number of commercial and business applications, such as optimizing delivery routes or real estate tours.

Plaxo Pulse: This mashup discovers information about all of your Plaxo contacts and feeds it back to you in a feed reader-type style (or it can be subscribed to in a regular feed reader). This includes any information found about the people from blogs, Flickr, Digg and other locations: sort of an automated identity aggregator based purely on feeds and RSS APIs from these sources. Although I don’t recall hearing the details, I suspect that the auto-discovery is done on some combination of what information that’s in the Plaxo contact record plus searches on the various content sites based on name and email address, since many allow the positive identification of a person if you know their email address. There’s also a new version of Plaxo out that looks less virus-like than the predecessors, I might give it a look.

Chime.tv: This is essentially a playlist of web-based video extracted from multiple sources (e.g., YouTube, Google Video) using the media RSS format, and played as a continuous stream. There are several pre-made “channels” of content of certain types, or you can create your own channels for private use or sharing. The Find And Play feature allows you to enter either a website URL that contains video or search terms, and get back a continuous-playing playlist of matching videos so that you don’t have to click your way through each result sequentially.

Billhighway.net: This is a social money website that allows you to collect money from friends, family, roommates, etc. for specific events or purposes, such as “mom and dad’s anniversary present” or “this month’s electricity bill”. You organize a group around whatever the event is that requires payment, then send out invoices to people. They can pay by eCheck or credit card, even if they don’t have a PayPal account, and the person organizing the group doesn’t have to have a credit card merchant account to accept payment by credit card. There is a 3% fee, of course, since those transfers have to be paid for in some way through the various financial services organizations that billhighway uses to process payments behind the scenes. Payments to the group are organized and reported as such, so that you know how much money that you received by group/event rather than just by person, and you can get RSS feeds of some of the data on the site such as transactions with your contacts. $US only at this time.

di.ngb.at: Although that domain’s not actually used, that name is on the site that was demonstrated so I’ve used it for naming purposes. I found this mashup particularly interesting since I’ve wanted to do something like this with Toronto’s library system ever since I started attending Mashup Camp last year. This uses an Amazon wish list to hold books that you want to read (since the Amazon API can retrieve the wish list using only your email address), then looks up the books on several different library sources (OCLC and LibraryThing were mentioned) to generalize the search by mapping the single ISBN from the Amazon wish list to all ISBN’s for that item, such as paperback, hardcover, audio and video versions. Metadata is also extracted from Amazon and the other library sources for display, and the local library systems (in this case, the author lives at the intersection of four overlapping library systems so searches all of them) to present a list of what’s available at the branches and allow holds to be placed on items. I so want this for myself in Toronto!

LignUp: I’ve already seen one mashup created using LignUp, and this was another one by someone from LignUp showing how to add voice alerts and SMS messages on a system administration functionality mashed up with the Intel Web 2.0 TDK. For example, a part fails or storage space starts to run low, and the designated system administrator receives an automated call or voice message, then can enter their current location by zip code and receive an SMS message with the address of the closest location to buy replacement parts. I moved on to the next mashup and found that it was also LignUp, showing voice mashups within Facebook: voice annotation of pictures by calling in, or web calling out either for 2 or 3-person calls or an automated broadcast message to an entire group. Another application, ReachMeRules, handled inbound calls and voice mails through the use of a cut-out number that masks your real phone number, and can provide specific responses to specific inbound numbers. This latter sounds like some similar functionality to what’s on Iotum, except that LignUp is offering a development platform that allows this to be created, not a specific fixed service.

SnapLogic: SnapLogic showed a mashup that highlighted the functionality of their data duration framework (available as open source under GPL), extracting data from Quickbooks and Salesforce.com, matching it up and displaying it as a combined table. Although the methods of extracting from these two data sources are quite different, the SnapDojo mashup demo showed how they can be wrapped and then consumed in a consistent fashion using SnapLogic’s APIs via JSON.

Where.com: The mashup by Where.com showed Google Street View on a mobile phone, using techniques originally discovered during WhereCamp. They have support for Sprint phones — I saw a Samsung demonstrated — for an extra $2.99 on your monthly bill, and unofficial support for the Blackberry. I believe that it’s all running in a mobile browser rather than downloading an app to the phone, although I’m not completely sure.

Twitterlicious and Bookmark Cleaner: Twitterlicious is a mobile app that allows you to capture your tweets (if you don’t know what Twitter or tweets are, move on) as del.ico.us or Ma.gnolia bookmarks with the tag “tweet” so that you can review them later, especially useful when a tweet contains a URL that you can’t open on your mobile device. They’re stored as private bookmarks, so I’m not sure if they’ll get picked up in the automatic Links blog posts that I create from my del.icio.us bookmarks; obviously, I wouldn’t want that to happen. The use of del.icio.us to store the tweets for later review then necessitated the Bookmark Cleaner, a utility to delete all bookmarks with a certain tag; he’s also extended this to do some other useful cleanups on your bookmarks, such as finding and deleting all bookmarks that point to a 404 (page not found), and finding all bookmarks that appear to point to a malware or phishing site, which can then be previewed using snap.com and deleted as required. In the future, he also want to find 302’s (permanent redirect) and replace the bookmark URL with the redirected URL.

Today’s speed geeking is just about to start, I’m out of here…

Mashup Damp IV Day 2: Automating web services and mashups

I’m in a session on automating the discovery and consumption of web services to create mashups. Coming from the enterprise integration side, lots of this stuff is pretty familiar to me: using a directory service (e.g., UDDI) to discover service providers in both the corporate SOA and internet web services (SOAP, REST, AJAX, XML-RPC, JSON, etc.) and extract the service description (e.g., WSDL), but he’s talking about adding a lot more intelligence to the discovery stage.

They’re making some pretty esoteric points about RDF, OWL and the semantic web, and this moved for a while into a two-way conversation between the main presenter and someone from a vendor who is obviously deeply into these issues as well.

Then we get to an interesting echo of yesterday’s session on why DIY when there are APIs available, and someone stated that he was more likely to write something himself because it’s too difficult to find services/APIs on the web. The other side was considered now: what if you put an API out there, and people use it in “stupid” (i.e., inefficient) ways that bring down your service? I think that the API developers need to put some checks and balances in place, like key limiting; someone from Google pointed out that if you don’t do that, people won’t take care to optimize their code to minimize the API calls. In fact, there’s services available to handle the API keys and their usage, such as Mashery.

Mashup Camp IV Day 2: Google Mashup Editor

Best Mashup Camp quote: “music is to mashups as porn was to the internet: it’s what drives it”.

I’m in the session on “Mashing” client-side mashup tools, where Jason Cooper from Google is demonstrating a mashup called Jookebox that he created using multiple Yahoo Pipes, such as one to retrieve album tracks from Amazon, assembled using the Google Mashup Editor (which I just received an account on the closed beta yesterday, by coincidence).

You can build the entire web page in the browser-based Mashup Editor in XML format, with the big difference between Pipes and GME is that Pipes outputs an RSS feed whereas GME outputs a web page. We had a discussion about how the mashup tools can often be categorized into enablers (which build the widgets, data feeds, etc. from underlying data sources, like Pipes) and builders (which assemble the components into a mashup, like GME).

Google’s goals in building their mashup editor was to remain standards-based, and eventually to open it up for extensions. There’s a whole gallery of mashups built using GME here (weirdly, not searchable…), and if you go to any of these, then there’s a “View Source” link in the top right that allows you to grab the source to learn how it was written. There’s a lot of mapping applications there, obviously, but there’s also things like a simple feed reader and a task list with nary a map in sight (or in site, if you like bad geek puns). You’ll also find a list of resources in the sidebar of the gallery page, such as how to get started, event handling, using the JavaScript API, etc.

We discussed a number of competitors, such as IBM’s QEDwiki, BEA’s Pages and Bungee Labs, although the Google guys state that these products play in a different place than them: GME is much more of a developer tool, since it’s basically a browser-based text editor that you drop code into rather than a drag-and-drop environment. They may decide to add nicer UI stuff in the future, such as a design view to accompany the code view.

Jason also talked about more complex mashups, such as using Dapper to parse a page into a more structured data source, feed it into Pipes for further slicing and dicing, then take the output feed from that and create the mashup using Google Mashup Editor.

We ended up with a discussion about the use Google’s geocoding in a GME-created mashup; currently, all GME apps use a single geocoding API key so there’s no issue of going over your daily limit, although there may be changes to this in the future.

Product roadmap:

  • Open up the beta by the end of this quarter
  • Allowing mashups to be hosted on other domains
  • Feeds from Google Calendar and other sources
  • New UI widgets

I’m looking forward to trying it out.

Mashup Camp IV Day 1: Why DIY when APIs are available?

This was really Chris Radcliff’s bitch session on why don’t people just use the Eventful API instead of writing their own event functionality over and over again :) but we discussed a number of interesting points that have analogies in any development environment:

Why people write their own functions even if something exists:

  • Discoverability, that is, they don’t know that the function exists externally
  • Lack of functionality (or perceived lack)
  • Lack of control over functionality, which is a sort of subset of the previous point
  • Lack of service level agreement
  • “Not invented here” syndrome
  • Complexity of external APIs

Why people shouldn’t write their own functions, but use one that already exists:

  • Someone else maintains the code
  • That particular function is not a core competency and not a competitive differentiator
  • It takes longer to get up and running if you write it yourself than if you use an existing API

There was an extended discussion of event APIs and functionality in general, which was not really the point of this session, but it’s an interesting case study for looking at the issues. There’s a ton of other examples here: spam filtering, address lookups, geocoding; all of these are readily available from a couple of competing sources. Of course, it’s all a matter of timing: I can recall when we wrote TIFF decompression and display algorithms in the late 1980’s because nothing else existed, something that would never be considered now.

There’s obvious differences in APIs that deliver content versus those that manipulate content with respect to both copyright issues and currency: if an API is maintaining an up-to-date database of information behind the API (like Eventful, which has about 4 million future events in their database at any given time), then it may be much better positioned to deliver the right content than something that you build yourself.

Mashup Camp IV Day 1: Enterprise Mashups

My speed notes from the speed geeking sessions are all on paper, so I’ll have to transcribe them later. In the meantime, however, I’m at the next session on enterprise mashups.

This was a bit slow-moving; I blame that on the post-lunch energy dip and the frenzy of speed-geeking that wore everyone out.

We talked around a number of subjects:

  • Enterprise mashups have a focus on multiple data sources, especially unstructured data, acting in part as a replacement for manual cut-and-paste.
  • Current IT development methodologies are not sufficiently agile to develop mashups, leading to the discussion about whether enterprise mashups should be done outside of IT: are mashups the next generation of end-user computing, replacing Excel and Access applications created by the business units? If so, who’s responsible for the result of the mashup, and for the underlying data sources?
  • The current IT environment tends to be command+control, and doesn’t lend itself to enabling mashups to occur in the business units. They need to unlearn scarcity of computing resources, and learn abundance.
  • What’s the boundary between EAI and mashups? What’s the boundary between business processes and social collaboration?

Mashup Camp IV Day 1: Opening up the social web

Another vendor-proposed session (Plaxo), but no formal presentation and not at all around Plaxo’s stuff so not really commercial at all.

The issue is all the multiple unlinked social networks to which we all belong, most of which aren’t open to data extraction or mashup in any way. For example, Facebook will link to a couple of different online address books (such as Gmail) to see if any of your contacts are already on Facebook, but there’s no programmatic way to do the same so that you could, for example, check to see if any of your LinkedIn contacts are also on Facebook (something that I’m checking out a lot lately as more business contacts start to find me on Facebook).

Most of the social networks are very much walled gardens, with no way to even get your own information out. LinkedIn allows you to download each individual’s contacts in as a vCard, but doesn’t allow for bulk export or API access to that data.

We listed data that should be opened up (i.e., made more easily accessible) in social networks:

  • My profile
  • Who I know
  • Friends’ content
  • Permissions that I’ve set on people/objects (which might include some implied categorization, like the Flickr family/friends subsets)
  • Attention or activity with contacts

We also discussed some of the problems with social networks, such as how you add people to your network but rarely delete them even if you never interact with them any more because that seems a bit harsh to just dump them from your network.

Getting back to the “set my data free” problem, there’s really a need for standards that would allow data to flow between sites that I allow to communicate. Although Plaxo provides some of that functionality, it’s not an open standard and it doesn’t interact with most of the social network sites; possibly something like Plaxo could be used to broker the data and relationships between these sites. LinkedIn’s toolbar for Outlook does a bit of this too, by allowing you to easily link up what you have in Outlook with what you have in LinkedIn; again, it’s not open and only covers that pair of data sources.

One issue is how to recognize the same person across sites: email address is most commonly used, but not perfect because many people use different email addresses for different sites, like a business email on LinkedIn and a personal email on Facebook.

Mashup Camp IV Day 1: AOL and Feed Mashups

Since sponsors are allowed to propose sessions, AOL proposed a session on feed mashups where they gave a short presentation/demo of their new customizable portal page (comparable to Netvibes or iGoogle) that also includes Mgnet, a way to do what they refer to as mashing up feeds, although it appears to be feed aggregation and filtering. Maybe that’s a good question: when does aggregation and filtering (which are basically functions of a feed reader) become a mashup? It appears that some of the interactive “mix & share” functionality is similar to the “share this” functionality in Google Reader, where you can set certain posts (or even a whole folder/collection of third-party feeds) to become part of a new, customized feed that can be shared with others.

The cool part is a set of APIs (both REST and RPC) that allow this functionality to be accessed programmatically rather than interactively:

  • Manage users’ bookmarks and feed subscriptions, organized by tags or folders
  • Retrieve feed articles
  • Apply chained operations (sort, trim, html) during feed processing

This allows aggregated feeds to be accessed in an application as a URL, create a mixed feed from a folder or tag, or dynamically create a synthetic feed from several feeds. This makes it similar to Yahoo Pipes for feed manipulation, but with a bit more flexibility.

AOL also seems to  be providing the only t-shirts at camp, since there’s no official Mashup Camp t-shirt this time; having scored a t-shirt, I’ve fulfilled my home obligations and can relax. :)

The session turned into an interesting discussion about widget standards, including how IBM and BEA are both supporting Google gadgets in their portals, making it somewhat of a de facto standard. Even the AOL guys admit that a standard widget format (even if it’s not theirs) is valuable, and they also support Google gadgets.

We also discussed how the difficulties with authentication for feed subscribers is part of what’s inhibiting adoption by businesses, particularly for delivering any sort of secure information to customers outside the firewall, such as a feed of transactions from your financial institution. AOL is using OpenID as a provider (every AOL username also corresponds to a set of OpenID credentials), but isn’t accepting OpenID — this seems to be the way that a lot of sites are going, which is not going to work until they all start accepting as well as providing credentials: providing OpenID credentials without accepting them is little better, in my opinion, than implementing a proprietary credentials scheme. One attendee pointed out, with some head-nodding around the room, that the dream of OpenID may actually be better than the practice since most people don’t want a single point of failure for their online credentials: you might use OpenID for all the logins that don’t contain any sensitive information so as to have a single signon around the web, but are unlikely to use it for financial and other critical sites.

I think that feeds are becoming more important in general, and also are going to start making some significant inroads within enterprises, as I saw at the recent Enterprise 2.0 conference. Inside the firewall, the credentials issue gets much easier, but there’s a much bigger cultural gap to using feeds as applications.

Mashup Camp IV, Day 1: Opening Session

A slow start, in spite of the announced 8:30am start time, and a smaller crowd than I remember from last year’s Mashup Camps, but a few familiar faces and lots of enthusiasm in a low-key sort of way. Like every unconference that I’ve been to, there’s a few minutes before the grid of sessions starts to fill up when I’m convinced that this is all a great waste of time, then people get up and propose interesting sessions, and I’m hooked.

David Berlin is our able host, as usual, and Kaliya Hamlin is facilitating the Open Space concepts for us, providing a bit of education on how an unconference works and getting people up in front of the room to propose sessions and sign up for speed-geeking.

You can keep an eye on the sessions grid here, which should eventually have links to notes from the individual sessions.

California bound

I’m attending Mashup Camp on July 17th-18th, then staying on in the Bay area for the BPM Think Tank on the 23rd-25th. If you’re going to be at either of these, let me know or look me up when I’m there.

Any suggestions for what to do in the intervening three days are welcome.

Mashup goes un-Camp

Slightly against the spirit of a true unconference, the Mashup Camp scheduled for next month in Mountain View has gone commercial. From an email that I received late last week from David Berlind, one of the organizers:

If you’re a Mashup Camp veteran, the you know that Mashup Camp and Mashup University have traditionally been free events to attend and Doug and I have worked hard to keep them that way. However, given the number of no-shows as well as the number of non-sponsoring solution providers that come to Camp to commercially engage the mashup community, Doug and I are instituting a tiered fee structure that our research with you indicates is very fair.

Although the fee is nominal ($35) for developers, I don’t actually develop much code so have listed myself as an “observer” at past events: I attend primarily to learn and contribute ideas, and to blog about the experience. David and I exchanged some email, and he said that it was cool for me to attend at the developer price as long as I wasn’t there representing a corporate entity trying to sell something to the developers (as if I’d pick people with no money as a target market :) ). Non-sponsoring private companies pay $495, and $995 for VCs and public companies.

Something doesn’t quite jive with the literal content of his letter, however: the two Mashup Camps that I attended last year were sponsored by deep-pocketed companies like Google and Yahoo, and I’m unaware of any great financial shortfall in running the unconferences (unless David and Doug want to start taking all-expense-paid trips to Tahiti). Furthermore, the no-show rate seemed to be well within expected parameters: keep in mind that there’s no-shows at paid conferences, too, and the loss of $35 isn’t exactly going to incent a developer to travel across the country if something better comes up. I’ve been involved in a number of Camp events here in Toronto, and yes, there are no-shows, which means that there’s some extra food at the end of the day; deal with it, or maybe stop pretending that there’s not tons of food thrown away at corporate facilities in Silicon Valley every day. I’ve also found the ratios of developers:non-developers pretty good at Mashup Camp in the past, so I don’t think that this is strictly to discourage non-developers.

It appears that they’re really doing this to encourage sponsorship of the event: I’m sure that the companies that do kick in some money might be a bit peeved that other companies could just show up for free and schmooze around with the developers, dangling job offers. Basically, the $495/995 amounts to an entrance fee to a talent fair, since many of the developers are attending Mashup Camp — at least in part — to showcase their talents in front of exactly those people from commercial organizations who might want to hire them.

Personally, I don’t think that this is the right way to go about it: I’d prefer to see a consistently low pricing structure (or free) but restrictions on the number of non-developers allowed. Sure, someone could lie and say they were a developer when they’re really a recruiter for Google, but it’s just as easy for someone to do that now, and just sign up for the $35 package. If you’re going to call something a Camp, it really should follow unconference guidelines to some degree, which traditionally includes free (or nearly so) admission, and completely participant-driven content that’s not determined in advance. If you’re going to run a commercial conference, then it’s unreasonable to expect people to pay $500 or $1000 for an event that doesn’t even have an agenda published: in other words, you can’t really do a commercial unconference event since many companies could find it difficult to justify the cost based on a complete lack of information about content in advance.

That being said, I found the two Mashup Camps that I attended last year were great, and I’ve already signed up for the one in July. And I’m not just saying that because I ran into David today at Enterprise 2.0

Next Mashup Camp scheduled

Mashup Camp 4 is scheduled for July 18-19, back in Silicon Valley. I’m at the BPM Think Tank in San Francisco the following week, so I’ll just stay out there for the duration and enjoy the weekend between in San Francisco.

Message to David Berlind: we really need to talk about a Mashup Camp in Toronto. We have a huge community here of unconference organizers and attendees, and have had 2 BarCamps, 12 DemoCamps, 3 EnterpriseCamps and a host of other “camps”, including the recent TransitCamp. Just don’t do it in February.

Skipping Mashup Camp 3

I’ve decided not to attend Mashup Camp 3 in Boston next week, in part because I just got back from a month vacation and have a ton of things to do (like this weekend’s Enterprise Camp here in Toronto), and in part because I missed the window for cheap flights and I’m not willing to pay $900 to fly from Toronto to Boston — the problem with being an independent is that you really scrutinize that extra $600 in airfare when it comes out of your own pocket!

Have fun without me this time.

Mashup Camp 3

I received an invitation this week for Mashup Camp 3, and have signed up to attend this east coast version on January 17th and 18th at MIT. There’s also Mashup University for the two preceding days, and it’s all free. Sign up online now if you’re interested, spots will likely go quickly.

You can find all my posts on the previous two camps here.

Wrapping up Mashup Camp 2

David Berlind is wrapping up the whole conference now, and we’re all anxiously awaiting the announcement of the “best mashup” winners. He made a few comments on the wiki and how it will continue to evolve, especially over the next few days while people finish up the last few notes and also continue the discussions in the forums that are linked to each session page. I’ll probably link my blog posts about each of the sessions to the specific session page when I get a chance. If you’re interested in any of the sessions, check out what’s on the wiki pages, including the links to external references and any of the presentation materials (and, in at least one case, an audio recording of the session).

On the first count, there was a tie between WeatherBonk and another mashup that I hadn’t even seen with 26 nickels each, followed by a flurry of people rushing forward with their nickels at the last minute resulting in…. a tie with 28 nickels each. David then made us go to each side of the room to indicate our support, resulting in a slight edge for the winner, WeatherBonk. Handing out of prizes ensued, and we finished the day — and the conference — on that note.

Next Mashup Camp will be on the east coast, I think later this year.

That’s it for Mashup Camp; regular blogging will resume shortly.

Mashup Camp 2 Day 2: Speed geeking

Decision time. I have one wooden nickel to spend, and five mashups that I really like:

  • ChunkLove, a gift registry finder that was created when the author’s sister complained that she had a number of friends getting married and no way to track all the different stores where they were registered for gifts. You enter a first/last name and city, and ChunkLove searches a number of pre-set registries (Pottery Barn, Bloomingdales, etc.) to see if that person exists in their registry. Right now, you can then click on each of the stores to link through to the name search results, but the plan for the future is to bring the search results back to the main ChunkLove page so that you can identify which Jane Smith it is whose wedding that you’re attending, for example. Only Amazon has APIs to get the search results, so the rest of them are accessed via scraping — the author was looking for a “more interesting” Ruby project to do, so took on the scraping task as well as all the other mashup essentials. He has other plans to use wedding date to narrow the search further, and aggregate the content (i.e., the actual items listed in the registry) so that you could see, for example, if Jane had asked for the same item on more than one site, and if it were already purchased on one of the sites.
  • TrPPR was whipped up by Cameron Jones in 4-5 hours starting at 11 last night, after he was inspired by all the other speed geekers’ offerings yesterday. It’s a mashup of NPR data with Microsoft maps that allows you to select a driving route by its endpoints, then see all the NPR radio coverage that you will have along the route. He scrapes the XML data from the NPR site, then uses PHP to calculate coverage radii. He then overlays the tower locations and coverage areas on the map route, and provides links from each tower to the corresponding radio station so that you can make a donation to support public radio.
  • PhoTiger by Chris Radcliff matches your Flickr photos with your Eventful events to automatically add tags, including geolocation tags, to the photos and change their titles based on the event data. Since the photo data uploaded to Flickr includes when the photo was taken, PhoTiger can match that against where you were at that time according to your Eventful calendar. It displays the photos matching each event and allows you to select/deselect appropriate photos, deselect any of the suggested tags, and select whether to override the photo name to match the event name. This mashup has actually evolved since yesterday to add the geolocation tags and photo titles, which says a lot about what Chris does in his spare time.
  • MileGuru, which aggregates all your frequent flyer and frequent stayer (hotel) points and other data into a single place. Since I saw the mashup yesterday, Chad integrated in mapping, so that all of your travel route details show up plotted on a Google map. He’s promised to get me on the beta as soon as it opens, in part so that I can beat up the Air Canada section, and I can abandon that Excel spreadsheet that I’m using to track this now. He’s currently using Google AdSense on the site to generate some revenue (or at least, it will when he releases this publicly), but he also plans to place targetted ads based on your frequent flyer content, that is, where you’ve been travelling lately.
  • WeatherBonk is a mashup that I first saw at the first Mashup Camp in February, and I checked out how it has advanced in the last several months. The author spent about four months creating the “Bonk” mashup framework, mostly on top of the Google APIs, and can now create new vertical mashups much more easily, such as GolfBonk and SkiBonk. WeatherBonk shows a map of the San Francisco area with temperature bubbles directly on the map (there’s a lot of variation in the Bay area, and you can really see it here), plus a ton of webcams accessible directly from their location on the map. You can overlay live fog layer data, or see traffic speeds and traffic cams instead. For other geographic areas, you can plot a route on the map and see the expected weather conditions along the route in case you want to adjust your departure date. You can also look at historical temperature data for many other international locations.

WeatherBonk is definitely the most sophisticated, but then, he’s been working on it since before Mashup Camp 1. From a pure consumer “oh my god, I want to use that” standpoint, my nickel goes to MileGuru.

Mashup Camp 2 Day 2: Mashups for prototyping

“We can just hack that together” has been the rallying cry for mashups for a long time already, before the word “mashup” ever hit the scene, and Cameron Jones led us in the last breakout session of the conference to look at how mashups can be used for prototyping applications. He’s doing Ph.D. research on mashups, so was able to give a bit of a theoretical view on horizontal versus vertical prototyping; it’s really interesting to listen to someone who spends many hours each day thinking about this stuff, as opposed to most of us who only think about it occasionally (except here at Mashup Camp). He’s looked at mashups as a general design pattern, including non-web mashups, and we discussed how the current range of freely-available and open source APIs and platforms makes mashups incredibly attractive as a way to build stuff fast.

I’m particularly interested in mashups for prototyping in two enterprise contexts: end-user computing, and actual IT prototyping.

In the first intance, I’m seeing that mashups could become the next generation of end-user computing as long as mashup applications can be assembled with a minimum of programming by a fairly non-technical user within an enterprise. In many back-office departments that I work with, there are a couple of people who create local applications like complex reports in Crystal Reports, databases using Microsoft Access, and a host of other mini apps that aren’t sanctioned or supported by IT. Think of this in the context of the mashup mentality that Joe Ortega is trying to build inside eBay. When you think about it, aren’t DDE/OLE and macros/VBA just the precursors of mashup mentality, although for desktop rather than web applications? If you give the same type of tools to people in an organization, but now web-based, there could be some pretty powerful end-user computing applications created and — because they’re on the web — easily shared.

In the second instance, actual prototyping that will be turned into a “real” industrial-strength application later, mashups could be used to create rapid iterations of a prototype that allow for user evaluation and feedback. The prototypes might not be high fidelity, but a mashup could actually be a functional prototype rather than one of those non-functional mockups that are too often used by IT now to try to elicit user feedback. The danger, of course, is that since the mashup is functional and it’s ready now, the users may want to use it even if IT is planning a fully-architected, hardened version of the application to be rolled out several months hence, and the mashup could become a de facto standard that is difficult to replace later. Depending on your opinion about the current state of IT development, that could be a good or bad thing.

There’s a third use case for mashups as prototypes, and that is for external mashup developers to create new functionality on top of an existing web service or application that later causes the web service/API provider to roll that new functionality into their core product. I haven’t thought too much about that one, but consider that the mashup developers become both market research and unpaid prototype developers in exchange for their free use of the underlying APIs.

Mashup Camp 2 Day 2: Internal mashups

Tom Ortega from eBay led a discussion on internal mashups (mashups within closed corporate walls). Like me, he sees mashups and SOA as two ends of the same spectrum, so there were a lot of things that they’re doing internally that are somewhere in between the hair-on-fire mashups that we’re seeing here at camp, and the takes-forever-to-over-architect SOA implementations that are happening in corporations everywhere today. Tom wasn’t talking about eBay’s APIs for mashups that are also being promoted elsewhere at camp; he’s an internal guy developing stuff for their own internal use, nothing to do with the eBay developer program.

To be truthful, a lot of what Tom is talking about is way more SOA/web services/composite applications than mashups, using for the front end, and Java for the middle and back tiers, where Flex is making SOAP web services calls. I asked Tom why he called these mashups instead of composite applications, and he said that the intention is to create a library of web services and other tools, then unleash them on the organization at large to create/assemble whatever they want with them. Definitely a mashup mentality, if not fully lightweight mashup integration methods, which is a great first step to bringing mashups to the enterprise.

The wiki page isn’t there yet, but will probably be here along with a link to Tom’s slides.

Mashup Camp 2 Day 2: Google Maps and Google Calendar mashup

I used the “law of two feet” (also known as “quietly slipping out the back door when you’re bored”) and am now in a session showing a mashup between Google Maps and Google Calendar. I’m probably the only geek on the face of the earth who hasn’t tried out Google Calendar, and I’d better try it out if I’m going to do something like this for my own uses, such as scheduling my wine-tasting club’s events.

Patrick Chanezon of Google is giving the demo of this mashup that he created, and walking through any parts of the code that people are interested in. He just finished it this morning and it’s a bit rough, but pretty cool. You can paste in the URL of your Google calendar, select the number of months out to look, and generate a map of all the events in the calendar for which geocoding was successful. Although it’s not baked into this mashup, you could do all the other cool things in the Google Maps popups, such as creating tabs that have links to the event URL, microformatted date/time to add to personal calendars, and other information.

He’s editing one of the source files on his Mac right now using vi, which I find hilariously endearing. Reminds me of my TECO days, which are alarming easy to recall with that PDP-11 sitting next door in the Computer History Museum exhibits.

Patrick talks about the mashup on his blog here, and you can try out the mashup here. There’s no link to the session on the Mashup Camp page yet, I’ll update this entry with it later. He’ll also be publishing the code in a couple of weeks, likely linked from his blog or the Mashup Camp wiki page, so check back later if you’re interested.

Mashup Camp 2 Day 2: Email mashups

Ten minutes into the email mashups session, and there’s still an argument going on about whether this is about enterprise or consumer email (the description on the board said enterprise, which is why I’m here). Sigh. Maybe I’ll check the notes later to see if there’s anything interesting about microformats.