The internet was created to move static documents, like text and pictures.
These are cute and all, but we need change! We want dynamic documents that update instantly online and on every screen. Dynamic? Think of social media feeds where thousands of peoples' updates are shared instantly.
But the Internets weren't made to be dynamic. So programmers hacked this to create dynamic webpages. Coders piled on different languages, libraries and tools. But this was a clunky fix.
And just one flaw can make the whole system fall apart.
Statebus is the hot new protocol on the scene, where dynamic data flows flawlessly from thousands of sources and synchronizes all related state.
Ok, but how did we get here? How did we gets the Internets and whys everything out of sync?
Send in the Computers!
Seriously, back in the 1950s and 60s, computers were humans, usually women, who crunched thousands of equations. Even the first giant computers had to be fed data manually.
Check out Senior NASA Engineer Mary Jackson operating one of the early mainframes. Like a BOSS!
Back in the day, to get knowledge from place to place, humans had to walk to their cars, get in and drive piles of data from one computer to the next. What?! So inefficient!
Packet switching was invented to transfer data from computer to computer. But the system could only transfer small chunks of data at a time along a closed network.
And as the Cold War heated up, there was a fear that a Nuclear Attack could destroy one computer in the network and thus destroy all the data in the system. The precursor to our modern Internet, the US military's ARPAnet (Advanced Research Projects Agency Network) was formed to create a decentralized network that could withstand a nuclear attack.
Too bad we didn't have Posh Spice to stop a Nuclear Missile in her pleather catsuit. That'd be just Too Much.
Precursors to the Web
A Place where no one dared to Go....
There were many competing attempts at creating the World Wide Web that we know now, including DARPA's Memex and IBM's Generalized Markup Language. A notable attempt that started in 1960 was called Xanadu. Similar to the 1980 rollerdisco rock musical of the same name, starring Olivia Newton-John as a Greek Muse who leaves Mount Olympus inspires a mere mortal to open a roller rink cum nightclub, Xanadu was a flop, but has a loyal following.
The Internet goes Public
Ok... so Al Gore didn't invent the Internet. He actually never claimed he did. He did say in 1999 that “During my service in the United States Congress, I took the initiative in creating the Internet.” The Internet as we know it is a commercialization of the work done by the US Military. Gore was was the prime sponsor of the 1991 High-Performance Computing and Communications Act. The bill pumped $600 million into research and popularized the term Information SUPER Highway.
***Cough***Cough*** Looking at you Congress, wondering if you'll ever make large investments in technology again... but ANYWHO
The first providers of access to the Internet were AOL and Compuserve. These allowed you to enter the Internet only through their walled off and highly curated communities.
To access the Internet, you had to install one of these CDs and connect through your Dial Up home phone.
But once you were online, you were GOLDEN!
But this meant these companies controlled the data you saw and the people you interacted with. It was a big scary tangled web out there, and AOL didn't want you to get lost.
Google came along and indexed the trillions of webpages that were spread all throughout the tangled interwebs and allowed you to quickly search and find the information you wanted.
Web 2.0 opened up the Internet, allowing people to connect more easily and create and share their own magic. For example, Leslie Hall, a curator of gem sweaters living in Iowa used the user generated video sharing site, YouTube, to become a world renowned rap sensation!
But the power necessary to make every rhinestone sparkle needs a lot of dynamic data transferred and synchronized among the computers of her millions of fans.
With Social Networks, we want to send out data about our most important thoughts and instantly have our friends see and respond with their own data.
From restaurant reviews, to Wikipedia, to billions of social media profiles, user created dynamic data runs the Internets.
But to transfer this ever changing dynamic data, we have to stack code from dozens of libraries and tools. This is clunky and prone to fall apart. Why? Because the entire system that the internets was built on was made to send static, unchanging, documents.
Beep Beep! Here's Statebus!
Let's STOP this madness. Statebus changes the basic system underlying the InterWebs so its made to send and sync dynamic data.
So wait... What's a Statebus again?
State is the present condition of a set of data. But the tricky thing is that data can change. And that means all the state dependent on that first state also have to change. Here's an example, the state in the above GIF is of a woman about to get married, but then her state changes to Ursula the Sea Witch. Because her state has changed, the state of everyone affected by this change, ie the wedding guests, have to change their state in reaction to this change, in this case to shocked and appalled.
Bus in computer science is all the pathways that bus data around, communicating it at each stop so the dependent data can change accordingly.
Enter Statebus! Statebus assigns a URL to each piece of state, not just webpage. URL's, like: www.penisland.net, are the address pages for the World Wide Web, in that case, a special page all about pens.
Statebus tags all state with one of these address tags, so when one piece of state changes, it updates the other pieces of state affected by it, not the whole webpage.
Statebus--- It's soooo FETCH!
Instead of GET, you can use the FETCH function to subscribe to any object. When that object changes, the example will re-execute, synchronously.
Well guess what Regina? We just made Fetch happen! BOOM! And you just got hit by the Statebus. Love Ya! (SMOOCHES)
Ain't no Hollaback Code!
By synchronizing state with FETCH and SAVE, you can write functions that produce state that is always up to date, without callbacks. Callbacks are clunky pieces of code whose function is to get another piece of code to execute an argument.
And yes, this SHIT is---
to all those languages and tools used to keep state N*Sync: BYYEEEEE React, Angular, Ember, Rails, Falcor, Backbone, Marionette, Handlebars, JQuery, Dojo, Redux, mobX, GraphQL, Relay, Websockets, XMLHTTPrequest
So what's Statebus gonna do for me?
Statebus gives your code a MAKEOVER
Alright, let's use one of the most hackneyed Hollywood tropes, the spontaneous makeover.
Statebus allows programmers to pluck, tease, straighten code bases to keep them slim and trim. We've trimmed our code base for www.consider.it by 2/3rds! This makes it easier to code and to learn how to code.
Tools you can play with
Statebus allows for lightweight video chat to be seamlessly added to any website, making collaboration easier. Try it out at Tawk.space!
The state of all your new friends' cursors automatically updates and syncs in your web browser so y'all can have a Cursor Disco!
With consider.it, you can react to text on a slider and instantly see all your friends' reactions in real time. Learn more at www.consider.it.
All Aboard the Statebus!
Give me HO if you’ve got that funky bus fare! HOoooooo!
Millze gillzot sillzomebillzody plillzays dillzouble dillzzutch
Learn more!CLICK HERE to learn more.
|3 21, 1994