Yesterday Jack Zankowski (who leads the next gen UX at Comcast) and I gave a talk on the design and engineering challenges in building VR experiences for TV content at the WICT Tech It Out event at Villanova University. While there, we were also able to check out their pretty interesting VR cave as well.
The talk is based on a VR prototype we demoed recently at the Cable Show and the Code Conference. Personally its been a very educational experience. In a way, working with Unity is like working with Flash all over again, with similar challenges ( managing visual assets, code architecture, working in a team of varying skillsets from design to development). Hopefully I’ll do some more write-ups here on those challenges. But for now, the deck from the event is embedded below.
Quite a few years back, I got really interested in Treemaps. The whole project had started as an academic discussion between a friend and I on how hard a treemap would be to build (they seemed to be a pretty popular data visualization method back then, though I don’t see them around much these days). Anyway, what I thought would be trivial weekend hack turned out to be a lot more involved and I ended up reading and implementing Mark Bruls, Kees Huizing, and Jarke J. van Wijk’s algorithm for an optimum Squarified Treemap implementation (in ActionScript 3, you can find all the code which I open sourced here).
To demo the algorithm, I took the visual aesthetics of Marumushi’s NewsMap but instead used it to show trending topics on Digg.com. The project, not so creatively named DiggGraphr, got fairly popular and was mentioned on a few data visualization blogs and even won an award for a Digg.com API contest.
DiggGraphr has been dead for a while now, but I was pleasantly surprised to have it be included in a research paper titled ‘A case study on news services using big data analytics (뉴스빅데이터 서비스 사례 및 모델 개발 연구)’ conducted by professor Kim of the Korea Aerospace University and three researchers from a non-profit research organization (Media and Future Institute).
If anyone of you can read Korean, feel free to read the paper here
At last week’s AndroidPhilly event, I was surprised to find a lock screen notification for a “Physical Web Page” on my phone
Tapping on that notification linked to an explanation page of the Physical Web pages and then a link to Nick Dipatri’s BLE geo-fencing app.
This was the first time I have seen the Physical Web pages in action, though Google has talked about them for a while. While not a lot of people talk about iOS’s iBeacons much anymore (compared to the rage they were when they were announced), the Physical Web pages approach is different with Google Chrome being the receiver app that detects the beacons and notifies the user. This is great for developers who don’t have to worry about having their app installed but also means users wont be able to skip notifications from services they don’t care for. Bundling the beacon technology within Chrome also means that the Google approach is more cross platform and will work on multiple devices.
It’ll be interesting to see how this evolves in the next few years.
I have been reading a lot of interesting things on robotics and AI lately.
Boston Dynamics’ new Atlas 2 Robots video is fascinating to watch. While the capabilities of the robot to balance itself and track items is great, almost every person who I showed the video felt sorry for the robot who keeps getting shoved, kicked and its box pushed away. The empathy towards a machine is really a fascinating thing to observe.
I just finished the book “Machines of Loving Grace“. While the book doesn’t have any unique answers to the question of human-machine balance in the coming years, the book is full of fascinating information on the history of AI and robotics. Definitely worth a read.
I was in New Delhi, India for the last couple of weeks visiting family. The trip has also been an interesting experience looking at how people use mobile phones here. Here are some observations.
Most folks in India are on Android, though I did see more iPhones than I thought I would. The Android devices are those I have never seen before. Pictured below are my parents’ and brother’s phone. The one on the left is from a company called CoolPad, the middle is a Xiaomi Mi 4i and the one on the right is an Asus. All of these are ₹10,000 to ₹15,000, which translates to around $150 to $225. And they work really well. I am particularly impressed by the Xiaomi which has a very nice UI language and generally performs pretty well (why can Xiaomi do such a good job at UI and the much bigger Samsung cannot is a mystery to me)
Also, I didn’t see many phablets, though I did see a bunch of cheap and really small Android phones.
Almost everyone in India seems to be on WhatsApp (unsurprisingly the #1 free app in India), and are on numerous WhatsApp groups that range from family groups to local neighborhood communities. WhatsApp has surprisingly few features compared to other messaging apps and yet, even though there may be other apps with features (specific to commerce for example), WhatsApp is where all the commerce happens.
ShareIt, a file transfer tool by Lenovo, is the #2 free app on the store beating even Facebook which is at #3. Guess file transfer between phones is a big thing here.
Another thing I was surprised to notice was that people were pretty open to accepting calls from unknown numbers (I mostly let those go to voicemail and I know most of my American friends do as well). This also makes Truecaller a pretty essential app here.
I actually like the Truecaller experience, which opens a small overlay every time a call comes in with information on the caller. As of this writing, Truecaller is #7 free app on the Google Play Store in India.
Pre-Paid plans and Missed Calls
Unlike the US where almost everyone is on unlimited calls, people here still have plans with limited number of minutes. A lot of communication happens by just missed calls, whether its just signaling (“Send me a missed call when you have reached so-and-so place”) or with a second call from a land-line by the receiver of the missed call (incoming calls are free). Even ads on TV and radio mention phone numbers that you give a missed call to and they’ll call back with more information.
(While the idea of the missed call seems weird, it reminds me of the Yo app. Both allow a very simple message to be interpreted in a variety of ways)
People also add minutes to their plans using scratch cards, which also apparently make great give aways at events.
Phone: The original Conversational Commerce app
The term conversational commerce has been getting pretty popular lately as companies build AI and Natural Language based systems where you would be able to talk to different services (like Uber) as opposed to using an app. The original version of that is how services are still used in India. Almost every service like groceries, food delivery etc is a phone call away and most people I met prefer to just call rather than deal with an app or a website. Apps like Whatsapp will also soon allow you to call a merchant from right inside the app which seems to be how folks prefer to do business in India.
I met a few entrepreneurs at a local event in Delhi and it was interesting to see their challenges. Some are familiar, like general lack of engagement with apps in a very crowded app market. Others seem more unique to India, like a general unwillingness to pay for digital services for lack of trust or low perceived value for the services. Poorer connectivity is also an issue and quite a few apps (like Google Transit for example) give you options to download the data for offline usability.
An interesting point that came up in the conversation is the growing need for localization in apps. While a fair bit of the country speaks English, as mobile devices become more accessible to even the remotest part of India, support for regional languages is becoming more and more important.
WordPress.com prepared a 2015 annual report for this blog.
Here’s an excerpt:
The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 35,000 times in 2015. If it were a concert at Sydney Opera House, it would take about 13 sold-out performances for that many people to see it.
Facebook launched M last week which lets you complete a variety of tasks, from finding information to making reservations, by messaging the assistant over Facebook Messenger. As Facebook’s David Marcus explains in his post, M sits between completely automated AI run services like Now and Siri and completely manual services like Magic, which lets it be a more useful than the former and more scalable than the latter. As Amazon found with Mechanical Turk, while the promise of AI is fantastic, humans are still pretty good at solving problems till that promise is realized.
But more than the functionality, the thing that struck me most was how simple messaging was almost the perfect interface to a lot of services, compared to the beautifully crafted app screens that so many of us spend so much time and money to develop.
Mobile platforms today have well defined design and interaction guidelines and app designers are left with the challenge of playing well within the guidelines but also come up with signature design and interaction elements that users like enough to choose that app over the flood of competitors. And as these become more elaborate, the cost of developing these apps keeps climbing even as people’s excitement about apps seems to be falling.
Could the simple UI of messaging apps make a lot of that effort irrelevant?
There have a few apps that have used the very familiar messaging UI as the primary interface for interacting with them:
Ethan was one of the first viral apps that allowed anyone to ask Ethan, just a random developer, any question and he would respond back.
I have already mentioned Magic is another interesting startup that lets you order anything at all by just sending them a message.
Lark is a fitness app that uses messaging interface and only allowing canned responses to allow you to track fitness metrics and log data like food intake.
Penny app has the same idea as Lark but is dedicated to the personal finance domain.
In Asia, a lot of apps already live within the messaging applications like WeChat as shown in the video below
Messaging UI also translates really well to non visual experiences, like apps for Amazon Echo.
Its surprising that right now none of the mobile platforms let you extend the core messaging services that come packed with the OS (Hangouts or iMessage). Facebook Messenger released its API this year though and it’ll be interesting to see what kind of services start to appear on top of it.
One of the iOS prototypes I had been working on recently reached a point where I was ready to run a small internal test with it. Looking around for tools to manage the process, most people I talked to mentioned TestFlight. I had used TestFlight before Apple’s acquisition to receive betas but never really ran the test process myself.
The process to add users to TestFlight is reasonably well documented. However, when trying to add one of my team members as an internal tester, we immediately ran into this error:
Turns out that person was also added as an internal tester to a different account. For alpha builds, Apple not only limits the number of developers that can be added as internal testers but also mandates that they are not part of a different internal beta test group.
Theoretically, we could create a provisioning profile for this and other developer devices that we’d like to test on, but the auto updates via TestFlight are really convenient. Some teams I talked to had implemented their own test management server to handle this, but it seemed like a lot of work.
It turns out, getting around this is rather simple. Unlike the app install management system that uses device UUIDs which makes that almost impossible to install unsanctioned apps, having an app managed by TestFlight only requires that user to get access to the welcome email (with the app link) TestFlight sends out when a new user is invited.
So basically you do this:
Create a new iTunes account for the user using an email address that person has access to and has never been used for iTunes (or just create a new email address)
Invite that new account to the alpha test.
When TestFlight sends the invite email, get that email forwarded to the email address that user has on the iOS device. As long as the invite email is opened on the device, TestFlight will start managing the alpha test process as you had wanted.
The big “whew” moment here was that the TestFlight invite is (at least for now) not tied to the user’s iTunes account that he/she is using for the AppStore on that device. In fact, the invite email has no idea of whom the invite is for and can be used by anyone.
That said, the whole requirement of one user being able to participate in only one alpha is needlessly restrictive. Hopefully Apple changes this in the future.
A few years ago I was introduced to a growing subculture in the U.S. that was really interested in numerically measuring a variety of aspects of their lives like steps, sleep, environmental conditions around where they lived, etc. and attempted to draw correlations from this data to improve some aspect of their lives. This was before the current explosion of fitness devices and collecting this data was a lot more difficult, and yet these individuals went through enormous effort often wearing clunky self-made devices to get access to the numbers they were looking for. The behavior seemed, at least by conventional definitions, not normal.
Today, at least a part of this behavior has seeped into conventional user behavior with the rise of measuring devices like Fitbit, smart watches etc and the constant running of ads emphasizing the importance of people tracking their own fitness. But the QS community continues to break new ground in identifying interesting metrics about themselves and finding creative ways to collect them.
A couple of weeks ago, the QS community had their annual conference in San Francisco and I was fortunate to be able to attend it as Comcast Labs, the group I work for, was one of the primary sponsors.
The QS community is an interesting group of people that come together around their common interest of measuring personal data. I had assumed that it would be predominantly be full of technologists or statisticians, but I met people from a variety of backgrounds from artists to models to fitness instructors.
I feel I met 3 types of people there:
People doing it for pure curiosity, like measuring time spent on couches or watching TV, cataloging their travels or seeing if chat history could show when they fell in love with their now significant other.
People who were trying to deal with real or potential health issues like building apps to collect data to quantify effects of both disease and medication on their bodies
People who were using their their own data for artistic interpretations or visualization
What was interesting was the sheer number of data points people were tracking. A lot of this data used to require medical grade equipment to measure but now can be measured with fair accuracy using off the shelf devices.
Heart Rate Variability
EDA: electrodermal activity, also known as EDR or GSR, galvanic skin response
Macro Nutrients intake
Resting Metabolic Rate
Resting Heart Rate
Not all metrics were biological. There were also examples of people tracking environmental and social metrics that could influence their lives like:
Electric and magnetic fields in their environment
Email volume and how it related to their stress levels
Questions and Answers
Getting data is only one part of the equation. The real challenge is to correlate this data to draw insights. There were a number of talks around people drawing such correlations which were interesting cause a few missed that old adage about correlation not being causation (Did you hear the joke about data proving pirates causing global warming? Cause if you plot the rise of piracy and global temperatures on a graph, they correlate pretty closely). The other challenging aspect is the whole Heisenberg Principle about the very act of measuring something changing what you are measuring.
Even so, the speakers at the event had some really interesting talks on a trying to answer a lot of questions via data, such as:
How does exercise affect metrics like blood pressure or mood?
How do different diets influence mood, health or different ailments?
How does zapping your head with controlled electric current affect your brain?
How does stress affect heart rate variability?
How much does it cost to eat healthy?
How happens to your expenses if you don’t have a place to live for a year?
Most of the community uses Google spreadsheets to analyze their data, though there was also a talk by a developer at Tableau software about how he used that to analyze his data. But the community is small enough that right now there aren’t enough general purpose statistics oriented tools built for them. At this point just getting data in a non proprietary format like CSV is a challenge (most fitness related services like Fitbit, Google Fit or HealthKit offer their data via APIs but only a fraction of the audience here were software engineers). Other software tools like Beeminder, Zenobase, Gyroscope, CompassRescueTime were also interesting to see. New wearables like Spire for tracking breathing patterns also piqued my interest but having acquired one, I feel like a second wearable is just one (heh, maybe even two) too many.
The QS conference was quite an experience, specially since I wasn’t that aware of all the stuff happening there and everything felt new. While a lot of it felt a little “out there”, it was the same feeling I got 3 years ago when I first heard about these guys tracking their steps and hours of sleep. It’ll be interesting to see how much of this data measurement becomes commonplace in the coming years.