Thoughts From Day 3 of re:Invent 2013

So this is day three of the AWS re:Invent conference, and while there’s still one more day to go, I thought I’d share some casual observations.

First, Mobility

I had intended go to a lot of sessions on mobility, but soon abandoned the plan. Why? The few I attended didn’t really have to do with mobile. Yes they applied to mobile, but they were really about introducing good practices onto mobile development. For example, the session on scaling a mobile app, was basically the same presentation as the standard scaling model, but with a picture of a phone and tablet at the top. So based off of these brief encounters, I’ve developed the following rules for mobile apps.

  1. Architecture matters.
  2. Plan your back end services (yes services).
  3. Architecture matters.
  4. Test fast, often and deep.
  5. See rules 1 and 3.

All joking aside I think this is truly indicative of the fact that the mobile space, particularly on AWS, has brought a lot of very talented mobile developers into the market. However; many of these talented folks don’t have backgrounds in scalable back-end architectures, and in some cases they don’t have much experience with back-ends at all. Amazon enables them to get up and running with simple tools on the back end and sample code they can modify, without always knowing how to cope if they end up with a successful application.

My take, based on some of new features begin released, is that Amazon AWS is trying to address this in two ways. One, by enticing mobile developers to attend sessions they might not normally attend, by using a picture of a phone and adding the work “mobile” to the title. Two, by giving them tools such as the new javascript APIs and gaming tools/frameworks such as leaderboards, achievements and A/B testing for mobile. While the rebranding of the sessions is a bit annoying, I have to give AWS kudos for trying to help the one-person and small teams develop better themselves and their applications. As for the new tools and frameworks, the nice thing is that they benefit both the initiated as well as the un-initiated.

Second, Big Data

I know it’s a buzz word, but I promise it’s more than that. So while I haven’t been going to many mobile sessions, I have attend a lot of session centered around Elastic Mar Reduce (EMR), and how companies such as Netflix process their analytics on AWS. A lot of these tools are in the Hadoop space, though they are certainly not limited to just using Hadoop and it’s tool set. If you’re interested in the details please check out the docs and watch the sessions once they’re available. All good stuff.

What I’d like to focus on here is the interest I observed from folks in these sessions. While no session has been empty, many of these sessions have been pretty full, especially the session on Kinesis (“real-time processing of streaming data at any scale.”). Hardly surprising as it was just announced today, but still indicative that many businesses are facing these types of problems. After a few questions in the Q & A it becomes obvious that these aren’t people with idle curiosity, they’re struggling with real business problems. I think one of the best quotes I’ve heard was from Bob Harris the CTO of Channel 4 in the UK. “The data warehouse is like looking in the rearview mirror of your car, while analytics is your heads up display.” (I hope Mr. Harris won’t be upset if I’ve gotten this quote a bit off.) This analogy really struck a cord with me. While this has always been the goal of BI, it seems that BI for the common company has been to spend an exorbitant amount of time adjusting the rearview mirror in order to program the navigational system. I don’t mean to diminish the importance of this, but in the wild west of the web, users can change their focus and decision parameters from day to day. Having a long term vision is vital, but knowing what will make the sale right now, can make the difference between folding up, or being able to realize that vision.

It was invigorating to see so many companies interested in this trend. In recent years they’ve begun to focus more on what’s happening right now, and tools like Tableau, EMR and Kinesis are helping with this. The great thing is that these tools can help not only the big corporation with a team of data scientists, but also the smaller company with a few dedicated, knowledgeable folks.

PowerPoint is the Devils Underwear p2 The Page Paradigm

In my last post I talked about the dependence people have on getting information one slide at a time. So accepting that notion let’s go a step further.

Personally I think one of the main problems isn’t necessarily groking information in chunks, but in the limitations tools like PP places on how the information is presented. One of those limitations is that everyone still wants to be able to print a slide deck out. This limitation is probably the biggest problem. What it really limits is interaction with the information. It’s a struggle to get people to break out of the page paradigm, that tools like PowerPoint seem to re-enforce, even if unintentionally. Even tools like Presi are really just a slick UI on the same old slide deck. Like the old saying goes, “If you can’t blind them with brilliance, baffle them with bull.”

Now I’m not really trying to knock Presi. I actually do like it, and feel like it’s a step in the right direction. It opens up the page paradigm and helps get users thinking about larger patterns and new ways to present information. All good, but it still lacks true interaction with the information.

In the coming weeks I’ll be working on putting together some samples using modern web technologies to try and break out of the page paradigm, and sharing what I learn along the way. The main technology I’ll be using is SVG, so you will need a modern browser to view some of the examples.

Thanks, talk at you tomorrow.

PowerPoint is the Devils Underwear

Those of you familiar with Edward Tufte have probably heard his rants on how PowerPoint brought down the space shuttle, twice. Now I’m certainly not in the camp of thinking that a situation that complex can be boiled down to a simple presentation tool. However; I have to say that I’ve seen a lot of people try to convey some complex knowledge in an 8×6 aspect ratio.

You can’t get people spend 45 minutes actually reading a document, but they’ll sit for an hour in a meeting getting half the information in misleading bullets and pretty pictures designed to be displayed on a condensed screen from 30 feet away. Now I don’t think the problem is PowerPoint itself, but the fact that people use it. Sorry, I’m on a bit of a rant here, but it drives me nuts that smart people would rather take more time to be spoon feed the barest of facts, than to read a well crafted document with details. Do they feel they aren’t being productive if they’re sitting and reading? Are they under the impression that it’s more efficient to focus in on 10% of the information? Is it that they’ve read too many poorly crafter documents? Has modern society destroyed out attentions spans so much that we can only pay attention to information in small bursts, such as a slide with pretty animations? Whatever the reason, I’ve decided to accept this mind set…to a point.

I’ve spent some time pondering this, and thought it would be a good topic explore this month.

Thanks, talk at you tomorrow.

Communication Surrogates

Could we use programs to help fill in the gaps of human interaction that take place on line? Communication Surrogates.

As I’ve mentioned in other posts human communication can be complex. It isn’t just the words used, but also body language, the inflection and tone of voice, and where someone focuses when they talk. When you tell someone to, “look me in the eye and say that,” you are searching for confirmation and reassurance. If you’re on the phone talking to someone and you hear them typing away on the computer, do you feel that you have their attention? What if they’re actually listening intently and taking copious notes? The point is that online and over distances there are certain limits on natural human interaction and communication. One way that we have tried to overcome this over the years is through the use of Communication Surrogates. Now I’m sure someone else has already come up with this term, but since I’ve never come across it before I’m going to take the opportunity to give it my own definition.

Communication Surrogate: Any technology or convention intended to communicate emotion or thought; whether intentional or otherwise.

So what are some existing or current Communication Surrogates?

As we work in more distributed environments and with other individuals across distances, human interaction and communication online seems to be traveling down a few interesting, yet different paths. One is focused on bringing personal interaction online. Whether it’s as simple as a video chat, or a more complex form of altered reality, this is about showing the non verbal communication and interaction that takes place in person. Hospitals have done experiments with robots that cary monitors displaying your doctors face, while he might be miles away, or otherwise engaged. The doctor has a control system that allows him to navigate the robot and even to perform some limited long distance interactions with patients and staff.

On the other end of the spectrum is the emoticon. what used to be a quick series of ascii characters that symbolized a smily dace or a wink in text have now become a long list actual graphics that can be embedded into email or online chats. In the movie “Moon” an artificial intelligence uses emoticons on a computer screen to indicate the emotion that the voical program cannot convey.

it can become very challenging to maintain effective communication with teams that are distributed geographically. Are Communication Surrogates a viable supplement to teams in order to help span distances?

Proposition: Can a Communication Surrogates be programmed to evaluate the content of emails (threads included), chats, tweets or other electronic communications, in order to assign a value to the conversation. The Surrogate would monitor the users trends, as well as being trainable. (I won’t get into forward and back propagation systems here.) When you popped into an email chain or chat room you would immediately see a personal indicator to help provide a frame of reference to you. It could be a simple color scale, and the metric might be based on anything from the projected interest level to you, to the emotional volatility of the content and participants involved. Perhaps the indicator might be more complex indicating multiples of these metrics.

Could these Surrogates eventually be intelligent enough to provide information to others in our stead? Imagine if you are writing an email to three people and as you type their Surrogates displayed an indication of how they might react. Honestly I think there’s a long way to go before I would personally trust such an indicator, but it is an intriguing idea.

I find the concept of Communication Surrogates fascinating. How doe we cut through the clutter of the day to day to get to what matters? How do we more effectively communicate to others our true intent and feelings in an electronic medium? Can we eventually reach a state where communicating remotely is truly as effective (or more so) than communicating in person?

The Cloud and Corporate Compliance

I think a main point of consideration for any company looking to use the cloud, in any of it’s various forms, needs to be to have a strategy before going hog wild. Not only to asses for cost, but also to expand existing policies, such as data governance, to include rules and guidelines for when and how to use the cloud.

For example lets say you already have data classifications of “green”, “yellow” and “red”, green being data that is already publicly accessible and red being data that is deemed to be so confidential that it could be damaging if released. I’m simplifying things a bit, but you get the idea. Because all of your data, and any applications accessing it, already fall into these classifications, you can go through an exercise wherein you certify a cloud platform, first as being suitable for green, then yellow etc. These certifications should be setup with guidelines and security protocols that also needed to be implemented in order to be considered in compliance. You could find that initially you do not certify it for red. Not so much because you feel the platform has security issues, but perhaps because Legal may feel the risk is too high based on their understanding of the platform. (Yes Legal should have a hand in your data governance policies.) In a case like this you may go through a cycle of educating Legal and the business in order to reach this certification, or you may decide that you never use cloud resources for certain aspects of your business. There is no rule that says you need to use the cloud for all of you business needs.

I’ve also heard concerns about data access and international law. I’m not a layer, but do want to try and address this to some degree. The argument I recently heard was that if a company in the UK uses the cloud and then that date ends up on a server in the US, the government can then go after the data on the US servers and that grants them access to the data in the UK servers as well, even if the data in the UK didn’t exist in the US.

I’m not going to disagree with this per se, but with respect, I do feel that this argument simplifies the legal aspects to the point of being misleading. For example, in all of the PAAS cloud platforms I’ve ever worked with (I’m not including SAAS models like salesforce), they don’t just place your data in a random location. You have to explicitly specify where you want your data to live, and this includes CDN’s. A CDN doesn’t just drop your data everywhere, it only replicates to the nodes you select. One of the main reasons for this is because of the very root of the previous concern (The other being cost differences). The argument is not actually cloud specific, and applies equally to a UK company doing business in the US, with data hosted on their own servers living in a building owned by the company. In fact, in that case it’s even easier to for a law enforcement agency to get the court to grant access to the data, as there are no concerns of accidentally granting access to another company’s data. OK I’m guessing as to whether a judge would take this into consideration, but that guess is based on having spent a few years in the electronic discovery industry. As a part of that job I performed litigation readiness assessments, and had to be versed in US laws involving electronic data discovery.

So while the concern is valid, it isn’t just valid because you are considering moving to the cloud. It’s why I encourage clients to evaluate the cloud in the context of current policies, rather than thinking those policies don’t apply, just because they don’t own the servers. If you’re a serial litigant (you get sued a lot), or are a target for government investigation due to your business practices, chances are you already know that and have policies in place to compensate. For example; in the US if you also do business in China, you already have a whole series of policies and procedures to make sure you stay in compliance with federal law. Those same policies don’t stop becoming relevant just because you are now using cloud computing, and need to be incorporated into your overall cloud strategy.

__I originally posted this as a response to a thread in the LiDNUG forums. While I’ve tried to modify it enough to stand on it’s own, please forgive any incongruence’s.__

The Death of AJAX

Lately I’ve been working on a few side projects written in node js, and have been using socket.io quite heavily. In fact I made a conscious decision to use sockets exclusively rather than ajax. Now, truth be told, behind the scenes ajax will still be used on any browser that does not support html5 sockets, but the point is that there are no explicit ajax services in server code.

If you listen closely you can hear the death knoll of ajax ringing. The promise of html5 web sockets on the client in combination with server side technologies such as socket.io (node js) and signalR (asp.net), will eventually shift the paradigm of how web pages communicate with back-end servers.

Everyone talks about html5 as a flash and silverlight killer. I believe that we’ll soon start to hear more developers talk about it as an ajax killer as well. Of course this will never be as sensational as the flash/silverlight argument, but will be true all the same.