The document summarizes a talk on simplifying web development using Software as a Stream and the Valaa Resource Model. It discusses how the growing demand for software and complexity of development can be addressed. Software as a Stream allows storing and distributing applications without dedicated clients by representing them as ordered event lists. The Valaa Resource Model provides a more accessible way to build reusable web apps using familiar skills like HTML, CSS, and JavaScript by representing app components as reusable resources. It was demonstrated on the cbt.valaa.com/zero beta site.
2. Problem: 1.4 million computer-science
related jobs to be available by 2020, with
only 400,000 computer science graduates
to fill those roles (just in U.S. alone).
Building quality software has become extremely complicated.
4. Software as a Stream
New mechanism for storing, distributing and
running web applications without the need for
a dedicated client application.
Valaa Resource Model
More accessible way to structure and build
reusable web applications using familiar skills
(HTML, CSS and JavaScript).
5. Software as a Stream
Technical enabler for application-agnostic clients.
6. Storing software as a list of events
• Application can be seen as an ordered list
of events performed by a software developer.
• Likewise, interacting with the application can be
seen as adding new events on top of the initial state.
7. Universal Application Gateway
• Software stored as events can be streamed to users.
• Universal application gateway can subscribe to these streams
and interpret (reduce) the events into in-memory resources.
• Interacting with applications creates new events that
are stored and broadcast to other subscribing users.
8. In Valaa:
• Events are stored in Partitions governed by Authorities.
• Events can be stored in remote and local Authorities.
• Technologies: AWS IoT, S3, DynamoDB
10. Folder
Can contain files and other folders
Can be copied
Object
Can have properties
Can be modified
Valaa Resource
Can have properties
Can be modified
Can contain other Resources
Can also have user interface(s)
Can be ghost-instantiated as a new Resource, recursively
inheriting sub-Resources as modifiable ghosts.
Class
Can have member properties
Can be instantiated
12. All Valaa Resources in all Partitions governed by
all Authorities make up the Valaa Space.
13. ValaaScope
is a component capable of rendering a
portion of the Valaa Space through a Lens.
User
sees a web page. Interacting
with it can change the Focus.
Lens
is a media written in simple JSX-like
syntax (called VSX) describing how
Focus should be rendered.
Focus
is the currently focused
part of the Valaa Space.
<ValaaScope focus={focus.foo} lens={focus.bar} />
// or with “no-scope” syntax
{{ focus: focus.foo, lens: focus.bar }}