14
1

Загрузить английскую версию (2,8 Мб)

Embed Size (px)

Citation preview

Page 1: Загрузить английскую версию (2,8 Мб)

1

Page 2: Загрузить английскую версию (2,8 Мб)

Evolution of Widgets and Mashups

prepared and presented by: Artem Papkov

Fiodar Zboichyk

2

Page 3: Загрузить английскую версию (2,8 Мб)

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

Page 4: Загрузить английскую версию (2,8 Мб)

08/22/08

Widget {`wijit} noun – COMPUTING – a component, often visual, that operates in a particular way

Page 5: Загрузить английскую версию (2,8 Мб)

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

Page 6: Загрузить английскую версию (2,8 Мб)

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

Page 7: Загрузить английскую версию (2,8 Мб)

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

Page 8: Загрузить английскую версию (2,8 Мб)

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

Page 9: Загрузить английскую версию (2,8 Мб)

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

Page 10: Загрузить английскую версию (2,8 Мб)

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

Page 11: Загрузить английскую версию (2,8 Мб)

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

Page 12: Загрузить английскую версию (2,8 Мб)

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

Page 13: Загрузить английскую версию (2,8 Мб)

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

Page 14: Загрузить английскую версию (2,8 Мб)

Thank You.

Visit Us Today At:www.ibm.com/software/jstart

14