Getting Closer to a Star Trek Computer?

Reading this recent Tech Crunch article made me think that we may be a step closer to  the day that we can talk to our computers and get information that we want as if we are conversing with the computer.  That is, Google’s goal (and arguably the goal of many other companies) of the Star Trek Computer.  Siri or Google Now isn’t even close to this yet.  Why?  Because the problem is hard.   The article linked to above reminds me of a keynote at KDD 2012 by Robin Li, Founder and Chairman of Baidu, China’s largest search engine.    His talk was less about established problems in Machine Learning and more about the problems that the company faces.  One example is  the ability to do voice recognition across the various dialects of Chinese and in the presence of background noise.

In any case, I think the voice-interacting Star Trek computer is one of the largest unsolved problems in Tech.    I look forward to the day that I can be driving in my car or walking the dog and say, “Computer, inform me about the history of public education in the United States …”.   In a future post, I may compile a list of specific technical issues that have prevented us from this goal along with areas of research containing valiant attempts to solve parts of this problem.  I welcome emails and comments from AI/Machine Learning buffs with pointers :).

Open Doors with Google Hangouts

Open Doors LogoIn an earlier post, I mentioned that active forms of communication like video chatting and telephone conversations can be pretty unnatural when you consider family and friends just ‘hanging out’ at home together, for instance.   I also mentioned that maybe video chat can be treated in a more passive manner to encourage a more passive, natural chatting style.

Typically, video chat invitations need to be handled immediately: you either have to accept or reject the invitation to chat right away.   One of my previous roommates and I had a neat system: the degree to which our doors were open indicated our openness to a ‘spur of the moment’ of chat.

Ideally, a similar approach could work for a video chat where the request to chat doesn’t require an immediate response.  You ‘open your door’ to other people and they will be informed.  They can drop by so long as your door is open.

A nice Google Calendar feature allows you to create an event (you could even call it ‘Door’s open’) and everyone who is listed on the event can follow a hyperlink to a Google+ Hangouts video chat.   It’s a subtle difference from the traditional video chat invite: instead of querying a friend and waiting for a response, you just send a  link to them (e.g. via an email or text message).  They can join if they want. Or not. No big deal.  I think this is a more concrete suggestion for how to use tech to improve our communication with close family and friends than the high level thoughts I posted before.   I’ll be trying it out and posting my ‘results’.   Could be nice to streamline the process with an app, but this ‘hack’ allows me to try it out first!

Initial Thoughts on ‘The Hobbit: The Desolation of Smaug’

Just saw this movie.   I really enjoyed the adventure, action, and suspense throughout it, and would recommend watching it in the theaters.  After I saw the movie, I looked up reviews on it and agree with many others that Smaug was an awesome dragon to experience.  Also, I like that it helps build up to the story told in Lord of the Rings and branches beyond the fun tale that I remember reading as a child.

Normally I don’t write about my thoughts after a movie, but for some strange reason, I feel like I have to after this one.

Smaug and great action/adventure don’t make a great story or trilogy.   I was more touched by the relationship between Bruce Willis and Ben Affleck in Armageddon than any pair of characters so far in The Hobbit, maybe with the exception of Bilbo and Gollum in the first Hobbit.  The Lord of the Rings (LOTR) movie trilogy is a masterpiece: it explored the a number of characters, pairs of characters, triples, etc. and their development together (of course way better than Armageddon).   Action and adventure are great, but with just those two, I feel empty without character development.   I’m surprised so many reviews focus on the adventure and action as opposed to character development, especially since it is natural to compare The Hobbit to LOTR.   I also don’t agree that this sequel is such a ‘leap’ above the first movie.   To me, they’re both about the same when it comes to what matters: the story.

As it stands, the series so far is ‘good’.   It could have been ‘great’  by exploring a few characters in more depth (Thorin in particular).   Since The Hobbit is such a short book, the creators of this movie series have a unique opportunity to contribute to the development of these characters by expanding a short book into three movies.   They certainly have in many respects, but I argue that they should have focused on character development more.   I don’t mind a few poorly done special effects if what results is a better story with characters that I can relate to.


Automating Organization and ‘Sticky Items’

StickyPlayI had a nice  in-person discussion after the last post.  The basic idea is that there is an  overwhelming amount of manual effort that goes into organizing a hierarchy.    I think this is a really good point, and I really like the idea of ‘automating’ the organization process or algorithms providing suggested or ‘default’ organizations.  This being said, I also like the idea of user input in the process.  Even if you have a nice automated way to organize your data, what if you really want to keep something organized the way it is?   This approach would allow you to access your data in a way that you specify.   For example, in a snapshot of my Google Play music library above, what if I wanted the three items in blue ‘stuck’ or ‘pinned’ at those locations?  That would be preferable to typing in a search bar or scrolling through a list of albums automatically sorted by some criteria.   This hybrid approach  allows user interfaces to provide automated suggestions for organization while at the same time letting the user keep certain things where they want them.   Another example is phone apps.  Right now we manually organize our apps on our home screen(s), but what if apps are organized, at least in part, by how often they are used while certain commonly used apps are ‘sticky’ because you like them there?

The Return of the Great Filesystem Hierarchy

The problem: I have data of the same general ‘type’ spread across many web services and my personal files stored on my computer.  For example, I have PDFs of books in a ‘Books’ directory in my file system and books from Amazon in my kindle.  Or I have movies/videos on my computer, on the Play store, on Amazon, etc.    There is no one place where I can see/browse my entire movie, music, or book collection across these services.  I want a way to still be able to use certain  apps and services while still maintaining a high-level view of where all my stuff is.  For example, when I have a Kindle book, I want to still use the Amazon reader and all of its features, but for a PDF I may prefer to use OS X’s Preview or some other reader.   I want a way to reconcile the fact that, for example, a ‘book’ is the type of thing I really care about organizing with the fact that applications like Amazon’s cloud reader want your ‘thing’ to be your entire  library of books.

The file system is a solution:  Remember the days when all of your stuff was on a single file system organized hierarchically?   It’s not so convenient anymore to store all of your data in one place, and super awesome and useful cloud apps have contributed significantly to this.   However, by using your file system as your primary view, I’d argue that most of your ‘things’ across can be organized again.  One solution is to use file types that represent links.   For example, in OS X these are ‘.webloc‘ files (just drag a link from your browser to the Desktop and you will see how this looks).   You can double click on one of these and it will open up the link in a browser.   Between apps on my computer and cloud apps, using these links covers most of my cases (e.g. you can link to a specific book on Amazon or to an album on Google Play Music).  There’s even an app in Google Drive (by default using .glink extension) that properly handles .webloc files.

A natural extension to this approach is the ability to associate each thing with metadata (e.g. like a row in a database) allowing you to view  your data in multiple ways.

In any case, using files and links to web apps seems to be a good interim solution to this problem (which first appeared as a G+ post).