Upload
sampetruda
View
277
Download
3
Embed Size (px)
Citation preview
1
Evolution of Widgets and Mashups
prepared and presented by: Artem Papkov
Fiodar Zboichyk
2
Agenda
Components are Everywhere Visual Programming Evolution Widgets First Mashups Widgets and Mashups today – the good, the bad and the ugly
Widgets and Mashups Tomorrow
3
08/22/08
Widget {`wijit} noun – COMPUTING – a component, often visual, that operates in a particular way
Components are Everywhere
Divide and Conquer – breaking problems into smaller problems has been used for ever;
Smaller pieces allow for simplifications and standardization:
buildings computers automobiles
Computer Software is NO DIFFERENT: functions classes modules services
Humans are for the most part VISUAL creatures – a picture is worth a thousand words
5
1947 – Flowcharts (Goldstine/Von Neumann) 1960 – Graphical Computer Display introduced 1966 – Sutherland creates a Flowchart/Computer application
early 1970s – Xerox PARC creates the first Visual Programming Environment: bitmap graphics, mouse and a window interface are side effects of the project
Modern Visual Environments Differ VERY LITTLE from the original Xerox PARC concept
Visual Programming Evolution
6
Visual Programming Evolution (cont.)
Programming In The Large – separating algorithm coding from the high-level design of subsystems and modules
Pegasys (1985) – Links design diagrams to underlying logic
PICT (1985) – Programming System with no text coding
Visual Basic and Borland Delphi – WYSIWYG Interface Development, Coding Logic – no need to obsess over non-essential interface implementation details – focus on the application logic
Avoid mistakes by re-using “blocks of code” – the birth of widgets
7
widget, gadget, badge, module, capsule, snippet, mini and flake
“Part of the point, of course, is that no one ever tells him what "widgets" are.” – Mark Israel, alt.usage.english FAQ
8
1924
1983
1985
1984
2008...
“Beggar on Horseback”G. Kaufman & M. Connelly
Project Athena (MIT, DEC, IBM)Xaw – X Windows widgets
AmigaOS Gadgets
AppleMacintosh
AppleHyperCard
1987
Konfabulator 1.0
2006
W3C WidgetsFirst draft
YOU ARE HERE!
2007
2005
2004
2003
1996
1995
Java 1.0Applets
1997
MicrosoftActive Desktop
UI ElementBroadwayshow Little app on the web
Little app on the desktop
Isolated web component
Inter-connectedweb components
FacebookPlatform
IBMQEDWiki
iWidget
Google Univ.Gadgets
First Mashups
A mash-up is a Web page or application that integrates complementary elements from two or more sources. Mash-ups are often created by using a development approach called Ajax
Google Maps induced a “Mashup Craze” IBM ET/CIT group works on QEDWiki• Widgets are on the server, render themselves• Message hub ties all together• events and wiring • Mashup development on the client
9
Widgets and Mashups Today (the good)
Widgets and mashups are the convergence of • Visual Development Environment concepts• Services and SOA• Web technologies
XML description, JavaScript implementation Mostly client-side. The server-side are feeds and services
Interact with each other through events Widget registry, categories, comments Version control
10
Widgets and Mashups Today (the bad)
Issues with event types – wiring options are often unclear
Sometimes need proxies - clients are outside, servers are inside
Superior than services data access control but still not perfect
Proprietary Widget and Mashups standards – active wars – Google Gadget, IBM iWidget, openAjax Gadget, W3C Widget, Microsoft Popfly Gadgets, etc.
11
Widgets and Mashups Today (the ugly)
Trusting/Relying on an external component is a concern
Sharing mashups/widgets is not refined – sharing credentials and data
Monetization – sharing profits in a mashup world is a total mishmash
12
Widgets and Mashups Tomorrow
13
Multimedia Streaming Video/Audio (better support in HTML5)
Mobile Mashups and Widgets (e.g. iPhone) Location awareness (GPS data integration)
Mashup Collaborative Development and Usage Global Widget Registries and Widget Taxonomies Secure Mashups (openAjax SMASH) Client Side Mashups Composite Applications Mashups of Mashups (Super Mashups) Automatic Wiring of Mashups based on Semantic Metadata
Widget Industry Standardization
Thank You.
Visit Us Today At:www.ibm.com/software/jstart
14