Tim Berners-Lee who has been a vocal proponent of the state of decay the web is in, is working on a new project called Solid that will create a decentralised internet to take away the power from internet giants and give it back to the people.

Tim Berners-Lee is working on a decentralised internet to give co...

Tim-Berners Lee, called the Father of the Internet created the world wide web around 30 years back and eventually saw it turning into a privacy nightmare with internet giants like Facebook, Amazon and Google getting control of user data and using it for profit. In an interview with Vanity Fair, the illustrious personality detailed his plans of creating a decentralised internet where the user data will be in the hands of the users themselves.

Called Solid, the project is two-years old and is occupying much of Berners-Lee’s time these days. According to him, the project has made some serious headway of making a decentralised web a reality. The intention of Solid is simple enough — Create a decentralised internet where no big entity can control it. Instead, the power to control the internet will lie in the hands of the people.

“There are people working in the lab trying to image how the Web could be different. How society on the web could look different. What could happen if we give people privacy and we give people control of their data, We are building a whole eco-system,” Berners-Lee told Vanity Fair.

Solid is an open-source project which anyone can join and contribute to. Both code and ideas are accepted. The premise sounds a lot like the plot of popular HBO show “Silicon Valley” where the protagonist has cracked the code to making a decentralised internet which doesn’t require large server farms to store data. Instead, it will be stored in bits and pieces across user’s devices. The idea of Solid is somewhat similar, although the approach might be different. How different would be a question for a computer science expert to answer.

Berners-Lee’s aim with Solid is to take away the power internet giants have over user data and give it back to the users. Users can choose whom to give their data to. Solid’s progress has been relatively slow over the two years of its existence. However, Berners-Lee now tells his team has hit some sort of a watershed moment and work has been ramped up significantly. Vanity Fair reports those who work with him closely say the enthusiasm is similar to when he was working on creating the world wide web some three decades back.

The father of the internet hasn’t minced words when it came to the state the internet is in currently. The Cambridge Analytica scandal or reports of Russian interference in US elections through Facebook has troubled him personally. In that sense, the ongoing decay of the web is fueling the development of Solid. With user data being a cause for concern in recent times, hopefully Berners-Lee will save the world once again, sometime soon.

Digit NewsDeskDigit NewsDesk

‘).insertAfter(‘.inside-container p:eq(1)’); */
// $( ” ).insertAfter(‘.inside-container p:eq(0)’);
//method to trunkate the text
function shorten(text, maxLength) {
var ret = text;
if (ret.length > maxLength) {
ret = ret.substr(0,maxLength-3) + “…”;
return ret;

//function to put utm on DontMiss links
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=desktop&utm_campaign=related’);
//trunkate dont miss content
var sub = shorten($(this).html(),47);
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=mobile&utm_campaign=related’);

//disabled method to append dontmiss links to page content by Mayank
/*$(‘div.dontMiss > a’).each(function(index){
//loop over each list item

// if(index%2 > 0){
// index = index – 1;
// }
if($(‘.inside-container > p:eq(‘+index+’)’).length){
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );

/* if(isDesktop()) {
} */

* ga event tracking on page scroll start and end by Mayank

// Debug flag
var debugMode = false;

// Default time delay before checking location
var callBackTime = 100;

// # px before tracking a reader
var readerLocation = 150;

// Set some flags for tracking & execution
var timer = 0;
var scroller = false;
var endContent = false;
var didComplete = false;

// Set some time variables to calculate reading time
var startTime = new Date();
var beginning = startTime.getTime();
var totalTime = 0;

// Get some information about the current page
var pageTitle = document.title;

// Track the aticle load — disabled
if (!debugMode) {
// ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1});
// console.log(“ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1}”);
} else {
alert(‘The page has loaded. Woohoo.’);

// Check the location and track user
function trackLocation() {
bottom = $(window).height() + $(window).scrollTop();
height = $(document).height();

// If user starts to scroll send an event
if (bottom > readerLocation && !scroller) {
currentTime = new Date();
scrollStart = currentTime.getTime();
timeToScroll = Math.round((scrollStart – beginning) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘StartReading’, pageTitle, timeToScroll, {‘metric1’ : timeToScroll});
} else {
alert(‘started reading ‘ + timeToScroll);
scroller = true;

// If user has hit the bottom of the content send an event
if (bottom >= $(‘.inside-container’).scrollTop() + $(‘.inside-container’).innerHeight() && !endContent) {
currentTime = new Date();
contentScrollEnd = currentTime.getTime();
timeToContentEnd = Math.round((contentScrollEnd – scrollStart) / 1000);
if (!debugMode) {
if (timeToContentEnd = height && !didComplete) {
currentTime = new Date();
end = currentTime.getTime();
totalTime = Math.round((end – scrollStart) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘PageBottom’, pageTitle, totalTime, {‘metric3’ : totalTime});
} else {
alert(‘bottom of page ‘+totalTime);
didComplete = true;

// Track the scrolling and track location
$(window).scroll(function() {
if (timer) {

// Use a buffer so we don’t call trackLocation too often.
timer = setTimeout(trackLocation, callBackTime);

‘).insertAfter(“.inside-container p:eq(2)”);


Source link