towards communities of practice for mashups
DESCRIPTION
by Leif SingerTRANSCRIPT
Dec 1st 2010
Towards Communities of Practice
for Mashups
Leif SingerSoftware Engineering Group
Leibniz University Hannover, [email protected]
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
INTRODUCTION
2
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
• Leif Singer, PhD Student in Software Engineering
• Software Engineering is Processes, Practices and Tools– Waterfall, Agile, XP, Lean– Architecture, Design Patterns– Information Flow in Projects– Model-Driven Development
• me: End User Development (EUD)
• Position Paper: Work in Progress
3
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
• IT Projects in Enterprises: expensive, take a long time
• Actual Needs: right here & right now, I need to combine data from these three systems to do my job better today!– There must be a Long Tail here ...
• Excel fills this gap! – but badly (much copy & paste between systems)
• Needed: a tool for end-user-driven enterprise integration– Sorry.
4
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
• Different Approaches for EUD Mashups– most workflow-based, e.g. Yahoo! Pipes
• What about Business Users? – They know Spreadsheets! – exisiting, proven approaches (Karma, Mashroom, Spreadmash, ...)
• Halbert: spreadsheets don’t switch between programming & runtime– no need to visualize program flow– less of a cognitive burden on non-programmers– Tuchinda et al.: Spreadsheet Mashups better understood than workflow
mashups (by end users)
5
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
• How to build a Community of Mashup Creators – in an Enterprise Setting?
• Tools are not enough, need sociotechnical approach
• with Tools that– are easily accessible– connect users
• Users themselves determine their Engagement– use superficially: like Excel on the Web– use it to mix Services: as a simple Mashup Editor– use it to create new Tools!
6
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
• Nardi: EUD Communities work when tools support layered approach– accessible to users of different knowledge levels
7
no programming knowledge
professional programmers
tinkerersgardeners
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
• Nardi specifically on Spreadsheets:– Formulas are accessible by all– Macros used by Tinkerers
• A layered approach for a Mashup Editor? – Macro Language for Spreadsheet Mashup Tool
• Great Example: Surveys from Google Docs– Spreadsheets + a Survey-Layer on top– also: see Keynote, Google Apps Script in Spreadsheets :)
8
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
9
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
10
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Introduction
• But what good is such a tool if everyone works in isolation?
• Fischer et al.: Users will work together when finding out they are working on similar Problems
• Use Social Software to improve the Awareness between Coworkers
11
Like
I just created a new Mashup: Sales Report 2010. Take a Look!
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
A SCENARIO
12
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
A Scenario
• People copy and paste stuff from enterprise systems into Excel all the time– enable them to directly include them– less error-prone, much faster
• Mrs. Miller: sales person, writes personal letters to her best customers– uses ERP system to find those– uses CRM tool to find their addresses– copies addresses into spreadsheet, sends emails
13
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
A Scenario
• Creates a mashup that collects all that data for her– SNS automatically generates message
• Her contact Mr. Slater sees the messages– takes a look – has no use for it, but likes the idea: clicks “like”
14
Like
Mrs. Miller: I just created a new Mashup: My Best Customers. Take a Look!
Like
Mrs. Miller: I just created a new Mashup: My Best Customers. Take a Look!
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
A Scenario
• Mr. Smith is a contact of Mr. Slater, gets noticed of “like”
• Takes a look, thinks it would be useful– clicks “make my own copy”– changes zip code, names it “Best Customers for Birmingham”
• Mrs. Miller is is happy other people find stuff she made useful
15
Mr. Slater: I just liked a Mashup: My Best Customers.
Mr. Smith: I just copied the Mashup My Best Customers to a new one: Best Customers for Birmingham
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
A Scenario
• Mr. Smith is a tinkerer, plays with Mashup tool, finds macro language– writes a macro that will send the email for him
• Mrs. Miller gets notified
• Cherry-picks the changes she wants (see GitHub.com)– need (semi-)automatic creation of independent commits (see e.g.
Hayashi and Saeki 2010)
16
Mr. Smith updated his Mashup Best Customers for Birmingham: “Send Email automatically”
Apply Change to My Best Customers?
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
OUR PROGRESS
17
Application Landscape
Adapters
Social Network Site
Web Scraper
Mashup Editor
SVN Adapter
SVN Repositories
Trac Adapter
Trac Instances
Feed Adapter
Newsfeeds
End User
Web Pages
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Our Progress
18
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Our Progress
19
!"#$%"&'()*+"'",%-'(),,'(+.'/)%+0*+.+"#$'+"0+',%)%",#$+'1"#$%')23'("+'(40)5",#$+0'/)%+0'(+.'62+77+ '*"+%+%8 '/), '*+(+2%+%- ' (),, '("+ '/)%+0- '("+ '(+. '9+02%:+. ' "0 '(+. ';)*+77+ ' ,"+$%- ' 0"#$%'20*+("0&%')<%2+77',"0(8'/)(2.#$'=".('+,'(+5'9+02%:+.'+.5>&7"#$%-',+"0+'?<%"@0+0')23',%+%,'(+5,+7*+0 ' /)%+0*+,%)0( ' (2.#$:23A$.+0 ' 20( ' ,@ ' B0(+.20&+0- ' ("+ ' &+%C%"&% ' =2.(+0- ' )23'(+0,+7*+0'/)%+0':2',+$+08'D5'E+&+0,)%:'():2',%A0(+'+"0+')2%@5)%",#$+'?<%2)7","+.20&':2'*+,%"55%+0 ' F+"%G20<%+0- ' =), ' )77+.("0&, ' ("+ ' H*+.,"#$%7"#$<+"% ' *+7),%+0 ' =A.(+8 ' ?7,'I@5G.@5",, '=".( '(+5'9+02%:+. '("+ 'J>&7"#$<+"% '&+&+*+0- '(+0 '/)%+0*+,%)0( '5)02+77 ' :2')<%2)7","+.+0-',@(),,')2#$'0+2+'/)%+0'*+"'9+().3'&+7)(+0'=+.(+0'<>00+08
!"# $%&'()*KA.'("+'9+02%:20&'"00+.$)7*'L@0'F+77+0',%+$+0'"0'(+0'&C0&"&+0';)*+77+0<)7<27)%"@0+0',+$.'L"+7+ '[email protected]+70 ':2. 'M+.3A&20&8 '1+7*,% '("+ ' D5G7+5+0%"+.20& '02. ' +"0+, '<7+"0+0 ';+"7, '("+,+,'K20<%"@0,253)0&, ' =A.(+ ' (+0 ' L+.3A&*).+0 ' N)$5+0 ' ,G.+0&+08 ' /)$+. ' ,@77 ' $"+. ' )23 ' +"0+'+.=+"%+.*).+ ' ?.#$"%+<%2. ' &+,+%:% ' =+.(+0 ' 20( ' 02. ' +"0"&+ ' =+0"&+ ' [email protected]+70 ' "5G7+5+0%"+.%'=+.(+08'/):2'&+$>.+0'("+'E.20(.+#$+0).%+0',@="+'("+'1255+0320<%"@08'?0$)0('("+,+.',@77'("+'O.=+"%+.*).<+"%'(+,'[email protected]+7253)0&,'(+5@0,%."+.%'20('"0'I)G"%+7'P8Q'*+,#$."+*+0'=+.(+08
9+"'(+.'O"0&)*+'L@0'[email protected]+70',@77 ',"#$'(),'R.@&.)55')0'(+.'(+.:+"% 'A*7"#$+0'140%)S'(+.'&C0&"&+0';)*+77+0<)7<27)%"@0+0'@."+0%"+.+08'F25'9+",G"+7'=+.(+0'[email protected]+70',%+%,'5"%'+"0+5'E7+"#$$+"%,:+"#$+0'*+&@00+08
!"+ ,%'-.*/0.%*1%2(&/0.%*(*9+"'(+.'I@5*"0)%"@0'L+.,#$"+(+0+.'62+77+0'*+("+0%',"#$'(),'I@0:+G%'(+.';)%,)#$+-'(),,'("+,+'TG+.)%"@0+0'"0'(+.'N+&+7')23'1#$+5)+*+0+'+.3@7&+0'20('0"#$%')23'/)%+0+*+0+-'()'("+,+'5+",%'(40)5",#$',"0('20('+"0+'M+.C0(+.20&')23'+"0:+70+0'/)%+0'20%+.'U5,%C0(+0'L+.7@.+0'&+$+0'=A.(+8'K@7&7"#$',@77%+'(+.'O("%@.'"00+.$)7*'(+.'1#$+5):+77+0'J>&7"#$<+"%+0'*"+%+0-'("+'3A.'
VW
!""#$%&'()**+),-./012)&'%)314/'1'5/#(/)#''/6.1$")%/6)71"/$$/
!""#$%&'()*8+)!'9#-.4)%/9):";/<4"6=>9/69
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Our Progress
20
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Our Progress
21
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Our Progress
22
Application-Landscape
WebanwendungWeb Application WebanwendungSVN Repository WebanwendungWiki WebanwendungSOAP Service...
Adapters
Web Scraper SVN Adapter Wiki Adapter Service Adapter...
SNSActivity Stream Mashup Tool SNS Service API
End User
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
REMAINING TASKS
23
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Remaining Tasks
• Categorization of Service Types– different requirements & uses
• Task Services– current VAT, Decision Services – possibly delayed, tied to roles, ...
• Entity Services– e.g. CRUD Operations
• Process Services– Processes have a State; User must be able to proceed in Process
• Feed Services– e.g. for the SNS Timeline
24
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Remaining Tasks
• Wrapper Services / Adapters
• some examples already developed (SVN, Trac, Feeds, ...)– from our domain
• Insight into real-world enterprise systems is missing– not easy to obtain
• An Approach for Adapters– not single technical solutions
25
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Remaining Tasks
• Mashup Editor still barebones– clean up needed– Macro Language– Visualizations of Results
• How to use the Service Types in the Editor? – can you create process mashups that users can then click through?
26
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
CLOSING & DISCUSSION
27
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Closing
• A Spreadsheet-based Mashup Editor– supporting a Macro Language– integrated into a company-internal Social Network Site
• Make the Company’s Resources available via adapters– so End Users can do Data Integration
• Use Mechanisms from Social Software to build and support a Community of Practice for Mashups
28
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Discussion
• “Tools for making Tools”– More useful, more potential than mere problem solutions– Able to solve Problems that are still unknown– No Support in Mashup Editors for End Users? Google Spreadsheets!
• Have a Story on opening up Enterprise Silos? – Data Integrity, Confidentiality
• How to use Social Mechanisms in Research? – Do I have to prove the “Like”-Button works to use it?
• raise your hand or drop me a line :)– [email protected]– twitter.com/lsinger
29
Thank you for your attention!
Leif Singer: Towards Communities of Practice for Mashups Dec 1st 2010
Attribution
• Faces taken from http://deleket.deviantart.com/art/Face-Avatars-107881096, published there under the "Attribution-Noncommercial-No Derivative Works 3.0 Unported" Creative Commons license: http://creativecommons.org/licenses/by-nc-nd/3.0/
30