Logo TIB AV-Portal Logo TIB AV-Portal

Autonomous web apps with Sockethub

Video in TIB AV-Portal: Autonomous web apps with Sockethub

Formal Metadata

Autonomous web apps with Sockethub
Title of Series
Number of Parts
CC Attribution - ShareAlike 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
As the major social network vendors increase their customer lock-in, and the open social web platform alternatives continue to be dispersed and re-invent the wheel, we're faced with many different, mostly non-interoperable platforms, protocols and APIs to choose from.Developers must spend their time picking and choosing protocols and APIs to integrate into their applications, banking on the increased lock-in of their chosen platforms to ensure the applications' relevance and longevity. Open-source application developers, are either limited by what they can realize completely in the browser, or faced with tying their application to backend servers to carry out parts of the functionality, or store user data.
Directed set
Web application Matching (graph theory) Cellular automaton Network socket Tap (transformer) Autonomic computing Independence (probability theory) Storage area network
Suite (music) Hypermedia output Computing platform
Mobile Web Building Functional (mathematics) Open source Multiplication sign Software developer Computer Bit Web browser Cartesian coordinate system Web browser Proof theory Web application Term (mathematics) Network socket Website Right angle Quicksort Address space
Presentation of a group Email Server (computing) Service (economics) Cartesian coordinate system Neuroinformatik Twitter Web 2.0 Web application Radical (chemistry) Facebook Message passing Software Hypermedia Computing platform
Web 2.0 Web application Facebook Service (economics) Term (mathematics) Multiplication sign Term (mathematics) Cartesian coordinate system Computing platform
Web application Service (economics) Term (mathematics) Decision theory Moment (mathematics) Content (media) Disk read-and-write head Cartesian coordinate system Number Neuroinformatik
Source code Group action Focus (optics) Open source Software developer Multiplication sign √úberlastkontrolle Vector potential Formal language Twitter Web 2.0 Web application Facebook Arithmetic mean Exterior algebra Computing platform Window
Web 2.0 User interface Facebook Standard deviation Logic Software developer Multiplication sign Open set Cartesian coordinate system Communications protocol Twitter
User interface Area Scripting language Group action Mobile app Service (economics) Projective plane Sound effect Login Web browser Cartesian coordinate system Web application Process (computing) Software Logic Right angle
Server (computing) Email Dependent and independent variables Service (economics) Instance (computer science) Mereology Cartesian coordinate system Formal language Twitter Number Particle system Facebook Web application Message passing Process (computing) Software Personal digital assistant Network socket Right angle Quicksort Message passing Communications protocol Computing platform
Sine Service (economics) Set (mathematics) Twitter Facebook Latent heat Different (Kate Ryan album) Queue (abstract data type) Address space Computing platform Email Focus (optics) Dependent and independent variables Bit Line (geometry) Cartesian coordinate system Type theory Web application Message passing Process (computing) Exterior algebra Facebook Object (grammar) Communications protocol Address space
Point (geometry) Installation art Server (computing) Mobile app Service (economics) Pay television Key (cryptography) Multiplication sign Internet service provider Planning Cartesian coordinate system Term (mathematics) Personal digital assistant Logic Network socket American Physical Society Circle Right angle Computing platform Computer architecture
Area Email Email Server (computing) Mobile app Service (economics) Vapor barrier Open source Key (cryptography) Software developer Sound effect Computer network Cartesian coordinate system Demoscene Software Personal digital assistant Network socket Internet service provider Autonomic computing Video game console Writing Computing platform
Point (geometry) Mobile app Stapeldatei Open source State of matter Software developer Sound effect Planning Client (computing) Surface of revolution Type theory Message passing Facebook Network socket Arithmetic progression Computing platform Alpha (investment)
Point (geometry) Metre Game controller Mobile app Server (computing) Presentation of a group Information Software developer Cartesian coordinate system Code Self-organization Right angle Quicksort
Web 2.0 Web application Computer file Personal digital assistant Hypermedia Projective plane Data storage device Website Remote procedure call
Email Data storage device Electronic mailing list
if the humor and
it and up
but the the yeah I it was common make
surnames from San Francisco but living in Europe when think ahead it is found of OK and in match also way your weapon education by independent and not on 1 cell so Nick is talking
about autonomous web apps with a socket tap M
now it's it's an idea of using social media the and not over middleman platforms I think if I am the suits and now very look informaton as inputs make
it hello uh my name's nick and
that's they under me talking about socket and the idea of building applications to be more autonomous and future proof um and also work protecting your rights at the same time so the the 1st a little bit about myself my name's Nick Jennings and open source developer have been involved in open source for a long time over 10 years and both of you profession or just as a
hobby and lately i've had the good fortune to be working on the future Web applications giving a lot of thought and developing some solutions but before I begin I just wanted to kind of address what actually a web application is because I think the term by is confusing some people from consider a more mobile thing others it could be in a browser Wikipedia the definition from Wikipedia means can't everything is aware that even the new site is a web app anything that is in the browser and has some sort of functionality is is it is a web application so really but in this day and age webapps are are everywhere and everything is essentially a web app
so uh but that said web apps are clearly this the future of computing and to me I think when this whole trend started I guess maybe 5 years ago became really popular and and people were really excited about why that's and I was excited to but I was also kind of nervous about it because uh most web apps that we use are controlled obviously by companies and uh the idea that everybody is on a dumb terminal accessing the web and these companies provide you with the applications and everything's in the cloud so that you can never giving up your freedoms and lot of ways so there's a lot of the lot of people not just me obviously and frank presentation was and addressing the same issues and so consolidation of the web is that something that
has been happening quite a lot lately especially in in regards to social media platforms like Facebook and Twitter if you think of like an e-mail services use you send an e-mail to goes from your server to the target server and that's set but with social media everybody has to join these internal networks essentially to send messages right to and from each other and that's really what I may folksonomy there's a messaging in communicating with people on the
web uh another really bad thing about how most applications we use are the terms of service and I don't know how many of you actually spend the time to go and read the terms of service and willing to bet that most of you don't hide I don't and usually we don't read these things uh and as a side note shameless plug I have some friends who are working on trying to help users to get an idea they they grade on various
platforms on in terms of service you get an idea of of of How about how controlling of platform can be like Facebook or Google so that another big problem with with web applications and traditional Web applications are that these companies can revoke your access at any time the web application you might have paid for it you might
buy content through the web application but generally speaking the terms of service allow them to revoke everything at any given moment could be a business decision or they go out of business or they get bogged any any number of things so here's an illustration you have company a that makes the next best
webapp in everybody's excited everybody's happy but then company a goes out of business or company a gets blocked suddenly application stop working and everybody said this is not how I want my head of the future of applications to work for me the computer basically can just refusing to load whatever application you bought so the that yeah in this this can a bleak
future year online presence is dictated by private companies I think we can all agree that's not a really good future and we need to take steps to to avoid that that said we are also probably greener web that's a pretty cool the extremely useful but they can be accessed from any device that can be accessed from any platform and also for developers yet you suddenly have a much wider audience previously there's Windows 2 Windows developers Linux developers Mac developers and now we have a new platform that everyone can use and we have a common language and tools said it's actually quite awesome and there's a lot of really amazing potential there and obviously web apps are here to stay and we should do our best to make them often know and so we need to do more to protect our time in this regard and I'm obviously not the 1st person to get
appearance say these things and there are a lot of people have tried stuff in the past and and I can go in any specific attempts but I will do you wanna focus on distributed social networks and the user from groups that have been working to have 4 provide alternatives to Facebook and Twitter and generally speaking there open source alternatives and the Federated meaning like I was saying before you don't have that consolidation of the network congestion which is really getting at think that
that design is great and we want to be more independent and the web and not rely on these corporations to provide us access to doing things 1 of the problems with distributed social networks historically has been um the protocol EPA eyes and I don't know how much you guys know about it but it's can almost political away there so many different protocols and what will be the open standards or for companies inventing protocols that as a developer becomes very difficult to write an application that integrates with everything nicely and the she was spend a lot of time implementing all the different protocols fixing it when they change interfacing with Twitter Facebook and the needs of honey distributed social networks and it can be a nightmare another problem uh I think is is kind of the speed in which these distributed social networks of the moving they're trying to develop everything full-stack from the from the ground up in here is just a very general um idea of what I mean by that you have the
data protocols application logic and the user interface and these people are trying to develop the the the complete solution to the problem of which is a noble effort but I think it's it's just taking on too much for me you can can Q with Facebook in that way you can have stay on
the cutting edge of the user interface while trying to do things the right way and keep everybody happy and I would say that private them the major problem is a network effect which is why most of these social networks distributed social networks have not caught on yet in a in a large sense you need a critical mass of users before they become useful at all really it so I think that with that in mind and there is a new approach which a small group of people and I've been working on in in that the general idea is the idea of an and ousted webapp where you from can take this this
full-stack approach you break it up and you turn these the back and services or the back and logic into services that the user can subscribe to and um are not directly coupled to the application so for example here you take this this top area would be the what's in the web browser you have the H 2 moles the jobless script and all of the app logic there and then you have these generic services that the user can can define work to be used by the application now not really going going to the dataset anything think that Frank did a great job of have talking about that that is another project which is also might
be part of a long-planned eventually but it's called remote storage and if you get a chance I recommend checking that out what I'm going to talk about is more about the protocols that are involved specifically in regards to messaging that's what socket
have is focusing on right now is from being able to stay me to message people on various platforms without having to go and be a part of those platform networks so what exactly is socket how well sort of business is a server that our or service that runs on a on a server and it communicates via WebSocket right now although it could communicate in a number of ways in the future but the basic idea is that it's a polyglot messaging service polyglot meaning uh being able to speak many many different languages in this case API eyes and protocols and particles at the basic concept here is that we're not picking winners and losers were not saying this open protocol is better than this close protocol and their forward appalling and using this in you just kind screwed if you wanna talk to your friends who were on Twitter or Facebook uh just to give you a of a basic overview of socket have this is very basic but you have your web application that which is independent then you send these generic messages to the socket of instance the socket of instance will take that message and get the job done whether that's uh a message intended for Facebook or Twitter and e-mail message for next pp message is just what we're starting with so the message gets delivered and you get a response back to your application uh so what are the messages look like and here's an example of you can read that but that is a very basic example of how someone sending an e-mail so in your
application in jobless use make adjacent object and you send it via WebSocket but this specifies the platform which is you know what you wanna do is the verb that send uh the to and from addresses and the body of the message so with that you can go ahead and send an e-mail with somebody and now they're credentials obviously that are involved before this step but I'm not getting into that for this talk and but it's it's the same process this set credentials using adjacent object here's here's an example of sending a Facebook message the object looks almost the same you just using a different type of user name which is the face but username and serving e-mail address specifying that you send it to Facebook so it with this layer nite URI application is is not involved at all with any of the protocol specific so you could you could imagine a 5 years from now knows whether we'll be using Facebook and Twitter mean probably well but nose and there could be many other things that they become popular since then the only thing that has to change really is over a few lines maybe and to specify a new platform and uh a new platform developed for socket so that a little bit more in depth about the way
I have alternates just give a brief overview of the web application sends a message through WebSocket and it's handled by dispatcher who validates the J sine handles all that kind of making sure everything's OK and a gets put into a queue and down here the platforms is is really the kind of the focus on all these are extremely modular so anyone could come in at a platform for a new service that they want to interact with the user handling in in in a very abstract way so a message is sent to the platform and the platform has the ability to to send a response back were sending messages back and they can they're all routed back to the web application so the idea here is
that and I don't know if you familiar the term back in as a service but that's the idea that the user is is that the user defines where they wanna host the data um so they could choose something like ownCloud those the data and in this case they could choose what server they want to handle all the messaging to be their own personal server could be a company that provides socket held as a service but the but the key is that the application doesn't have to implement all that back in logic itself so if you go back to our previous example here where
everybody sad because of fear that doesn't work if these apps were developed with with this architecture in mind uh 1 of these users could install socket about personal server suddenly there at this point server and it works and happy and likewise a circle of business not interested person could set up of service and and provided a small subscription fee for for users to sign up with in that way other uses that don't have their own server can also be happy in their apps can run so in this way the the AP live longer than any 1 company and we we can return to the idea that the APS is something that we we we buy or we we don't but it's something that we choose we wanna use the 1 make that better we want that to live on beyond uh beyond the lifetime of 1 company as companies get all the time business plans change so what can be done with socket have right now uh some examples will be an instant messaging application the kid right platforms for not just x pp but also MSN or a more secure in anything you wanted uh in e-mail application right now we
really don't have any any ability to write that in an autonomous e-mail application they're all tied to to service providers you know is you you're locked in the application served from Google and and that's it so in this way you could write actually no application that this is a work that can handle SMTP pop an I map of the socket RSS reader we we all know like Google
readers recently close the doors so this is a perfect example of why this is important for the future if we design our apps to be more robust we can we can migrate away from a from a service that that are being closed down and also you could implement something like a social networking consul TweetDeck against was something I was big so something like that and like I said before platforms are extremely extensible so you can add a platform uh the benefits are primarily due to lower the barrier of entry for developers if you if you have an idea for an application you could focus on just building an app and you don't have to worry about setting up a bunch of servers if you don't want to give you a start up you could do that and you could obstruct the whole thing behind the scenes but the idea is that open source developers can just write apps for socket hub and they don't have to have a server that's doing the work which is in the key is is often the case these days um another big benefit is that uh it's it's not completely addressing what distributed social networks are trying to address but it is in the same area and it's not affected by the network effect 1 person could writing out and it's
immediately effective for that person there is no need for everyone to join in and participate in the Revolution it's it's uh it's directly proportional if I use it at 100 % effective for me fossil practical both private businesses and open-source developers and users as a tool in the toolbox from without having to you get everyone else involved in the idea so are there any apps right now soccer was about 4 months old and it's it's a pretty stable at this point were working in
parallel on the messaging client called doctor talk and they're both not ready they don't they don't a stable release as a dot type is kind of an alpha state you can send and receive messages everything's working in that regard but it's not feature complete if you're interested in in the get help link uh socket have itself so we've got these platforms already under progress of they're not completed yet but this is kind of the 1st batch that were working on and many more plans so this is just an idea but it's really up to also what people are building in in what takes priority here
so in conclusion I think can but the main point of the talk really is that I I have personally as a developer and I think it's important to write apps for the future and into thinking in the of the AP the lifetime of the AP outside of the lifetime of a server farm for your company or something like that if you're start up I I think it makes a lot of sense but in the future for us to have more control over applications for users especially uh it to expected to expect autonomy to expect to have the control and reserve the rights and now I think that's very important so if you're interested in this weekend actually in Berlin
were having a meter upper talk more about this probably do some coding and some more presentations and just of you know get an idea of of what people think that if you're interested you can go to sort of that organism more details there and that's about it is contact information if you need to get a hold of me and if there's any questions i can answer now thank you be the
the question how many questions take the chance to have sex with him that's it I'm and thanks for you talk to them I have a question on the web that can be a website them when the 11 Web at this and hosted will where do I host way to wrap up my media assets where do up these users files center where to our host the web app like well I I wasn't really focused on data but but in the remote storage projects is actually more handling that side of things what to do with the user data or that the site data and in the case of a of a website it might not make the most sense some were mostly focused on the the application as as a tool but it can be done
as well uh I recommend you interested looking into remote storage and we have a mailing list and and people are talking about this actually right now so thanks any more
questions comments the of claim thank you the yeah this and I
and and yeah