Sunday, April 28, 2013

Thoughts on social network and its API

I have been thinking about what API meant for social networks.  Social in nutshell is about identities, sharing content and engaging with readers in two way conversation.  It made existing blogging concept easier to adopt and more accessible to millions of users.  While popularizing publishing and subscription model with social relationships, social found new exciting applications like user-reported breaking news network, 1-1 messaging networks, and photo and video sharing services.

Blogging platforms were available well before social networks.  But it took Facebook and Twitter for content publishing and subscription model to really take off.  People saw what they can do by easily sharing updates with friends and families.  Technology (publishing and subscription) disappeared in the background and the user benefit (staying connected with friends and families) emerged.

Social API on the other hand is all about allowing developers to integrate social network identities and social graphs stored in each social networking service.  Social API is there to allow other applications to incorporate what social network has done to blogging platform.  Social API made it for social applications easy to use identities, share information and get engagements from people around us.

It allowed many applications to introduce social component by plugging into social network APIs.  What could have been a run-of-the-mill word puzzle turned into real-time family room board game that could be played across cyberspace.  Flower shop applications knew before I did that my mother's birthday is coming up and reminded me to send her bouquet.  Social API instantly allowed developers to run their applications in context of user's own social graph.  These applications in turn provided richer environment for the social network and its users.


Sunday, April 21, 2013

Product Management: What I would expect from API

Thanks to slower pace blog update, I have been able to spend a hour a few days a week to pick up hacking again.  I would call it hacking, not coding, and I want to draw distinction between the two because I see the difference.  More on that later.

The project is migrating email to collaboration platform.  I blogged about it earlier.  One sentence description is to take emails in Inbox and post them on enterprise collaboration platform to be shared to internal audience.  Minimum Viable Product is posting the emails that I select on my Outlook client (yes, I'm the user of this product) to collaboration platform, and have collaboration platform return the link where it's posted so that I can forward it to anyone who need to be included.  Tagging the email so that I can search easily would be nice as well.

I use Outlook client for my work, and in order to access Exchange server, I had to use C#.  I've never coded in C# before.  I don't know any C#, and that's where my hacking began.  I call it hacking because I didn't sit down to learn C#.  I had a specific goal that I had in mind, which was to use Exchange Web Service API to access Outlook Inbox messages with special tags.  I had to figure out a way to do it using C#, a language that I didn't really care to master, so I had to hack something together.  That meant I relied on Google extensively to code and troubleshoot compilation errors.  I began from working code sample, and what I have still very much resembles the sample code from MSDN.  All my hacking was done on Visual Studio, and much of credit should go to autocomplete feature of Visual Studio.

While I was doing this hacking, I learned a few things.  I wanted to share them with you to see if any of you felt the similar way.  What I'm about to share is hacker's perspective.  Someone who doesn't know the language or doesn't care to learn the language.  All they are interested in is getting the stuff to work.

These are things that I learned.


Sunday, April 14, 2013

Product Management: What hiring manager looks for

The other day I had a chance to sit down with someone who was looking to get into product management role.  He shared his experience of applying for product management positions, and I shared with him how I got into product management role.  I told him that I began my career as coder, then professional service guy, back to engineering as development manager, and only after that the opportunity landed on my lap to try out product management role.

Then the topic turned to what I look for from product managers that I hire.  I thought that might be help him get some perspective on what hiring managers look for and what areas that he should invest his time to land a  product management position.

After sharing my perspective with him, I thought my blog readers might be interested in what criteria that I measure PM candidates.

There are three areas that I look for from PM applicants.  Note that I consider all three areas to be equally important.


Sunday, April 7, 2013

Slowing down the pace

When there is time to start, there is also time to stop.  I remember my college English professor's definition of self control.

Self control is knowing what to do, when to do it, when to stop, and doing it.

It's little over two and half years since I've started blogging on Future of Social Network.  Starting January 2012, I've committed myself to write every single day to improve my writing and get in the rhythm of daily writing routine.  Just like I've decided to write every single day on the spur of the moment, I have decided to slow down my blogging schedule.

Instead, I plan to blog once a week.  I want to try this schedule for a few reasons:

Saturday, April 6, 2013

Sachin Rekhi: Being entrepreneurial product manager

Sachin Rekhi is a serial entrepreneur with product management background.  He founded Connected and Feedera which got acquired by LinkedIn.  He is also a coder and writes about API platform and how to build developer community.

He has been blogging since 2009, and he has shared product management and lessons he learned from his startup experiences through his personal blog.

Here are some blog entries that I found helpful:


Friday, April 5, 2013

Facebook Home and privacy concerns

Facebook announced Facebook Home application yesterday, and there have been discussions around what this means to Facebook users.  Om Malik wrote about how Facebook Home will be used to track user information without their consent.  Robert Scoble responded with how benefits will outweigh the loss of privacy, asking privacy-concerned users to get used to being constantly tracked.  After reading these articles, it made me think about what it all means to me the user.

Privacy concern is real.  We are all being tracked, and it is only going to increase.  At least both Malik and Scoble agree with that trend.  With proliferation of connected mobile devices with camera, GPS and dozen other sensors, we are generating more data than ever before.  And the trend is accelerating.

I don't think anyone fully realizes what it means.  That's because we never lived in a world where most of everything that we do are tracked, aggregated and analyzed.


Thursday, April 4, 2013

Transitioning from email to collaboration platform

Transitioning from email to collaboration platform is a difficult problem.  Technology of deploying collaboration platform is easy.  What is difficult is getting people off from email and have them start using collaboration platform to start realizing the benefits of shared virtual group page.

As I wrote earlier in my blog post, I have been thinking about this problem for a while.  This week, I've decided to look into a simple module that would make this transition easier.

Minimal Viable Product is a simple one.  As an email user and collaboration early adopter, I want to start posting emails with long To and CC list to an internal collaboration system.  The system will keep track of single master copy of the email thread and recreate the thread by timestamp.  That's it.


Wednesday, April 3, 2013

Support "Right to Know" Act

California law makers introduced a legislation that would allow consumers to get their personal data from companies and whom they shared the personal data with.  Right to Know Act (AB 1291) will require Googles and Facebooks in the world to disclose their Californian's personal data that they store, and notify their users before or after the data is shared with third parties.

If you've paid attention to all the privacy disclosure forms that you get from credit card companies, you know that privacy disclosure is already mandated for financial industries.  What EFF and ACLU of Northern California are trying to do is to expand this to cover digital personal data stored by online software giants like Google and Facebook.  You can read more about the Right to Know Act on EFF blog or take a look at the Assembly Bill 1291 in PDF format.


Tuesday, April 2, 2013

Twitter Cards with link to mobile app

Twitter had a developer meetup and announced upcoming Twitter Cards.  The concept of Twitter Cards have not changed much.  It allowed third party developers to embed their rich content, such as summary of content, photo or video clip as part of the expanded tweet.  But what's new was the link to mobile app where viewers can download the mobile app.


This means as tweets get passed around, so does the link to the original app through which the content was shared.  Just like Facebook users clicked on click to play FarmVille link, Twitter third party developers can use Twitter to spread their adoption and maintain active user base.

Twitter has all grown up.  It has come full circle and realized that it now has to compete with Facebook to compete for mobile user's eyeball time.  As its final act to demonstrate that it's now fully claiming itself as its own social network, Twitter wants to be a social network that is friendly to app developers again.

Monday, April 1, 2013

Product Management: Looking for problems to solve

I've been thinking about what problems to solve.  I think there are many problems to solve all around us.  The trick is recognizing what makes a problem and figuring out how to come up with a better solution.

Here's how I look for problems to solve around me: