« October 2011 | Main | December 2011 »
November 30, 2011
Sky: The New Kynetx Event API
Lately, I've been talking a lot about personal clouds and personal event networks. The power of a personal event network is harmonizing your various lives: business, personal, and social. Having a personal valet that thinks about you---your needs, your quirks, your life. A personal event network puts you into a position of just making go--no go decisions, rather than having to get involved in all the gritty details of how they get done. A real personal assistant is only for the realms of Kings, Presidents & CEOs. A personal event network provides that same luxury to the rest of us. Personal event networks will enable new kinds of commerce that are not only more efficient, but also more gratifying.
The release of the Sky API brings the vision of personal event networks closer to reality on the Kynetx platform. Our previous event API, Blue, required that the ruleset IDs be specified, Sky does not. Rather Sky uses saliance data--information saying which rulesets are listening to which events--to determine the rulesets that see any given event. Of course, this is done on an entity-by-entity basis, making it personal. You will have activated a different collection of rulesets than I and therefore an event raised on your behalf will fire different rules than an event raised for me--automatically. Sky is compatible with the Evented API specification.
For now, most KRL programmers won't notice any difference since the Blue API is still supported and most endpoints are still using it. However, as endpoints--particularly KBX--begin using Sky, all kinds of new behaviors will open up. I'll have an example up on this blog in a few days.
There are several changes to default behavior that will take place immediately, regardless of endpoint, and could affect your KRL rulesets if you're made heavy use of explicit events.
The first change affects what rulesets see an explicit event. Previously, if you didn't specify a ruleset in the raise statement in the rule postlude, the explicit event was only seen by the current ruleset. With this release, an explicit event that does not specify the ruleset will be seen by any ruleset that the user has activated if saliance data indicates that it listens for that event.
For most developers and apps, this won't be a problem because even if you use explicit events, you've likely used different event names in different rulesets. However, if you experience problems, there is a work around. You've always been able to specify the rulesets for which an explicit event is being raised. You can specify the current ruleset using the Meta library to retrieve it's ruleset ID like so:
always {
raise explicit event foo for meta:rid()
}
The second change involves the default version for rulesets specified in a raise statement. Previously, if you didn't specify the version, KRE used the version of the ruleset where the raise statement was executed to determine the version of the ruleset that saw the explicit event. This was handy when developing an app that comprised multiple rulesets since you didn't have to keep pushing things to production or change the version in a lot of files when you were done.
We believe that the correct default behavior is to default to production if no version is specified since this makes sharing rulesets between users easier. The work around for this if you want the old behavior is to specify that the target ruleset should use the source ruleset's version by constructing the target ruleset identifier like so:
raise explicit event foo for "a16x56.#{meta:version()}"
Of course, you don't need to use the Meta library, you could set the version in a configuration module and then just use that value in constructing the target RID.
I'm very excited about Sky because it opens up new possibilities for creating personal event systems. Watch for a blog post in a few days that shows why this is so.
10:58 AM | Comments () | Recommend This | Print This
November 19, 2011
A Live Web Experience: eToll and Avis
Last week I had a Live Web experience. Here's how it went: I rented a car in Denver, drove from the airport to Boulder on E470 for Defrag, and drove back. When I got to the airport, I dropped the car off and took the shuttle to the terminal. That's it. No drama. And that's the point. Live Web experiences shouldn't have drama.
Here's why I classify this as a Live Web experience: E470 is a toll road, but I didn't worry about it. In fact, if I wasn't paying close attention, I might not have even known. I just drove to Defrag. The eToll device in the picture performed the magic of paying the tolls. Avis, who was the rental company aggregated the tolls and added them to the bill. Once I'd permissionsed the link, I never had to worry about it again.
The problem is that this Live Web experience was created by Avis and the toll company creating a one-to-one relationship. The world I envision is one where anything can connect to anything. An any-to-any world can't be built on one-to-one relationships. It's just too much work and so it will never happen. Any-to-any situations (like email) happen through standards.
The organizing concept for the Live Web is events, not requests. The first standard we are proposing is the Evented API specification. This isn't the only specification we'll need, but it's a start. Through events, components can be integrated in a more loosely coupled manner.
12:05 PM | Comments () | Recommend This | Print This
November 17, 2011
The Live Web - Cover
I got the final proof on the cover for my upcoming book The Live Web today. I think it turned out great and I'm excited to see the book that goes inside it! Here's the text from the back cover:
Imagine a world in which your phone automatically mutes the ringer when you start watching a movie. Imagine a world in which your alarm clock sets itself based on your schedule and other information like the weather, the traffic, and your past behavior. Imagine a world in which the mundane parts of business travel or scheduling an appointment with a new doctor are automatically taken care of according to your preferences. That world is the Live Web.
The Live Web: Building Event-Based Connections in the Cloud is a book about specific concepts, architectures, and technologies you can use to build these types of Live Web experiences. You'll discover specific techniques for building Live Web applications using the Kinetic Rules Language (KRL), designed from the ground up with the Live Web in mind, and the Kinetic Rules Engine. The premise of this book is simple, but profound: The Web of the future--the Live Web--will link our lives in ways we can hardly imagine... and you can start building that Web today.
If that sounds interesting, I wouldn't mind if you bought a copy.
1:53 PM | Comments () | Recommend This | Print This
November 14, 2011
The Second PC Revolution: Personal Clouds
In 1976, I started at the University of Idaho. My advisor was Keith Prisbrey, a brand new Assistant Professor of Metallurgical Engineering. I count him as one of the great mentors of my life. Keith recognized something in me and took me under his wing--as a freshman. One day he said "Have you ever done anything with electronics?" I told him I'd made a few HeathKit radios in high school. He then said "I've got this MITS Altair computer we bought that needs to be built. Could you do that for me?" I knew about the Altair. I had devoured the magazine when it came out and dreamed about having one someday. Keith's offer was a dream-come-true.
The Altair was a computer with a CPU, memory, serial cards, and so on. The Altair didn't have any kind of secondary storage. I used a teletype with a paper tape reader to load Bill Gates' 4K Basic and then wrote programs in that. We rarely turned the computer off because booting it to a usable state took a long time and a lot of work.
Basic ran on the bare metal. There was no operating system. I wrote a monitor program on an HP2000, cross-compiled it to the 8080, and burnt it to PROM so that we had something when the Altair started besides just the front panel switches. The only way to store anything was to write it out to paper tape. Eventually we got a cassette tape storage device, but it was buggy and rarely worked.
The Altair and its contemporaries, including the Apple I, were largely toys. They were fun to play with, but rarely used for anything productive. We called them micro computers, not personal computers. Personal computers like the Apple II, the TRS-80, and others came along a few years later. This second generation was very different from the Altair and Apple I in several important ways including the following:
- They had disk drives (mostly floppies)
- They had operating systems
These changes made personal computers out of micro computers. As a result of these two changes, application software became possible. Dan Briklin and Bob Frankston created, published, and sold VisiCalc. Suddenly, I could run my programs on my data. This change was enormous. Suddenly I had a computer that worked for me. The modern smartphone is the ultimate expression of this idea: a computer that is just for me, runs my apps, keeps my data and connects me to the Internet--anywhere, anytime.
Fast forward to 2011. Cloud computing and big data are two of the most talked about topics at technology conferences. But I believe that these are the mainframe ideas of our time. Nothing wrong with that, but they are almost never discussed in terms of the personal. Lately, I've been talking a lot about personal event networks. A personal event network is a kind of personal cloud--one based on what I think of as little data or data about me.
Computers became personal when they combined my apps with my data. Clouds become personal in exactly the same way. This is different than just a Web app that has it's own data store. Data and apps must be separable. The combinatorial possibilities that emerge from being able to use data from one app in another is important. The value created for users and companies is greater when apps and data are separable.
Personal event networks are not the only examples of personal cloud technology. What Google is building amounts to a personal cloud. When I log in to Google, I have email, calendars, documents, a social network, and so on. Similarly, Facebook can be thought of as a personal cloud. There's even a way for me to run apps in the Facebook cloud. Google and Facebook are operating systems for managing data and apps in the cloud. The results are imperfect, as yet. For example, apps and data are too tightly coupled in both. But what they're doing is suggestive of what could be.
Kynetx is building a personal cloud that is very different than the ones that Google, Facebook, and others envision. The Kynetx personal cloud is based on personal event networks. A personal event network is an application platform. It's personal because every person has their own event network where they control
- the apps
- the data
- the events
As an example, the use case in this video illustrates how those elements combine to create a much better travel experience:
This use case highlights the interplay between events, personal data, and applications that use both. Moreover, Phil saw significant value from this interaction:
- Setting an appointment created travel plans
- Car and room were personalized
- Less waiting in lines
- Expense report happened automatically
- Focus on his goal: selling the client
Imagine that be might have dozens of apps customizing, personalizing, and automating the workflow of his life. He is in charge of important choices, but freed from the mundane tasks. Not only his online services, but products he uses, participate as well.
Want a personal event network? Me too. So I'm building them. The good news is that most of it is ready now. What's missing? An ecosystem of products and services that raises events for you. I want to fix that. I want to create an ecosystem of a dozen of so interesting products and services on which we can build a half dozen workflow automation applications that use permissioned personal data. That means I need two things: money and partners.
The first is fairly straightforward, although not easy. Kynetx is raising money to build real personal event networks. Contact me if you have thoughts about that.
When I say we need partners, what I mean specifically is that we need companies that will, at least on a pilot basis, event enable their products and services. This isn't particularly hard, but it does involve some convincing of these partners.
10:58 AM | Comments () | Recommend This | Print This
November 12, 2011
Productivity and The Distribution of Wealth
The distribution of wealth in the US has been in the news much lately with the Occupy Wall Street movement. The problem is that the top 1% of people control more and more of the wealth and resources. We like to blame the bankers and Wall Street. I'm not about to defend the outlandish salaries and bonuses paid to financial wonks who contribute little of lasting, real value to society. But I don't think we've given enough thought to the people who are really to blame...us.
By "us," I mean technology people. Internet people. People who have created the whole computer revolution.
Here's my reasoning: Suppose you start a company to create accounting software for small businesses. The company is gloriously successful. Who wins and who loses? The investors, founders, and employees of the company win. The accountants and bookkeepers of the world lose. The number of people in the first group is less than the number of people in the latter group (that's called productivity). Fewer people get the money. Wealth is concentrated.
This happens over and over. Right in my building are two examples: SolutionsReach automates reminders for doctors, dentists, and other service providers. A task that people used to do. Property Solutions does rental management software. How long until realtors and other professions we see lots of people doing are disintermediated? Not long, I think.
Now, play this out and compound it over thousands of companies over the last 30 years. The people who win the first round have an advantage when they play the second (e.g. think serial entrepreneurs, venture capitalists, seed investors, etc.) The productivity gains of the computer revolution result in more and more wealth being concentrated in fewer and fewer hands. This cycle is speeding up.
There's another group that benefits in the preceding scenario who we haven't discussed yet: businesses who use the accounting software. They will shift spending from accounting and bookkeeping to something else. That's the upside of productivity gains. Some of the money from the gain will end up in other jobs. Jobs that the bookkeepers and accountants probably aren't trained to fill.
None of this leads to a solution. But I think it's helpful to understand that the problem is structural and not something we can solve with a little more regulation of Wall Street. We'll make a mistake if we legislate against productivity (what Big Labor "solutions" typically come down to).
2:37 PM | Comments () | Recommend This | Print This
November 10, 2011
Human Leverage
Everyone wants leverage. Getting more done with less effort. Accomplishing what needs to be done easily and without hassle.
Suppose you had a personal assistant that took care of all the details for your travel, finding a doctor, managing your house? Enabling you to focus on what's important--even providing brand new opportunities that aren't available to you today.
A personal event network isn't just a digital personal assistant. Your personal event network can hold dozens of apps that function as personal digital assistants for every aspect of your life. These apps connect products and services you use everyday and coordinate their interactions on your behalf.
Personal event networks will enable new kinds of commerce that is not only more efficient, but also more gratifying. The power of a personal event network is harmonizing your various lives: business, personal, and social. Having a personal valet that thinks about you--your needs, your quirks, your life. A personal event network puts you into a position of just making go--no go decisions, rather than having to get involved in all the gritty details of how they get done.
A real personal assistant is only for the realms of Kings, Presidents & CEOs. A personal event network provides that same luxury to the rest of us.
Do you want to be freed from the mundane so you can focus on what you need to get done? Do you want new levels of convenience and luxury? Then you want a personal event network.
10:06 AM | Comments () | Recommend This | Print This
November 9, 2011
Personal Event Networks, Social Products, and Value
Over the past 15 years, the Web has profoundly and irreversibly changed our lives. Social products and services, or more simply social things, will affect us even more. Everything that can be connected to the Internet will be. We're already seeing early examples of this:
- My Tivo is online
- The Nest thermostat has a Wi-Fi connection
- So do the Withings scale and a Samsung refrigerator.
But what happens after every thing is online? Will they merely connect to the Internet or will they work together? And how will we tell them what we want them to do?
Consider the Tivo. It's online--connected to the Internet. My Tivos talk to each other and to Tivo, but nothing else. If I want my phone to automatically go to voicemail whenever I start a movie, I'm left to hope that Tivo and the phone manufacturer somehow cut a deal. You can see how ludicrous that is to even imagine.
What's more, we might conceive of each having an API, and tying them together with an iPhone app, but that only works when I use the app. It won't work when I use the Tivo remote because rather than my Tivo and my phone working together, they're both being controlled by an app. What's more, we're missing some of the most important interactions if things have to be invited to each conversation. Imagine every thing you own online. You won't have time to wire them all together. You won't want to have to initiate all of the interactions between your products. You'll want them to speak up when something important happens. APIs are like phones that don't ring. They never call.
The answer to this problem is an event network. Unlike a typical request-response API, evented products and services signal when something happens rather than waiting to be asked. They are real-time and dynamic. Event-driven systems are more loosely coupled, allowing everyone to play and thus enable an any-to-any world without requiring upfront, one-to-one relationships. An any-to-any world can't be built on a foundation of one-to-one relationships. Event networks span the silos that modern Web services create. More importantly, event networks can bridge the world of connected products and online services making them work together. Any to Any world can't be done with one-to-one relationships.
What's needed is a personal event network. Think of it as a personal cloud that knows about me and sees events--signals that something happened--from all the products and services I use. Apps in my personal event network use those events, my preferences, and what's happened previously to personalize my interactions with products and services and to orchestrate cooperating groups of products and services.
When products and services start working together to accomplish our purpose, reacting to gestures that signal our intent, many of the mundane tasks of our daily lives can be automated. People will see more value from the things they use everyday.
Let me show you how evented products and services make one person's life simpler for just one use case: business travel. Watch this five-minute video. I'll wait...
Phil's travel experience shows the power of a personal event network. Now imagine hundreds, even thousands, more use cases in a world where millions of things are online. The possibilities are only bounded by your imagination as you mix and match online products and services.
The personal event network and apps that run on it are real--they exist today. There is an open specification for adding events to APIs. Kynetx has spent the last 5 years working on the concepts that enable personal event networks. Kynetx has built and open sourced the personal event network platform a reality.
11:48 AM | Comments () | Recommend This | Print This
Defrag Keynotes
Defrag always has great keynotes. Here are my notes from the day one keynotes:
Tim Bray
Tim Bray was first up on "Mysteries of the Internet." No slides, just Web pages. His message is a Call to Inaction. We don't understand the Internet or how it works. It's not like anything else. He brings up Ted Nelson who asked "what if we had real micropayments?" One of the top five Web sites is not like the others: Wikipedia. Somehow it works. Wikipedia can't be explained. Tim is bothered that he doesn't know how Wikipedia works. He says that in the end the "good guys" win Wikipedia edit wars and the entries are remarkably accurate, but we don't know why that's so.
Another mystery: there is little consensus on how the Internet should be built. This is not like other engineering disciplines where there is broad consensus on how, for example, to build a bridge. He illustrates this by discussing the debate over static typing and dynamic typing in programming languages. How can the Internet work when its built on such shifting sands?
The third and final mystery: Tim references this post on communication. We keep inventing new modes of human communication. The question? Are we done yet? People who have adopted new communicated patterns (think IRC, Email, Twitter, etc.) quickly find they can't give them up. They become essential. This question is at the center of innovation on the Internet. The Internet exists to facilitate human communications. It lets is communicate in different ways, different scales, different interaction modes, and so on.
The call to inaction? do not analogize! Don't predict the future from the past because it's not going to work. Tim references David Weinberger's Internet Exceptionalism. The Internet is where the new things are. He finishes "I want to be an explorer"
Roger Ehrenberg
Roger speaks on "Creating Competitive Advantage Through Data." Big data is all the rage now. Big data is the new dot.com. Why? Data is pervasive. There's more data available than ever before. That awesome, but the volume, velocity and complexity make it difficult to extract meaning. Companies that can do that (think Amazon recommendations) turn data into profits.
Big data is big. Big data can't fit in a single database. Big data requires distributed storage on at least the terabyte scale. Big data isn't necessarily better than small data. It's just different. How you treat it and analyze it changes. Big data is often unstructured. Big data often has an element of real-time that shortens decision windows and increases information decay.
Large, unstructured, real-time data isn't just big data. It's complex data. Roger classifies companies by looking at them on two axes: What is the source of data (yours vs. other's)? (Y-Axis) and What's the final product (data product vs. data driven)? (X-Axis) So, imagine Twitter in the lower left, GNIP in the upper left, Amazon in the lower right, and Renaissance (investments) in the upper right (along with, interestingly, Wal-Mart and State Farm Insurance). As we move to the right, we see companies that are focused on increased insight.
Technical advantages create differentiation, but become commoditized. The cycle of disruption is so rapid, that companies can lose their edge in months. That period is shrinking. Rather, create intrinsic advantages. Leveraging big data assets can create a barrier to entry. Data analysis that leads to insight, that leads to improvements, that leads to increased user engagement, which leads to more data creates a virtuous cycle. The process creates the data asset and it becomes more and more valuable over time.
The bottom line: You have data, but so what? Is it core to your business or just exhaust? Valuable data is active data. Big data companies have data-centric people.
James Altucher
James speaks on "Success is a Sexually Transmitted Disease". James in on a news diet. He says "everytime I see a headline, I feel like they're lying to me." He feels like news organizations sucker you into viewing their sites by lying. We've set up an implicit agreement between corporations and the public where it's OK for them to lie as long as it's entertaining.
He shows a Diet Coke commercial. There is a huge difference between the product and the image that Coke portrays. There's a trend on "personal branding." He says all that phrase means is "I'm going to lie to you and steal all your money." An example: Barbara Walters asks Kim Kardashian "Why are you famous?". The 'Net has a way of outting people.
We are witnessing the collapse of branding. Google has largely avoided the corporate branding game. Google has a straightforward, honest Web site. They have to be because they refer people to their competitors (for ad revenue). Google loses $175 million per year because of the "I'm Feeling Lucky" button. The Wall Street Journal had the original idea on using incoming links to rank pages. Larry Page tweaked the idea and patented it. Why didn't the WSJ become Google? They are trapped in a cage called the "Wall Street Journal brand." The guy who wrote the original Dow Jones patent was Robin Li, the creator of Baidu--the Chinese search engine.
Some unconventional wisdom: James tells people "don't buy stocks." You can't compete with the big guys and you're psychologically not equipped to own stocks. People buy at the high and sell at the low. Never buy a home. Don't go to college (student loan debt makes it a losing proposition). War is bad. Abolish the presidency. Money is not the goal. Being an entrepreneur is great, but it's hard work.
James says that his blog and other writings are more popular and he has more deal flow since he started honestly expressing his opinions. Honesty is freedom. A lesson for brands.



