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.
  • 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.

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.

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

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.

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.

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…

Webinar on SOA standards and CentraSite

I’m tuned into an ebizQ webinar on SOA standards, News Break: The First Standards-Based SOA Forum to Manage and Govern Your SOA. This link should be good for replay within a couple of hours after the webinar, or within a couple of days if you want the full version with the live Q&A. By the way, whatever happened to the link that would add the webinar directly to my Outlook calendar? I miss that! I’m simultaneously blogging (obviously), packing for my trip to Mashup Camp and listening to the fire alarms being tested in my building, so this may not be as detailed as usual.

The presenters are Keith Swenson of Fujitsu (who I’ve met a couple of times), Daryl Plummer of Gartner (who I heard speak at their BPM Summit earlier this year), Paul Butterworth of AmberPoint, Peter Kuerpick of Software AG and Jean Francois Abramatic of ILOG. The blurb for the webinar promised:

[A]n exciting multi-vendor announcement on how the leading SOA vendors are partnering to achieve a common SOA infrastructure. This initiative will leverage an open, standards based SOA registry and repository to manage and govern the complete SOA landscape. It will allow you to analyze interdependencies in your SOA including services, processes, applications and other SOA components.

In other words, now that most vendors have figured out that most customers are not going to be using a single-vendor SOA infrastructure, they’re getting together to build some standards in the area of registry and repository.

Plummer started with a message about the importance of SOA governance, and the recent focus on this by many organizations. He stepped through Gartner’s models of an SOA framework and service registry, and touched on policy management and a few other governance-related issues. He laid a lot of the groundwork for the rest of the webinar, since SOA governance is a key driver for standards.

Up next were Kuerpick and Swenson, the two webinar sponsors, to talk about the CentraSite Community, with is both a standards-based SOA forum and a product that provides an open registry and repository, impact analysis tools, and governance tools that store, tracks and analyze processes and their underlying services and interdependencies. They launched a canned demo of CentraSite that is also available on the site, which happens at just below light-speed, so I’ll need another viewing to catch all the details, but it appears to be all browser-based and has some interesting functionality especially around interdependencies of services. CentraSite is already supported by several vendors, and any standards-based vendor should be able to publish directly to it but would need to get a bit more involved to be a full player. It will be interesting to see how this catches on over the coming months, and if it manages to sort out some of the SOA confusion.

One really interesting point is that both XPDL and BPEL are mentioned explicitly, and BPMN was also mentioned although it’s not on the slides and isn’t used in representing business processes within CentraSite as far as I could see in the demo. CentraSite is not a standards organizations, and much of the underlying standards work will be done by the existing standards bodies such as OASIS.

There is a community edition that is free of charge, and you can register to download a product evaluation.

More to come on this in the future, I’m sure.

SOA anti-patterns

This is brilliant: Steve Jones on SOA anti-patterns. I was going to just do my usual del.icio.us link/auto-post, but it’s inspired me to an entire post.

A few months back, I wrote an article for AIIM E-DOC Magazine on BPM Implementation Pitfalls that described my three favourite ways to screw up a BPM project: over-customization, allowing the business to design the solution, and applying the wrong BPM tool. Jones’ article on SOA anti-patterns is more formal treatment along the same lines that addresses the following burning issue:

A lot of emphasis has been placed on implementing Service Oriented Software according to best practices and principles. But how about the worst practices?

He rigourously lays out several SOA anti-patterns that had me laughing out loud, including “The Shiny Nickel” (used to incorporate the latest technology buzz within your SOA for the sake of telling people about it) and “IT2B” (creating “business” services based on the belief that IT understands the business results in services that meet neither IT nor business goals).