MVP logo

Mashup Visual Programming Environment

The Impact Of MVP

You may wonder what the exact development impact of MVP may be. The following is a transcript and breakdown of an interview with an MVP-E member in charge of backend development and presentation. It outlines the approximate work involved in creating the "Happy Hour Crimes" use case:



Interview with Mashup and MVP Developer:


Interviewer:  While developing the MVP Environment did you have any prior experience with Google Maps, the Yelp API, or Spotcrime Data Feeds?


Martin:  I did not have any experience with any of those technologies.

 

Interviewer:  Approximately how long did it take you to create the web services, wrappers, and template scripts to create the happy hour crimes use case?


Martin:  Some portions of the code were created by Tim Cheeseman and other parts were coded by me, but I will provide estimates for the work he completed as well as how long it took me to complete certain parts.


Martin:  The Yelp API and Spotcrime data feeds were created mostly by Tim, and I changed a few things. It took us approximately 4 hours to complete the Yelp API wrapper and another 4 hours for the Spotcrime data feeds.


Martin:  I entirely coded the Google Maps output. This took about 4 hours and included work with learning how to use the API, creating custom markers, and parsing and inserting markers and custom information boxes that allow users to click on markers to view additional information.


Interviewer:  Does this 4 hours include any tests you wrote to verify that the services worked correctly? Or were those added after that development time?

 

Martin:  The 4 hours includes testing. We tested the web services manually with various edge cases, because it was difficult to test certain things automatically. For example, we can only easily test the code which detects that the Yelp API key has been excessively used when the key has been used too frequently.


Martin:  There were other components that took time to implement and test as well. The general framework for processing, joining, and outputting elements with a SOAP response from Spotcrime and Yelp with the GPS join took approximately 6 hours.


Martin:  Finally, the last component that we implemented was the web page which makes an AJAX call and processes the SOAP response. This work took approximately another 2 hours.


Interviewer:  So if taken alone, these components would constituent a manually written mashup, except that those web service can now be arbitrarily added to other services in the ontology in a reliable fashion, correct.


Martin:  That is correct.


Interviewer:  Thank you Marty.


Martin:  Thank you Dan. It was a pleasure chatting with you.


Martin Piecyk is an MVP-E developer, he has worked full-time at Microsoft and Amazon, and he will be returning to Microsoft in July. This interview was made with the approval of Martin Piecyk.


Breakdown:


Figure 1: Cost Breakdown for Manual Mashup Developent

If Martin wanted to create a mashup that included these API's as web services he would have to wrap them as web services, which by his own estimation took approximately 4 hours each (Service Translation). In addition, the Google Map API integration for this use case took approximately 4 hours (Aggregation). The communication between the web servers and his API took another 2 hours (Aggregation). By his own estimation, simply the presentation of two combined web API's took approximately 6 hours (Presentation Development). This totals to 12 hours of flat development time plus 4 hours for each web service.


With MVP-E, the development cost for Presentation (6 hours) is eliminated. In addition, the cost of the Aggregation of the information sources (4 hours + 2 hours) is also eliminated with MVP. Although this is difficult to measure in general, total development and debug time for Martin was approximately 6 hours. In the worst case, amount of time would increase linearly with the number of web services in the mashup, but the common interface of MVP ensures interoperability, thus nearly eliminating those costs as well.


According to Martin's estimation, translating these services to web services cost approximately 4 hours of time each. This was because those API's did not exist as WSDL web services (a technology which he could have used to bypass doing it by hand). If the service already exists as a WSDL web service, the time to create an OWL wrapper for MVP-E is negligible (approximately 5-10 minutes given a WSDL and using generation tools). If the web service is already in MVP-E, even this 5-10 minutes is eliminated. All that is left is the few minutes to actually make the mashup in our software and publish it. In summary, for a new user of MVP with no experience with the API's being used, an MVP mashup will save up to 16 hours of development time and can save even more depending on the format of the web service and if it already exists in MVP-E or not (in the case of Happy Hour Crimes or a comparable 2 service mashup with map output).


Figure 2: Potential Savings for Users of MVP

4 hours of service translation based on C# Yelp Json API.

2010-05-28 14:39:06