So lots of friends have been messaging and emailing me about my bizarre Fanning behavior on Facebook. Weirdly none complain when I fan someone/some brand on Twitter. I guess cause that affects my feed, not theirs (Facebook apparently informs them about my fanning?).
In any case, I thought I’ll fire up a blog post about it, and guess where a few of these things are headed, and why its important that people fan brands, things/people they like etc.
Firstly irrespective of how many friends you have (I have around 250) on Facebook, there is no way your stream has new things to show every time. It simply doesn’t happen. For most people who check their Facebook 1-2 times a day its fine, but mostly people probably are spending north of 1 hour on Facebook (site/mobile etc.).
For the latter, fresh content is important, otherwise they are simply wasting time. Many people are getting their news, thoughtful articles etc. simply based on this feed. I can imagine 15-18 year olds not caring much of Yahoo! news, Google news etc.
Now back to the fanning behavior, the more things you fan, the more realtime your feed can be. Now if a brand spams my feed, I simply remove them. But most brands are being creative, they don’t talk about themselves all the time. In fact they provide thoughtful notes, links and commentary on things that have absolutely nothing to do with their brand.
Facebook Pages is going to evolve, and my money is on the fact that its going to really make Social (e)Commerce skyrocket. With the pending launch of Facebook Payments, its going to make for one heady mix! Imagine Brand X launches a product Y. They inform all their followers (say10k+). These followers with a few clicks can buy product Y off Brand X’s facebook page, without leaving Facebook, without entering their address/credit card # etc. cause Facebook already knows those details. Whats more these people get to share their purchase with their friends etc.
Now all this can be done on www.brandX.com also, and they can possibly (and most probably will) use Facebook Connect on their site, and make it social. But the idea of going to one place (Facebook) and being able to get all your news, catch up on friends, order product Y (maybe some flowers for your Mom) etc. etc. is pretty nice!
So there you go, I don’t really love each of the brands I fan on Facebook, but thats a cost I am willing to pay for a realtime stream, interesting links/discussions and getting to know more than I will from just my friends (who are awesome too!)
I’ve been thinking of blogging about my employment with Yahoo! for a while, but never got around to it. Reading today, about yet another impending Yahoo! reorg, I decided to write about what I felt like while I was there, what worked, what didn’t, and how Yahoo! can get out of the rut it finds itself in.
I was employed by Yahoo! from Oct. 2005 – Nov. 2006. It was my first job out of school, my first full-time job indeed. I had only done a couple of internships (in Singapore & Santa Fe, NM) before it.
It started out great. I got the offer an hour after I interviewed with Yahoo! (Burbank/Pasadena office), which was a welcome change since I was going back-and-forth with Google at that point. Google had flown me from Tucson, AZ (where I was finishing up grad school) 3 times to their Mountain View headquarters, and after having talked with 22 people (yes twenty-two, I kept a count!) on phone and in-person they still couldn’t make up their mind. But I digress…
I joined Yahoo! in the YPN team, which was going to be the adsense competitor. I was excited for multiple reasons
- Somewhere around that time I had started reading blogs, and was totally hooked onto the online “thing”. I was graduating with my thesis in AI/Multi-agent systems and was excited about applying what I had learned to a new Yahoo! product.
- I was going to live in LA, and get to live a fast-paced life
- I knew ad-serving had lots of computational challenges, from scalability to being able to process large data-sets, relevancy of ads, personalization etc. etc.
My team was great, and I made some very good friends. Then in my first week at Yahoo!, Panama happened! Panama was going to be an overhaul of the Yahoo! advertiser product and almost everyone at Yahoo! Burbank was going to be working on it. Except for my team, since we were publisher focused.
That was a bummer, since that meant our team was not going to get the attention/resources it needed. There were other bummers, like every team at Yahoo! “pushed back”. I didn’t know if it was territorial or not but people just didn’t want to take “risks”. There were lots of meeting, but usually nothing came out of them.
I also realized that the team I had joined was going to be managing the front-end interface which publishers were going to be logging into etc. I wasn’t going to be designing algorithms, writing pieces of ad-server code or facing any scalability challenges at all
That all was being done by another team, which seemed to not like us at best, hate our team at worst.
There were other problems with Engineering @ Yahoo!, which I didn’t realize back then, since I didn’t know any better. There were virtually no spec/design meetings, no code reviews (not including paper code reviews once it had already been written!!), we were using CVS (seriously?) to manage our code. There were motivational issues too as I saw it. The VP (Engineering) to which my team reported to barely knew me. Now not that its a big problem, but in my 1 year there, he did not get the entire team in a room and talk to us, our problems, motivate us etc.
Now there were exceptions. A star employee Qi Lu. Even though he was a SVP, within a month of moving to Burbank, he called my entire team for a meeting, wanted to know each of us, was just an all round great manager. Most stars like these have left Yahoo! (Qi Lu is now with Microsoft – announcement). Most of the product managers I worked with were rockstars too, so it wasn’t the foots on the ground that was the problem, it was more the VP and above employees that have failed Yahoo! They had the talent, they had the resources, they just weren’t able to execute.
In short my advise to Yahoo! is:
+ Develop common engineering infrastructure so that every group does not re-invent the wheel in terms of server technologies, persistent storage/caching etc. Ala Google app engine.
+ Keep closing properties that suck, or merging them with pre-existing ones
+ Stop trying to beat Google at search. Come up with innovative advertising related products, that are not simply search. Maybe focus on more on product search, or travel etc.
+ Small teams, trim down and promote the good guys/gals!
+ Focus on the enterprise space also, its huge!
+ Hire senior execs who truly “get it” (case in point, Jeff Weiner who is now COO of LinkedIn) and care about the people who report to them, directly or indirectly.
This isn’t meant to be a rant, or anti-Yahoo! commentary. I think the company always had potential and I’d like it to do well and innovate (case in point YOS). Hoping for the very best, and wishing Carol Bartz Best of Luck!
As many of you know I recently started working at Tivix. Working to solve problems faced by social entrepreneurs and Non-Profits is a good feeling. I came up with an idea similar to igive (there are others out there too), but wanted to make it simpler and easier to use (without forcing people to login for example)
I came up with a rhyming name for this concept, Givix: Giving while shopping! Thanks to Amazon Associates, commission junction and linkshare it was made possible!
Also thanks to the simplicity and free scale of Google App Engine I am able to write the code, test and launch Givix (on another note I think the Django model interfaces are easier to use, or maybe I’ve simply become used to them. I do like App Engine’s online dashboard, ease with which I can edit model instances, see logs/performance etc.)
I enjoyed writing this simple app, I hope to enhance it more next year. Hopefully Givix will be able to raise some (however small) money for a few causes this year. Given the looming recession I don’t have high hopes, but if you’re reading this and are going to be shopping at Amazon.com, buy.com, sketchers, macys.com, cafepress.com or others, then do consider clicking through Givix before making the purchase. Every cent counts!
So I started a new gig this week, and I have become addicted to using Mercurial in my previous job for revision control of code. Mercurial rocks !
I didn’t really want to host the repository myself and have the additional headache of backing it up etc. (we’re a small early stage startup). I used Assembla before, and its very mediocre, tries to offer everything and is using .htaccess based authentication, making me type my username and password multiple times, doesn’t support the native mercurial web view, offers trac for ticketing which sucks… etc. etc.
Then I came across BitBucket. These guys rock! Firstly its an inexpensive service to host your mercurial repositories; I will end up paying $5/month for hosting my dev/prod (upto 5) repositories with them. They offer issue tracking too (for which I am using LightHouse app). The mercurial integration is pretty deep, offers hooks which can send you emails, twitter, link to your bug tracking system etc. And its hosted so I don’t have to worry about backing it up, uptime, security/auth etc.
A shout out to BitBucket’s customer service. I am not even a paying customer yet (using the free version for now, till I need a “prod” repository) and they have been trying to resolve my complaints. For example I filed this enhancement request with them, asking them to writer me a broker to close/update my issues in Lighthouse app when I merge bugs etc. Turnaround time? < 1 day ! Their developer Jesper Noehr went out of his way, fixed a few bugs he inadvertently put into the broker code, launched the fixes and the feature overnight, and voila I have this feature out of the box.
Wish every company (hoping mine will be in this category too, when we launch!) had such good customer satisfaction! Thanks BitBucket and thanks Jesper!
New API’s that would be awesome:
+ Friend list API to get list of friends (users) of currently logged in user. This will enable sharing applications.
+ Jabber messaging api (for currently logged in user and/or any of his/her friend(s)). Real-time messaging anyone?
+ API to schedule execution of arbitrary code at regular time intervals, which can span > 2 second request time limit currently imposed (hopefully)
More feature requests:
+ Be able to set how long the user session lasts
UPDATE:
+ How about more than 3 apps per developer?
+ Also would be neat to be able to take *1* app and have it run in several Google Apps domains?
Although the Amazon UI has had a reasonably good overhaul, its been pretty much cosmetic. I like the fact that they have more intuitive dropdowns, a large cart icon and a navigation panel on the left. Sadly the number of clicks I require to accomplish a few tasks and few of the under-performing features leave much to my imagination.
I think Amazon has done an amazing job in terms of site uptime, customer service and on-time delivery/handling of orders. A few changes would go a long way!
So here’s my ramblings on a few:
Search
- Make everything searchable. I mean EVERYTHING! Make all past items (for the last 5 years in my case) I have purchased on Amazon searchable. Its a big big pain trying to find that one thing I had ordered once and I want one more of it or want to gift to my friend. Make it easy and straightforward.
- Make my wish list searchable. How am I supposed to manage/find items in the 200+ items in my wish list (or shopping list or any list for that matter).
- In addition to the above, if I search for a keyword that matches against things I have bought in the past and/or have in my wish/shopping lists then why not show them in small boxes on the sides on the search results page?
- Please make search fast! Always helpful. Since right now I happen to be using Google to search amazon. Looking for that Objective-C book on Amazon. My search is “Amazon objective-c” and off I go! Also, how about auto-complete as soon as I start typing anything. Maybe the name of a book or author or product etc.?
Shopping Cart
- Why does deleting an item require a page refresh (AJAX anyone?)? Moreover why do I have to go one by one on each item to delete them? How about a “delete all” button with a warning popup? I know they all sound like revenue losing propositions, but offer an awesome customer experience. Believe me, if I don’t want to purchase something then a bad delete implementation is not going to make me!
- I as a regular user of Amazon am always shopping or looking for a few things. Gifts, something for the house, books, what have you. I may or not buy them at the same time and hence am forced to use the “save for later feature”. Moreover lets say I am trying to buy a few small things for my parents anniversary. Why can’t I make a separate cart for them which once filled with the items I so desire, can be purchased with 1 click? Basically I should be able to create custom carts on the fly.
Lists
- Although a few changes have been made in lists they are still not manageable. Apart from the fact that I can’t search them, there is no capability to subscribe to or get updated when things get added to my friends wish lists. There is no easy way to share my wish list on my blog (as a widget) or on Facebook etc. If fixed I think lists can be a big winner and revenue driver for Amazon
- If I visit a product which is already in my wish list, instead of informing me of that fact, Amazon keeps showing me the “Add to Wishlist” button. Would be really cool if Amazon fixed that and went a few steps ahead. How about knowing who my friends are (social network here we come!!) and showing me which of my friends have that item on their public lists.
Account/Orders
- Usually when I’ve placed a few orders on Amazon and they have been shipped I sometimes come to Amazon to track those orders. This tracking requires me to make 3 clicks before I even land on the page where my orders are:
Account (click) -> Recent Orders:Go (click) -> Username/password (click)
Why can’t there be an easier way to track orders? Moreover the estimates for delivery and shipping that Amazon gives (at least to non-Amazon Prime members) are way off most of the times. How about send me an email (or SMS) when the product gets delivered? UPS/DHL provide that state in their API’s, so it shouldn’t be that difficult to implement. To improve the above 3-click process I can propose:
Account_Dropdown:Recent Orders (click) -> Username/password (click)
OR
If I’ve logged in within the last 30 minutes then just skip the Username/password step and reduce the entire process to 1-click!
This post could easily have been named “Targeted Blogging” or “Feature requests for Feedburner”
So I started thinking about a RSS/Atom feed that is intelligent. Meaning each of my blog’s feed subscribers can potentially be offered unique content. So let me present a few scenarios:
- Wouldn’t it be great to be able to write a blog entry about music, and have only people who had “music” as one of their interests, be the only ones who see it in their Google Reader/My Yahoo!/NetNewsWire ?
- What if I was organizing an event in San Francisco, and wanted to let only people who are in California know about it ?
Problems:
- Doing Geo Targeting for ads within feeds is easy, since they load within the browser as a separate request, hence the ad server can act with intelligence about time of day/location etc. Sadly the same is not true for my blog entries. I write them once.
- Scenario#2 above is a bit flawed, because what if my friend from NY is going to be in California during that time period, then he/she will not be able to attend, since my blog entry won’t show up in his/her feed!!
Solutions:
- When the user comes and clicks on my “Add to Yahoo/Google” button I ask them for some basic info, such as age/location/profession etc. They may chose to ignore it of course, but if they don’t they are giving me important information.
- A better solution is for feed burning platforms such as Feedburner to maintain a persistent profile of users who are subscribing to feeds. So my profile would read: “Sumit Chachra, Male, 26, San Francisco, CA ……..”. This information will *never* be shared with feed publishers, but they can use it to target content (much the same way Facebook ad targeting works)
- The problem with scenario#2 can be resolved using a few techniques. Assuming Google Calendar has a feature called “Location” where in I can feed in my coordinates for specific dates, and this information can be shared with Feedburner, then my feedburner profile is really “dynamic”! We’re headed down the path of intelligent agents here really, and its all starting to sound like a scifi (scary) movie at this point
All this implies that each subscriber to my feed has a unique feed url, which will spit unique content to each such subscriber, based on certain data points that the feed url platform knows about them, and using which the feed publisher can do targeted content delivery!
I wish this existed!
So I know personalized search is hot and all. But how long do I have to be using the search (logged in as a user) for that engine to start personalizing results ?
Recently (last week or so) I noticed that search for TIVO on Google stopped returning their stock graph etc. at the top. It returned the TIVO website instead as the top link, with an additional “Stock quote for TIVO” below it.
Now I’ve clicked that a few times, forced myself to search for “TIVO stock” instead to get what I want; but still Google hasn’t learnt that when I am searching for TIVO I am really looking for the stock ticker. What they have learnt of course is that “most” people when searching for TIVO (rightfully so) don’t want to know about its stock. How is that personalization? Thats just the law of averages being forced on me.
Please fix this, and the fact that the SERP shouldn’t keep changing on a weekly basis. Thanks!
It was a long time coming! Yahoo! chose to use Flash (Flex?) to build the online version of messenger. Will I use it, probably on my personal laptop at home (one less piece of desktop software to install… phew!). Does it even come close to the Gtalk that comes integrated with Gmail (launched more than a year back)? Not for me, but I can imagine people who would want all the bells and whistles of their regular desktop messenger (fonts, text size, bold/italic etc.) to like the new Yahoo! Web Messenger. Some of my comments on this new products and ways to improve it:
History: So finally I can see my chat history. But why not give a search box right at the top instead of making me click on a link? Pretty basic interaction designer stuff I assume? Instead a web search box is provided at the top.
Cntrl-W / Cntrl-G / Cntrl-Tab: None of these nice shortcuts works. Cntrl-W should close my current chat tab, Cntrl-G should let me buzz my friends (my friends can buzz me, but my window doesn’t vibrate!) and Cntrl-Tab should let me move between chat tabs, just like I can on my Firefox (or at least Tab like the way it does in the Gmail/Gtalk)
Copying multiple lines: Doesn’t work. Only one line at a time. Thats pretty lame.
Banner ad on the right: Was it very essential to put that ugly banner ad on the right, specially when a new product like this launches? If I were the Product Manager on the web messenger team, I’d instead match (and rotate every 10 minutes or less) text ads related to my past/current chats. I’d bet this would increase CTR significantly. Irrespective its worth an experiment for sure. Simple bucket test to conduct.
Login popup: Why does a new popup window need to be opened to make my login? Its a very jarred user experience, different from every other Yahoo! property I’ve used before.
Gmail has been down for me for the last couple of hours, out here in India. Anyone else facing this downtime too? I’m getting the following message:
Temporary Error (502)
We’re sorry, but your Gmail account is currently experiencing errors. You won’t be able to log in while these errors last, but don’t worry, your account data and messages are safe. Our engineers are working to resolve this issue.
Please try logging in to your account again in a few minutes.
I wouldn’t really call more than 2 hours “temporary”. Someone missed their SLA targets!
UPDATE 1: Its weird, I get the following error now (choosing the HTML view does open up my inbox… its broken though since I have no vertical scrollbars?!?):
Loading…
This seems to be taking longer than usual.
If you are using a slow Internet connection, you can wait a bit longer for this page to finish loading, or just use basic HTML view for now.
If you are using your normal Internet connection and you usually get past this loading step without any problems, please refresh this page in your browser. If you continue to have trouble loading your account, please visit the help center for troubleshooting information.
UPDATE 2: Its finally up after a 4-5 hour outage!
UPDATE 3: Its been 5 days since I wrote this post. But as can be seen from the comments below (and the traffic I am getting to this post), people are still facing this issue with their gmail accounts (I am not). This seems to be a user specific access issue, rather than a mass outage. It might be that gmail is performing some system/software upgrades. Being patient is the only way out! I did not lose any of my emails/data, so don’t see a need to be concerned as of now.