Coder Social home page Coder Social logo

jordanshurmer / mashlib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from solidos/mashlib

0.0 2.0 0.0 61.08 MB

solid-compatible data mashup library and Data Browser

Home Page: https://linkeddata.github.io/mashlib/dist/mashlib.min.js

License: MIT License

Shell 2.90% JavaScript 5.57% HTML 24.62% CSS 66.91%

mashlib's Introduction

mashlib and Data Browser

The mashlib (mashlib.js) is a solid-compatible data mashup library. One major use of it is as a data browser for a personal data store.

Typical uses

The mashlib has been used before originally in various apps in specific data interaction in different domains. It has been used in a browser extension (in Firefox and later Chrome) to add data-handling capacity as native to the browser itself. Currently it is used as the core as aort or poor persons browser extension, the data browser, which loads the library and then tries to work as though the browser had been extended to understand data

The data browser

How does the data browser work?

  1. The user goes with a normal web browser to access some data object (like a to-do list, say).
  2. The server sees the browser doesn't understand the data natively.
  3. The server sends back a little placeholder HTML file, databrowser.html, instead of the data.
  4. The databrowser.html file loads the mashlib.js Javascript library, which can now understand the data.
  5. The mashlib.js then re-requests the original data, but accepting data formats.
  6. The server supplies the actual data of the to-do list or whatever it was.
  7. The mashlib.js code provides an editable visualization on the data.

The mashlib human interface is read-write: where the user is allowed to edit: it lets them edit the data and create new things. It is live, in that often the data browser signed up (using a websocket) for any changes which other users make, so users' screens are synchronized.

History: Why "Mashlib"?

What is a data mashup? ย A mashup is a web page which is built out of data coming from more than one source.

Mashups are important because they are fun but because fundamentally the value of data is much greater when data of one source is combined with linked data from another,
because that is where you can get extra insights. My TED talk on open data examples has some examples. Data mashups were all the rage back 2012-2017, although the browser's Same Origin Policy in many cases makes them hard to do or impossible in a web app, as the data access is blocked by the browser code.

The mashlib started life motivated by the drive to build quick visualizations of data from different sources. Typically, documents or query results are all loaded into the quadstore, so the relationships between different things can be visualized. The "tabulator" project developed the original mashlib.

Progressively, the mashlib evolved to allow types of data for personal information management (contacts, etc) and social (chat, shared documents, issue tracking, music, photos) and also as a file browser for a Solid-compatible personal data store (files, folders, and sharing). Now, the mashlib is a general-purpose tool for doing all kinds of useful things.

It is an extensible platform, and is never finished. Do help!

Goals

  • The data browser should be a complete web-based operating system for any new computer or data store.

  • You should be able to set the data browser up for any existing folders you have full of things like photos and music, and it should let you listen to them, look at them, and share them very flexibly with anyone in the world.

  • The data browser should be modular, loading new code modules in real time as a function of a user's preferences for handling different types of data with different new data browser applets, be it finance, fitness, or fishing.

  • The data browser should allow people to create, bit by bit, a web of social linked data of their work and their play, and their lives.

timbl 2018

mashlib's People

Contributors

dmitrizagidulin avatar melvincarvalho avatar rubenverborgh avatar tallted avatar timbl avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.