Algorithmic Attention – The new face of personal data and why brands need to catalyze the creation of Personal APIs

You want to build a personal relationship with your customers, become a constant companion and trusted advisor. Your customers deserve the professionalism embodied by the best coaches, concierges, maître’s d, doctor, teacher, and bartenders – well informed and impeccably discreet. However, this level of human attention simply does not scale.

Fortunately, the ubiquitous mesh of digital devices, applications, services, and connectivity is here capturing every aspect of a person’s life. All this data, coupled with accelerating advances in computational techniques and ever falling compute and storage costs, mean the algorithmic attention you can lavish on your customers is boundless.

The quality of the experience provided by an algorithm, however, depends on factors shared with the humans they emulate:

1) The capability of the person or algorithm to take in a set of disparate information and synthesize it into meaningful insights.

2) Sufficient, up-to-date, accurate information describing a wide swath of the customer’s life – their context – for the algorithm to process. The data available through social networks may be helpful, but is insufficient.

For illustration, let’s consider a hypothetical service called MyBabyBlends.

MyBabyBlends is a nutrition program for babies. Subscribers will receive direct shipment of locally grown, seasonal ingredients that can be, following our carefully curated recipes and meal plans, prepared into fabulous baby foods. The selection of ingredients tailored for your babies through the use of a sophisticated child development and nutrition algorithm. Tracking the daily activities and developmental progress of your babies, it’s like having a dedicated nutritionist shopping and menu planning for you.

To deliver on this promise, the algorithm will require the following information, updated regularly:

  •   Baby’s names – for families with more than one, you need to create a profile for each child.
  • Baby’s vitals – birthdate, weight, height, known allergies or sensitivities, current ailments or medication, blood type, etc.
  • Dietary restrictions – vegan, kosher, halal, paleo, etc.
  • Developmental milestones and challenges
  • Current location – if you go away – the shipment will meet you and be adjusted to your new location.
  • Log of recipes liked and not liked
  • Parental eating preferences so we can get baby on track to join you in a hearty kale salad or a bowl of pork and habanero chili.
  • Genetic information – a DNA sample will provide the best results, in lieu of that the parents can answer a comprehensive questionnaire about the baby’s heredity.

This is the new face of personal data. It is not about cookies, or purchase history. It is not about traditional CRM . It’s more than social media.  Quantified self and the Internet of Things are a part of it.

This is the Personal Data Ecosystem that the World Economic Forum, Boston Consulting Group and others have estimated will create trillions of dollars of value stand in the next 4-5 years. These estimates have also asserted that 2/3 of that value will be left on the table if a viable solution to digital identity and data access is not established.

Getting the data required poses a number of challenges for both the user and the brand.

  1. Effort – How much effort is required to get started and then maintain the program? Will the user be willing to manually input this data just to try this one service? Can that data entry be leveraged for other products and services?
  2. Trust – Why would I provide all of this information to a high-tech grocery service? Who else will have access to my child’s data? How do I know it is being handled appropriately?
  3. Liability – What liability is a brand exposing itself to as it collects more intimate information about its customers? If working with partners to provide the service, how does that impact the liability question?
  4. Infrastructure and Governance – Does the brand have the appropriate systems, staff and procedures in place to manage this sort of information?
  5. Policy & Legislation – There has been increasing public policy and legislative action activity globally with respect to personal data. Some of the initiatives have found that existing terms and conditions agreements in use do not meet the privacy rights of their citizens. Others are looking to insure that data regarding their citizens remains within their borders.

The solution lies in the establishment of Personal APIs, a means for a user to aggregate their digital information, wherever it may live and then provide, on their own terms, programmatic access to that data. This gives users a single place to keep up to date information and manage who has access to what and when. It also gives brands a simple way to access user while respecting both the users’ terms and the legal constraints of the market they are operating in. Furthermore, it may reduce liability because it allows for the development of application that use the personal information, but do not store it.

There has been a tremendous amount of work done establishing the foundation for Personal APIs under a variety of names including: IdM (Identity Management), Project VRM (Vendor Relationship Management), UMA (User Managed Access), Trust Frameworks, Privacy by Design, Personal Clouds, Data Vaults, Personal Data Markets, and Identity Ecosystems.  These initiatives have failed to gain widespread adoption, because the value proposition for both sides of the market (users or the brands) has not been strong enough, until now.

This is the moment for a few leading brands to step forward and catalyze the Personal API movement and realize the dream of meaningful personalization.

For those interested in getting involved, the Internet Identity Workshop (IIW) is a great place to start. This un-conference has been convened twice a year since 2005. IIW 18 will be happening October 26-28 at the Computer History Museum in the heart of Silicon Valley.

 

Links

The first email from my 12 year old – a harbinger of the Personal Data Ecosystem’s rise

Last week, I was in Mountain View participating in the Internet Identity Workshop #17 working with luminaries like Doc Searls (@dsearls), Craig Burton (@craigburton), Kaliya Identity Woman (@identitywoman), and Phil Windley (@Windley), leaders from likes of Google, Microsoft, HP, Yahoo, AOL, and Amazon, plus a slew of entrepreneurs and policy folks.

So when my 12 year old sent me a email for the very first time, it was shining example of what this conference is all about. Allow me to explain.

At IIW, lots of conversation centered on the fundamental building blocks of the Personal Data Ecosystem (the tremendous market opportunity based on personal data estimated to create over 1Trillion Euros in value by 2020 – and that’s just in Europe).

The key ingredients are:
1) Solid, simple digital identity solutions – OAuth2 and OpenID Connect fit the bill.
2) APIs to interact with products and services, programmatically.
3) Free, simple access to, or better yet full control over, your personal data from any app or service you use.
4) Commitment to simple interoperability – its all about the interop.
5) A bias toward action.
6) Connecting things – digital or not – to the internet.
7) A systematic approach to trust and privacy by design.

So here is the kicker – my 12 year old who sent me an email… is my 2001 Station Wagon. Yes my car emailed me. When it emailed me, there was no one in the car with a smart phone. The car experienced an error code (P0113 – Intake Air Temperature Circuit High Input) and it let me know – all by itself.

How did this happen? I am using a product/service called Carvoyant coupled with proof of concept software from Family Fleet Manager Phil Windley’s company Kynetx (this POC, was built on their SquareTag platform, is part of a great new project up on kickstarter called Fuse)

I have the OBD2 device plugged into my car all the time. It talks to the internet via its own cell connection. Carvoyant gets the data and makes it available to the Kynetx’ software. Totally cool.

The Personal Data Ecosystem is real, The Internet of Things includes more than just digital devices (Phil says potholes should be included)  and putting this all to work for you is simpler than you think. When you get to know PICOs (Persistent compute objects) you will see the boundless opportunity.

Interop is what its all about

 

Phil Windley – http://www.windley.com/archives/2013/08/m2m_for_people.shtml

“For these connected products, and the thousand more that are coming, to truly reach their potential people need a common place where their stuff connects—a dashboard for their things. Not just a dashboard, but a programmable platform that allows all these connected things to work with each other and Web services. Building that is what gets me up every morning.”

Family CTO Roadtrip: What’s in your CTO Go Bag?

It’s the time of year for family vacations. All you need is a car, a family, tons of stuff to pack, and a rental agreement for a vacation house. When I was a kid, that meant making sure my favorite cassette tapes were packed. And a book or two.

Today, the Family CTO needs to be prepared to provide the same high level of service in what can be strange and sometimes inhospitable conditions. During the loadout this year, I realized that what I need is a “Go Bag” that just sits in my car, always ready to facilitate adventure.

So here is my basic checklist for Family CTO Go Bag (automotive):

  1. A tackle box or tool box to hold all this stuff. Get one a little bigger than you need because next year you will be jamming new things into it
  2. Power Strip & Extension cord(s) – the outlets you need for all that recharging are never where you need them and then there are never enough of them
  3. 3 prong-2 prong AC outlet adapters – do folks outside the USA have this problem?
  4. Display Port -> HDMI adapters
  5. HDMI -> Audio + Composite video adapters (Red, White, Yellow)
  6. Cheap Speakers – because after you realize that you will never be able to connect your tablet to that old TV set, you need to hear what you are watching on your tablet or laptop.
  7. Audio Cables – my preferred set up is two 3.5mm Stereo Male to Two RCA Stereo Male Y-Cables and a pair of Female-Female RCA adapters. This will help you out if you need to plug your audio source into whatever they call a stereo in the house – the Aux In may be the 3.5 Mini Stereo or it may be Male RCA jacks.
  8. USB Card Reader – because you never know who is going to show up with what camera or phone.
  9. Hand Crank Flashlight & Radio – lest you forget the realities off life off the beaten path. A good old paper book with survival skills may be handy too.
  10. Inflation Pin for Football/Soccer ball (if you have kids you should have these everywhere).
  11. Wire (lamp wire – zipcord), Wire strippers and electrical tape – for those moments when you have to take interop into your own hands.
  12. rechargeable batteries, if you are using stuff that has those kind of batteries.
  13. cheap replacement headphones, two pair – because someone is going to lose/break theirs.
  14. one or two basic AC cords (the ones that will plug into any power brick)
  15. USB Adapter pack and a couple of USB cables
  16. HDMI cable and adapters to Mini
  17. Old SD Cards and Memory sticks – sneakernets work great in the country.
  18. A back up phone with a pre-paid sim, so when you drop your precious phone in the drink, you can still call for help.
  19. Ethernet cable – a couple of them
  20. Backup Hard drive with images of the machines you are bringing.
  21. An extra mouse and keyboard (small)
  22. Power Inverters for as many power jack as your car has.
  23. 3 or 4 AC/USB power plugs
  24. One 3.5mm splitter so two people can listen to one thing with headphones
  25. For retro sake I still have a portable DVD player and some classic movies.

This list is available at familycto.org’s github repo. Please feel free to add to it, make additions, share it and the like.

 

OK Now with that all packed, all you really need to remember are the devices and their individual chargers…

4 tablet computers (3 of these use the same style charger/brick -brought a brick for each)
1 Kindle (USB charge – yet another USB Cable)
1 Music Player (Proprietary to USB -grrrrrrr)
3 Camera (DSLR, old point and shoot for the kids, and a cheap one that works underwater) – battery charger for the DSLR, proprietary brick for the point and shoot, way too many AA’s for the underwater cam.
2 Phones – with Internet Sharing capabilities (USB)

smPowerstrip2

Barcelona–F1-Grand Prix-Saul Bass

A quick post – and I realize it has been a while.

circuit%20positiu

Recently, I had the good fortune to visit one of my favorite places, Barcelona. I was particularly lucky to have been there while Formula One Winter Testing was taking place at Circuit de Catalunya. On Friday 2/21/2013 I had the good fortune to see some incredible talent and technology in action.

Today, I found myself immersed in Pinterest.  It happens sometimes. I was on a scavenger hunt for images related to Ray & Charles Eames, Alexander Girard as well as Saul Bass, Massimo Vignelli and Paul Rand. At some point I came across a Saul Bass movie poster I had never seen for the 1966 Frankenheimer film “Grand Prix”   – and the need to blog hit me.

I have seen the movie many times – the title sequence (which I now know was done by Bass, along with many of the race sequences) always blew me away – Dwell magazine seems to agree. And holy cow – if you ever want to go deep on Saul Bass title sequences, you need to go here – oddly Grand Prix is absent from this great title sequence site which I learned about while listening to 99% Invisible Episode 28 – you should listen to them all.

But the poster that I knew, by Howard Teperning, was a clownish affair. But, on Pinterest, I introduced to the real deal – the poster that Bass had designed

220px-GrandPrix_opGrand-Prix-poster-005

How anyone in their right mind could put aside this fantastic Saul Bass poster and choose the other is beyond me… well… I see that sort of thing every day, but it really is a bit tragic. So, I started digging around to see if anyone has any mention of it. All I can find is this bit about how rare original silkscreens do exists. If anyone has one, I’ll take it.

And so ends this little roundabout post. Let’s close with the sights and sounds of F1.

WordPress – Azure – Remote Desktop, almost.

As I mentioned in my last post, I got WordPress up and running in Azure using the Windows Azure Companion. I used one of the prebuilt packages, it was drop dead simple. I then proceeded to play around with Azure Remote Desktop access following Maarten Balliauw instructions which was simple enough. It was kinda fun to see Azure from the inside 😉

Naturally, the next step was to remote desktop into my WordPress instance. I added the required certificate to my instance, but the “connect” button on the dashboard never lit up. I reach out to Maarten via Twitter and he got right back to me. Turns out that the packages were created against an older version (1.2) of the SDK and Remote Desktop requires 1.3. So, after building the Companion from source (I had to fix some broken references to the WindowsAzure.StorageClient assembly), I tried to deploy. I thought I was in business as the solution began to deploy to a brand new deployment, but then I got hit with the following error:

 

Error Creating New Deployment Error creating deployment for hosted service ‘MyProject’ Invalid number of endpoints for role WorkerRole; maximum number permitted is 5. Invalid number of endpoints for role WorkerRole; maximum number permitted is 5. Dr. Watson Diagnostic ID: 3cd580025a79480faa5eb07f8f53c9d4 Subscription ID: 6eed2056-87ae-481e-87dc-cc2856447040 Time started: 12/7/2010 9:33:06 PM UTC
Time completed: 12/7/2010 9:33:10 PM UTC Duration: 0:00:04.2258416

 

Meanwhile, my .csdef file looks like this

My .csdef file looks like this:

<Endpoints> <!– Make sure that this HttpIn is same as that of HttpIn InputEndpoint in ServiceConfiguration.cscfg –>
<InputEndpoint name=”HttpIn” protocol=”http” port=”80″ />
<InputEndpoint name=”WindowsAzureCompanionHttpIn” protocol=”http” port=”8080″ /> <InternalEndpoint name=”VMManagerServicePort” protocol=”http” /> <InternalEndpoint name=”MySQLBasedDBPort” protocol=”tcp” /> </Endpoints>

 

I posted my issue up here

http://code.msdn.microsoft.com/azurecompanion/Thread/View.aspx?ThreadId=4083

Satish got back to me and now I am in the process of contacting Azure Dev Support – who will hopefully be reading this post shortly.

I’ll get back to everyone – updating this post – once I hear more.

 

Looking forward to next steps.

 

UPDATE: 45 minutes later, this is the response I received from Frontline Azure Support

 

Issue Definition: We understand that you are facing issues while creating endpoints when deploying a solution and would like us to investigate on the issue. Scope Agreement: To provide you with the cause of the issue and to help you resolve the issue that you have.

We sincerely apologize for the inconvenience caused to you and would like to inform you that, we have a limitation on the number of endpoints per worker role and the web role. We can create only two endpoints for the web role (HTTP or HTTPS) and Worker role can have only a maximum of 5 endpoints/role(HTTP, HTTPS, or TCP). Please see below for more information on limitation on endpoints of azure web role or a worker role:

http://social.msdn.microsoft.com/Forums/en/windowsazuredevelopment/thread/fa85f770-aba9-40ac-a4ac-2367f7ac3495

Hope the above information is useful to you. Please accept our apologies for the inconvenience caused. Let us know if you need any further assistance and we shall be glad to assist you.

Looking forward to your response. Thanks  & Regards,

 

I now need to run an additional test – if I turn OFF RDP, then I believe the deployment will be successful and the explanation provided will be insufficient. More news as it develops.

 

Update # 2 – Allowing RDP seems to be using up my Endpoints!

By that  I mean that I created the package without enabling RDP and the deployment went fine and Windows Azure Companion works fine.

I them packaged the exact same built, this time enabling RDP and when I deployed I once again got the message about Maximum number of endpoints. So, what does this mean? Does enabling RDP use up your available endpoints??

More info when I get it.

Update #3 – I have been escalated

I got a quick reply from Frontline support informing me that my issue was being escalated – mostly because I couldn’t provide a Deployment ID because my package won’t deploy ;o Here was the response:

Thank you for the quick response. We would like to inform you that in your case, our cloud integration team will be able to work with you and resolve the issue at a quicker pace. We have escalated your issue to our cloud integration team and one of our engineers will contact you to work with you to resolve the issue.

Meanwhile, if you have any further questions or concerns, please feel free to contact us and we shall be glad to assist you.

I am looking forward to working with the cloud integration team! More news as I get it.

Hands Getting Dirty in Windows Phone Dev, Thanks to Baba

OK, part of my goal for the holiday weekend was to start digging a little deeper into Windows Phone development (amongst other things). Right off the bat, I sidetracked myself and decided to play around with deploying WordPress in Windows Azure/SQL Azure. Both of you who read this blog know that I have been involved in the Orchard Project and that I am really excited about the progress there. However, I have been saying for a long time that it is all about interoperability – so for Azure – I needed to see what it was like deploying WordPress, using the Windows Azure Companion and this great writeup from Jim O’Neil. After a little head scratching – mostly about the where you find the WindowsAzureStorageAccountName – it is not the friendly name that shows up in the account  – see screen grab – it is the name in the URI. Anyhow, that all went amazingly well. At this point I could provision a WordPress site in about 15 minutes. There is one caveat, for the time being, as the Windows Azure Drives are read/write for one web instance and read only for any others – you can only scale up (go to a bigger instance), but not not scale out to multiple instances. This is not a major concern for the types of deployments I am looking at and I am certain that folks are working on the requisite enhancements to remove this constraint.

But, I digress. This post is about progress on the Windows Phone App I am working on. One of the key components is being able to have the phone “Speak” to the user. Bing Translator has that capability – exposed with a number of web services APIs. As this is Silverlight, you need to use the Async Methods – for simplicity – and to rail against the prevailing wisdom I am using the SOAP service (when the tooling is there it is so drop dead simple). But frankly, I was a little rusty on the async syntax and the hoops you have to go through for playing back the audio file that the service returns was a little arcane for a newbie. So, I set off to find a good example. There were a few blog posts with code snippets that were of no use to someone not already really proficient. What I needed was a sample project to “study”. After a total of two hours of searching – sadly even fellow New Yorker Charles Petzold’s 1,000 page free opus on Windows Phone Development was no help – I stumbled onto this post with a great reply from babaandthepigman his avatar may be a can of spam, but the sample code posted here was as fine as jamón ibérico de bellota. So thanks to Baba,  I have cleared the major technical hurdle. More to come!

Tagged as: , ,

#1 WordPress – Azure – Remote Desktop, almost. on 12.14.2010 at 5:02 PM
As I mentioned in my last post, I got WordPress up and running in Azure using the Windows Azure Companion . I used one of the prebuilt packages, it was drop dead simple. I then proceeded to play around with Azure Remote Desktop access following Maarten

Time to get seriously hands on–Windows Phone (Silverlight), Azure, C#4 & Futures, EF4/WCF Data Services & Futures

This past 2 months has brought a slew of new technologies into my life. The biggest surprise was the families new Epson Artisan 725 All-in-One  inkjet which replaces the retched Epson R800. ThatR80was crap from the moment I got it, but I suffered thinking that when it did print well, I was getting something that was superior to what the multi-function amateurs were getting. Was I ever wrong. The fact that I suffered – as did my entire family – under the R800’s reign of garbage is unacceptable. The last straw came when we needed in cartridges for an emergency project and B&H Photo is the only place the tocks them reliably, it was a Saturday, so no B&H that day – so my wife decided she just build a new machine – why not – costs just about as much as the cartridges.  At first I resisted the multifunction machines – I wanted image quality – prosumer stuff. But everything was gigantic and I had no faith in the high end – so we picked the Artisan for about $200 and picked it up at Staples. Within 5 minutes of unpacking it, it was on my wireless network, all 4 machines could print to it – and printing like never before. The scanner was also a huge surprise. So, if you haven’t bought a printer in 3-5 years, do your self a favor and something like this – it frees your mind and lowers your stress level and increases family harmony. Though you will be buying more plain and photo paper. But this was just that tip of the iceberg.

For quite some time I have been following and doing the occasional hello world spike on a bunch of technologies that have happened to catch my fancy. I like the Azure services and I like the way they integrate tightly to the standard dev experience, and yet are very open, friendly and interoperable – cost effective too. But, I haven’t personally, on my own, put any code into production – lotta whiteboards, but not nearly enough running code. This needed to change.

Three things – aside form having small kids and a day job – were getting in my way. The plethora of new core and ancillary features that I also want to get up to speed on. I have been a fan of Entity Frameworks (sneer if you like) and in particular I have always loves the simple elegant power of WCF Data Services 4.0 (nee Astoria) and oData – I am also very excited about some of the futures stuff they have cooking. Plus, any time I get to chat with Pablo Castro is time well spent. Then looking at some of the language & framework  changes and stuff from the community – MEF comes to mind – RIA Services. This list goes on and on. And we are not even touching on the Web Matrix stuff.

The other major piece was the release of Windows Phone. I held out. Put my Android desires on hold and waited. So far I am pleased. Let’s see what I say after this series is complete. I have a bit (read very limited) Silverlight experience. But, I have been itching to get out of the browser for some time now – and this was the perfect excuse. This is also perfect time for me to do some stuff that will run on the awesome set of services offered up by Fran, Hoi & Patrick in Azure and Bing). V2 of this endeavor will certainly find me talking identify and Live with Angus, which is always fantastic.

The final – and most daunting obstacle was simply getting my self back into a place where I could write code without if being pure hell. I has been more years that I would care to remember since I put any of my own code into production. Heck, I haven’t written any POC code for over a year – unacceptable! But getting back on the horse can be scary.

So I am arming myself with some new books (primarily Joseph Albahari’s “C# in a 1,000 page nutshell” and Petzold’s older Programming in the Key of C# and his latest Programing Windows Phone. The additional trick here is I am trying to use an iPad to be the reader for these books.

My experience with the iPad if the past two weeks has been no love affair, I find reading books – books that you are just reading – not working with, is fine. I prefer eInk to the light bulb, and al the swirls and swooshes, but it is serviceable reading a straight up book.  For a manual or instructional text, well this is what we will be testing out.

So with all that going against me, I have set a goal to have a Windows Phone app, in the Marketplace, by the new year. The app will be simple. It will focus around a particular task in lower school education, if will run on the windows phone, use Azure and Bing service as well as some that are quite familiar to the community. It will be the kind of app ScottGu will be searching for in a year or two  – I should be out of beta by then.

I will try to lay bare all of the pains I face as I re-enter the practice of building. When I find myself stuck, I will take little time of to show you my iPad unboxing experience – shot with my Windows Phone. I will also likely do a little monologuing on the iPad as a book replacement.

Folks, It’s late thanksgiving night. I have already beaten the l-Tryptophan, but now I am plain old sleepy. Time to sign off, fire up Albahari and see if I can get past Literals, Punctuators & Operators.

I sincerely hope that all of you can feel as thankful as I do tonight.

All the best,

Nick