The Web has become a popular starting point for many innovations targeting infrastructure, services, and applications. One of the challenges of today's vast Web landscape is to monitor ongoing developments, put them into context, and assess their chances of success. One of the main virtues of a more scientific approach towards the Web landscape would be a clear differentiation between approaches which build on top of the infrastructure of the Web, with little embedding into the landscape itself, and those that are intended to blend into the Web, becoming a part of the Web itself. One of the main challenges in this area is to understand and classify new developments, and a better understanding of various dimensions of Web technology design would make it easier to assess the chances of success of any given development. This paper presents a preliminary classification, and presents arguments how those factors influence the chance for success.
Web vs. Computer Science
- Classical computer science solves hard IT problems
- how to design and build large-scale databases
- programming language design and building compilers
- algorithms and complexity theory
- Web science introduces many foreign concepts
- interdisciplinarity (social sciences, economics, law, anthropology)
- focus on simplicity rather than completeness
- loose coupling (no homogeneous overall design) as starting point
- Web science for computer scientists
- a more disciplined approach for building and classifying Web technologies
- a good balance between blank slate and quick hack approaches
- a better foundation for loosely coupled systems
Web Surface Technologies
Web Evolution Examples
- New surface technologies for existing areas
- XML was intended for documents on the Web
- Providing additional surfaces
- SVG for publishing vector graphics on the Web
- MathML for publishing mathematics on the Web
- supporting location concepts as part of the Web
- Adding more
depth to the surface
- Improving surface technologies
- HTML/CSS have evolved over various generations
Evolution vs. Revolution
- Evolution looks at current practices and use cases
- introducing new concepts bottom-up to augment existing practices
- emphasis on providing easy migration paths
- often compromises influenced by observed behavior and models
- Revolution introduces a new set of solutions
- starting from scratch, building something top-down
- implicitly often built on a closed-world assumption (complete adoption)
- often steeper learning curve
- Many approaches have evolutionary and revolutionary facets
Data & Schemas & Models
What is a good Web Technology?
- Towards a more systematic evolution of the Web
- better comparisons of competing approaches
- better understanding of the assumptions, implications, and restrictions
- Complexity ↔ Simplicity
- how easy is it to understand a new technology for new users?
- what tools and infrastructure are necessary to adopt the technology?
- are there migration paths from related/earlier technologies?
- Cleanliness ↔ Backwards Compatibility
- is it possible to gradually adopt a new technology?
- how hard is it to implement scenarios combining new and old technologies?
- Specificity ↔ Reuse
- is the solution specific to a use case or generic?
- does it reuse components that are applicable for the target use cases?
- is there a well-specified policy for updates and extensions?
- Web technologies should be simple
- complexity should be handled in
- losing information is acceptable and happens all the time
- generality and completeness are not necessarily good things
- Building simple things is not necessarily simple
- finding the 80/20 (or 90/10) solution can be challenging
- simplicity should support the
shared concepts for complex areas
- HTML and CSS are excellent examples for simplicity and evolution
The Plain Web
- The Web should be a unifying surface, not an implementation platform
- specific requirements require specialized implementations
- connecting the Web surface and
deep concepts should be painless
- Some interesting application areas have no good surface
- extend CSS to cover interactive paged media: Web E-Books
- turn the Web into a location-aware system
- make schemas (and maybe even models) accessible
- provide better glue between schemas and models
- Developer-friendly surfaces are essential for advancing the Web
- CSS vs. XSL-FO
- XML vs. RDF
- HTML5 vs. XForms