Wednesday, November 30, 2016

improving designs

In this live post, we keep a list of ideas for design improvement for various products - or simply noting shortcomings (pet peeves?) to help either the product maker make improvements, or help their competitors build substitutes that improve user experience. We also note instances where product design makes them a delight to use.

  1. [Good] Pigeon baby feeding bottles have a wonderful feature. The caps are "dented" by design on one side. This beautiful feature ensures they cannot roll away. Would be nice if other makers of otherwise smooth, child safe products could spend as much care on the design of their products.
  2. [Needs improvement] YouTube does a good job showing videos in a playlist. Many play-lists - the ones I use most anyway - are lecture videos. Now if only they could show the length of each video in the playlist, that would be really useful to users who can then schedule how they watch them between other things they do during the day.
  3. [Needs improvement] YouTube videos vary in sound intensity. Often, if playlists are assembled by third parties cobbling together videos uploaded by different providers, as the playlist switches from one video to the next, the sound either goes silent or erupts loudly - very disruptive. It would be nice if sound was auto-adjusted or normalized on upload for all videos for better user experience.
  4. [Needs improvement] Google search should offer a button on the interface to "turn off" the search bubble, so different individuals, at least in the same geographies, can run the same search terms and get the same results. Otherwise this requires people to log out of their Google accounts each time they want this, or use alternative searches like DuckDuckGo, and neither is very convenient.
  5. [Needs improvement] Amazon's Alexa does an impressive job listening to and identifying speech (e.g. by displaying the correct spoken words on screen in the Kindle Fire), but often responds indicating "she" does not "understand" the request - if it were to simply run a web-search on the text and provide results - like Microsoft's Cortana does in many similar instances - it would be more useful.
  6. [Needs improvement] Decoupling agents from proprietary platforms and linking them instead to service portals. No reason we cannot have the Google agent when we use Google on non-Android phones. Or Alexa on non-Kindles, or Cortana on non-Windows devices. May the best agent win, whoever she might be.
  7. [Needs improvement] CVS, Walmart, and other stores rip people off when they need multiple passport size photographs. They charge $7.50-14 for a set of two photographs, then require you to pay the same for additional copies - even though they don't take your picture again or you don't need your picture taken again. All you want is prints for the rest, that cost $0.13 or so per sheet of 6! However, I recently learned that there were apps like passport photo booth (for both Android and iPhone) that can take your picture to spec, generate and email you a sheet of 6 passport photos. It would be nice if these apps had a feature that let you convert the background to white or off-white that most official photographs require.
  8. [Good] I was pleasantly surprised by how some medicine bottles have incorporated a dropper into the cap indicating how much medicine each drop contains. Imagine for example having to measure out a 2 ml dose, and being told each drop is 1/10 ml. Now all you need to do is count out 20 drops. No more need for messy syringes and the cleanup that follows.
  9. [Needs improvement] I love solving problems on HackerRank to improve my coding skills, and well, just to keep away boredom. However, the interface needs some work before the tool is ready for prime-time. In python for example, I have noticed several times that tests fail when I click "Submit", then pass when I just hit refresh with zero code changes! Also, some problems are not completely well-specified, and the ambiguity there detracts from the quality of the rest of the website. This could be a major issue because many employers are starting to rely on this and similar websites as recruitment tools, and they may unfortunately be screening out qualified applicants unused to the sometimes horrific interface. Another improvement this site could use is giving users insight into how various test cases were designed. This will help programmers gain skill and learn a skill that would be quite valuable in the real world.
  10. [Good] A quick shout-out to Trader Joe's. What an awesome store! (never thought I'd say that about a place where you buy, of all things, groceries!) Their organizational design is something behemoths like Walmart could learn from. They pay and treat their employees well. In every store I've been to from this chain (and I've visited several), I have always seen employees happy, smiling, and going the extra mile for customers. Contrast this with Walmart, where I've seen employees pick quarrels with customers and be generally turned off on their jobs - I feel sorry for them. I hear many Walmart employees cannot even shop there themselves - at those low prices! Sorry state of affairs indeed.
  11. [Good] Imagine playing a game of chess where each player draws a set of 8 pieces at random from a bag to start with, and then plays just these. Clash Royale is a mobile game that does something along these lines. Extremely well-designed, you play to earn cards with different characters that then form your army that you use in battles with fellow players to earn coins or gems. Instantly addictive, this game is extremely well designed. Not just that, periodically the company (Supercell) studies the statistics of card usage and tweaks the "powers" of each card to make game-play more interesting. Kudos on a job well done!

Monday, October 24, 2016

building the next new killer phone

So we want to build the best mobile phone ... ever. How would we go about doing this? To think through this problem, we go through all the basic features users want or like, then all whiz-bang technology that would make our phone the best out there... for now at least.

"The future is already here. It is just unequally distributed. " -- William Gibson

So, what do users want? The below might be the "big 10".

  1. A very high resolution screen - the Apple Retina display or better would be nice.
  2. High (12+ megapixels anyone?) front AND back facing cameras
  3. Battery that lasts very very long - for Android, crossing one full day is a challenge on most devices even today, even with mild "energy-sipping" use. This is really one of the most disappointing things for users. Charge quickly, retain charge longer. Apps should sip, not guzzle, battery.
  4. Good quality network coverage on both up and down links (some might consider this a feature outside the phone, but of course it relates to the quality of the radio within)
  5. Environmental safety of the device - gives out less radiation while remaining completely impervious to being dipped or (gasp!) fully immersed in water. Add shatter-proof (not just shatter-resistant) glass, and you'll have a winner. And yes, the phone shouldn't become a supernova, double as an iron, or be usable to boil water just because you use it for a while - being unable to hold a device because it might burn your fingers, ... or worse, precludes it becoming popular or liked.
  6. Responsive UX (user experience) that is upgradeable (think base OS) to new releases offering fresh skins without requiring a complete hardware refresh every year or two would be good.
  7. (Stretch) Ability to upgrade the device piece-meal. This will help with being able to isolate and swap out damaged, under-performing, or obsoleted components while keeping device integrity intact. Besides, this makes the case for easier, more seamless integration with upcoming technologies like AR/VR (Google daydream anyone? Oculus Rift?) or ... What would be really cool is if the whole PC vs phone vs tablet debate just went away, with the core of the phone BECOMING the PC, with plug and play adaptors for screen and keyboard. (If your screen was made of fold-able material with a provided electronic pen, you'd just carry it everywhere, unroll it onto a table, plug a micro-USB wire into it and your "phone", plug an unrolled (or IR keyless) keyboard into it, and voila, you have a computer and a tablet. Even better, imagine a portable, cigarette lighter sized holographic 3D display - then your computer would be the size of 3 cigarette lighters - one for the core compute part, one to generate the IR keyboard on any flat surface, and a third to project a 3D holographic display - sure, maybe you'd carry a special pair of glasses so only you could see the encrypted display so you have some privacy akin to how people can't see through your laptop screen today).
  8. Seamless connectivity options: 
    1. Phone/cell network - GSM for the most part, since this is the most widely used in the world, though of course, Verizon (CDMA) has a wide subscriber base in the US as one of the two largest mobile service providers here.
    2. Same as (1), but for data (4G/LTE and above?)
    3. Wifi connectivity
    4. WiMax connectivity where available
    5. AirDrop (Manet?), IR, or Bluetooth connectivity for easy filesharing
    6. A micro USB or other expandable slot and ability to connect with external computing devices to load up different things onto the device relatively easily
    7. The ability to ramp up and down in technology seamlessly when communicating with other devices or networks as one roams.
    8. Casting - not sure why they still make dumb (as in not-"smart") TVs. But once we make the leap to all smart TVs, this obviates the need for dongles like chromecast, but still retains the need for the casting function that comes with youtube and the like apps.
  9. Software - lots of apps for free, with intuitive controls (the equivalent of frustration-free packaging for hard goods)
  10. Lots and lots of memory - so you can keep all the rich media you create (remember the high-pixel camera?) and receive from friends you interact with. Sure, things are moving to cloud, but to move this much stuff around, you need a good network and a plethora of connectivity options, both of which are not fully in the control of the phone manufacturer today.
Things that peeve: 
  1. Why do different phones and laptops have different charging adaptor configurations? Why can't everyone settle on a single micro-USB type? OK, if power ratings are THAT different, there could be one type for all tablets and another for all laptops. This leaves me feeling that manufacturers try pointless differentiation to try to keep you locked, and this only fuels user frustration - carry along a big jumble of power cords if you travel with laptops in a group - few people can share a charger.
  2. Why does every manufacturer insist on loading their device with proprietary apps or some tweaked version of an OS? Tweaks should be "untweakable". The user shouldn't feel she is renting the device from you - it belongs to her. In some cases, the proprietary devices lead to more laggy performance than you'd otherwise expect.
  3. Why does software get more bloated with time? Less efficient memory management, and what is really irksome, developers requiring more and more "permissions" especially in Android, that in many cases have no direct bearing on what the app does.
  4. Hardware devices seem not to be designed to last as long these days. Makes sense from a manufacturer's perspective. After all, if planned obsolescence didn't exist, who'd buy their next generation of device?
  5. Why do some service providers still insist on selling/leasing locked devices? It's 2016 - get with the program. Making people work harder on jail-breaking their new phones and risk bricking them only makes them mad. Walled garden models work well in some environments - this doesn't seem to be one of them.
I tend to think the best value in phones today comes in buying mobile devices new, but one release behind with the lowest memory configuration (much cheaper), so long as they have the specs you need, the right kind of radios, and expandable memory capabilities. But I think a device that meets the above  desired features while avoiding the pet peeves (at the right price-point of course) has a good shot at satisfying users.

Thursday, October 6, 2016

building a smarter search


AI is all the rage these days. It stands to reason that large companies are trying to incorporate it wherever possible to improve the quality of their products. This also holds in the Search space. There are two ways a user's search experience can be improved - one, the user becomes a better searcher, picking better keywords to search. The second, more interesting method is where the search engine becomes more attuned to the user through frequent interactions with her, and delivers better results as a direct result of those interactions - this requires some intelligence or adaptiveness on the part of the search engine. This requires artificial intelligence... at least in the more advanced use cases.

Sure, this means the search giants need to spend more to deliver better results. But this is a battle to capture users and eye-balls. And the company that gets there first increases "stickyness"- a search more finely attuned to your tastes builds a huge moat around itself. Unless that search context can be transferred from one search engine to another, once you've "captured" a user, she is likely to stay with you for good. And the more users you have, the better you'll be able to monetize them. Search goes social at some point, and well, there's no looking back from there.

Gone are the days when search used to be driven simply by the terms in the input. Recall those simpler times? One would use techniques like tf-idf to identify statistically improbable words from a corpus that occur with regularity in the documents of interest, and return those based on the goodness of fit with the search criteria. (OK, this is an oversimplification. Techniques such as stemming, synonym detection etc could be used to give the search query more power.)

There are different ways of determining goodness of fit of course - using cosine distance etc which are relatively easy to implement. Then large search engines implemented ideas such as using the context of the text on particular web-pages - the color, the size, and other metrics, to determine if a page was worth including in the search results.

Page rank was a further improvement where the computation of the reputation of the pages linking to a certain target web-page gave the target a score. The better the reputation of a page's in-links, the more credibility the page had in its search results.

Next came the filter bubble. You log into the service suite provided by the company running the search function. Google, Microsoft etc all offer much more than just search - they offer a full suite of services including email, drive storage in the cloud, a blogging portal (such as this one), and other applications (e.g. documents) designed to make use of cloud-hosted data, etc. A lot of these services require that you log into their service suite. And once you log in... they get to see, and store your information - the kinds of searches you are doing, and definitely the keywords you are looking for, and the links you click on. This is a veritable gold mine of information.

This leads to predictive search - the search toolbar can now predict the kinds of keywords you are looking for. If most of your queries are for pdf documents with say a "filetype:pdf" at the end of your query, then the toolbar can suggest that suffix to your typed keywords in the query string.

But that is not all. Now that they have your query set and the set of links you clicked, the service is able to use this data to a. better tune the results for future queries by using the context of previous queries from keywords typed earlier, and b. use the content of the clicked links and times spent on each page (e.g. user clicks on a link and goes back to the search results), to determine how better to service your search queries going forward.

Complaints from users were factored in to negatively affect the reputation of links offered up in some search results. Some sites were "banned" or sent to "Google hell", which meant their reputation was so badly affected they would not show in results anymore. A manual negative feedback of sorts.

This leads to the filter bubble. If you log into the search engine suite of services and run a query, you get different results from what you would otherwise have gotten if you ran the same query but logged out of the search engine account. Similarly, different people with different search histories would almost certainly get a different set of results possibly even on the very first page, even if they ran the search with the very same keywords. In other words, the filter bubble sets the context for the search results that are delivered.

This is where things start to get interesting.
  • Using services like Amazon's Mechanical Turk that utilizes human intelligence seamlessly to solve small problems, one could index large amounts of images, then use the image captions to deliver selected images into search results based on search keywords. An early example of a large classified image dataset for training supervised machine learning algorithms comes from Stanford's Fei-Fei Lee.
  • Google has a video service - youtube videos have captions - these can be auto-generated. Alternately videos have descriptive text, some even have comments. Filtering statistically improbable phrases from either, and using these as a basis for search with keywords can deliver relevant search results. 
  • As speech processing improves - Siri, Cortana, Google Voice Services, etc are getting better every day thanks again to AI and NLP technology, audio files can be auto-captioned. And links to relevant audio can also be returned in search results.
  • Other media such as Maps can also factor into search results in interesting ways. This gives a local (as in geography) flavor to search.
  • Microsoft now has (or soon will have) the entire LinkedIn database at its disposal. Search results could now contain links to people... and to jobs where the specified keywords apply. More and more we see the world turning into a huge graph of interconnected data elements.
  • We are already at a point where a generic search engine can deliver better search results within a certain domain (like say, UPS) better than the hosted search within that domain's website - at least, this was true until more and more websites started hosting Google or Bing searches as their within domain defaults.
Similar ideas can be applied to other kinds of media as well. But this is all soo... yesterday. So what more can we do? With deep learning, i.e. neural networks with neurons layered deep, one is able to automatically sort images - cluster them together on common themes. This works well in many, but not in all cases. Deep networks were reported in recent solutions to have particular output neurons that could recognize cats and dogs, but there were also neurons whose outputs could not easily be discerned to correspond to any one major idea. And for some reason, composite objects like cars were not always easy to recognize... go figure. But this means a way forward might be to use AI and deep learning to automagically classify images for use in search results - with a diminishing (to zero) human component.

Are we done? What more can we do? Well, take the results of similar queries and look at the clicked links especially if you have access to metrics like the time a user spent on particular web-pages etc. The search engine can learn from clicks - similar to the query by example, or QBE paradigm from early relational databases, to learn what particular users liked, then using these clicks to further dynamically refine the search results.

Statistical text analysis uses probability theory to classify words and phrases as different components of a sentence (e.g. noun, verb, adjective etc), and potentially also as having different meanings (semantics) based on how the sentences are structured. The same word can have different meanings in different contexts - earlier search would sometimes get confused by this - for instance, not so long ago, Google News had, under one grouping, stories about Jordan the country, and Michael Jordan the basketball star. Statistical text analysis when applied appropriately, would minimize, and potentially even eliminate, errors of this nature.

Taking a page from recommender systems, if two users have similar search contexts, it is likely that pages one user clicked on in a search for the same keywords would also have potential higher importance in the other user's search. (Users with similar search tastes cluster together in n-dimensional search space - just like birds of a feather.)

In fact, one could utilize advanced methods to determine the occurrence of non-keyword statistically improbable words or phrases from the highest ranking search results for a given set of keywords, and then use these as "phantom keywords" to improve the quality of search results further so the resulting set of delivered results is even better... and gets better with time - since user clicks serve as a learning input to the users' filter bubbles with greater use.

It would be nice if users can share filter bubbles without having to share their logins. If this was supported, users joining a project late (say) would be able to execute the same level of high quality queries as those involved with that particular research area for some time. Search now becomes a social experience. There are already implementations of local search - a search engine guruji.com was built to cater to Indian audiences with search results more focused on local phenomena - news, locations etc. This went bust once Google implemented similar features.

Perhaps in the not too distant future, there might be a market-place for search filter bubbles - you buy one that gives you the best, most tailored results to your domain, Or you build one for a particular domain, then sell it to others interested in the same. If these filter bubbles can transcend barriers between search engines, late entrants could slowly wear down the first mover's advantage. If not, it is likely to be winner take all (or at the very least, a LOT)... at least for a while. Playing catch-up is no fun.

Lots more areas for advancement still open.... All in all, AI has huge potential to advance the state of search.... and to enable first movers to milk a huge cash cow. After all, as search results get better targeted, so too will micro-targeted ads... generating even more revenue. It pays to be on the bleeding edge... or get run over.

Friday, June 17, 2016

Now reading...

 laced with profanity, but makes for good reading. not your typical self-help book.
 this book unexpectedly made my top 10 of all time... so far. unforgettable, if only because the (simple) story is so moving. to me, it is not just about a little boy or about a monster. it is about all of us, and how we deal with loss. thought-provoking.
this four volume tome from carol alexander gives you pretty much all the information you will likely need on market risk, in one place. excellent work, all topics covered in as much depth as you need it for a first go-around.
 a poignant book about what it means to be alive, to die, and to make the most of your days in-between. great writing.

 john kay writes very well about what makes the financial system tick and issues that plague it. well-balanced narrative that even people that work in the industry can appreciate.
the writing is poor, but the plot is well done and the story reads well overall. written by a brit, there is lots of english slang... something that american audiences might not appreciate.

I used to think love stories were sappy... until I read this book. segal tugs at your heart-strings. moving story.

 chakravarti rajagopalachari has no shortage of detractors. but I think his books are magnificent especially the mahabharata, the ramayana, and the bhagavad gita. stories lovingly told following the canon, and without flowery embellishments.

 I like eknath easwaran's version of the bhagavad gita. lucid, clear, and an absolute joy to read.

 a very clear book on VaR. perhaps one of the best. I like alexander's writing too.

reading this book is hard work, and you need to take your time with this one to make sure you really understand all the lessons here... but it is a classic, and it will leave you with a nice, deep understanding of how investments work.

lee child's thrillers are among the best, but be warned, the tension is sometimes almost unbearable. the endings are usually satisfying.

 preston and child's pendergast series is fantastic. riptide is a stand-alone novel, but shows you what they can do with any story. great reads!


 this is jeffery deaver's best book. the lincoln rhyme series is good too. the rest just seem a bit warped (to me anyway)

you read these a little for fun, a little for the writing, the atmosphere, and the way the story is told. purple cane road is one of his best.
barry eisler does thrillers very well. his john rain character is one of the best I've read in this genre recently. the entire series is exciting - the above are three I've read most recently

 adrian mckinty keeps the narrative rolling. interesting stories well told. this is fun reading but almost on its way to serious literature.

 sam kean does it again. in The Disappearing Spoon, he covered the periodic table. here he describes the co-evolution of two sciences - genetics and evolution.

 interested in the most important equations that influence our experience as human being in this world? this book does a great job explaining them.

fantastic exploration of some of the harder problems in mathematics explained in very easy to understand terms

a self help book with a difference - some interesting perspectives and exercises. a relatively quick read.
a fascinating book about how the periodic table came to be. chemistry made extremely interesting. hard to put down.
statistics in practice. compelling reading if you want to build realistic models.
 considered by many to be the happiest man alive, mathieu ricard tries to teach you how to be happy.
solid, basic (I mean this in the most complimentary way) book on modeling. highly recommended as a first book on models - uses just Excel.
if you're serious about learning statistics, this book will get you there. it doesn't (can't) get much more lucid than this.
think success, acknowledge the possibility of failure, but persevere and succeed anyway.  zander's beautiful book on life, success, and the art (yes, it is an art) of possibility.
einhorn's cautionary story of a short position he took, and the company's attempts to obfuscate accounting, malign him personally, and generally discredit him. true story that makes an impression.
 interesting background and analysis of the habits of successful money managers.
think everyone lost money during the sub-prime crisis? think again. this is a story of the winners.
maclean and nocera give you a front-row seat to the sub-prime crisis... telling it as it happened. a cautionary tale, worth reading.
trevor hastie and rob tibshirani are excellent teachers of statistical learning - their mooc is second to none, and their explanations always clear and lucid. love these books!
lev dynkin et al's authoritative take on the quantitative management of bond portfolios. highly recommended.
interesting and intense. robert crais does it again. 
if you liked the movie "Fail Safe" (many consider it a classic), you'll love this gripping tale, well told.
one of my favorite books - ever need a quick boost of positive energy? read this book - works like a shot of vitamin B keeping those mental negativity demons at bay.
 mouboussin explains with some basic but insightful mental models, how one can think about luck, skill, and how to distinguish between the two in various situations.
pete blaber does an excellent job telling of his exploits on the battlefield describing how good and bad decisions are made and can be improved - both in war and in the boardroom
this trilogy by new author krishna udayshankar is an extremely well-written, non-canon following retelling of the Indian classic, the Mahabharata.
 greenblatt's book covers special investment situations including for example risk arbitrage, capital structure changes, spin-offs, etc.
 thornton o'glove makes accounting sing. this is the most riveting book on accounting I've ever read.

interesting tale, swashbuckling adventure, well told. excellent effort for a first novel.
good presentation of models for equity portfolio management using quantitative techniques - ebook doesn't have appendices and derivations that are in the paper version, so buyer beware.
exciting fictional spy story well told by a former CIA spook.
 discussion of Warren Buffett shareholder letters outlining his views on various topics - makes for interesting reading though not necessarily directly applicable in all cases by individual investors.
 find financial modeling of investment ideas and related mathematics fascinating? this book presents simple models in simple language without too much math, and leveraging Microsoft Excel as a basic computational tool. highly recommended.
 fascinating novel of an underdog that goes on to win. beautiful blend of fanciful alchemy with fantasy
 a very focused view of liquidity pools and more specifically dark pools that serve as venues for trading of most equities in the US (if not the world) today. concentrated coverage of details. 

two books that had a large impact on me as a youngster, but whose memory has faded since - as one grows up one sees the real world less in idealistic terms and takes a more pragmatic view... but these books are fantastic nonetheless
two of my favorite books in the english language. hesse tells these moving tales in very lucid, simple prose which makes it a pleasure to read.