Engl | E765 | Slides - HeavenEverywhere

It's all multimedia now!
(so what's next?)
Presentation by Stephen Travis Pope
stephen@HeavenEverywhere.com
YOW 2014, Dec, 2014
Overview
Introduction
Historical Perspective
Past, Present & Future
Services, Networks & Tools
(Slides on the web @ HeavenEverywhere.com)
1
2
My Background
(& biases)
Introduction
• Training: EE, CS, Music
• HW Development Projects
• Analog Synths, Eventide
• Vienna, Salzburg jobs
• Programming
• Low-level, lots of tool-building, then LISP
• Visits to MIT and SAIL in 1976/77
• UNIX & C starting in 1976
• Graphics starting in 1979
WhoAmI ?
The Big Picture
3
4
What I Develop
MODE, 1990-92
• Complex projects (music, AI, high-level tools)
• Media-rich (A/V, real-time, feature extraction)
• DB-rich (large volumes, complex queries)
• Wide-area distributed
• Cross-platform
• Performance-critical (compute-bound)
• Back-end servers and front-end GUIs
• C/C++, Smalltalk, Python, MATLAB, SuperCollider, SQL
5
6
Historical Perspective
UK Future Internet
Strategy Group
The Big Picture
Set the stage
Long-term trends
7
8
The Big Picture
The Big Picture
Hardware
PreHistory
Data
Model
Languages
SW Tools
Network
App Model
I/O
Custom
RTL
Core Memory
ASM
None
None
Dedicated
Card Lunch,
Line Printer
1960s
Mainframe
Imperative,
Algebraic
Pointers,
Vectors, Lists
FORTRAN,
LISP
Flow charts,
Punched cards,
print-outs
None
Batch
Control ADCs/
DACs
1970s
Minicomputer,
PDP-11
Structured,
OO, AI
Data
Structures,
SQL
Pascal, BASIC,
Smalltalk
Shell, compilers,
line editors,
make
Ethernet LAN,
ARPANet,
Dial-up uucp
Interactive,
R-E-P-Loop
Interactive
terminal
1980s
Midi/Micro
Computers,
VAX, PC, Mac
Structured,
Visual
OO Design
Patterns
C, VB,
ES Shells
WIMP
EvtLoop
Mouse, MIDI
1990s
Next/SGI/SUN
UNIX, PCs
OO
UML, Go4
C++, Java,
ObjC
Turbo-family,
RatRose UML
WAN, WWW
Client/Server
USB, OSC,
Video
2000s
Notebook,
Browser,
µController
Scripting,
Patching, ML
XML, REST
JavaScript,
Python,
Processing
Turbo-family,
Spyder
P2P, AdHoc
Web service,
Servlet
FireWire, WiFi,
Sensors
2010s
Mobile device,
Netbook,
Streaming Srvr
SOA
JSON
Dart, Julia,
Swift
Turbo-family,
Browser
PAN, MAN
App, social
network
T-Bolt, 3D
Cameras &
Printers
Next 2nd Digital Hub,
*AN Services,
Big
Sensors
Thing
9
Language
Model
SOA-like,
Brokers
TurboPascal,
ATM WAN,
Smalltalk, emacs Sockets, CORBA
New Tools,
Decl scripting
CORBA-like
Scripting, Data
& service config
ADT, Service
Shape-change,
lang
Service mgmnt
BAN, VAN,
Streaming LANs,
Cloud, Autodiscovery
Service
Brokers,
Context aware
A-Discovery, Devices, Apps
Telepresence,
& Services
Logging
10
Moore's Law (again)
The Formula
#-Xistors
N BT
2010s
CPU perf
1980s
>>
1960s
Screen size
I/O devices
LAN/WAN
speeds
Connectivity
11
12
Really?
SMALLTALK-72 INSTRUCTION MANUAL
ADELE GOLDBERG AND ALAN KAY, EDITORS
DynaBook
\
\
\
\
13
14
Projections
“WAN speed will eventually obviate the
need for local storage or computation.”
Interim
Dynabook
“Storage and computation will be so cheap
that you can store/recompute everything of
interest locally.”
15
16
Services
Services
What's a computer/platform?
Networks
What's an app/service?
Tools
What’s data?
17
18
What's a computer?
Hardware Platforms: 3 Generations
Batch, WIMP, Mobile
Past Projections
What’s the Next-Gen?
Lap-top, phone, watch, microcontroller,
remote control and 1-piece CPUs
Set-top box (media server & WiFi)
I/O devices determine what you call the
appliance (smart home, wearable)
Thin client (Netbook & cloud apps)
Delivery/aggregation Platform
Information appliance
Netbook, digital hub
Storage/computation are commodities
“Digital Hub”
19
Modern Smartphone
20
Host du Jour
Multi-Core RISC CPU
Plentiful RAM & Flash
Graphics & Sensor Co-processors
2-4 Radios (cell, WiFi, GPS, BlueTooth)
Always on, always networked (optional)
Multi-touch GUI, A/V I/O
Form factor determined by UI (currently
getting larger rather than smaller)
21
2nd Digital
Hub
22
A/V I/O Examples
2000: Desktop as hub
Has both computation
and storage
2015
I/O boxes define device
Services may run anywhere
Return of the co-processor
23
24
For your
inner DJ
The
Better
to mix
you
with…
25
The return of the co-processor!
26
UAD Satellite: Up to 8 Cores
Out-board device
may be larger and
costlier than host
UAD Instance Counts
27
28
Search Site
Hardware
UAD-2 + Plug-Ins
Store
Blog
Support
About
My.Uaudio
Home > Support > UAD Support > UAD Compatibility > UAD Instance Counts
E
Online Support
UAD-2 Instance Count Chart
The API
Pressroo
SUBSCRIBE TO THE
UA NEWSLETTER
About This Chart
The following table indicates DSP usage and instance counts for UAD Powered Plug-Ins.
See bottom of page for more details about the chart.
Perf
-scaling
29
UAD Powered Plug-In
DSP %
SOLO
DUO
QUAD
OCTO
Mono Stereo Mono Stereo Mono Stereo Mono Stereo Mono Stereo
Contact Us
4K Buss Compressor
2.8%
3.4%
35
29
70
58
140
116
280
232
Phone Support
4K Channel Strip *
7.4%
11.4% 17
11
34
22
68
44
136
88
Ampex ATR-102 Mastering Tape Recorder
17.6% 29.0% 5
3
10
6
20
12
40
24
USA (toll free)
877-698-2834
AMS RMX16 Digital Reverb
40.6% 41.1% 2
2
4
4
8
8
16
16
API 550A EQ
7.2%
11.7% 13
8
26
16
52
32
104
64
API 560 EQ
9.2%
15.5% 10
6
20
12
40
24
80
48
API Vision Channel Strip *
22.4% 29.7% 4
3
8
6
16
12
32
24
bx_digital V2 EQ & De-Esser
3.4%
4.9%
N/A
20
N/A
40
N/A
80
N/A
160
bx_digital V2 Mono EQ & De-Esser
3.4%
3.8%
29
20
58
40
116
80
232
160
bx_refinement
12.3% 11.9% 7
7
14
14
28
28
56
56
bx_saturator V2
13.2% 12.8% 7
7
14
14
28
28
56
56
bx_tuner
14.7% 15.1% 3
3
6
6
12
12
24
24
Cambridge EQ *
2.2%
46
30
92
60
184
120
386
240
Chandler Limited GAV19T Amplifier
40.6% 41%
2
2
4
4
8
8
16
16
Cooper Time Cube
4.5%
4.9%
18
18
36
36
72
72
144
144
CS-1 Channel Strip *
6.0%
6.4%
16
15
32
30
64
60
128
120
Dangerous BAX EQ Master
N/A
3.2%
N/A
31
N/A
62
N/A
124
N/A
248
Dangerous BAX EQ Mix
2.7%
3.1%
37
32
74
64
148
128
296
256
dbx 160 Compressor
2.0%
2.7%
49
36
98
72
196
144
384
288
DM-1 & DM-1L Delay Modulator
1.4%
1.8%
71
54
142
108
284
216
512
432
DreamVerb
11.8% 12.2% 8
8
16
16
32
32
64
64
EL7 FATSO Jr/Sr *
25.6% 40.5% 4
3
8
6
16
12
32
24
elysia• alpha compressor master
35.0% 35.4% 2
2
4
4
8
8
16
16
elysia• alpha compressor mix
31.5% 31.9% 3
3
6
6
12
12
24
24
elysia• mpressor
20.2% 20.6% 4
4
8
8
16
16
32
32
EMT 140 Plate Reverb
14.6% 15.0% 6
6
12
12
24
24
48
48
EMT 250 Electronic Reverberator
6.2%
11
24
22
48
44
96
88
ENGL E646 VS
43.3% 43.7% 1
1
2
2
4/8** 4/8**
16
16
ENGL E765 RT
42.2% 42.6% 1
1
2
2
4/8** 4/8**
16
16
EP-34 Tape Echo
26.7% 28.1% 3
3
6
6
12
12
24
24
EX-1 EQ/Compressor *
1.9%
43
106
86
212
172
424
344
Fairchild 660 (Tube Limiter Collection)
13.1% 18.8% 7
5
14
10
28
20
56
40
Fairchild 670 (Tube Limiter Collection)
13.1% 18.8% 7
5
14
10
28
20
56
40
4.5%
5.1%
22
19
44
38
88
76
176
152
Harrison 32C EQ
5.4%
9.2%
18
10
36
20
72
40
144
80
Harrison 32C SE EQ
1.7%
2.5%
59
39
118
78
236
156
472
312
Helios Type 69 EQ
4.8%
6.8%
20
14
40
28
80
56
160
112
LA-3A Leveler
4.3%
4.7%
23
22
46
44
92
88
184
176
Lexicon 224 Classic Digital Reverb
15.3% 17.0% 6
5
12
10
24
20
48
40
Little Labs IBP Phase Alignment Tool
3.4%
5.8%
29
17
58
34
116
68
232
136
Little Labs VOG Bass Resonance Tool
1.0%
1.4%
90
64
180
128
360
256
512
512
Maag EQ4
3.2%
3.6%
31
27
62
54
124
108
248
216
Fairchild 670 Legacy
30
3.3%
7.8%
2.3%
12
53
International
+1-831-440-1176
Germany, Austria, a
+31 (0) 20 800 4912
Fax
+1-831-461-1550
Customer support is a
to 5pm, Monday throu
Contact Support
Submit a Request
Press, Review, and
Inquiries
Amanda Whiting
+1-831-440-1176
Mailing Address
Universal Audio, Inc.
4585 Scotts Valley D
Scotts Valley CA 950
Future IO?
Progress
Multimedia used to mean A/V
Camera-/microphone-based input
Next
Multi-touch input
3D scanners/printers (projectors?)
Bio/Environ sensors/actuators
Ubiquitous computing
Sensing rooms, vehicles, etc.
31
Example
1990s: “Plug’n’Pray”
2010s: “Shake it again”
32
End Product: Slate Raven
2010 UCSB MAT
Student Project:
Multi-touch
“Reactable” (AKA
“Surface”)
33
Example: My Studio
35
34
Example: My Studio
36
Example: My Studio
What's an app?
Applications vs Apps vs Services
The Promise of WIMP
The Promise of Mobile, Ubiquity,
IoThings, Sensors, …
What Hasn't Happened (yet)?
37
App Categories
38
New App Categories
Data processing
Data/Content-centric
Report generation
Data power tools
Document (text, spreadsheet) processing
Record, acquire, publish, manage
Web browser/content publishing/sites
Social networking site/app
Telepresence-as-app
Network-centric
Telepresence
Community-centric
Life-blogging/monitoring
Social networks
39
40
Telepresence-as-app, in-app
New
Genres
TAA
Dynamic Social Networks
Skype (why no video walls?)
Social Network Data Mining (WAZE)
Social networks are telepresence
Life (b)logging, Monitoring
Teleoperation (coming soon)
Body/environment monitor
CSCW as/in apps
Converged services and Brokers
41
Share data, find other users
42
Multimedia as a Technology Driver
Past
Storage formats (CD, DVD, DAT)
Streaming protocols (RTP, CORBA A/V)
Present
Content-related metadata
Co-processor API model (GPU, PS3)
Future
MM data
Shape change operators & feat. extract.
Labels vs content
What’s your Data?
Then
Scalars, vector, tables, lists, …
Tabular databases described in SQL
Now
Complex dynamic data (in some domains)
NoSQL
BigData, Metadata
43
BigData, Metadata
44
Plastics?
Access to BigData (local, net)
Metadata in general
No!
Data about data
Simple: ID3 tags
Complex: derived finger-print, bird species
ID, annotation of audio life-blog
Content-derived metadata!
Data mining: may or may not involve analysis,
new metadata generation
45
46
Whither CSCW?
…as in
Computer Support for Collaborative Work
Skype, and email? Really?
47
48
What is was supposed to be…
Task/Media Analyses
49
50
Detailed Task/Process Taxonomy
Social aspects in computing
Computer-mediated relationships
Differences between direct and mediated
interaction
Social vs real personal networks
Relationships with devices and services
Differences between a programmed
device and an individual
51
52
Interlude 1
Special Issue on
"Ubiquitous
Multimedia
Systems in Smart
Environments"
53
https://www.youtube.com/watch?v=AkwX4GToDXY
54
Generations of Technology
Networks
Network
Ethernet LAN, ARPANet, Dial-up uucp
How do we connect to remote
ATM WAN, Sockets, CORBA
users, services & data stores?
P2P, AdHoc
WAN, WWW
PAN, MAN
BAN,VAN, Streaming LANs, Cloud, Autodiscovery
55
56
Audio Networking Standards
Networking
Internet: protocols rather than devices
Blessing & curse
New Issues
Sensing servers and streaming devices
Ubiquity
Smart appliances
57
Networking Issues
58
Networking Software Support
Sensor, mesh and [vehicular, personal, body,
room] wireless networks
Middleware services for wireless, mobile
and multimedia networks
Handoff and mobility management
Software defined wireless networks
All the pretty protocols…
59
60
How to fix it
Auto-discovery
CORBA
OSC
Service description (reflection, API delivery)
NextGen
Networks
“Fail ever better”
See Apple’s Hand-off
61
62
Status of Enabling Technologies
Silos Disappear
63
64
Status of Cloud
Tools
How is software described and
delivered?
65
66
Software Development
Programming Languages
• Maximal (complex,
Language History from the Big Picture
On-going debates about languages and tools
What impacts developer productivity?
multi-paradigm,
kitchen sink)
• Language Issues
‣
•
•
Uniform vs hybrid OO (is everything an object?)
Kinds of sharing of state and behavior
•
•
•
Classes vs prototypes
Single/multiple inheritance (composition, traits)
Interfaces, protocols, abstract classes
•
Performance/reusability/LoE trade-offs
Type declarations (vs type inferencing)
‣ Preferred syntax (many variants)
‣ Coding style and enforcement
• Library/Tool/Environment issues?
“Block diagram compilers”
PD, QuartzComposer
Potential and Challenges
Use as “scripting” languages
• LISP
• PASCAL
• Smalltalk
• Lua
• MathLangs
• APL, FP, Prolog, ...
68
The Perfect Language (IMHO)
• Truly minimal syntax
•
•
•
•
One best way to write any given expression
Keyword syntax (rather than algebraic syntax)
Very few reserved words (known to compiler)
Nouns and verbs, no adjectives
•
isKindOf:, understands:, allInstances, someInstance
• Everything is an object
• Objects only interact by message-passing
• Constructors are class messages
• Control structures are messages (extensible)
• Objects and classes are reflective
69
Visual Languages
single paradigm)
• ALGOL
• PL/1
• CommonLISP
• ADA
• C++
• Scripting (?)
67
On-going Debates
• Minimal (simple,
70
What’s the Problem?
Language Complexity
Learning curve issues
Compiler/optimizer issues
Low reusability
Libraries not standardized
Poor tools for finding things
71
72
Service Combination
Programming Today
I Deserve
Better than a
C+ !
How to facilitate this?
73
OO Is Not Enough!
Programmer Productivity impacted by:
74
The State of SW Tools
Flow charts, Punched cards, print-outs
Shell, compilers, line editors, make
Language (simple, expressive)
TurboPascal, Smalltalk, emacs
Libraries (browsing, reuse)
Spyder
Tools (creation, debugging, refactoring)
Methods (A/D, Project Mgmnt)
RatRose UML
Smalltalk Browser
New Tools
Scripting, Data Shape-change, Machine learning,
Service mgmnt
75
Summary (spoiler alert)
77
76
NeXT ad
from 1992
78
Requirements Analysis
• Great Overviews of the 1980s
•
•
•
•
•
•
Why Pascal is Not My Favorite Programming
Language (BWK, 1981)
Requirements for an Experimental Programming
Environment (LPD, 1982)
The Organization of Expert Systems (1982)
An OO Approach to Multimedia Databases (1986)
Programmer as Reader (AG, 1986)
Req_Exp_
Prog_Env
Requirements for an Experimentation Environment
for Composers (STP, 1988)
79
80
Req_Exp_Prog_Env (lang)
Req_Exp_Prog_Env (L2)
*
*
*
*
*
*
*
*
*
*
*
*
*
*
81
82
Req_Exp_Prog_Env (Tools)
Req_Exp_Prog_Env (Libs)
*
*
*
*
*
*
*
*
*
*
83
84
Req_Exp_Prog_Env
•Insight: Software engineers spend more time
reading than writing; therefore code reading
*
tools are really important.
•Later insight: Code rewriting, refactoring, ...
•“Reading and writing are partners”
*
• Should use same/similar tools
• E.g., not emacs and google
85
Programmer as Reader
•Rules of Reuse:
1: If you can’t find it, you can’t reuse it
2: If you don’t trust it, you won’t reuse it
•Ease of learning via high-level concepts
• As in real life
•Encourage good design & coding style by use
of templates
•Design of Smalltalk Browsers
• Find, test, reuse
87
Example: Spyder
86
Summary
•Smart people have thought long and hard
about how to improve programmer
productivity and code quality
• Language issues
• Library issues
• Development tool issues
• Operating system and environment
•Support for OOP & rapid prototyping and
incremental refinement (refactoring, agileP)
88
Smalltalk Libraries
•Single root class (Object)
•All classes can be extended (!)
•Heavy use of polymorphism
•Mostly single inheritance
• Use composition and forwarding by default
• Other sharing mechanisms (species, MI, generic
behaviors, traits, interfaces, passing blocks, etc.)
• “Core” = ~1000 classes; VW 7.9 = ~3300 classes
89
90
Smalltalk IDE
Smalltalk Libraries
•Browsers
•Protocol of Object
• Messages understood by all objects
•Important high-level abstractions
• Magnitudes (number, point, date, character)
• Collections (array, string, set, dictionary)
• Streams (file, socket, producer, server)
• Model, View, Controller classes
• Graphics classes
• Event classes
• Browse collections of objects (e.g., classes)
• Organization of set
• Operations on inner nodes & leaf nodes
•Inspectors
• Low-level access to an object’s properties
• May violate encapsulation
•Editors
• Customized inspector
• May add custom GUI (V/C)
91
92
Code Browsers
System Browser (GST)
•Uniform access to all system source code in
•
•
a hypertext browser with full-text search
Unit of change (compilation) is a method
Many kinds
• Package, Namespace, Hierarchy, Refactoring
• Cross-referencing (reflection & code DB)
•Code editing aids
• Formatter, spelling, auto-complete, explainer
• Templates for classes, methods, documentation
•Standard system browser layout
93
94
Class Object
Browsers
Implementors
Variable references
Senders
Finding things
95
96
Browser Templates
97
Object Browsers
Code History
98
Inspectors
The “soldering iron” - may violate encapsulation
99
100
Editors
Song DB
Browser/
Inspector
101
102
Debugger
Debuggers
•Basically a method-list browser where the
Stack
method list is the stack of some thread
•Adds inspectors on the receiver object,
method arguments and temporary objects
Method
•Allows full browser-style cross-referencing
•Supports fix&continue - you can recompile a
method in the middle of the stack and
continue from there
Receiver
103
Debugging a View’s
Display Method
Args, temps
104
Code Management
& CASE
•Supporting multi•
person teams
Projects and changes
• Change list tool
•Namespaces
•Configurations
•Package managers
105
Smalltalk and OOA/D
106
Smalltalk Virtual Image
•OO Design Patterns
• Most existed in ST before the Go4 book
•Early OOA/D methods
Save a file of a running app with all libs,
tools, running processes, etc.
•UML and formal OO Methods
Virtual Machine loads obj network
at start-up
• OBA, CRC Cards
• Notations
• Processes
Like a .jar in Java or MATLAB workspace
•Domain-specific languages
•XP, Agile methods
107
108
Language-independent IDEs
•Examples
• XCode, VisualStudio, Eclipse, NetBeans
So, why do I still
program in Smalltalk?
•All are file-based
•Realtor’s answer:
•None have code queries (who sends this?)
•Weak debuggers (fix&continue)
•Programmer as reader
•CS Answer
• Integrate with SVN, Mercurial, git, etc.
• Finding, testing, reusing
• Refining, refactoring
•
Smalltalk IDE for julia, python or swift?
109
Interlude II
• Productivity, productivity, productivity
• Productivity, reliability, malleability
• Development cost
• Reliability, maintainability
• Portability (!)
• Stability (!)
• MM libraries
• Powerful, open-source tools
110
Dynamic Open-Source Tools
“Any sufficiently complex app becomes a
domain-specific language”
http://vimeo.com/92867679
“Any sufficiently complex framework
becomes a domain-specific tool kit”
111
Writing NextGen Apps
Embrace the change (post-WIMP)
Social networks in apps
App as “converged service” configuration
112
A Call to Action
What features should we all demand
of our software development tools?
Address the platform
Sensors, MM I/O, networking with other
users (LAN, MAN, WAN, GPS, …)
GUI -> user experience
113
114
A Call to Action
•Language demands:
•
A Call to Action
•Language demands:
Uniform OO model
• Everything is an object, including: #s, classes, threads,
closures, Booleans, message-sends, error conditions, ...
• Class messages (not just for constructors!)
• Many ways of sharing: SI/MI, traits, interfaces
•
• Go easy on the adjectives, reserved words and
Simple (unambiguous) syntax (1-page BNF)
punctuation
• Straight-forward to express other paradigms
(grammars, rules, logic, ...) in the same syntax
• Keyword messages
• Avoid f(a, b, c, d, e)
• e.g., aGraphicsContext copyArea: aShape from:
aGraphicsContext sourceOffsetX: srcOffsetX y: srcOffsetY
destinationOffsetX: destOffsetX y: destOffsetY
• Extensible (OO) control structures
• Flexible exception-handling
• Support for concurrency (would be nice)
• Explicit style guidelines (obeyed by libraries)
• Get it right (V3) before you have an installed base!
115
A Call to Action
•Library demands:
• Consistent, comprehensive & small class libraries
• Built for programmer-as-reader (doc, examples)
• Same design, naming and formatting style throughout
• OO design patterns
• Standard and new
• Small set of high-level abstractions
• E.g., Magnitude, Collection, Stream, Event, DisplayList
• Powerful mid-level abstractions
• E.g., Number, SequenceableCollection, BufferedStream
• Minimal concrete classes (opt. constructor-only)
•
E.g., Float, Array, FileStream, Chord
116
A Call to Action
•Library demands:
• MVC classes - widgets and app models
• High-level widgets, document model, browser
• Multimedia support (incl. scheduler)
• Graphical models
• Sound/music models
• Others (gesture)
• (R/OO)DB support, O/R mapping, NoSQL/JSON
• Proxies and distributed systems
• Parser-generator and compiler framework
• Compiler available at run-time
117
A Call to Action
•IDE demands (coding):
118
A Call to Action
•IDE demands:
checker, auto-complete, ...
• Inspector framework for operating on objects
• Debuggers look like code browsers
• Fix&continue source code debuggers
• Workspace (VI) development/delivery
• Easy roll-back of changes
• Tools are open-source and extensible
• Code lives in hypertext document DB
• Programmer-as-reader code browsers with full-text
search, cross-ref, explainers, formatting, spell
• Maintain method history & diffs
• Unit of change is a single method
• Support for multi-person team programming
119
• Dynamic object network in RAM
• Object DB queries (allInstances)
• Easy to customize browsers
• Easy to build new inspectors & editors
• Tools work; tools scale
120
If I got my wish...
•Merge Pharo and NewSpeak
• Classes and prototypes
•Add
• MI, interfaces, slang
•Add easy DLLCC (a la ctypes in Python)
•Add stand-alone mode (Bootable ST)
•Port to:
Conclusions
•Object-Oriented is not Enough!
•The computer revolution ...
hasn’t happened yet.
-
• Desktop OSs (as process or stand-alone)
• Raspberry Pi, Arduino, mobile platforms
121
What Comes After That?
Service Issues
App combination, reuse
New app categories
122
Why am
I doing
this?
Network Issues
Reflective, service-oriented networks
Integrate remote data, big data, metadata
Connect the user to other users
Tool Issues
How to develop and reuse high-level components?
123
124
Options
Q&A
More Demo Videos (NIME)
Music Music & Videos
Thank You !
IDE Slides
Smalltalk Demo
125
126
Download PDF