February 10, 2008   Sign In |  About ebizQ |  Contact Us |  Join ebizQ Gold Club
Sandy Kemsley
Column 2
The archive of Sandy Kemsley's blog on business process management, enterprise architecture, business intelligence and technology in business.

Main

June 19, 2007
Mashup goes un-Camp

This entry cross-posted to my new blog location.

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

Posted by Sandy Kemsley at 10:54 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

February 15, 2007
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.

Posted by Sandy Kemsley at 12:01 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

January 12, 2007
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.

Posted by Sandy Kemsley at 08:24 AM in mashupcamp | Permalink | Comments (4) | TrackBacks (0) | Add to del.icio.us

November 17, 2006
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.

Posted by Sandy Kemsley at 03:11 PM in mashupcamp | Permalink | Comments (2) | TrackBacks (0) | Add to del.icio.us

July 13, 2006
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.

Posted by Sandy Kemsley at 07:44 PM in mashupcamp | Permalink | Comments (3) | TrackBacks (0) | Add to del.icio.us


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.

Posted by Sandy Kemsley at 07:26 PM in mashupcamp | Permalink | Comments (2) | TrackBacks (0) | Add to del.icio.us


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.

Posted by Sandy Kemsley at 06:29 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


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.

Posted by Sandy Kemsley at 02:46 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


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.

Posted by Sandy Kemsley at 01:51 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


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.

Posted by Sandy Kemsley at 01:11 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

July 12, 2006
Mashup Camp 2 Day 1: Wrap party

End of the first day of Mashup Camp 2, and boy, is my brain tired! It was a great day of new ideas, debating opinions, seeing new cool stuff, and meeting new and old friends. After some wrapup comments, we moved on to the after-party, and also had a chance to see the exhibits at the Computer History Museum (which I skipped because I had seen them in February, and because the conversations upstairs were too interesting to leave).

I ran into Stephen O'Grady of Redmonk, with whom I've exchanged email and blog comments but didn't realize that he was here until he introduced himself when he stood up to make a comment in the main session. I guess that I wasn't reading his blog at the time of Mashup Camp 1 (which he also attended, but at which I didn't meet him), and I'm so behind in my blog reading now that I didn't see any of his current Mashup Camp posts. I really need to review that Who's Coming list more closely.

I also met Cameron Jones, a Ph.D. student at the University of Illinois at Urbana-Champaign who is studying web mashups as his research. He contacted me and other Mashup Camp attendees a few weeks ago by email to get connected with the idea of interviewing members of the mash-up community for his research. Who knew that you could do a Ph.D. thesis on mashups?

I had a chance to chat with lots of other people who I met at Mashup Camp 1, although my memory for names is shockingly bad so I had to do a lot of discrete reading of name tags. There's a much greater sense of community now than at the first camp, and a continued sense of excitement. Also, as I noticed in the session on "mashdowns", some shifting of focus to business/enterprise mashups, which is really what I'm here for.

Posted by Sandy Kemsley at 11:59 PM in mashupcamp | Permalink | Comments (1) | TrackBacks (0) | Add to del.icio.us


Mashup Camp 2 Day 1: Client-side customization

Like the profile data aggregation session, I didn't know what I'd get out of this session on client-side customization, but found it interesting nonetheless.

We had a discussion on the different types of customization:

  • Change the style sheet of a page/site to provide a specific theme or look and feel.
  • Add/remove/rearrange existing content, e.g., via Greasemonkey or Platypus.
  • Bookmarklets to add other functionality through browser bookmarks, like my acronym bookmarklet.
  • Cookies.
  • Create custom aggregation of data from multiple sources, e.g. NetVibes and other portals; most mashups fall into this category.
  • Create new data or services.

This led to a discussion of the spectrum of tailoring activities that could be done: customizing (transformation of existing data), integrating (aggregating data from multiple sources), and developing code (creating new data/services). We also touched on the difficulties caused by tailoring, such as cross-platform incompatibilities, but also the end-user support problem when all end users can potentially have environments that look and act differently from each other and from the people who are supposed to be supporting them.

A key issue raised from this is what the current generation of customizable software (e.g., Firefox) does with respect to raising the expectations of what should be customizable and how difficult should it be. This general expectation-raising of Web 2.0 and related technologies has a big impact on enterprises as their internal users and external customers start to expect that the organization's software will be just as flexible in terms of customizing the user experience.

We finished up by talking about how customizations are shared between people, and potentially become common usage within a larger group. This is less about client-side customization than user experience customization, and the ability to share an experience that you create: the web equivalent of redecorating your apartment, then inviting your friends over to check it out. Like (personal) blogging and sharing playlists on iTunes, it's a way to put a bit of yourself out there for your friends -- or complete strangers -- to experience.

Posted by Sandy Kemsley at 11:58 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


Mashup Camp 2 Day 1: Aggregating profile data

Sarah Harmer's done, and I'm on to President Alien. It really is getting late, I swear that this is my last post for the day. Or maybe my second last.

Following the speed geeking, we had the breakout third session, and I attended the one on aggregating profile data. Although this was hijacked slightly at the end by the OpenID attendees, it was an interesting discussion on a number of profile/identity-related subjects:

  • Making yourself available and findable. How do you create an identity that others can easily find on any given social networking system?
  • Finding others. How do you find others on a social networking system? (through a directly tranmitted URL or reference, by email, by common screen name, etc.). How can you create a common identity view of someone that you know? Is the onus on the person being found or the person doing the finding to create that view? Being able to track changes on another person's profile. Being alerted about events in their life, e.g., birthdays.
  • Using different profiles for different purposes, namely the compartmentalization of different parts of life. Choosing what to share (photos, blogs, contact info) with which people (family, friends, work colleagues). Intentionally creating non-correlatable profiles, e.g., Superman/Clark Kent, work/play. The different levels of intimacy, e.g., comparing the Flickr friends and family categories with the concept of an IM buddy, and what information might be shared with acquaintances of different levels of closeness.
  • Exchanging profile data between social networking systems. Open standards for profile data exchange.The concept of a People Service for social networking group/profile management, which also came up in the People Aggregator mashup during speed geeking.

I attended this out of general interest; although I had hopes that it might be useful in enteprise profile management, I'm not so sure but still found it interesting.

Posted by Sandy Kemsley at 11:57 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


Mashup Camp 2 Day 1: Speed geeking

We started the afternoon with speed geeking, where each mashup developer set up on a table, and the rest of us circulated around spending 5 minutes at each table for a quick demo. There were 21 tables but only 10 timeslots, which made for a quick triage before I started out. We're having another speed geeking session tomorrow so I'll have time to catch any that I missed before I hand out my wooden nickel -- the token that each of us were given at registration to use for voting for our favourite mashup. First prize is $5000 of geek-ware of some sort, so this is a pretty big deal.

Tons of ideas here: wedding registry finder, cell phone as shopping cart, news aggregator, train schedules to SMS, backend storage, music videos, Bungee Labs mega-mashup, restaurant reviews, auto-tagging Flickr photos by event, Frappr, pricing, travel data....

Because I was moving tables every five minutes, all my notes about the speed geeking are on paper but I'll post more details after tomorrow's speed geeking session. My faves so far:

  • ChunkLove, a gift registry finder
  • TrainCheck, which sends the next three BART times at any stop to your mobile via SMS or email
  • PhoTiger, which matches up your Flickr photos with your Eventful events to help auto-tag (and eventually auto-name and geocode) the photos based on the event data
  • MileGuru, which aggregates all your frequent flyer and frequent stayer (hotel) points and other data into a single place

Posted by Sandy Kemsley at 11:48 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


Mashup Camp 2 Day 1: AJAX design patterns

Veneer was great, but short, so I'm on to Sarah Harmer's You Were Here. I'm starting to slow down -- it's was a long day of travel yesterday and a long day of idea generation today -- so may not finish up all my posts today.

The next session for me was AJAX design patterns, which was good although focussed a bit too much on security issues for what I was looking for. Some great stuff on UI and performance issues. The wiki page has all the technical details, includes references to further JSON reading, so I'll just touch on some of the things that stuck in my mind during the session about AJAX UI design:

  • Action of the back button: was the last user activity a navigation or an action? Can it be "undone" by navigating back, or is it appropriate to return to a higher level/home page?
  • Action of the refresh button.
  • URL and permalinks: appended # arguments that don't hit the server but are pure client processes to make the AJAX calls. Implications for search engines (agents can't index pages directly and would require an alternative representation to be referenced by robots.txt, but doesn't handle issues of relevancy through links), emailing permalink references.
  • Tradeoffs between user experience and technical issues.
  • Some actions need to be synchronous (e.g., "buy it" and other transactions), requires forcing synchronicity in AJAX or breaking out of AJAX for that part of the transaction.

Posted by Sandy Kemsley at 11:32 PM in SoftwareDesignmashupcamp | Permalink | Comments (1) | TrackBacks (0) | Add to del.icio.us


Mashup Camp 2 Day 1: Mashdowns

As I mentioned in my previous post, I had to do all my blogging today offline because of the spotty wifi in the Computer History Museum, and I have to say that Windows Notepad makes a pretty sucky offline blogging tool. However, I'm relaxing back in my room listening to the newly-downloaded and extremely enjoyable Veneer (just available on iTunes, after I couldn't buy the CD after a month of trying on Amazon.ca), cleaning up the blog posts and paper notes from today.

Following the kickoff session, we headed off to breakout sessions proposed by anyone and everyone during the kickoff. Each session was supposed to update the wiki with notes from anyone at the session, and you can find the grid of sessions here with links to the wiki pages with the notes. I'll link to the notes for each of the sessions that I attended.

The first one that I headed to was "Mashdowns: mashing for competitive advantage in rich client/enterprise applications", led by Mike Fisher and Ben Widhelm from ElephantDrive. They see this as a second generation of mashups: more tightly integrated into desktop or enterprise applications, and more focussed on "doing" rather than "consuming" -- which seems pretty much aligned with my ideas about BPM and mashups. I hate their term "mashdown", however, preferring the more-commonly used "enterprise mashup". Really, the distinction between first and second generation mashups is primarily between consumer mashups and business/enterprise mashups.

We gathered a number of ideas about the difference between first and second generation mashups:

  • First generation mashups are about the "what", and are primarily about aggregating/joining/federating data. They're generally seen as useful by users (consumers), and because they're focussed on the consumer market, they tend to be public, and developed rapidly and a bit loosely. The revenue model is usually based on ad revenues, since few end-users pay for the mashups.
  • Second generation mashups are about the "how", and are about aggregating external and internal (enterprise) services. They're useful to business for all the usual business ROI reasons: improving process efficiency, reducing IT costs and increasing business agility; like any other plan that reduces technology capital investment, they also tend to level the playing field for smaller companies since they can use the same technology as the big guys but not have to build it or buy it outright. Unlike the consumer mashups, however, they have to be industrial-strength, private and secure. Equally importantly, they have to be supported by some sort of service level agreement backed by appropriate high availability and disaster recovery scenarios, which most of the current API vendors are not willing to provide.

The key difference for me is that second generation mashups are about integrating into the business processes. This breakout was a significant conversation since it's the first one that I've heard at either Mashup Camp where business processes were a major focus. I'm feeling very positive about BPM and Web 2.0 today.

We had a conversation about one of the main problems of enterprise mashups, which is their current lack of acceptance by IT. Part of this is IT attitudes: not trusting the external APIs, either in terms of data integrity or in terms of reliability, plus the NIH problem. An equally important part is the relatively lack of readiness of the APIs themselves in terms of SLAs, authentication and other indutrial-grade issues that would have external APIs be on equal footing alongside internal ones. Even with internal-only mashups, that use lighter-weight mashup techniques on internal APIs, there's resistance to a new way of doing things. That really comes back to the question of the the difference between a mashup and any other web services orchestration, especially as lightweight (non-WS-*) integration methods are used for faster application assembly internally.

This was a great session for focussing my thoughts on how to talk to my enterprise customers about mashups.

Michael Scherotter was also there from Mindjet, distributing copies of their application on flashdrives. Haven't had a chance to install and try it out yet.

Posted by Sandy Kemsley at 11:17 PM in BPMSOASaaSmashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


Mashup Camp 2 kickoff

David Berlind started Mashup Camp 2 a bit after 9am (which is great for us east coasters, but probably early for the locals) with the logistics and agenda framework for the day. As with Mashup Camp 1, and any other unconference, there is no real agenda, just time slots and rooms where anyone who has a topic of interest can faciliate a session. Kudos to David for getting this off the ground successfully -- again! -- and attracting almost 400 people here for the two days.

This was followed by all of the API/technology providers giving their 30-second spiel on what they do: EVDB, Yahoo Local (maps), AOL (mashup hosting, OpenAIM API, MapQuest, MusicNow), Microsoft Live, Commendo, Good Storm, Webalo, HotOrNot, Intel, Amazon, Plaxo, StrikeIron, OpenID, IBM, eBay (he introduced his company as "a small internet auction company"), Zazzle, Mindjet, O'Reilly, 411sync, Mobido, and at least one other that I missed. I don't recall anyone from Google up there, but they have a strong enough presence here that that's probably not required.

After that, the interesting part started: anyone interested in leading a session or making a presentation wrote their idea on a page, announced it into the microphone and stuck it on the schedule, with developers having first dibs on the time and space. There are a ton of interesting sessions proposed for the next two days: voting (as in political), data mining, PHP, user retention, music/movies, API versioning/backwards compatibility, using mashups for prototyping, mashups for non-geeks/small businesses, Google Checkout/AdWords mashup, client-side customization, incorporating mashups into desktop/enterprise environments ("mashdowns"), Ruby on Rails hands-on mashup development, wikis as a mashup platform (specifically twiki), social networking, API pricing models and licensing, content taxonomies, microformats and standardization for APIs, monetization of mashups, access control/authentication for feeds, security and identity, API developer programs, email mashups, aggregating profile data from different web sources, multimedia mashups, business-oriented mashups, mapping mashups (from the guy who developed Frappr), user-centricity, Google Gadgets, mobile mashups, open source social entrepreneurship and more.

I have no idea how I'm going to see all the things that I want to see. I do know that the wifi in the museum is spotty, and I'm having a hard time staying connected, so all this blogging will pile up for the end of the day.

Posted by Sandy Kemsley at 10:39 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


Mashup Camp 2 photos

Photos from both Mashup Camps are tagged on Flickr as mashupcamp. There's already a number of new ones in there from the past two days of Mashup U (which I missed) and the party tonight. Check back for lots more over the next couple of days.

Update: Some photos also tagged as mashupcamp2.

Posted by Sandy Kemsley at 02:39 AM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us


Back at Mashup Camp

Or is that Mashup Camp 2.0? I'm back at the delightfully quirky Hotel Avante again, meeting up with some people who I met back at the original Mashup Camp in February, and starting to meet a bunch of new people. We'll all be off to the Computer History Museum in the morning for the official start; tonight was a party by the pool (unfortunately I arrived a bit late and missed most of the action) and some great demos to a lot of people in a tiny room.

I had the Air Canada experience from hell getting here, which probably deserves a post of its own about total lack of good customer service as well as a web user interface that doesn't bother to tell you when you just paid $855 for a ticket but don't actually have a reserved seat on the plane...

Posted by Sandy Kemsley at 02:09 AM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

June 27, 2006
Plans for Mashup Camp 2.0

Okay, I'm joking about the 2.0 nonsense, but I am headed for the second edition of Mashup Camp in two weeks to continue my investigations into using mashup methods and technologies to make enterprise integration more agile and less weighty. If you're going to be there, look me up.

Posted by Sandy Kemsley at 01:36 AM in mashupcamp | Permalink | Comments (2) | TrackBacks (0) | Add to del.icio.us

March 08, 2006
Eventful mashup hits Boing Boing

Before I went to Mashup Camp, I exchanged emails with Chris Radcliff of EVDB/Eventful, and it was great to meet him face-to-face at camp. EVDB makes an API for managing event, venue, and calendar data, and Eventful uses that API in an events/calendaring/social networking mashup of events submitted directly to Eventful plus those grabbed from other event sites.

Today, I see that Eventful was covered on Boing Boing, which should bring it a huge amount of well-deserved attention. Congrats!

Posted by Sandy Kemsley at 01:52 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

February 27, 2006
ScrAPI series

The first of a series of posts on scrAPIs (which I commented on following Mashup Camp last week) by Thor Muller of Rubyred Labs. I'm looking forward to the rest of the series this week.

Posted by Sandy Kemsley at 11:31 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

February 26, 2006
Computer History Museum

My wrapup of Mashup Camp wouldn't be complete without mentioning the fabulous Computer History Museum in Mountain View where the event was held. Great venue, and the part of their collection that we were able to view during the party on Monday night was very nostalgic (although I can't quite say that I miss RSX11M). Definitely worth a visit if you're in the Bay area.

On my return to Toronto, I had lunch with a friend who works for Alias, the day after she emailed me to say that their corporate email addresses have changed from @alias.com to @autodesk.com following the recent acquisition. The end of an era for a long-running innovative Canadian software company. There since the late 1980's, she saw many transitions, including the purchase of Alias by Silicon Graphics (and its subsequent sale). SGI was, at the time, housed in the building that now holds the Computer History Museum, and she remembers visiting there when it was SGI headquarters. An interesting footnote after spending the first part of the week there.

Posted by Sandy Kemsley at 03:48 PM in mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

February 24, 2006
Picturing yourself at Mashup Camp

I'm still wrapping my brain around some of the ideas that started in my head at Mashup Camp, but I've been having fun browsing through all of the photo-detritus of the event. I was surprised that I made the first photo in Valleywag's coverage of the event, and Doc Searls caught me at the XDI session on Monday (bonus tip: wear purple at popular events so that you can find yourself in the photos). There's over 900 Flickr photos tagged mashupcamp, and likely many more still languishing out there on memory cards.

Posted by Sandy Kemsley at 07:05 PM in mashupcamp | Permalink | TrackBacks (1) | Add to del.icio.us

February 23, 2006
Best quote from Mashup Camp
That's the thing about mashups, almost all of them are illegal

I heard that (and unfortunately am unable to credit the source) in the "scrAPI" session at Mashup Camp, in which we discussed the delicate nature of using a site that doesn't have APIs as part of a mashup. Adrian Holovaty of ChicagoCrime.org (my favourite mashup at camp) was leading part of the session, demonstrating what he had done with Chicago police crime data (the police, not having been informed in advance, called him for a little chat the day his site went live), Google maps, Yahoo! maps (used for geocoding after he was banned from the Google server for violating the terms of service) and the Chicago Journal.

Listening to Adrian and others talk about the ways to use third-party sites without their knowledge or permission really made me realize that most mashup developers are still like a bunch of kids playing in a sandbox, not realizing that they might be about to set their own shirts on fire. That's not a bad thing, just a comment on the maturity of mashups in general.

The scrAPI conversation -- a word, by the way, that's a mashup between screen scraping and API -- is something very near and dear to my heart, although in another incarnation: screen scraping from third-party (or even internal) applications inside the enterprise in order to create the type of application integration that I've been involved in for many years. In both cases, you're dealing with a third party who probably doesn't know that you exist, and doesn't care to provide an API for whatever reason. In both cases, that third party may change the screens on their whim without telling you in advance. The only advantage of doing this inside the enterprise is that the third party ususally doesn't know what you're doing, so if you are violating your terms of service, it's your own dirty little secret. Of course, the disadvantage of doing this inside the enterprise is that you're dealing with CICS screens or something equally unattractive, but the principles are the same: from a landing page, invoke a query or pass a command; navigate to subsequent pages as required; and extract data from the resultant pages.

There's some interesting ways to make all of this happen in mashups, such as using LiveHTTPHeaders to watch the traffic on the site that you want to scrape, and faking out forms by passing parameters that are not in their usual selection lists (Adrian did this with ChicagoCrime.org to pass a much larger radius to the crime stats site that its form drop-down allowed in order to pull back the entire geographic area in one shot). Like many enterprise scraping applications, site scraping applications often cache some of the data in a local database for easier access or further enrichment, aggregation, analysis or joining with other data.

In both web and enterprise cases, there's a better solution: build a layer around the non-API-enabled site/application, and provide an API to allow multiple applications to access the underlying application's data without each of them having to do site/screen scraping. Inside the enterprise, this is done by wrapping web services around legacy systems, although much of this is not happening as fast as it should be. In the mashup world, Thor Muller (of Ruby Red Labs) talked about the equivalent notion of scraping a site and providing a set of methods for other developers to use, such as Ontok's Wikipedia API.

We talked about the legality of site scraping, namely that there are no explicit rights to use the data, and the definition of fair use may or may not apply; this is what prompted the comment with which I opened this post.

In the discussion of strategic issues around site scraping, I certainly agree that site scraping indicates a demand for an API, but I'm not sure that I completely agree with the comment that site scraping forces service and data providers to build/open APIs: sure, some of them are likely just unaware that their data has any potential value to others, but there's going to be many more who either will be horrified that their data can be reused on another site without attribution, or just don't get that this is a new and important way to do business.

In my opinion, we're going to have to migrate towards a model of compensating the data/service provider for access to their content, whether it's done through site scraping or an API, in order to gain some degree of control (or at least advance notice) of changes to the site that would break the callling/scraping applications. That compensation doesn't necessarily have to mean money changing hands, but ultimately everyone is driven by what's in it for them, and needs to see some form of reward.

Update: Changed "scrapePI" to "scrAPI" (thanks, Thor).

Posted by Sandy Kemsley at 07:29 PM in SoftwareDesignmashupcamp | Permalink | Comments (6) | TrackBacks (3) | Add to del.icio.us

February 22, 2006
Mashing up a new world (dis)order

Now that I've been disconnected from the fire hose of information that was Mashup Camp, I've had a bit of time to reflect on what I saw there.

Without doubt, this is the future of application integration both on the public internet and inside the enterprise. But -- and this is a big but -- it's still very embryonic, and I can't imagine seriously suggesting much of this to any CIO that I know at this point, since they all work for large and fairly conservative organizations. However, I will be whispering it in their ears (not literally) over the coming months to help prepare them for the new world (dis)order.

From an enterprise application integration perspective, there's two major lessons to be learned from Mashup Camp.

First, there's a lot of data sources and services out there that could be effectively combined with enterprise data for consumption both inside and outside the firewall. I saw APIs that wrap various data sources (including very business-focused ones such as Dun + Bradstreet), VOIP, MAPI and CRM as well as the better-known Google, Yahoo! and eBay APIs. The big challenge here is the NIH syndrome: corporate IT departments are notorious for rejecting services and especially data that they don't own and didn't create. Get over it, guys. There’s a much bigger world of data and services than you can ever build yourself, and you can do a much better job of building the systems that are actually a competitive differentiator for you rather than wasting your time building your own mapping system so that you can show your customers where your branches are located. Put those suckers on Google maps, pronto. This is no different than 1000's of other arguments that have occurred on this same subject over the years, such as "don’t build your own workflow system" (my personal fave), and is no different than using a web service from a trusted service provider. Okay, maybe it's a bit different than dealing with a trusted service provider, but I'll get to the details of that in a later post on contracts and SLAs in the world of mashups.

Second, enterprise IT departments should be looking at the mechanics of how this integration takes place. Mashup developers are not spending millions of dollars and multiple years integrating services and data. Of course, they’re a bit too cavalier for enterprise development, typically eschewing such niceties as ensuring the legality of using the data sources and enterprise-strength testing, but there's techniques to be learned that can greatly speed application integration within an organization. To be fair, many IT departments need to put themselves in the position of both the API providers and the developers that I met at MashupCamp, since they need to both wrap some of their own ugly old systems in some nicer interfaces and consume the resulting APIs in their own internal corporate mashups. I've been pushing for a few years for my customers to start wrapping their legacy systems in web services APIs for easier consumption, which few have adopted beyond some rudimentary functionality, but consider that some of the mashup developers are providing a PHP interface that wraps around a web service so that you can develop using something even easier: application integration for the people, instead of just for the wizards of IT. IT development has become grossly overcomplicated, and it’s time to shed a few pounds and find some simpler and faster ways of doing things.

Posted by Sandy Kemsley at 11:04 PM in mashupcamp | Permalink | Comments (2) | TrackBacks (1) | Add to del.icio.us

February 21, 2006
Mashup Camp peek

It's the second day of Mashup Camp, and I've had zero time to blog about what's going on here -- much like everyone else here, so it seems. I'll be posting my thoughts later this week, but in the meantime you can check out the other blog posts about Mashup Camp and look at the pictures that people are taking here (over 600 at this time).

Posted by Sandy Kemsley at 04:51 PM in mashupcamp | Permalink | Comments (2) | TrackBacks (0) | Add to del.icio.us

February 12, 2006
Get on the map

Attention, all you Mashup Camp attendees: go to Attendr to see a cool mashup example from Jeff Marshall that allows you to link to other attendees you already know or would like to meet. If you're going to be at MashupCamp next week, be sure to look me up and say hi.

As for the rest of you, head on over and add yourself to my Frappr map. You can see where other readers of Column 2 are located, and I've added the capability to use coloured pins to denote whether you're a customer, product vendor, services vendor or "other" as it relates to BPM and integration technologies.

Posted by Sandy Kemsley at 10:19 PM in Web2.0mashupcamp | Permalink | TrackBacks (0) | Add to del.icio.us

January 31, 2006
Mashups and the corporate SOA

I listened to a podcast last week of David Linthicum interviewing Dion Hinchcliffe that really helped to coalesce my thoughts about mashups, Web 2.0, SOA, composite applications and the future of integration. I was walking along a street in downtown Toronto, listening to it on my iPod, and making enough facial expressions, hand gestures and remarks aloud that I was likely written off as one of the usual crazies: it's very exciting when someone with very similar ideas to your own states them much more clearly than you could have said it yourself.

A couple of weeks ago, I posted about mashups and the implications for enterprise integration, which of the integration vendors is likely to jump on this bandwagon early, and noted that I'll be at Mashup Camp later this month because I really want to explore the convergence of mashups and enterprise integration. Unbeknownst to me, Dion Hinchcliffe had published an article in the SOA Web Services journal in late December entitled Web 2.0: The Global SOA, which was the focus of the podcast, and blogged about the 100's of services available on the "giant service ecosystem" that is the web:

An important reason why the Web is now the world's biggest and most important computing platform is that people providing software over the Internet are starting to understand the law of unintended uses. Great web sites no longer limit themselves to just the user interface they provide. They also open up their functionality and data to anyone who wants to use their services as their own. This allows people to reuse, and re-reuse a thousand times over, another service's functionality in their own software for whatever reasons they want, in ways that couldn't be predicted. The future of software is going to be combining the services in the global service landscape into new, innovative applications. Writing software from scratch will continue to go away because it's just too easy to wire things together now.

The information on this is now starting to explode: David Berlind (organizer of Mashup Camp) discusses the bazaar-like quality of the mashup ecosystem, Stephen O'Grady pushes the concept of SOA to include mashups, and even Baseline Magazine is talking about how mashups can free you from the tyranny of software vendors with a discussion about how some of the services feeding mashups could be used in an enterprise integration context.

All of this has huge implications for business processes, and the type of BPM that currently resides completely inside an organization. Most BPM vendors have enabled their products to be consumers of web services in order to more easily play an orchestration role, and some customers are even starting to take advantage of this by invoking web services that integrate other internal systems as steps in a business process (although a lot are still, unfortunately, stuck in earlier, more primitive generations of integration techniques). Imagine the next step: as corporate IT departments get over their "not invented here" fears, the BPM tools allow them to integrate not just internal web services, but external services that are part of the Web 2.0 mashup ecosystem. Use a Salesforce.com service to do a customer credit check as part of processing their insurance application. Integrate Google Maps or Yahoo maps to determine driving directions from your service dispatch location to your customer's location in order to create service call sheets. It's like software-as-a-service, but truly on a per-service rather than per-application basis, allowing you to pick and choose what functions/services that you want to invoke from any particular step in your business process.

Dion Hinchcliffe thinks that 80% of enterprise applications could be provided by external services, which is a great equalizer for smaller businesses that don't have huge IT budgets, and could almost completely disconnect the issue of business agility from the size of your development team. I think that it's time for some hard introspection about what business that you're really in: if your organization is in the business of selling financial services, what are you doing writing software from scratch when you could be wiring it together using BPM and the global SOA that's out there?

Update: David swamped his podcast provider and ended up moving the podcast here. Reference also updated above.

Posted by Sandy Kemsley at 03:39 PM in BPMSOAmashupcamp | Permalink | Comments (1) | TrackBacks (8) | Add to del.icio.us

January 20, 2006
We need a BPM camp

I received yet another email about the upcoming Gartner BPM Summit, and I continue to be horrified by the price of conferences: U$1,895 for 3 days?! Or how about the AIIM records management conference in Toronto next week: C$2,899 for 3 days? By the time you add in travel and living, it's no mean chunk of change when you're an independent: I don't have the luxury of a big company picking up my tab. Even those of you working for larger companies know that it's not easy to find funding for attending conferences, even if you believe that they'll be of value.

I know that analysts are in the business of making money from knowledge (so am I), but knowledge is becoming a commodity these days, and a lot of people won't (or can't) shell out that much cash just to sit in a room for three days and hear someone talk when the same information is available (albeit in a less structured manner) in a variety of other forms at a much lower cost: blogs, podcasts, vendor seminars, webinars, analyst reports and other sources that don't believe that it's in their best interests to charge everyone an arm and a leg just to have a conversation.

I only attend these big-money conferences once every few years; in the interim, I do just fine with my RSS feeds, daily email newsletters, webinars, vendor seminars, and other sources of free or reasonably-priced information. For example, in the past year, I've attended two major conferences: BPM 2005 in London, where I paid full price as an attendee, and FileNet's user conference in Las Vegas, where I was a speaker so had my conference fee waived (check out the series of entries in my November archive, where I was blogging live from the conference sessions by emailing from my Blackberry). I also attended some local seminars/mini-conferences at little or no cost, such as e-Content Institute, plus some vendor seminars; in fact, I spent yesterday morning at a LabOne seminar hearing about how their next generation of products is going to better integrate into my insurance clients' systems.

I attended a ton of webinars last year, most from ebizQ and BPMinstitute.org, but also from vendors such as Global 360 and Proforma (search my archives for "webinar" to see my comments on the webinars). I have a list of past webinars that I want to watch but haven't found time yet: a wealth of information delivered to my desk, for free, with a relatively modest amount of vendor promotional material wrapped around it.

There is something to be said about a conference atmosphere, however. As much as I dislike most professional networking (I'm a closet introvert), conferences provide a great opportunity to meet people with the same interests: for me, that includes potential clients, but also vendors, potential partners, industry analysts and a variety of other types. Most conferences also include some sort of vendor showcase where I can have a peek at the latest and greatest technology.

The dilemma is this, then: given that much of the "information" (content) of the big conferences is available in the public domain or through lower-cost alternatives, how do we share that information in a conference-like networking atmosphere?

The answer may lie in the new generation of "un-conferences" or "camps". These still exist mostly as technical conferences, but with the focus on collaboration rather than presentations (i.e., have a conversation guided by an actual practioner rather than death-by-Powerpoint from a hired speaker), limited enrolment, and free (or nearly so) fees for attending, this movement has the potential to expand into other traditional conference areas. One popular technical camp is BarCamp, including the recent TorCamp. David Crow, the prime organizer of TorCamp (and my neighbour), just posted about the camp format for un-conferences, and links to Chris Heuer with more about these sort of amateur conferences. A camp with a specific focus on integration is Mashup Camp next month in San Jose, which I'll be attending because I want to explore how to use mashup concepts in the context of enterprise application integration: this is the part of the future of orchestration. And the expected "conference fee"? $0.

Camps are still, for the most part, for techno-geeks (I admit it, I am a geek). But how long before this "amateur" format hits the mainstream? How long before Gartner's BPM summit is competing with BPMcamp?

Posted by Sandy Kemsley at 07:03 AM in BPMmashupcamp | Permalink | Comments (4) | Add to del.icio.us