developerWorks Interview: IBM Business Mashup Challenge Winners

by Alex KhizhniakJuly 27, 2007
In a recent podcast, four experts talk about their winning mashups, the tools used, and the mashup ecosystem.

The mashup challenge podcast

Scott Laningham

This is a transcript of a developerWorks interview held by Scott Laningham. During the interview, four participants talked about their mashups that won the IBM Business Mashup Challenge, as well as the tooling used. The podcast was originally published on Scott’s blog.

Scott Laningham, host of developerWorks podcasts, was previously an editor of developerWorks newsletters. Prior to IBM, he was an award-winning reporter and director for news programming featured on Public Radio International, a freelance writer for the American Communications Foundation and CBS Radio, and a songwriter/musician.

Mashup Camp 4 was held at the Computer History Museum on July 16–17 in Mountain View, California. IBM sponsored a business mashup challenge, where attendees were invited to leverage and extend a hosted mashup assembly environment to create exciting and unique situational applications. Judges included a mixture of venture capitalists and analyst attendees, and prizes were awarded.

This interview features the four winners: Mark Madsen, President at Third Nature, Yuval Tarsi, Cofounder and CTO at WorkLight, Kenny Spade, Events Coordinator at UPE and Microsoft Student Partner, and Renat Khasanshyn, the founder of Apatar and CEO at Altoros. The guests talk about their creations and branch out to chat about the mashup space in general.

 

A transcript of the podcast

developerWorks: You’re listening to developerWorks interviews, where we feature conversations with technical luminaries and thought leaders from a variety of disciplines on topics of interest to technology professionals. I’m your host, Scott Laningham. I’m joined today by four developers who are winners of the recent QEDWiki Mashup Contest. QEDWiki is a mashup builder or as described on the IBM alphaWorks website, an environment that extends current wiki technology to enable rapid deployment, content aggregation, structured data, and powerful extensibility. And for those that don’t know yet, a mashup is an application, or a website, or a portion of a website that pulls together content from more than one source to create something new, some kind of an integrated experience. And our guests did that very thing for this contest. Mark Madsen is in southern Oregon. Mark, thank you for joining.

Mark: Good morning.

developerWorks: Yuval Tarsi joins us from Israel. Hi, Yuval.

Yuval: Hi, Scott.

developerWorks: Kenny Spade is in Chico in northern California. How are you doing, Kenny?

Kenny: I’m doing great. Thanks for having me.

developerWorks: And Renat Khasanshyn joins us from western Massachusetts this morning. Thanks, Renat.

Renat: Hi everyone.

Mark Madsen

developerWorks: Now, why don’t we start with you, Mark, on wondering how you guys came up with the mashup idea for the contest? What was it with your situation?

Mark: Oh, we were just sitting around drinking beer at one of the parties, and actually it was Renat’s idea. So, I’m not sure how Renat gets his ideas, but we started with a basic one there that he generated and kept adding to it.

developerWorks: Talk about it a bit if you would. Tell me what it is.

Mark: The idea for this was to pull a sales prospect list out of Salesforce.com and provide information in that context to help somebody making cold calls to call the first meeting. So, it pulls together information on competitors, news about competitors, and news about the company. And then, to help you get a meeting with the person, provide some situational information on the weather, restaurants, golf courses, and such in the area, so that you can try to get a meeting with the person in-person, as opposed to just on the call. So, you’re getting information to have a discussion with them, to get topics of conversation on that cold call to lead to that meeting.

Renat Khasanshyn

developerWorks: Maybe I should break the order a bit, since Renat was part of this idea and get you Renat to comment as well on this, kind of where the idea came from.

Renat: Well, the idea came from IBM’s criteria to have a mashup to be business-oriented and to add value. And being myself, I worked in sales for a long time, and I kind of know the painful parts of the process. And as a small-business owner, I realized that Salesforce could be a great opportunity for us to take advantage of something where we could use QEDWiki and the rest of the mashup tools, including a product from my firm, Apatar, and make something useful.

So, I just started with the source. We have Salesforce.com, or we have SugarCRM, or we have some kind of commercial source of data. And we went from there. And over the wine at the pool party, this happened on Tuesday, the second day of the Mashup Camp, we figured out that we could come up with something that would improve productivity of a salesperson. So, over the next couple of days, we had to explore this idea to include all of these sources, targets, and different data types, so Google News—and Mark will perhaps talk more about it, but eventually, it was improvisation.

developerWorks: Yes, and Mark, how long did it take to develop the mashup? What was that experience like for you guys?

Mark: I think the total time between Renat and I was about nine hours to source the data and, you know, build the mashup UI.

developerWorks: With other mashup experience you’ve had, is that pretty standard thing? Or was that a real accelerated experience for you?

Mark: Well, compared to what I would have had to do to develop it as a web application, it was a lot faster.

developerWorks: Now, why don’t we move on to you, and maybe you could tell us about the mashup idea you had for the contest.

Yuval Tarsi

Yuval: Well, at WorkLight, the company I work for, we do a lot of work for financial institutes, or for banks, and the mashup that we built was around a banking use case, actually, around a mortgage refinancing reuse case, where a loan officer wants to figure out who of his customers is a good prospect to offer a refinancing deal to. And it does that by combining internal information about the current status of his customers’ mortgages, the current rates that he can offer, and then, some data coming in off the Internet from an interest rate website that provides the competitor’s terms, the terms competitors can offer for the same sort of refinancing deal. And then, it kind of builds this view, where you can see all of the details about the customer’s mortgage, and then all the deals you can get from your competitors sorted by the monthly payment. And that kind of gives you a very quick idea of whether you can be competitive on a refinancing offer for this customer, and whether you should or should not give them a call. So, that’s kind of the story behind the gadget that we built.

developerWorks: Yes, that’s cool. And was the length of time to develop it about the same thing for you? The same experience?

Yuval: I think it was a little bit more involved, because it looks a little bit more like an actual web application. So, it took pretty much a couple of days, something on that order to build, to put together.

developerWorks: Have you done a lot of other mashup building? What’s your history with mashups to date?

Yuval: Yes, we’ve done quite a few. And I think, I guess when you use the native tools that you have to build these mashups, like native web application development tools, it does take several days to do. And with something like QEDWiki, you can probably cut that time down significantly once you have all the data sources set up.

Kenny Spade

developerWorks: Kenny, what about you? Talk a bit if you would about your mashup.

Kenny: I actually had two of them. The first one that I submitted and the first one that I worked on was related to events. I have been planning a series of events for my university to basically get some more students involved in doing some development outside of just coursework. And so, what I’m trying to do is go around and basically attend as many events as possible, find out as much as I can, so that when I bring back information, people ask me questions, I can actually give them a solid answer.

And so in doing this, what I had been doing up until very recently was going to an event that I knew about and then asking everybody, “Do you know about any other events that are coming up?” So, I’m up from Chico, which is about four hours north of San Francisco, and so, a lot of the time I’d be attending events down in Silicon Valley and meeting up with people who are coming from the south. And so they’d tell me, “There’s this great event coming up down in San Diego.” I’m thinking, “Well, I can’t quite make it to San Diego. It’s a little further than I’d like to go.” So what I wanted to do was try and get some more local events to me.

So just recently, I was introduced to Upcoming, which has a great list of events but again, it does some things like you go and search through California for Ajax events. And it’s going to give you all of California where a lot of times maybe an event over in Reno is going to be a lot closer to me. So what I wanted to do is get everything set up visually, so I could just go ahead, ignore everything that’s outside of my region. So what I did with this mashup was I gave you the ability to type in a topic. This topic would search through Upcoming and give you back all of the events related to that and then it would drop all of those events on to a map using Google Maps. And so, I could take a look and just visually go through, zoom into my area, and see what’s nearby, see if there’s anything that I might want to attend.

The other that I had was related to geocaching. My dad’s really into geocaching, and I go out with him every once in a while. So what we wanted to do was to be able to plan a day of geocaching. And so if you’re not familiar with geocaching, basically, it’s kind of a location treasure hunt. You get a GPS latitude and longitude coordinate, and you go out. There’s usually a little box with a log book and occasionally a prize for the first person to find it.

developerWorks: I’ve seen some TV shows like that, but I’ve never actually done it.

Kenny: It’s a lot of fun. So what we would do is we would look at it say, “Well, we’ve got some time, let’s go out Monday.” So I’d take a look, and, up where I’m at, the weather can get pretty intense. So maybe we’re going to go out Monday but if I look, you know, do a search by my location, I added a weather widget on to it, so that when I take a look down there I can see, “Well Monday, it’s going to be 105, I don’t really want to go running around at 105. So, let’s go ahead and take a look maybe up Mount Shasta. That’s not too far from here. And I see that Mount Shasta is going to be like 80. Let’s go to Mount Shasta. It’s not too far, and the weather is better. So let’s go up there.” So, those were the two that I built.

developerWorks: Very cool. Renat, did you have additional mashups, or was it the one that you and Mark collaborated on together?

Renat: I also had one more mashup, which was built on top of IBM QEDWiki using data coming out of Salesforce CRM, specifically the name of the prospect, the name of the customer, their oral history, and their phone numbers, and I also used StrikeIron and SMS Widget. And the objective was to let a person using Salesforce.com send a reminder via SMS to a past customer and come to visit the store next week. And the whole idea was that this SMS campaign would be very personalized as a follow-up to a direct-mail campaign that was supposed to be like a week before that SMS.

Building the Salesforce SMS mashup

So, what the mashup does it lets a Salesforce.com user send an SMS message from IBM QEDWiki UI using StrikeIron and SMS Widget, and using data that is aggregated from Salesforce with Apatar Data Integration.

developerWorks: I’m wondering about with you all and, maybe Renat, maybe you could continue on with this answer, and then we can go back up the line to Kenny, and Yuval, and Mark. What do you guys think of mashup builders like QEDWiki, and do you think they’re going to become more and more prevalent within an enterprise environment? I mean, you talk about how they help you speed things up. Is it all the upside or are there some negatives and restrictions to them? And what do you think about their future?

Renat: It’s a breakthrough, definitely. Now, it’s possible to build applications without writing a single line of code out of many different data sources that it targets and represent them in the way you want a user to see it. That’s a good thing. But something that we’re still yet to see in the industry to emerge is maturity. Mashup development tools have been around for like a year or a year and a half, two years, that’s all. And it’s not enough to make them mature and address all of the requirements that not only individual mashup developers coming to Mashup Camp want to have but also our enterprise capabilities like security, the ways to, you know, roll back your implementation if you did something wrong.

All of this is coming along. And what I think with the upcoming DAMIA release of yet another component of the mashup development framework from IBM, I think IBM will have one of the strongest offerings in this area. Also, other tools if you put them together could offer just a stronger offering. So, we could see several vendors emerging in this space offering very attractive ways of getting the job done.

developerWorks: Kenny, do you want to jump in and add to that?

Kenny: Yes, basically, I totally agree with him as far as the maturity of the tools in this space. I don’t think I’ve worked with any of the tools that I haven’t said, “Man, if only it did this.” But he’s definitely right with the fact that these tools as they’re evolving are reducing the development time immensely.

I did some things similar to mashups back before they called them mashups that were multiday exercises, where I would actually go through, “OK—now I’ve got to go through and screen-scrape all of this.” I used regular expressions for that. Now, we’ve got a great tool in Dapper, which is what I used for my geocaching mashup, and it’s taking these things from working on the infrastructure and getting everything together for building your mashups to just using the tools available to us.

The first mashup I did with the event finder took me about four hours to build, and most of that was just kind of shifting my paradigm from developer to assembler. I was looking for loops, and I was looking for how to process this data, and it was all built in. I just had to go through and attach fields to other fields using data binding, and they just did was I needed it to do. And so, a lot of the time spent was just shifting over to using the tool rather than actually doing the development.

The Cold Call Assistant mashup

developerWorks: Yes, good thoughts there. And Yuval, what do you think on this? You know, one thing, I want to hear what you’re thinking on this, but as I hear you guys talk, I also wonder: How do you feel about the way that this kind of application contributes more and more to a lot of people getting into development who necessarily don’t have a developer background at all? Do you see that as a problem or as just a positive?

Yuval: I think it’s great to see this happening. It’s great to see all these tools enabling a lot of people to build, you know, tailor-made applications to do exactly what they want them to do. They don’t need IT to get involved and help them with it. And this saves a lot of time, it saves a lot of money, it also saves a lot of frustration for these guys who traditionally they’re unable to get what they really want. They get all these really complicated, really difficult-to-use enterprise applications with ancient user interfaces and all that. When all they really want is to get these two or three pieces of data that they’re interested in coming in from two different systems and maybe some data off of the Internet and maybe just view that in the context in a small application and that gives them a tremendous advantage. And that’s something that they haven’t been able to do up until now, and it’s starting to become commonplace, which is really great, I think.

I think one of the things that we haven’t figured out yet in terms of mashup enablement, the component granularity, and how functional are the different components that we combine. And you can see different approaches. For instance, you look at QEDWiki components that tend to be pretty sophisticated. They give you pretty advanced capabilities like mapping or search queries, database queries, pretty complex stuff.

On the other hand, you look at something like Yahoo Pipes, that’s a much lower-level type of mashup, where you’re working with basically RSS feeds and regular expressions. And I’m not sure the community has kind of focused on the right approach here or the right trade-off between being very granular and then very flexible and kind of providing higher-level tools that are much easier to use, but then are, determine your, the envelope in which you can work in and limit your options. And then I think the other issue, which is probably more significant, is security and compliance. I mean, we go into a large enterprise these days, and all IT is really worried about is making sure everything’s secure and making sure they’re not exposed, and they don’t have any sort of liability having to do with their compliance regulations, especially in the financial industry.

Letting nonprofessional developers build applications is at first glance, for a traditional IT organization, that sounds like a big risk that they probably won’t want to take unless the benefits are really, really significant. And that’s going to be a challenge. It’s going to be a challenge making the pitch that benefits are there and they’re significant. And it’s also going to be a challenge convincing IT that you can do this type of development and still be compliant, still have control, which is always a major issue for them.

developerWorks: Yes. So maybe the person that’s new to this development experience and mashups should focus more on the geocache mashup than on the financial mashups, I think, is part of what you’re saying and Renat was saying, as well. And that certainly makes a lot of sense. Mark, did you want to chime in with anything?

Mark: Yes. Actually, I think what you’ve all just said is, or what you just said, too, is kind of key which is that you know for right now we’re still focusing a lot on consumer Internet. So this is a real early-adopter kind of thing for an IT shop. It’s not yet at the point of maturity where it’s something that IT can consume. But my personal belief is that the kinds of tools that we’re seeing and the technology that we’re seeing are going to do for small web application development what we saw blogging tools do for website and online publishing. It’s showing us what the new development environment is going to look like for, you know, SOA infrastructure with definitely an emphasis on new right now because we encountered a lot of shortcomings in the tools that we had to have a workaround for.

Renat had mentioned problems where we had to back away from using Atom, which would be the suitable format for doing something like this to RSS, because a lot of the tools had difficulties processing Atom, even though, that’s the obvious future of how you’re going to get your data if you’re using publishing protocols.

And if you look at blogging tools in, say, 2002 or even 2003, you know, I can remember working with movable type back then and some of the other tools, and they were pretty raw. It took a lot of tweaking and handholding and support. And now you can go off to Typepad or Blogger.com or just about anybody and they have easy-to-use simple tools. WordPress lets you lay out an entire website that looks professional in a matter of hours.

So I think we’ll see an evolving path that will start in the consumer market, get stressed there and tweaked to work inside the IT environment. Yuval mentioned security and compliance. I think one of the biggest questions is really around data services and application services—how you find those services—and data governance issues. You know, we built a bunch of data feeds, different ones using Dapper and kapow, and all these new data sourcing applications for online data. But I can imagine inside an organization if you have people in departments, and users, and people in IT building data services like that they’re going to have a lot of potential duplication, a lot of redundant services that are almost, but not quite, the same thing. And trying to work out those hard issues is…in some ways, they’re the same hard issues we’ve struggled with information for a long time.

developerWorks: You know, Renat mentioned QEDWiki in relation to—I’m sorry, it was Yuval who mentioned QEDWiki as it contrasts say with Yahoo Pipes. Did you have some thoughts, Mark, in your experience using QEDWiki? For example, how it measures up to and its value vs. its difficulty of use compared to other apps that you’ve used like it?

Mark: Well, in terms of a lot of what I’ve seen, it’s been pretty raw, you know, using Ajax toolkits or using actual web development tools to do it. There’s a huge jump here. That’s why I was comparing it to blogging tools, because if you think about how you had to put up a website, especially a dynamic website, before that, you were using Front Page, or Dreamweaver, or something like this. And laying out pages and then manually uploading pages to make updates. And now, you can go out there and change a template, you just go into a box and type some text and link to an image, and there it is. So, these kinds of tools, while still raw right now, are the assembly environment for doing this with applications and especially with consuming data and displaying data. I think that we’re going to see that evolve quite a bit and make it a heck of a lot easier to develop.

developerWorks: So, you think there’s going to be more of this kind of tool, and it’s going to evolve and mature, and be around for a while then, huh?

Mark: Yes, I think this is something where we’re seeing. I’d call it the consumerization of IT. Bit by bit, these new technologies are making it easier to do very sophisticated things, and so, we’re pushing some into the hands of end users, and, at the same time, we’re making the IT people more productive.

Kenny: Just one thing that I wanted to mention was that what I’m seeing a lot of is a great movement towards building a mashup and then seeing the official, the website that the mashup was based on, implement the same kind of thing. Going back to the geocaching, one of the things that I always had wanted to do was to be able to go through and get all of these and put them onto a map, so that I could take a look because something that’s five miles away might be five miles away across a river that takes a large detour. So, seeing these kinds of things implemented by the people who are actually providing the service on their official website is a great thing, and the only thing that mashups are doing is driving more development, and that’s always good.

developerWorks: You’ve been listening to highlights of a conversation with the four winners of the IBM Business Mashup Challenge. Mark Madsen, Yuval Tarsi, Kenny Spade, and Renat Khasanshyn. That’s it for this time. I’m Scott Laningham. Thanks for listening.

 

Further reading

 

About the guests

Mark Madsen is President at Third Nature, a consulting and technology research agency focused on business intelligence, data integration, and web technology. He is an award-winning architect and CTO whose work has been featured in numerous industry publications. Mark is a principal author of Clickstream Data Warehousing and teaches classes on data warehousing and open source for TDWI.

 
Renat Khasanshyn is a subject-matter expert in data integration and open-source business models, responsible for driving the vision of data integration solutions at Apatar Open Source. He is a frequent speaker at a wide rage of events. Prior to founding Apatar, Renat was CEO at Altoros, a distributed product life-cycle management company, and, earlier, VP of Engineering for PriMed, a discount insurance company in Tampa, Florida. He studied engineering and then marketing at the Belarusian State Technical University. Renat was recently named a finalist for the 2007 Emerging Executive of the Year Award by Mass Technology Leadership Council.

 
Yuval Tarsi is Cofounder and CTO at WorkLight, having broad startup experience—most recently as Vice President of R&D and Israel Site Manager for ©Right. Previously, he served as VP of R&D and VP of Technologies at Trivnet, a provider of e-commerce solutions. Prior to that, Tarsi served in the Israeli Intelligence Corps’ prestigious Haman Talpiyot program. He holds a degree in mathematics and computer science from Tel Aviv University.

 
Kenny Spade has been developing professionally since 2002 and recently returned to school to work toward a degree in computer science at CSU Chico. Recently, his focus has shifted from development to presentation and training, which has widened his focus to all aspects of the IT industry. He is currently events coordinator for UPE, the computer science honors society at CSU Chico, and also serves as the Microsoft Student Partner on campus.