Month: April 2012

Businesses and IT are facing a world of Apps, where the supply of technology vastly exceeds business demand or IT’s capacity to implement, integrate and operate. The world of apps is a world of technology, as opposed to a world of gaps dominated by internal IT. This situation is relatively new, starting in about 2009 with the large-scale availability of cloud, mobile and otherlightweight technologies.

Look at one of the new roles of IT – managing an internal appstore which is basically a directory (or even a repository) of apps. These may be cloud apps, webapps, mobile apps or tablet apps. This is s trend and a bit of shift.

It bring up lots of questions in my mind:

Will IT evaluate/screen and filter over 500,00 Apps (they can skip some categories like games) to select a few that their organization can benefit?

How will the App stores inside the company look like? (hopefully much better search, better taxonomy of classification and even a request/ recommendation/rating system).

Will corporate appstores look like a cross between the vendor appstore/Quora and StackOverflow? How will they keep them current as new apps emerge in the marketplace?

Will groups spring up inside the organization to try out new apps and recommend to IT?

Will the App mashups become popular?

Will IT demand that all app vendors support APIs to control, integrate apps?

Will IT work on loosely connecting these apps? Will Apps lend themselves to be easily interconnected?

Who will they identify innovative apps that the business can leverage? Does this require an App spotting department or become one of the new roles of the innovation unit?

How will app vendors leverage this trend?

Will they architect their apps to be easily interconnected, integrated?

How will Apps reliance on certain platforms, cloud services impact the adoption by enterprise?

Will App vendors rethink pricing strategies and site licensing agreements for enterprises?

Will there be new classes of App Integrators that bridge the gap betweem app makers and corporations?

It will be interesting to watch how both IT and app makers leverage this trend and work on mining a wealth of opportunities.

Sometimes the simplest problem we solve so effortlessly takes quite a bit effort to solve using programming. However, thinking through the steps (and actually implementing) was worthwhile. It taught me a lot more about the problem and made explicit many of the thoughts I did not even pay attention to.

The problem was a simple one – given the name of company, find the website of the company. I can do it in less than a minute, manually. Search for the company name, scan the results, click on a link that looks like the closest match and copy the url. Ask me to do that hundred times. That would be an entirely different story.

Now let us try to write a program to find the website urls given a set of company names. We need the following:

Simulate the process of searching through a search engine

Simulate the process of looking through the results

Simulate the process of picking the correct result

Verify that the result we picked is correct

Let us think through each one of these. Fortunately most search engines provide an API (application programming interface) for you to program against. So step 1 is pretty easy.

Step 2 and 3 can be combined. But if you don’t have the benefit of human eyes and mind to look through the results but only the logic of the machine, how will you simulate these steps? Try it. It is an interesting study. The reason for this study is that within a couple of iterations, you will start noticing new aspects of the problem that was not obvious when you first looked at (formulating) it.

Step 4 is even more fascinating. Given a company name and a URL, what logic will you use to verify that the URL represents the company?

Solving a problem like this requires you to think a lot more about how you solve problems. How it comes to us so naturally, but an order of magnitude more difficult when you try to automate it. When you program a solution to the problem, you do not have the benefit of human eyes and the mysterious thought process. You need to form a set of hypotheses, try them out through small programs and verify the results and iterate.

Meta:

I was working on one such last week and got up to 92% percent accuracy with limited test data. I may test it a bit more, clean it up a bit and make it available for people to use. I need to put a web interface to it (right now it is a set of python programs running from the command line).

If you have to find hundreds of thousands, however, you may use a different approach, probably with some machine learning techniques.

I heard Marvin Minsky mention in (his class) that software provides a new language for problem solving. It gives you ways to model, abstract, simulate and study processes and behavior. Even more important, it gives you a framework to express them more easily.

This was a fascinating excerpt to read. Following this fragment of the discussion that took place more than 70 years ago required some thinking. Here is some context:

It is not difficult to imagine a mind to which the sequence of things happens not in space but only in time like the sequence of notes in music. For such a mind such conception of reality is akin to the musical reality in which Pythagorean geometry can have no meaning.

Are there other similar dimensions or sequences? Does multiple intelligence play a role here? For example a person with a high degree of intra-personal intelligence perceives interactions differently than most of us (lacking such an ability) do? Do people with different levels of intelligence have different perceptions of the same events/observations?

There is the reality of paper, infinitely different from the reality of literature. For the kind of mind possessed by the moth which eats that paper literature is absolutely non-existent, yet for Man’s mind literature has a greater value of Truth than the paper itself. In a similar manner if there be some Truth which has no sensuous or rational relation to the human mind, it will ever remain as nothing so long as we remain human beings.

Are we like the moths of the world, in a sense, with a different perception of reality than the reality itself?

As a Product Manager, your job is to document and clarify and share every bit of thinking with the rest of the team. It is not just the spec, but how it evolves, why it evolves the way it does, how each interaction with the team and potential users, shifts it a bit.

Your job is to document, document,document, and then go back and clarify, clarify, clarify.

Your PRDs (product requirements documents) and MRDs (market requirements documents) should be the go-to information sources for everyone working on the product or supporting the product in some way.

I will go one step further. Instead of creating a large PRD, MRD, use an internal Wiki, blog or some other tool that lets people see the evolution of your thought process and participate, question and make suggestions. I think how you start out, how and why you change your requirements, is almost as illuminating as the requirement itself. Listing various hypotheses that need to be verified may be another useful outcome of this whole exercise.

It is product management’s responsibility to identify customer problems worth solving. It is engineering’s role to identify technical solutions to those problems.

Research helps you understand:

Your customers,

Your competitive marketplace,

Competitors,

4. Your own product

Be careful. Requirements are like chili powder. A little goes a long way, and too much spoils the pot. (This refers to the market research requirements but we know that it applies to project/product requirements as well).

To scope market research, you ask yourself – What are my questions? What am i going to do with the answers?

I assume, you know, why you want to find an influencer. I actually don’t like that term “influencer” and would like to use some synonyms like evangelist, thought leader, expert, expert blogger/columnist, curator. So let us say we want to find some one who is well known in a certain space.

There are several ways to find influencers. There are different types of influencers too. Industry influencers are people from research companies with large following and executive team of big companies in a certain industry/space. In this post we will look at well known people active in Social Media.

Here is reasonably good starting point – Klout. Klout is a social ranking/rating system. It looks at people’s social media activity including their following and activity and other social media signals, to rank influencers. It is not perfect, but it is a good starting point.

Let us take a simple example. Let us say I want to learn about the topic of Technology. Here is what Klout shows you:

A few additional notes:

You may also want to look at the top +K recepients (which may overlap somewhat with the influencer list).

Notice that this list is the influencers for the past 90 days. So this list may change.

Not every one likes Klout and topics is one area where Klout just started. They don’t even have a good topic discovery mechanism (search). They don’t have a hierarchy of topics either.

Here are some featured topics – http://klout.com/#/topics The topics you may be looking for may not be there (for example, I was looking for inbound marketing).

As I mentioned earlier, this is just one starting point. One technique, is to use someone you know as an influencer as a starting point and see whom they follow on Twitter. For example. you would start with Dharmesh Shah (@dharmesh) if you are interested in “Inbound Marketing” which overlaps with “Social Media Marketing”.

There are lots of others ways and we will cover some of them in future posts. Here are some I can think of:

Researchers in a particular space

Speakers at conferences related to your topics

Authors of books on your favorite industry or topic

CXOs of big companies in a specific industry

Popular columnists in a specific industry segment

Popular bloggers on specific topics

Let me know, if I missed out any.

Update:

The chapter on Influence: Finding it and Measuring it, in the book Social Media Analytics has some very good coverage. A few snippets from that chapter:

Influence is so deep a subject that it is impossible to express everything there is to say about it in a single chapter.

Internet newspaper Huffington Post uses Klout Scores and the Adaptive Semantics platform to define the influence of its readers

There are several ideas about what creates the influence we are trying to measure and how far back in time one should go to determine it.

Once in a while you follow a strange word or phrase and end up learning something entirely different like this one from Big Think :

A body of running water may be called any of many different names, the most generic being stream, the most common being river. A river can be defined as ‘a natural stream of water of usually considerable volume’. General terms for smaller streams include creek (smaller than a river) and brook (smaller than a creek). Very specific types of water currents include anabranches (river branches that rejoin the main body of water) and distributaries (branches that don’t).

I think I knew most of these terms and knew that they had something to do with water but never knew the relationships.

Trivia:

I even stayed in a place called Babbling Brook Inn in Santa Cruz, CA a couple of times. I thought it was a cool name.

I was talking to three different groups of people, this week. I realized that in each case, I was giving them some tips, talking to them about some tools. Suddenly I had this Aha moment. What if I created a blog just for sharing these tips and tools that I come across? That may encourage others to share their ideas as well or let me know of a better tip or a tool or a technique.

So I went got a domain name – tipstoolsandtechniques.com and will soon start another blog. My initial goal is to post something a couple of times a week.

The basic problem with browsers is that they’re manual tools. Your browser only downloads and renders websites: You still need to decide if the web page is relevant, if you’ve already seen the information it contains, or if you need to follow a link to another web page. What’s worse, your browser can’t think for itself. It can’t notify you when something important happens online, and it certainly won’t anticipate your actions, automatically complete forms, make purchases, or download files for you. To do these things, you’ll need the automation and intelligence only available with a webbot, or a web robot. Once you start thinking about the inherent limitations of browsers, you start to see the endless opportunities that wait around the corner for webbot developers.

We realized that and built services to track pages, aggregate and filter information. But this post is not about them either.

Can browsers get smarter? Here are a few thoughts:

What if we can take most frequently used functions and made them into verbs. Some imaginary statements:

Repeat my daily searches and show me new stuff (programming speak – take 3 searches I saved, run them on the browser, get the top 100 results, compare them with the results I got yesterday and just show me the new ones)

Go to amazon and get me the new deals for gadgets (programming speak – Go to amazon site, pull the daily deals, filter them by my interests (or look at my wishlist) and let me know if there are any I should look at.

Find recommended books for subject x (Go to Amazon, search for book on subject x, find similar books, rank them based on popularity and sentiments from reviews and show me a list).

Find me the best deal from Amazon, ebay and other deal sites on my list, for the most popular Android devices mentioned in my favorite review sites.

Wearing a developer hat, I know all this is really doable as separate web apps.There were a few attempts at a higher level language for the web browsers. There was a product called Ubiquity, a Firefox plugin that got me excited for a while since it provided a command line interface to the browser. There were a few tools from MIT also (but some of them have not been updated). You may also want to take a look at ScraperWiki where non-programmers are writing scrapers.

If you had to design a simple usable language to deal with the web (with or without the browser), and you are not a techie but reasonably comfortable using computers, what would that be?

Looks like another one of those opportunities to prototype some ideas.

Meta:

I read an article on how marketers should write in a language that customers can understand. I want to go one step further. We should make the most heavily used web browsers to be even more usable by a larger community.

I was reading an article on Scientific American a couple of days ago. It is about the problem of how information overload affects the work of Scientists. Information overload is an interesting topic, so I read the story with fascination. The comments on that article, were even more illuminating. While reading that article and comments, I came across a statement on how difficult it is to do interesting work if you also have to make money for a living. So I tweeted it. It seems to have resonated with others too and got some retweets and likes.

Conflict between making a living and doing interesting work is one of the challenges most of us (not just scientists) face in life.

Today, I found a reference to this HBR article from a friend on passion(desire) to do something you love.

… when you’re heading into the unknown, desire is all-important. You simply want to be doing something that you love, or something that is logically going to lead to something you love, in order to do your best work. That desire will make you more creative and more resourceful, and will help you get further faster.

And, it will help you persist. When you’re trying something that’s never been attempted before — beginning an unusual project at work, or trying to get a new business off the ground — you’re going to face a lot of obstacles. You don’t want to be giving up the first time you encounter one.

But, let’s be real. None of this guarantees wealth, or even financial success.

It is true that doing interesting work does not guarantee financial success. I think of it as a Venn diagram. The larger green ellipse is your opportunities for making money. The red ellipse represents your interests/passion. Depending on your specific interest areas, the overlap may be very different and in some cases, may not exist at all.

Here are three scenarios I can think of.

There are lots of opportunities to make money from the areas you are interested in.

There may be some overlap between your interests and opportunities to leverage them for making money.

You may not be so lucky, and your interests and your opportunities to make money may have no overlap at all.

Meta:

This model is a little too simple. There may be other components to the Venn diagram related to some of your natural skills.

Note that I have not defined interests/passion at all. We need a deeper discussion about this topic.

Note that I have not elaborated on opportunities, either. That depends on a lot of other factors including your education, skills, location, attitude, comfort zones and a variety of others. Again, another topic that demands a deeper discussion.