EOF - Freeing Up Level 7
There was a time when the decisions you made about what you did with apps started down at OSI Layer 1: with wiring. That's because everybody sold “integrated” systems that were silo'd up every layer of the OSI stack, which looked like this:
(Yes, there are other ways of sorting these out. But these seven are the most widely used, so bear with me.)
So, several decades ago, if you had an IBM system 34, 36 or 38, you needed twinaxial wiring at the bottom and apps written just for those systems on top. Even different IBM systems used different wiring, networking and apps.
Efforts to make wiring more generic took place a level or two up. That's what Ethernet and IBM's own Token Ring did. But, there were lots of different Ethernet and Token Ring products, each with their own special wiring as well. These too were problems to be solved. Novell got that started in the mid-1980s with NetWare, and TCP/IP finished the job by taking care of layers 3 and 4 (network and transport) for everybody and everything, through the Internet. TCP/IP's liberating effects go both up the stack and down. You can put whatever you want under it or over it, without worrying about what's on the other side.
Our lives sit atop Layer 7. This is the layer we see when we look at the collection of apps on the mobile devices that go in our pockets. Since we're talking Linux here, that mostly means Androids, which passed the 100,000 app mark in late October 2010. For the sake of the point I'm about to make, let's add the 300,000 apps that also are on iPhone, and the thousands each on Windows, Symbian and other platforms. My point is that the OSes on which they run shouldn't limit how you connect them to whatever you want, including other apps.
But, most of the apps we get are extensions of servers and services. At that level, lots of great stuff is happening, especially with APIs. Facebook's and Twitter's APIs give you a single-sign-on shortcut on many sites. You also can connect services, such as by making your Flickr photo uploads appear on Facebook.
But, what can we do all by ourselves to connect apps and data together in our pockets? For that, we're still early.
For example, let's say you're a surfer. You have a surfing app on your phone. You also have a calendar, a map app with traffic information and a fitness app with data gathered from your bathroom scale, your sleep monitoring system and your workout app. In the old world, where we still live, the first place most of us naturally look for putting these things together is within and across the different services provided by the makers of those apps and devices. But, why not program these connections for ourselves? That's the only way we can be fully autonomous at Level 7.
“Level 7 is the last frontier”, Craig Burton says. At Novell in the 1980s, he made NetWare liberate dependencies from levels 1 and 2. Now he's working with Kynetx, a startup in Utah. Rather than looking at the world as a bunch of clients and servers, Kynetx sees end points, events, rules, data and rules engines. To those, they've added some definition and a language (KRL) for writing rules. Using KRL, you can program rules to say surf's up (when it actually is, in real time), but only after also noticing that you're five pounds overweight, it's four days since you've exercised, you've had enough sleep, you have no appointments coming up, and the traffic is clear. Notice that all the control here is in the hands of the user. (The same can be true for companies, which can write their own rules too, but our focus here is personal.)
Back in the client-server world, which is still with us, we now have a proactive model, in which there are what Craig Burton calls “full-duplex” interactions across APIs, live. This is new too.
Here in Cambridge, Massachusetts, I've also been talking with Ben Rubin, founder and CTO of Zeo, another developer whose work I dig. Zeo makes the Sleep Coach, a device that monitors the health of your sleep. (Yes, it runs on Linux.) Zeo's corporate friends include RunKeeper, DalilyBurn, Digifit and Withings. I already have a Withings bathroom scale. I just got my Zeo set up today. And, I've also just started working out at the local Y. Over the next couple months, I'm going to see how these all mash up, keeping in mind how I'd like to control the ways these sites, services, apps and devices let me do that—on my own—and how new frameworks like Kynetx's make that possible. I'll let you know how it goes.
Doc Searls is Senior Editor of Linux Journal. He is also a fellow with the Berkman Center for Internet and Society at Harvard University and the Center for Information Technology and Society at UC Santa Barbara.
Doc Searls is Senior Editor of Linux Journal
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Hacking a Safe with Bash
- Django Models and Migrations
- Secure Server Deployments in Hostile Territory, Part II
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Shashlik - a Tasty New Android Simulator
- Home Automation with Raspberry Pi
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development