{"id":330,"date":"2019-03-09T20:10:03","date_gmt":"2019-03-09T20:10:03","guid":{"rendered":"https:\/\/www.mentic.com\/blog\/?p=330"},"modified":"2019-03-09T21:52:41","modified_gmt":"2019-03-09T21:52:41","slug":"thoughts-on-5g-web-4-0-clear-computing","status":"publish","type":"post","link":"https:\/\/www.mentic.com\/blog\/2019\/03\/thoughts-on-5g-web-4-0-clear-computing\/","title":{"rendered":"Thoughts on 5G Web 4.0 Clear Computing"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">We\u2019ve had \u201cCloudy\u201d computing for a\nwhile now. Before that we had client-server and even mainframe computing. To\nstick with the meteorological metaphor perhaps we can think of those computing\neras as our \u201cRainy\u201d (we were covered by the services of our umbrella \u00bf?) and\n\u201cSnowy\u201d (we hunkering down in the mainframe and saw the world through our\nlittle windowed terminals \u00bf?) epochs\u2026 yeah; kind of a stretch. None the less I\npropose we\u2019re entering a new era. An era of \u201cClear\u201d computing. A time when you\ndon\u2019t know, and don\u2019t care, where something is physically working for you. A\ntime when the idea of \u201cinstalling\u201d programs is considered old-fashioned. And\nwhere everyone on the sky network can lend their resources to the clouds if\nthey want to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A better metaphor for all this might\nbe one of phase change; we\u2019ve gone from \u201csolid\u201d computing in the form of\ncomputation being tightly bound to the hardware; to \u201cliquid\u201d computing in the\nform of logic running on virtualized hardware and common frameworks with\ninterpreted languages. To \u201cgas\u201d computing in the form of ephemeral\ncontainerized microservices running over networks and machines with common protocols\nand interfaces.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To carry the metaphor forward we can\nsee a new phase of computing; \u201cplasma\u201d computing. A phase where ephemeral\ncontainers materialize, run, and evaporate on a vast peer-to-peer network of\ncomputational nodes in data centers and pockets. Where globally addressable\nimmutable bit collections are the cells you pull from the ecosystem hives to\nbuild your particular colony of workers doing your bidding. Any bits close to\nyou are only there due to nanosecond latency requirements. Otherwise they\u2019re\nonly a hyperlinked millisecond away. It\u2019s a phase where the network itself is a\npart of the computational node\u2019s memory hierarchy. And where your spare CPU\ncycles might run someone else\u2019s containerized workload; for a\nquality-of-service credit of course.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To facilitate such a systems\narchitecture we\u2019ll need high-bandwidth low latency network connections. We\u2019ll\nneed completely portable execution containers. We\u2019ll need protocol based\ninterface languages running on frameworks that truly span the spectrum of\nhardware. Fundamentally we\u2019ll need what we need to make things that function\nmore in terms of streaming frames of multi-path parallel communication rather\nthan the stilted unidirectional sending and receiving of messages in a serial\nconversation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some of these bits have yet to\narrive, and we\u2019ve got some bits of the bits for some of the others. For\nconnectivity 5G networks are coming (as soon as we\u2019re certain they won\u2019t cook\nour brains and DNA). For portable computation we\u2019ve got orchestrated and composable\nmicroservice containers running in the cloud. But you can\u2019t yet pull down a\ncontainer, run it on your phone, and have it paint your screen with all its\napplied usefulness. And you can\u2019t yet tie together chunks of packaged logical\nfunctionality into web assemblies that compose in your hand. But technically\nit\u2019s totally doable once all the right links are in place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To date the only truly portable UI\nstandard has turned out to be the document object model from last millennium\u2019s\nweb-tech stack (HTML, CSS &amp; JS) but we know we can do better. Our paged\nscripts have already given way to the shimmering screen, we just have yet to\nimproved our screenwriting. The React<em>ion<\/em> to such a state is to try and\nwrap up all the documented nuances of the library and render a way out of the\nproduction. Or to offer up a way to clip off pieces of the web into more\ncomposable \u201cwebcomponents\u201d. Or to just entirely re-imagine the GUI generation\nmethodology within some idiosyncratic mental space of our own device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Whatever the current state the good\nnews seems to be that within a community any platform bound framework islands\n(like iOS and Android in the mobile space or AWS, GCP, and Azure in the cloud\nspace) will only prompt the development of bridging frameworks like <a href=\"https:\/\/flutter.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">Flutter<\/a>,\n<a href=\"https:\/\/facebook.github.io\/react-native\/\" target=\"_blank\" rel=\"noreferrer noopener\">React Native,<\/a> and <a href=\"http:\/\/www.xamarin.com\" target=\"_blank\" rel=\"noreferrer noopener\">Xamarin<\/a> by those that want\nto get off those islands and build across the divides. That or everybody will\njust agree to implement defacto standards like Amazon\u2019s S3 and EC2 APIs until\nsome standards body comes along to confirm that we all got in the same boat and\nmake it official with a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ceremonial_ship_launching\" target=\"_blank\" rel=\"noreferrer noopener\">christening<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The current need is for the big\nplatform elevators who make Android, iOS, WinOS, macOS to join Linux and fully\nembrace the standards that already exist; <a href=\"https:\/\/en.wikipedia.org\/wiki\/POSIX\" target=\"_blank\" rel=\"noreferrer noopener\">POSIX<\/a>, <a href=\"https:\/\/www.khronos.org\/registry\/OpenGL\/index_gl.php\" target=\"_blank\" rel=\"noreferrer noopener\">OpenGL<\/a>, <a href=\"https:\/\/svgwg.org\/svg2-draft\/\" target=\"_blank\" rel=\"noreferrer noopener\">SVG<\/a> and <a href=\"https:\/\/www.w3.org\/DOM\/\" target=\"_blank\" rel=\"noreferrer noopener\">DOM<\/a>.\nAnd for any technological framework that wants to enter the community to be a\ngood global citizen and auto generate the codification of its tech into the\nlanguage agnostic landscape; <a href=\"https:\/\/grpc.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">gRPC<\/a> is a great example of that done right.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The future will ultimately stand\nupon the platforms that built bridges; the truly cross-platform platforms.\nDocker for example runs on server farms and Raspberry Pies in the field. And\nKubernetes navigates across every cloud out there. We may never get to a human\ninterface layer more ubiquitous than the browser based web stack for doing\nthings like drawing a button to capture a click or styling text on an arbitrary\nscreen. So with that strong possibility it\u2019s probably a safe bet that the cross-platform\nframeworks will ultimately wrap up the myriad interfaces and protocols of the\niOS-win-lin-mac-droids into neat little packages that flutter functionally all\naround the network enabling you to execute your functionalized thoughts\nanywhere they\u2019re needed or wanted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this forthcoming clear\ncomputing \u201cWeb 4.0\u201d platform I dream of the day when hundreds of imperative,\nplatform specific commands, give way to terse declarative statements that can\nspan systems. A day when designing with patterns, interfaces, and generically\ndefined algorithms is as easy as specifying behaviors with simplific and\nknowledgeable English. When codifying gets out of the way of conceptualizing,\nand software development feels more organic than mechanical. When we write to our\nmachines with declaratives and they scribe out the required imperatives.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How might we speak to our machines\nin the future? Well Java has brewed for a long time but it kind of got lost\nwithin its own verbosity. C# is trying to see clear enough to go deep\nwith&nbsp;.NETcore and Go wants to go there too but perhaps we\u2019ll realize we\u2019ve\nhad a lingua franca all along in the form of C\/C++. But that only with the help\nof an elite cadre of interpreting members of the scribe classes could regular\nnon-geniuses get their thoughts to swiftly dart like pythons across the\ntypescript-ed domains of the machine sea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To unlock the truly amazing\npotential of the peer-to-peer Web 4.0 clear computing; that plasma state\nparadigm of computation which can supercharge our information technology world;\nthat containerized microserving widget graph of gizmos tied together with\nhyperlinks and blockchains, we\u2019ll need to solve the <a href=\"https:\/\/martinfowler.com\/bliki\/TwoHardThings.html\" target=\"_blank\" rel=\"noreferrer noopener\">single<\/a> hardest problem in computer science:\nGetting everybody writing on the same page when it comes to agreeing on how to\nname and declaratively do stuff.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We got really far with getting and putting things. And we can at\nleast agree on what a button, a click, and a swipe are. But after that it goes\ndownhill pretty fast. Reconciling how to work with things like \u201cviews\u201d,\n\u201ccontainers\u201d, \u201cactivities\u201d, \u201cwidgets\u201d, \u201cframes\u201d, and \u201cwindows\u201d may never be\npossible without the constrained namespaces of their platform specific\nimperative contexts. But if we can eventually find common declarative meanings\nwith agreed upon semantics it could help us all communicate and execute our\nformalized thoughts so much better than we do today.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We all know what a pie chart is. So\nthen tersely declaring such a thing to draw itself on the web or a watch with\nsome addressable table of data without learning the imperative codifying\ndetails should be within the realm of possibility one would think. Perhaps\nwe\u2019ll never unlock the full richness of a particular platform without speaking\nits native dialect of \u201ccomputer\u201d. But if we\u2019re provided by that platform with a\nnative translator that can understand simple declarative English referencing a <a href=\"https:\/\/github.com\/Microsoft\/CDM\" target=\"_blank\" rel=\"noreferrer noopener\">common data model<\/a> or standard application model maybe that\u2019s\nthe next best thing. We\u2019ll need all help we can get when it comes to talking\nwith the sky and taking our dreams to the clouds.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An era of &#8220;clear computing&#8221; is on it&#8217;s way. The clouds will soon part.<\/p>\n","protected":false},"author":1,"featured_media":331,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[5],"class_list":["post-330","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-overview","tag-cloud_computing"],"_links":{"self":[{"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/posts\/330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/comments?post=330"}],"version-history":[{"count":3,"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/posts\/330\/revisions"}],"predecessor-version":[{"id":334,"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/posts\/330\/revisions\/334"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/media\/331"}],"wp:attachment":[{"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/media?parent=330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/categories?post=330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mentic.com\/blog\/wp-json\/wp\/v2\/tags?post=330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}