CloudKit – now that’s how to do a secure Database for users

Data Breach Hand Brick Wall Computer

One of the big controversies here relates to the appetite of the current UK government to release personal data with the most basic understanding of what constitutes personal identifiable information. The lessons are there in history, but I fear without knowing the context of the infamous AOL Data Leak, that we are destined to repeat it. With it goes personal information that we typically hold close to our chests, which may otherwise cause personal, social or (in the final analysis) financial prejudice.

When plans were first announced to release NHS records to third parties, and in the absence of what I thought were appropriate controls, I sought (with a heavy heart) to opt out of sharing my medical history with any third party – and instructed my GP accordingly. I’d gladly share everything with satisfactory controls in place (medical research is really important and should be encouraged), but I felt that insufficient care was being exercised. That said, we’re more than happy for my wife’s Genome to be stored in the USA by 23andMe – a company that demonstrably satisfied our privacy concerns.

It therefore came as quite a shock to find that a report, highlighting which third parties had already been granted access to health data with Government mandated approval, ran to a total 459 data releases to 160 organisations (last time I looked, that was 47 pages of PDF). See this and the associated PDFs on that page. Given the level of controls, I felt this was outrageous. Likewise the plans to release HMRC related personal financial data, again with soothing words from ministers in whom, given the NHS data implications, appear to have no empathy for the gross injustices likely to result from their actions.

The simple fact is that what constitutes individual identifiable information needs to be framed not only with what data fields are shared with a third party, but to know the resulting application of that data by the processing party. Not least if there is any suggestion that data is to be combined with other data sources, which could in turn triangulate back to make seemingly “anonymous” records traceable back to a specific individual.Which is precisely what happened in the AOL Data Leak example cited.

With that, and on a somewhat unrelated technical/programmer orientated journey, I set out to learn how Apple had architected it’s new CloudKit API announced this last week. This articulates the way in which applications running on your iPhone handset, iPad or Mac had a trusted way of accessing personal data stored (and synchronised between all of a users Apple devices) “in the Cloud”.

The central identifier that Apple associate with you, as a customer, is your Apple ID – typically an email address. In the Cloud, they give you access to two databases on their cloud infrastructure; one a public one, the other private. However, the second you try to create or access a table in either, the API accepts your iCloud identity and spits back a hash unique to your identity and the application on the iPhone asking to process that data. Different application, different hash. And everyone’s data is in there, so it’s immediately unable to permit any triangulation of disparate data that can trace back to uniquely identify a single user.

Apple take this one stage further, in that any application that asks for any personal identifiable data (like an email address, age, postcode, etc) from any table has to have access to that information specifically approved by the handset owners end user; no explicit permission (on a per application basis), no data.

The data maintained by Apple, besides holding personal information, health data (with HealthKit), details of home automation kit in your house (with HomeKit), and not least your credit card data stored to buy Music, Books and Apps, makes full use of this security model. And they’ve dogfooded it so that third party application providers use exactly the same model, and the same back end infrastructure. Which is also very, very inexpensive (data volumes go into Petabytes before you spend much money).

There are still some nuances I need to work. I’m used to SQL databases and to some NoSQL database structures (i’m MongoDB certified), but it’s not clear, based on looking at the way the database works, which engine is being used behind the scenes. It appears to be a key:value store with some garbage collection mechanics that look like a hybrid file system. It also has the capability to store “subscriptions”, so if specific criteria appear in the data store, specific messages can be dispatched to the users devices over the network automatically. Hence things like new diary appointments in a calendar can be synced across a users iPhone, iPad and Mac transparently, without the need for each to waste battery power polling the large database on the server waiting for events that are likely to arrive infrequently.

The final piece of the puzzle i’ve not worked out yet is, if you have a large database already (say of the calories, carbs, protein, fat and weights of thousands of foods in a nutrition database), how you’d get that loaded into an instance of the public database in Apple’s Cloud. Other that writing custom loading code of course!

That apart, really impressed how Apple have designed the datastore to ensure the security of users personal data, and to ensure an inability to triangulate data between information stored by different applications. And that if any personal identifiable data is requested by an application, that the user of the handset has to specifically authorise it’s disclosure for that application only. And without the app being able to sense if the data is actually present at all ahead of that release permission (so, for example, if a Health App wants to gain access to your blood sampling data, it doesn’t know if that data is even present or not before the permission is given – so the app can’t draw inferences on your probably having diabetes, which would be possible if it could deduce if it knew that you were recording glucose readings at all).

In summary, impressive design and a model that deserves our total respect. The more difficult job will be to get the same mindset in the folks looking to release our most personal data that we shared privately with our public sector servants. They owe us nothing less.

A first look at Apple HomeKit

Apple HomeKit Logo

Today’s video from Apple’s Worldwide Developers Conference viewing concerned HomeKit, which is the integration platform to control household appliances from your iPhone. Apple have defined a common set of Accessory Profiles, which are configured into a Home > Zone > Room hierarchy (you can define several ‘home’ locations, but one of them is normally selected as the primary one). Native devices include:

  • Garage Door Openers (with associated lighting)
  • Lights
  • Door locks
  • Thermostats
  • IP (Internet Protocol) Cameras
  • Switches

Currently, there are a myriad of different per vendor standards to control home automation products, but Apple are providing functionality to enable hardware (or software) bridges between disparate protocols and their own. Once a bridge has been discovered, the iPhone sees all the devices sitting the other side of the bridge as if they were directly connected to the iPhone and using the Apple provided interface protocols.

Every device type has a set of characteristics, such as:

  • Power State
  • Lock State
  • Target State
  • Brightness
  • Model Number
  • Current Temperature
  • etc

When devices are first defined, each has a compulsory “identify me” action. Hence if you’re sitting on the floor, trying to work out which of twelve identical-looking lightbulbs in the room to give an appropriate name, the “identify me” action on the iPhone pick list will result in the matching bulb blinking twice; for a security camera, blinking a colour LED, and so forth.

Each device, it’s room name, zone (like “upstairs”, “back garden”) and home name, plus the common characteristic actions, are encoded and enacted using Siri – Apple’s voice control on the iPhone. “Switch on all downstairs lights”, “Set the room temperature to 20 degrees C” and so forth are spoken into your iPhone handset. That is the default User Interface for the whole Home Automation Setup. The HomeKit resident database is in turn also available for use by vendor specific products via the HomeKit API, should a custom application be desirable.

There are of course extensive security controls to frustrate any attempt for anyone to be able to do “man in the middle” attacks, or to subvert the security of your device connections. For developers, Apple provide a software simulator so that you can test your software against a wide range of device types, even before the hardware is made available to you.

Most of the supporting detail to build compliant devices is found in the MFI (Made for iDevices) Guidelines, which are only available the other side of a license agreement with Apple here. The full WWDC presentation on HomeKit (just under an hour long) is called “Introduction to HomeKit” and present in the list of video sessions from WWDC here.

Overall, very impressive. That’s the home stuff largely queued up, just awaiting news of a bridge I think. Knowing how simple the voice setup is on Android JellyBean for a programmer (voice enabling an app is circa 20 lines of JavaScript), i’m sure a Google equivalent is eminently possible; if Google haven’t done their own API, then a bridge to Apple’s ecosystem (if the licensing allows it) should not be a major endeavour.

So, the only missing thing was talk of iBeacon support. However, that is a different use case. There are already pilots that sense presence of a low energy bluetooth beacon, and bring specific applications onto the lock screen. Examples include the Starbucks payment card app coming forward to make itself immediately available when you’re close to a Starbucks counter, or the Virgin Atlantic app making your boarding card available when you approach the check-in desk at an airport. Both are features of Apple’s PassBook loyalty card app – which is already used by hundreds of retailers, supermarkets and airlines.

The one thing about iBeacon is that you can enable your iPhone 5S to be a low energy beacon in it’s own right. You have full control over this and your presence is not made available to anything but applications on your own iPhone handset – over which, in the final analysis, you have total control. One use case already is pairing your Pebble Smartwatch with your iPhone 5S handset, so that if your phone leaves your immediate location by a specified short distance (say, 2 meters), you’re aggressively told immediately.

So, lots to look forward to in the Autumn. Quite a measured approach compared to the “Internet of Things” which other vendors are hyping with impunity (and quoting staggering revenue numbers which I find difficult to map onto any reality – starting with what folks seem to suggest is even a current huge market size already).

My next piece of homework will be to look at CloudKit, now that Apple are dogfooding it’s use in their own products while releasing it to third party developers. Hopefully, a good sign that Apple are now providing cloud services that match the resilience of competitive offerings for the first time – even if they are specific to Apple’s own platforms. But that’s all the other side of finishing my company’s end of year tax return prep work first!

Further snippets about Apple’s new Health App

Apple Health App Icon

Following on from my introductory post yesterday, i’ve now downloaded and viewed another of the WWDC videos – and have some more information about the Health APIs capabilities as far as device support is concerned.

Four specific Accessory Device types that follow bluetooth.org Low Energy Bluetooth GATT Specificiations have immediate built in pairing and data storage capability with the iPhone HealthKit capabilities in iOS 8 out of the box:

  • Heart Rate Monitors
  • Glucose Sensor
  • Blood Pressure Monitor (including the optional Heat Rate data – including energy expended metadata – if provided by the device)
  • Health Thermometer

For these, no specific application needs to be supplied to work with these four device types. There are a set of best practices to implement optional characteristics (eg: to confirm a chest heart monitor is in contact and is able to supply data). There are also optional services that should be implemented if possible, such as a battery service to notify the user if the device is running out of power.

Apple showed a few screenshots of the Health App during their devices presentation, which included these as an indication of what will be provided by default – if there is a set of sensors to feed this data into it:

Health App Screenshot

and when you dip into the Vital Signs option:

Health App Vital Signs

Other accessories can be associated with an application that communicates with the device via the iOS ExternalAccessory framework, CoreBluetooth, USB or via WiFi, but can use the HealthKit framework APIs to store the data from your app into the HealthKit database. Withing’s WiFi Bathroom Scales one such example!

There is capability to put associated yes/no user requests on the Notifications screen via the Apple Notification Center Service (ANCS) where appropriate. For example, to confirm a provide an on/off which or similar binary change in the handset notifications, if this is desired.

The recommended bedtime reading for HealthKit accessory interfacing are (a) the Bluetooth Accessory Design Guidelines for Apple Products (in the Bluetooth for Developers site) and (b) documentation relating to Apples MFi program (MFi – “Made for i-devices” I guess – contains the same set of interface guidelines used by HomeKit and to add Hearing Aid Audio Transport to Apple iOS devices).

Apple also list a specific site for iBeacon, which has possibilities for handshaking applications with iPhone handsets based on local proximity – but really there for different location-based services (like a security guard being checked in and out as they patrol a building, or a health visitor attending an at-home patient – without having to rely solely on relatively power-hungry GPS co-ordinate sampling). But that’s a much wider story.

In the meantime, applications that:

  • monitor or record food intake (like the excellent www.weightlossresources.co.uk site i’ve been feeding data into daily now for over 12 years)
  • notify a health professional of defined “out of band” data readings from a patient
  • emergency contact (outside of the “in case of emergency” sheet available on the lock screen in iOS 8)
  • anything with the ability to share/download health data with the end users specific permission to a GP or Hospital (the user can subset this down in fine detail)
  • any approved diagnostic aid, having been subjected to regulatory approval

are the scope of individual application developers code. All share the same, heavily secured database.

With this, Apples good work should ensure a vibrant community of use to further embed iPhone handsets into their users lives. All we need now is further devices – iWatch anyone? – that can make full use of the capabilities in the Health App. It all looks very ready to go.

An initial dive into Apples new Health App (and HealthKit API)

Apple HealthKit Icon

Apple announced their new Health application (previously known during rumours as HealthBook) and the associated HealthKit Application Programming Interface (API) at their Worldwide Developers Conference earlier this week. A video of the associated conference presentation that focussed exclusively on it at WWDC was put up yesterday, and another that preceded it – showing how you interface low energy Bluetooth sensors to an iPhone and hence to feed it – should be up shortly.

Even though the application won’t be here until iOS 8 releases (sometime in the Autumn), the marketing folks have already started citing the already frequent use of iPhones in Health and Fitness applications here (the campaign title is “Strength” and the video lasts for exactly one minute).

Initial discoveries:

  1. The application is iPhone only. No iPad version at first release (if ever).
  2. A lot of the set-up work for an application provider relates to the measures taken, and the associated weight/volume metrics used. These can be complex (like mg/DL, calories, steps, temperature, blood pressure readings, etc) and are stored with corresponding timestamps.
  3. The API provides a rich set of unit conversion functions (all known count, Imperial and Metric measure combinations), so these shouldn’t be needed in your application code.
  4. Access to the data is authorised by class (measure type). Apple have been really thorough on the security model; users get fine grained control on which data can be accessed by each application on the handset. Even to the extent that no-one can ask “Is this user sampling blood pressure on this device”? Apps can only ask “Are there blood pressure readings that my application has permission to access please?”. The effect is that  apps can’t tell the difference between “what isn’t sampled” or “what is sampled but denied access” to them; hence inferences that the user may have diabetes is impossible to deduce from the yes/no answer given. Well thought out security.
  5. There is provision for several devices taking duplicated readings (eg: having a FitBit step counter and the handset deducing step count itself from it’s own sensors). The API queries can be told which is the default device, so that when stats are mapped out, secondary device data can be used if and where there are gaps in the primary sensors data. I guess the use case is wearing your Fitbit out running when leaving your phone handset at home (or vice versa); if both are operating simultaneously, the data samples reported in the time slots mapped come only from the primary device.
  6. Readings are stored in one locally held Object orientated database for all measures taken, by all monitoring devices you use. All health applications on your handset use this single database, and need to be individually authorised for each class of data readings you permit them to be exposed to. No permission, no access. This is the sort of detail tabloid newspapers choose to overlook in order to get clickbait headlines; don’t believe scare stories that all your data is immediately available to health professionals or other institutions – it is patently not the case.

The end result is that you consolidate all your health related data in one place, and can selectively give access to subsets of it to other applications on your iPhone handset (and to revoke permissions at any time). The API contains a statistics functions library and the ability to graph readings against a timeline, as demonstrated by the Health Application that will be present on every iPhone running iOS 8. The side effect of this is that the iPhone is merely acting as a data collection device, and is not dishing out advice – something that would otherwise need regulatory approvals.

Vendors/users of all manner of sensors, weighing scales, Boditrax machines, monitors, etc can add support for their devices to feed data into the users Health database on the users handset. I’m just waiting for the video of the WWDC session that shows how to do this to be made available on my local copy of the WWDC app. More insights may come once I have the opportunity to hear that through.

In the meantime, Mayo Clinic have developed an application that can message a health professional if certain readings go outside safe bounds that they have set for their patient (with the patients permission!). One provider in the USA is giving the ability to feed data – with the patients permission – directly into their doctors patient database. I suspect there are a myriad of use cases that applications can be developed for; there is already quite a list of institutions piloting related applications:

Apple HealthKit Pilot Users

The one point to leave with is probably the most important of all. Health data is a valuable asset, and must be protected to avoid any exposure of the user to potential personal or financial prejudice. Apple have done a thorough piece of work to ensure that for the users of their handsets.

The reward is likely to be that an iPhone will cement itself even further into the daily lives of it’s owners just as they have to date – and without unwanted surprises.

Footnote: now i’ve listened to the associated Health App Devices Presentation from WWDC, i’ve added an extra blog post with more advanced information on the Health Apps capabilities and device support here.

Apple iOS Autumn 2014 release: what you’ll see

Apple Health AppIt looks like John Gruber of Daring Fireball was right on the money, expecting only software enhancements to both iOS (8) and MacOS OS/X (10.10 aka Yosemite), plus some associated development tools. Most blogs out there are picking things through in detail, hence i’ll try to go the other way – and start with changes apparent to the user, and work back from there.

Lock Screen improvements

The first thing is that there is an “in the event of an emergency” card you (or anyone else!) can call up from the lock screen. Not only to contain key medical data in the event of an emergency, but also associated contact details – so if you lose your iPhone or iPad, there is a fair chance of a good samaritan being able to return it to you.

In the event that you lose your iPhone/iPad in an area where it is not discovered, “Find my iPhone” will receive and store a last gasp “this is where I am” location when the battery charge drops below a certain threshold. Hence it’s last known position will be available to you long after the charge goes in the battery – which should make it much easier to locate.

Another feature is that some applications can appear in one corner of the lock screen when you are in proximity to specific locations (eg: Starbucks outlet, ticket office, airline check-in). Hence a useful application to complete a transaction is always automatically available to you.

Family features

For environments like my son’s family, there will be an ability to daisy chain up to 6 Apple IDs (and their associated iDevices) as a single entity. Parents can assign Parental controls to their kids devices, and if the kids try to order anything from iTunes (or in-app purchases), approval will be sought from one of their parents – who on acceptance, will be charged against their own credit card. Joining the families devices in this way also gives a shared photo library, shared access to media (where desired), and allows parents to see the location of all devices using “Find my iPhone”.

The ability to set Parental Controls will no doubt help my son, who once walked in on his 10 year old Aspergers/ADHD son’s bedroom to be greeted by Siri saying “I don’t understand what you mean by Who is Postman Pat’s Boyfriend”.

Messaging

Apple have put in some of the functionality of competitive messaging platforms, so you can send voice messages and video to other users over iMessage inline with your normal text stream. You can also elect to reverse yourself out of group conversations at any time. That said, the more impressive thing is that if you receive a message on your iPhone, you can raise the handset to your ear, say something like “Hiya – in a meeting, will be back to you in 25 minutes max” and take the phone away from your head. The act of doing so sends that audio message back to the person who’d messaged you immediately.

When the iPhone is plugged into a power source or car adaptor, Siri is available from the lock screen by saying “Hey, Siri” – just like my Nexus 5 responds (at any time) to “OK, Google”. Good to send text messages vocally and to instruct navigation in a hands-free manner.

Health and HealthKit

Don’t believe what you read in the newspapers. Apple announced an in-iPhone database and display program called “Health” (what was known as Healthbook in pre-release rumours). This is designed to act as an interface to countless 3rd party devices like step counters (FitBit), heart monitors, blood sugar sensors etc – and to place all that data into a consolidated database and presentation application running on the users iPhone handset.

That said, the resulting data is heavily protected; just like Android, you have to specifically authorise access to sections of that data to any application that wants to gain access to it. Hence the one application cited – from the Mayo Clinic – would download data into their systems, or to be alerted when readings deviate from specific thresholds for emergency attention. That said, the end user has to specifically authorise what part of the data in the Health database could be exposed to the Mayo application; no permission, there is no access. This is something the mainstream press completely miss; you have full control over your data, and nothing travels to your GP or Hospital without your explicit (and revocable at any time) permission.

Home Automation (HomeKit)

Apple also announced an application programming interface that permits access to home control equipment, like electronic locks, lights, heating, fire alarms and so forth. While they have signed up many of the existing home automation vendors to give a uniform interface for the iPhone or iPad, there is currently no associated user interface at the time of writing. Instead, the user can instruct Siri (the voice control on an iPhone/iPad) to perform one or more steps (aka “Scenes”) to issue commands, such as “Lock the front door” or “Going to Bed” (to lock the house, garage and alter lighting levels around the house). Still early days.

Continuity

Really for folks with wall to wall Apple devices from Macs down to iPhones. The devices can sense when they are in close proximity to each other, and can hand off work and communications traffic between them for applications developed using Apple’s Continuity API. So, you can get your Mac to place a phone call from a number on the Mac screen via a close by iPhone, or to see messages received on your iPhone in your Mac notifications – and even move in-progress work live between devices. Where your Cell provider allows it, you can even use your iPhone to place calls over WiFi (in effect turning your Mac into a Femto cell) if cell coverage around you is otherwise poor.

Developers

Most of the rest of the announcements were aimed at developers. Despite what Tim Cook said about Android, almost all the enhancements (outside of programming language Swift and the Gaming APIs (SpriteKit, Metal) allow deep embedding of third party applications into iOS for the first time; this is something Android has done for years.

There are thousands of changes everywhere, with tidy ups of the User Interface on both Mac OS/X and on iOS (which now look surprisingly similar) and neat tricks everywhere. There is also functionality under the hood to enable iOS to (at last) handle different dot dimension screens.

I’m watching a few of the WWDC videos (in the iOS WWDC App), in particular those related to HealthKit and the Health App, so see how they integrate with back end systems (a professional interest!).

So, all ready for developers to get themselves ready for the next slew of Apple hardware announcements in the Autumn. Looking forward to it!

Expectations of Apple announcements at WWDC 2014

Jony Ive Beats Headphones

We’re nearly there for the announcements at this years Apple Worldwide Developers Conference 2014. Lots of speculation as normal, but I suspect the most plausible predictions are those from John Gruber on his Daring Fireball blog here.

The keynote is 2 hours long and can be watched live using Apple’s WWDC app, which is downloadable from the Apple App Store.

The Sapphire plant where Apple are reputed to be building screens for the next iPhone aren’t expected to come on stream (at least volume wise) yet, so i’d suspect that new phone handsets will arrive later in the year. While I thought Beats headphones would give Apple a youth-orientated brand to challenge Xiaomi in future growth markets – much as Toyota have their own sub-brands in Scion and Lexus in the car industry – it sounds like it’s use is more to land the impressive Jimmy Iovine and to sell a multi-platform music streaming service only. Certainly the trend is that purchasing tracks is out, and streaming services absorbing a lot of future growth potential.

I’m particularly looking out for Apple’s first foray into health and home automation applications – both using sensor devices from a wide variety of other vendors. But would be delighted if there are more impressive surprises queued up. We shall see – just 100 minutes to go at the time of writing!

Recommended Bedtime Reading, and signing off for a bit…

I’ve never really been a big fiction fan. About the only author i’ve read extensively (outside high technology and business stuff – don’t yawn) was by Michael Crichton. At least the books that have yet to be turned into films. Well, all except “Disclosure”, where Demi Moore sexually harasses Michael Douglas and then throws the company’s political establishment against him when he refuses to succumb to her charms. But I digress.

There’s been a lot of comment on the blogs and twitter feeds I follow on the West Coast of the USA that keep on citing a new book by Andy Weir called “The Martian”. I tried to buy it on my last trip abroad, thinking i’d go buy the voiced version on Audible to listen to, but baulked at it’s then £20+ price tag. However, it appeared on an Amazon email last week for under £10 in hardback form, so I bought it.

Finished it today (like many of the USA folks, completely immersed in it for two days between work bursts). I’m completely with them; it is a fantastic book, and would make a great film. A modern day Robinson Crusoe, but one accidentally left behind on Mars. At least Crusoe had to worry more about Cannibals than continuously working around all the life support systems, and food, to last long enough to be rescued. If indeed NASA didn’t just leave him behind to eat his poison pills. Thoroughly recommended, and superbly written throughout.

Tomorrow, i’m off to Cornwall for a short break before I start my next assignment, which will start on June 2nd. Really looking forward to it. As such, the frequency of my blog posts are, with effect from today, going to drop to one per week. I think my daily posts have now caught up with my brain nuances, and the newsflow in High Technology has started to slow. At least until Apple have their Worldwide Developers Conference at the start of June, and Google do their matching I/O conference a week or two later.

In the three months or so i’ve been writing this blog, a few articles keep on getting lots of page views well after their posting data. The Crossing the Chasm one got reposted on LinkedIn by the original author of the book i’d summarised, and I started to get warnings from WordPress that I appeared to have an incoming tidal wave for 3 days running.

For some reason, my mention of Chromecast working on the Tesco Hudl tablet gets regular traffic, nominally by hoards of people querying Google to see if Tesco sell Chromecast in the UK.

Surprisingly few look at my tips for spotting the 4 key trends to look at with any business, in order to suss out what dimensions are and are not working. Or the other post about how to conduct yourself in a price war (there are only two things you focus on, and all paths to action stem from there).

I’m gone for a week, and to see how adept my 2 year old granddaughter has got on her iPad Mini we bought her (a necessity, as when she visits us, I never could get it back until she leaves again). She is impressively native on it with photos and with YouTube. Even tries to swipe “Skip Ad” on ITV on the telly.

So, signing off until May 30th. See you once i’m back.

Further Insights – Apple/Beats and the Anaemic Twitter

Jimmy Iovine Interiew - AllThingsD

A bit of a slow day today – i’m doing my Amazon Web Services Accreditations and it appears to be a slow news day at the same time.

There was neat video cited by Benedict Evans Weekly Email where Jimmy Iovine, one of the two co-founders of Beats, was interviewed at a recent AllThingsDigital conference. Full 41 minute video here. Having listened to it yesterday, I think i’ve changed my mind – and that Beats is probably not the wholesale Xioami-type younger persons brand for Apple. Instead, it sounds like the real benefit is a redesign of Apple’s relatively unsuccessful “iTunes Match” and a re-implementation of the “iTunes Genius” recommendation engine. The Beats folks are curating their own “what track should we play next” capability with over 100 professional record industry mix specialists, and then trying to bolt on some behaviours that a machine-generated recommendation engine can follow.

On a completely different tack, I think Twitter’s lack of user growth is certainly below what most commentators appear to thing as possible (with a base of 200 million Monthly Active Users – compared to Facebooks 1.2 Billion equivalent). That said, there was a comment I saw berating people for being so hard on them.

The central argument is that only 60 million of the 200 million logged in Monthly Active Users post any tweets at all. There was a three year old comment from VC Fred Wilson (full text here) I saw that suggested this was actually a terrific achievement, and that most media production has far less user content shared. Fred (who was an early stage investor in the company) said:

Let’s remember one of the cardinal rules of social media. Out of 100 people, 1% will create the content, 10% will curate the content, and the other 90% will simply consume it. That plays out on this blog, that plays out in Twitter, and that plays out in most of the services we are invested in.

Twitter has 400mm active users a month, 100mm of them are engaged enough to log in, but only 60mm tweet. For years people have made it out like this is a bad thing. It’s not a bad thing. It is an amazing thing. Let people use the service the way they want and you’ll get more users. Logged out users are users just like logged in users. We should focus more on them, build services for them, and treat them like users, not second class citizens.

That said,  a few people are starting to complain about Marc Andreessen’s bombs of successive numbered tweets – the very thing i’ve said (with supporting dialogue from other participants) were really gold. The main complaint given (full article here) was the way they mess up the twitter streams of people who aren’t as fascinated as I am by the content of the discussion to-and-fro’s. I just wish there was a way to bottle these things – and i’m sure they will in time. Whether it’s in Twitter or with a different service. But that’s for another day.

In the meantime, back to my AWS certifications.

Apple buying Beats; one idea everyone appears to be missing

Beats by Dre Logo

There’s been a lot of commentary on blogs and podcasts following the apparent strong rumour that Apple are paying over $3 Billion to buy the Beats by Dr Dre headphone business and associated music streaming service. Most of it very bemused as to why Apple would want to do this. Thinking about it, I have my own theory, though i’d be first to admit I may be way out.

In trying to deduce a theory, a few characteristics of the position Apple find themselves in today:

  • Worldwide, they have circa 70% of all handset makers profits.
  • In every market they enter, they displace the previous market leading high end Android competitors, and relentlessly ratchet up their market share (currently 20% in most established geographies)
  • They are parked in the premium, highest price volume segment everywhere they serve
  • In developing markets, a lot of their initial adoption comes from users buying previous model second hand or refurbished handsets.
  • The latest 5c model was parked a bit too close to the 5S, making it a decoy price in both contract and prepay markets. Colour did not lead an appeal to a younger demographic as was originally expected.
  • Carriers (with the exception of Japan) tend to sell a handset on a cost recovery basis, either upfront (for PAYG) or as part of a 2 year term (Contract)
  • Users change their handsets about once every two years
  • There is a burgeoning market for the collection, disposal and/or resale of old iPhones
  • Historically, the strongest competitor has been Samsung. However, upstarts like Xioami are taking share from Samsung in China, and showing signs of doing that elsewhere as they sell into more territories. Xioami’s target demographic is 20-30 year old, first time purchasers since leaving the parental nest; high quality product, thin margins, but supplemented by useful, high quality and paid online services
  • Smartphone growth has started to stall, where the growing segments are either at the bottom (feature phone replacement or first step onto the ladder) or in the midrange (circa $300)

So, if I was Apple, what would I do in order to preserve the current high end volumes and profit margins, but dip down into growth segments? I think my strategy would be:

  1. In the car markets of the USA, Toyota sell Lexus at the premium end of the market, and Scion to the young, first time buyer demographics. Mindful there is also Honda/Acura and Nissan/Infiniti with similar volume/premium brands. Beats becomes Apple’s brand for the Xioami (20-30 year old) demographic; past that, many will hop onto the Apple brand as they age (or become wealthier).
  2. Apple formalise the bundling of a replacement handset and associated online services into a perpetual $15-ish scale monthly subscription. New replacement requires return of old handset, which Apple can continue to use in emergent markets; by doing so, they garner more wallet share. Telco services become relatively unbundled commodities.

I think that would give them high growth, more people in their 100’s of millions entering the Apple ecosystem, and without affecting the current iPhone business dynamics at all.

So, what do you think? It’ll be interesting to see how this pans out in the coming months.

Fixed! Tableau on my Mac using Amazon WorkSpaces

AWS Logo

I found out today that we may need to wait another month for Tableau Desktop Professional for the Mac to be released, and i’ve been eager to finish off my statistical analysis project. I’ve collected 12 years worth of daily food intake courtesy of WeightLossResources, which splits out to calories, carbs, protein, fat and exercise calories – and is tabulated against weekly weight readings.

Google Fusion Tables – in which I did a short online course – can do most things except to calculate and draw a straight line, or exponential equivalent, through a scatter plot. This is meat and drink to Tableau, but which unfortunately (for Mac, Chromebook and iPad user me) runs only on Microsoft Windows.

I got a notification this morning that Amazon Web Services – as promised at their AWS Summit 2014 in London last week – had released Amazon WorkSpaces hosted within Europe. This provisions quite a meaty PC for you, but which you can operate through provided client software on your local PC, Mac, Android Tablet or iPad. There is also a free add-on to sync the content of a local Windows or Mac Directory with the virtual storage on the hosted PC, so you can hook in access to files on your local device if needed. There are more advanced options for corporate users, including Active Directory Support and the ability to use that to sideload apps for a user community – though that is way in advance of what i’m doing here.

There are a number of options, from the “Basic” single CPU, 3.75GB memory, 50GB disk PC up to one with 2 CPUs, 7GB of memory, 100GB of disk and the complete Microsoft Office Professional Suite on board. More here. Prices from $35 to $75/PC per month.

I thought i’d have a crack at provisioning one for the month, and to give me 2 weeks to play with a trial copy of Tableau Desktop Professional (i’ve not used it since V7, and the current release is 8.1). Within 20 minutes of requesting it off my AWS console, I received an email saying it had been provisioned and was ready to go. So…

WorkSpaces Set Up

 

You tell it what you want, and it goes away for 20 minutes provisioning your request (I managed to accidentally do this for a US region, but deleted that and selected Ireland instead – it provisioned just the one in the Ireland datacentre). Once done, it sent me an email with a URL and a registration code for my PC (it will do this for each user if you provision several at once):

AWS WorkSpaces Registration

 

Tap in the registration code from the email received, it does the initial piece of the client end of the configuration, then asks me to login:

AWS Workspaces Login

 

Once i’d done that, it then invited me to install the client software, which I did for Mac OS/X locally, and emailed the links for Android and iOS to my email address to pick up on those devices. For what it’s worth, the Android version said my Nexus 5 wasn’t a supported device (I guess it needs a tablet), but the iOS version installed fine on my iPad Mini.

AWS Workspaces Client Setup

 

And in I went. A Windows PC. Surprisingly nippy, and I felt no real difference between this and what I remember of a local Windows 7 laptop I used to have at Computacenter some 18 months ago now:

AWS Workspaces Microsoft Windows

 

The main need then was to drop a few files onto the hard disk, but I had to go revisit the Amazon WorkSpaces web site and download the Sync package for Mac OS/X. Once installed on my Mac, it asked me for my PC’s registration code again (wouldn’t accept it copy/pasted in on that one screen, so I had to carefully re-enter a short string), asked which local Mac directory I wanted to use to sync with the hosted PC, and off it went. Syncs just like dropbox, took a few minutes to populate that with quite a few files I had sitting there already. Once up, I used the provided Firefox to download Tableau Desktop Professional, the Excel driver I needed (as I don’t have Microsoft Office on my basic version here) and – voila. Tableau running fine on AWS WorkSpaces, on my MacBook Air:

Tableau Desktop Professional Running

 

Very snappy too, and i’m now back at home with my favourite Analytics software of all time – on my Mac, and directly on my iPad Mini also. The latter with impressive keyboard and mouse support, just a two finger gesture (not that one) away at all times.

So, I now have the tools to complete the statistical analysis storyboard of my 12 years of nutrition and weight data – and to set specific calorie and carb content to hit my 2lbs/week downward goal again (i’ve been tracking at only half that rate in the last 6 months).

In the meantime, i’ve been really impressed with Amazon WorkSpaces. Fast, Simple and inexpensive – and probably of wide applicability to lots of Enterprise customers I know. A Windows PC that I can dispose of again as soon as i’ve finished with it, for a grand sum of less than £21 for my months use. Tremendous!