28 July, 2009

Testing ad campaigns: Facebook versus Magpie(via Twitter)

When I launched numeroom.com last month I planned on running a simultaneous ad limited ad campaign to promote the business. I had to figure out which of the many options to use, I could have gone with ads on Google, yahoo, the Microsoft network or any of many of the old school (ok some may not consider Google that yet but it is older than Facebook and Twitter) but decided to go with Facebook because of the ease with which they allow existing "Pages" to advertise to the Facebook community and because it seemed they were providing very competitive pricing on the campaign. I ran a limited test campaign of an ad that was created to introduce the numeroom site and the features it provides. It was to run for only two days, at the end of the campaign I used Facebooks basic analysis tools to see that in the run time of the campaign which cost $5 total, the ad was shown to exactly 41,623 people. Of course the number of people that actually look at those side banner ads is a small fraction of this number and according to the clicks for this particular campaign amounted to a grand total of 11 clicks. That is 11 clicks through to the numeroom.com site link provided in the ad after display to 41,623 people. I expected the click rate would be low but I really had no metric to compare this number to, since this was my first campaign and I'd not used any other service. The total click through rate was .03%. It just so happens of the 11 clicks none seem to have turned into new users on the site, as during that testing period I didn't record any new user creations and my service is free in a basic form. That said, I decided to look for another way to advertise and the other big darling of the IT media in the last year has been Twitter, the micro-blogging service. I was investigating methods of using status updates to post advertisement links to twitterers and found a site called magpie that seemed to fit the bill. I quickly was able to create an account and set up a test campaign. This would allow me to format a 140 character advertisement and a link in a tweet and then magpie would propose the ad to twitterers in its network with large collections of followers in the areas that match the keywords provided with the ad campaign. Intuitively this seemed as if it would generate a higher click through rate than the Facebook ads for several reasons.

  • People go to twitter to chat, learn about specific things in a moment. If the ad targets those things there is a high likely hood of relevance and a high chance of a click if the ad is shown when the user is searching on a topic that the ad has as a keyword.
  • Unlike Facebook which must do its best to keep ads to the side out of the way of the main social functions people go to their site to perform, Twitter updates are the "meat" of the service, putting ads in them and targeting relevance should result in high click through rates.
So with that in mind, I started a test campaign on Magpie with a short tweet indicating the following:

"group chat in any language, share any file, link rooms, follow friends, IM, message, securely, join free: http://www.numeroom.com"

I started the campaign and waited the two days of run time to elapse, unlike the Facebook campaign which was a $5 test this one I ran for $20 worth of ad delivery. The results of the campaign as reported after its end was very interesting. Unlike Facebook which just carpet bombed huge amounts of Facebook users (Facebook allows targeting by country and age group demographics but does not have a keyword matching facility) that I specified in my targeted demographics (I chose US viewers from all age groups) the Magpie ads were focused on the searchers of the provided keywords.

"attach bookmark chat customer email embed feed file files invite language link secure service translation"

The total number of followers of the host twitter accounts that saw my ad was only 2,626 but the amount of clicks through to numeroom.com generated was an amazing 56. For a click through of 2.13% , 71 times better than the Facebook ad and for a fraction of the cost the main take away is that with the Facebook ad campaign it took showing the ad to over 40,000 people to get 11 to click on it, but for the Magpie (Twitter) ad , showing it to just 2,626 people resulted in 5 times the number of clicks through and unlike the Facebook test ad run which didn't generate a user on the site, the Magpie run actually generated several. I am definitely going to be running more magpie ads as they are significantly more efficient and cheaper than the Facebook ads because of the unique targeting they provide to individuals searching on topics salient to their interests at the moment. In my case, secure web collaboration, file sharing and language translation services of numeroom.com

This underscores something I've been saying about Twitter and in fact that I blogged about, it is very useful for several entities (entertainers, journalists, businesses and sports figures), as a business the ad service provided by Magpie for numeroom.com is an excellent and hyper efficient way I know of currently to reach out to users that would find the numeroom.com services useful and convert those clicks to new users on the site. I will have more to say on the magpie campaigns that I will be launching on a larger scale in posts to come. I wonder if Twitter will get into this revenue model themselves and starve out third parties like Magpie or do they have other things (like what I mentioned in the blog post linked previously) up their sleeve. Whatever it is, they need to get going soon to avoid having the bulk of the notification usefulness subsumed by Facebooks similar options.

25 July, 2009

Easy feedback added.

Since launching the beta of the www.numeroom.com web site I've contemplated adding a formal forum for feedback from the user community. I have "help" rooms set up for real time interaction but the critical mass of users is not there yet to take advantage. Setting up the forum would not be too much work as the AgilEntity framework has "forum" as a managed entity type, however that would require some integration time (say a day) ... while going over the results of an test twitter ad campaign that I started with the site www.magpie.com ( a post to come on how efficient this seems to be compared to Facebook ads...) I noticed the "feedback" tab they have prominently displayed on the right side of the screen. I clicked on it and was taken to a well designed voting system for "ideas" submitted by users of the site. This was a custom implementation of exactly the feedback that I needed for my site. So rather than spend a day adding it using an AgilEntity forum, I simply created a new account at the site behind the forum www.uservoice.com and added that into the numeroom home page within minutes in development and after a quick test phase within minutes rolled to the production servers in Texas. The usefulness of the distributed infrastructure business models becomes readily apparent when a focused piece of functionality can be added to a site so easily. In fact www.numeroom.com does the same thing but for secure collaboration and file sharing, any business or individual that lacks the expertise , time or money to implement their own solution can simply license it from us. Back to the numeroom.com feedback, I placed some ideas that I already in mind for the site as initial suggestions, if you have a beta account or just have an idea on how the site services can be made better go suggest it or vote up the existing idea.

19 July, 2009

Just for fun.

My life has always revolved around two general class of interests that most people see as separate and unrelated but that I see as intimately linked. I have the artist , who requires expression in the form of poetry, digital photography, illustration and graphic design. However, the other part of me, my Mr. Hyde is the engineer, who requires the engineering, technical designing and trouble shooting that have defined my work on the AgilEntity platform  the last few years. With the recent launch of numeroom.com and the initial purely viral based limited marketing I've done for the site, I have been feeling the urge to do more art.

It seems the artist has been feeling neglected, the last 10 years or so were devoted primarily on database design, object oriented programming, workflow design and algorithmic efficiency, the deep minutia of software engineering. The artist however has been able to come out from time to time, as I sit at my computer desk writing code, in the form of fast sketches of shapes, image, slogans and the like. I got in the habit of rending many of the sketches and slogans into graphic designs which were then uploaded into my current online hang out spot , Facebook (trying to get numeroom integrated in there some how..I know, I know) Often the designs I create are inspired by conversations that I have with my friend online and off, I have a veritable gold mind of cheeky comments, geeky statement that create images in my head that I then rattle off in the graphical tools of my choice. I have always disliked the idea of wearing other peoples designs when it comes to t-shirts, or graphic tees as they are called now, and since I can create my own designs I decided to open a t-shirt store to sell many of the images I've done and that people have asked about putting on products.

Some examples:


All of these designs are now available for purchase in multiple colors and sizes at the really cool site: spreadshirt.com. I looked over the many sites that now specialize on allowing designers to place their work on various products to sell and they provided the ease of set up and freedom from design theft that many of the other sites force on their designers. Head over to Geek Varietees and browse the designs, I am creating a new design roughly every week and I will be retiring old designs after a number of sales so act on the ones you like while they are still available.

Geek Varietees

16 July, 2009

Numeroom: Non Roman character support is here.

The beta launch of the numeroom.com web site over a month ago finally allowed the debut of the various collaboration functions that are uniquely provided by the site. One of these services is the real time implicit language translation. It allows free users of the service to implicitly translate the text they type in a selected language to and from the languages used by other users they are collaborating with on the service either through chat rooms or in private one on one IM's.

The translation on agent demand feature (as it is also called) makes chatting with a group of people typing in different languages easy and efficient (from the business perspective). It was in fact one of the charter features of the collaboration API that I built into the the AgilEntity platform that is exposed through the numeroom.com website. In order to provide the service I realized that the best way to make it extremely efficient was to distribute the necessary horsepower in multiple dimensions. Toward that end, I had to design a distributed chat algorithm that would work without requiring that each user in a chat room be logically associated with a single server that is hosting the conversation. Allowing the hosting of users in a conversation across multiple servers would enable significantly more efficient chatting as the resource requirements on memory could be spread across different servers even when all the participants of the conversation are logically in the "same" room. Another distribution strategy involved the actual translation function, when doing many to many language translation the need to translate each users text into the language of all the other users and then send that text to those users displays makes the activity incredibly computationally taxing. I had to design a way to eliminate this computational complexity and after a week or so of thinking about it, came up with the efficient "message board" solution, rather than translate each message entered by a user and transmit those messages to the user interface. I could use the already distributed chat system to translate the message and write them to a corresponding language message board that would then be viewable to all users that are typing in that language. Thus only one translation is necessary per message per language, decoupling the translation act from the viewing act which no longer requires active delivery of the message to the viewer but instead requires that the user actively go to view the message board. This significantly reduces the cost of real time translation since the server never has to deliver translated message to the client if those clients do not explicitly request the message by selecting the message board of the translated language. If no one is viewing a message board, no translation is performed to that language. Some more details of this algorithm are described in the patent application for the technique available online.

The actual source of the translated text comes from the distributed network of Google (I also had it working with babelfish and freetranslate but settled on Google for the use of the free API rather than hacking the public interface ;) ) Google uses a statistical language translation technology to provide fairly accurate translations. For chatting the accuracy is excellent as people tend to "speak" in a very non formal and basis syntax in a chat room. When I originally got the function working, I wanted to have full support of all the languages that Google made available but I ran into a problem where languages that used non Roman character sets would fail to display in the chat room. The cause of the problem had to do with logical bugs in the code that I wrote to read and write text from url's and to documents. As the date for my launch came round, I decided to just launch the site with the limited Roman character support rather than try and add the additional languages and that is what I did. Now that I finally have time to breath after spending most of last month , networking , testing ad campaigns and trying to hunt down Angel and VC's for investment purposes I decided to add the non Roman character support.

I did this last night, the site now has support for 30 different languages spanning over 5 character sets. The new languages added last night include:

Chinese (simplified)
Japanese
Korean
Tagalog (Filipino)
Vietnamese
Turkish
Hebrew
Arabic
Dutch
Russian
Finnish
Hindi
Romanian
Polish
Ukranian
Indonesian
Persian (Farsi)

Google rushed to add the Farsi support after the recent events in Iran, in order to facilitate communication for third party products that used their API such as numeroom.com does. So any one in Iran can use a Numeroom to chat with non Farsi speakers.

So now the original vision I had to level the communication playing field once and for all by making language irrelevant is coming to fruition! The language I most wanted to have was Romanian, which was the language that inspired the hunt for a solution. I am happy to say bidirectional translation using Romanian exists for all the other languages. If you are unfamiliar with the numeroom.com site , you can create a free account to try out the many services and features offered for secure collaboration by clicking on the links below.


Sign up for free, create your first numeroom automatically !!

and then...

Video Tutorial: Try out the real time language translation

Video Tutorial: Invite your friends to chat(just email is needed no need for them to join)

15 July, 2009

recruiting the right tools

With the beta launch of www.numeroom.com just over a month ago, I've been inundated by the requirements of the next stage of business. Acquiring users (to convert to customers hopefully at some time in the future), tenuously looking to acquire angel and VC funding, crafting my marketing and sales plans and networking, networking and networking. This part of running a business is the most arduous for a technical minded person who would much rather play around with algorithms than work on contacting potential users, however the usefulness of a product or service won't immediately present itself to those who might find it most useful and the leg work is required. That is the road I am on and it is at times a frustrating one, but with each new user one that gets closer to the magic critical mass of users where the unique utility of the numeroom.com collaboration ecosystem is harnessed. That said the rate at which new users are acquired has necessitated my investigation of available consulting assignments in information technology in order to fund all the necessary operations to keep numeroom.com growing until that critical mass is achieved.

It has been quite a few years since I've been looking for a gig, so all the trusted recruiting contacts I had built up over a decade ago when I last put myself on the market have moved on. Thus, I've had to attempt new relationships with recruiters in IT, the recent interaction with a few shows me that for the most part recruiters are still asking all the wrong questions of their potential candidates.


In illustration, few people stand out as giants of the art like Norman Rockwell. A native New Yorker, Rockwell showed an aptitude for drawing before he was a teen. By the time he was in his late teens he was already doing advertisement illustrations and other early covers for various magazines and publications. Norman Rockwell's talent was immediately on display the seconds a person saw his work. The question of what brushes he used for painting , or what type of pencils he used for sketching was a distant one on the minds of any one that saw what he could do with whatever he did use. Rockwell , and the talent of all great illustrators is on display in the work itself and more importantly, viewers of that work ascribe the ability to the person and not the tools that the person employs to create the work. A similar thing is true of masons, outstanding masons are skilled in the art of mixing cement, leveling walls, crafting unique designs from the components of brick, stone, and metal that are part of modern day masonry. As a result, when a mason is attempting to secure new work, he does not list in his advertisements all the models of his best trowels, or the type of his shovels, or the make of his levels, saws, or the maker of his cement. These are all irrelevant to the end result of a stable, level and excellently constructed work of masonry, be it in a porch, stone work on the front of a home or a stylized brick perimeter wall. The work speaks for the skill of he mason, not the tools that the mason uses. Making the statement "Great work you did on that wall, what level do you use?" immediately underscores the ignorance of the person asking the question, and the fact that they have no idea that skill in masonry lies not in tools , it lies in knowing how to use what ever tools are available to create consistently functional and beautiful masonry for their customer needs. It is true that most masons, and most illustrators for that matter have a set of preferred tools but the best are not tied to those tools. They are simply an end to a means, which the artists experience allows them the flexibility of achieving even if some or all of the tools are replaced. In illustration and in masonry, the potential customer realizes this intrinsically and does not ask such foolish questions about the tools used to perform the work. However, this is not the case in information technology.

My recent experience with recruiters, (it may bare on this subject that most recruiters tend to be males in their mid 20's fresh out of college) indicates how clueless many are with regard to what to look for in a competent software engineer. In my recent experience, the first question usually out of their mouths has to do with what specific components I have experience using, this is identical to the "tools" question posed to illustrators and masons as hypothesized above, and just as foolish. The mark of a great software engineer lies not in the tools (technologies) he or she has used. Even in the extreme cases, great skill with engineering can enable the individual possessing it the ability to pick up and go on any technology from zero in a time frame that will not impact the operations of the most demanding businesses. As it stands, the implementation time given even to crack consultants ranges on the order of weeks to months, enabling opportunity for the technologist to train up on the nuances of the new technology. True, there are situations where the implementation time does require an individual with more specific and detailed understanding of the underlying technology but this becomes more irrelevant the longer the time to launch period is for the project. The modern technological landscape has mostly standardized to one major type of design, object oriented design. (A philosophy that can be applied without requirement of an explicit object oriented language I might add.) The major platforms of development on which object oriented design are performed are extremely similar in overall philosophy but differ mostly in syntax. The differences between coding in java , c++ and c# are far fewer than many coders not familiar with the would realize, no wonder that recruiters are completely baffled given their relatively low level of experience in the technologies and most importantly, not realizing that the programming language and platform is but a tool. The true skill of an engineer lies not in which language he knows but rather in if he knows the most efficient collection to use in a code problem regardless of platform. Arrays? Trees? Maps? It is in knowing when a problem would be readily and efficiently solved using recursion as opposed to linear execution, it is in knowing if a design should write to files on a file system or write to a database table depending on the architecture of the software being designed? Stand alone, mobile device? Distributed web application??. These grains of knowledge are only acquired one way, experience, and they are applicable to any platform consistently because they are engineering and thus architecture related , not platform/language or library related.

I have a personal anecdote of the truth of this statement. The last time I was actively job hunting (as a full time worker and not as a consultant) I ended up interviewing at TheStreet.com, during my interview my interviewer asked all the right questions. My specific lack of experience on the platforms in use at the time on their system, my lack of knowledge of the very language I'd be programming in was irrelevant because he saw in my answers to his engineering questions, an ability to cut through the fat of inefficient design that constitutes the work of the bulk of "professional programmers". He hired me on the spot and within the next few weeks he saw his bet pay off in my rapid assimilation of the processes, tools, applications and languages required to perform my job. Despite tight deadlines I was able to become competent and skilled in my position and serve beyond the needs of the business. I've found that only engineers are able to sniff out other engineers, as they know what questions to ask and they understand the depth of the answers returned by engineers versus the shallow, responses returned by programmers that can rattle off facts but lack the wisdom to engineer efficient solutions with those facts. So recruiters need to probe the type of questions concerning the engineering competence of candidates and then let the hiring managers determine if that talent is sufficient for the implementation needs of the new position. When the opportunity is presented to view or use the finished work of an engineers efforts in any technology it should be taken, I've had two recent interviews where I suggested the recruiter look at the numeroom.com website to understand the scope of my ability only to have them indicate that they would rather I talk about it. This type of bone headed response is just like asking Ansel Adams to betray his 'secret' camera technology that made all his photographs of Yosemite so stunning. Now, I could only hope to exhibit a fraction of the talent that Ansel Adams had in my engineering work but the point is made, if you want to know how good some one is at something you ask for an example of their work, you don't ask for a list of the raw materials they use to build it. The talent for most every technical subject is not in the materials, it is in the builder.

So with that said, I resolve to perform the following the next time I get asked by a bone headed recruiter, what languages or IDE's or libraries I've used to build my software and refuses to simply look at the working examples I have online to judge the quality of the end result. "My competence in engineering is on display in the finished work, not in the tools I used to build it." and get up and leave. ;)

01 July, 2009

Facebook's avalanche picking up steam..

The following is a response to an article posted at Silicon Alley Insider a blog I frequent. I'd been mentioning the danger that Twitter faces in the form of competition from Facebook here and (ironically) on Facebook. This details the key reasons I see Facebook as becoming increasingly resistant to the theory that once people get "bored" of it they will go else where. It won't be so easy to do, and that is exactly Facebook's plan:

Nice to see you guys finally getting it, Twitter is fast on its way to being irrelevant. They are going to wish they took that half bill offer down the line when Facebook fully replaces everything they offer. In fact Facebook already fully does everything twitter provides. All this other talk of the cyclic nature of social networks is missing the important distinction that makes Facebook a bookend compared to everything else. Namely , Facebook did more than just try to be a destination among many, it has systematically outflanked and invalidated online users desires to go to those other destinations. How?

There was a time when you'd upload images to your profile at flickr, or smugmug or pbase, or countless other photo sharing sites. Now Facebook allows you to do that, and allows you to easily share those images with specific individuals or no one ...and I who wants to bet money a "print this image" option is not far away (once they push up the file size limit for the uploaded images)...

There was a time when you'd write posts on what you were thinking about in your blog, you had trackbacks and followers on those networks at typepad, blogger and the other blog platforms. Then Facebook comes alone with their Notes , which suck in all your blog posts going back to origin and put a Facebook face on them, adding in tagging and commenting and re-sharing of your posts. Things you can't really do on the disconnected blog platforms. I have a blogger account that I use only to write posts so that they get sucked into Facebook where I get the real attention for the article.

There was a time when you'd do most of your messaging using email, now with Facebook messaging people send links and messages using that system , pushing out to email via the notification feature. Throw in the uniqueness of the multi user messaging and Facebook does something no other social network is doing in messaging.

Forums, in the early 2000's ...creating forum "platforms" was all the rage, they were made for all manner of technology , php , python , java , c# ...to enable the establishment of message boards for sites...now Facebook comes along with groups and their associated discussion boards and so much for Forums. Why communicate on a bunch of separate fora with different user id's and passwords , when one can simply join Facebook groups and participate in their discussion boards...with anyone on the network. Discussing , sharing , getting to know people from all areas of the world that find the group topics interesting. All managed by your one Facebook profile..another key online activity subsumed into the Facebook social behemoth.

There was a time when you went into Yahoo messenger to chat with your friends, now your social network is immediately available for chat (when they chose) using Facebook's chat. Sure it is basic to all hell , and limits your chat rate (it actually tells you to "slow down" if you "talk" too much) but it provides an integrated real time collaboration with your contacts that none of the other social networks were able to integrate nearly as smoothly. MySpace chat was a joke, and many of the other so called big boys don't even have chat integrated into the profiles. Again , Facebook is taking the things people do online and pulling them all to itself ....no social network has ever done this and by doing it, Facebook makes itself indispensable in the eyes of its users a place to live online and do everything.

There was a time when you went to one of several "favorite" games sites to play games, now many of those sites games are being converted to Facebook apps and played collaboratively on people's walls. Why settle for competition with your few friends that know about "game site x" when you can start playing a game on FB and publish your results to your feed for all your gamer contacts to see and add themselves. Gaming now is absorbed into the Facebook ecosystem...taking with it a key online activity that would often pull people across different sites.

The proof of all this consolidation is clear in the numbers, users spend incredible amounts of time on the Facebook network...doing all these things they formerly did on different sites. Now, think...with such a huge investment made in having all ones interaction, content and community in one site...what on Earth can get them to switch en mass ?

I'll answer,

nothing. Barring a catastrophe on Facebook's end...they will be the last of the social networks and if they avoid Google's response (their only real competition in that they are the only ones with a suite of products that can be woven together to provide a similar experience fast enough and have a user base broad enough to maybe slow their growth)



Talk of key users moving on to new networks once bored , irrelevant. They'll soon find them self constantly coming back to Facebook. The only areas that Facebook will find difficult to penetrate are businesses as they have competitive advantage locked up in the mix of products they use to collaborate that they will not give up for the homogeneity (read: flattened playing field) of Facebook...that and it lacks the security and privacy that businesses want.

The Oracle has spoken, now go relax and have a Corona folks. ;)