Archive for the ‘amplafi’ Category

RockYou (Facebook AppCamp)

Monday, October 29th, 2007

Held 20 Oct 2007.

This batch of notes is not mine, so it will probably not be edited too much.


Presenter:
Eric Yieh
RockYou

- Facebook, is 7x more viral than bebo. because of there
- superwall, Xme, zombies/vampires,
- Facebook has: profile, profile action, feed, requests, emails, notifications, wall.
- Should use all of the facebook api, some work better than others
- Rock You also provides an API to the super wall
- Having multiple apps lets you cross advertise, and have one app use the other app.
- Buy advertising to seed various different social networks with your app.
- Viral success factors: simplicity ( does the user get it immediately, keep invites really short), novelty ( has the user seen this invite before?, be the first with your kind of app), social persuasion (reciprocity, ego boost, “your friends will like you better if you install this app”), fun ( most people go to facebook for entertainment rather than work, not too many utility applications).
- rockyou and slide are the heavy hitters in the widget space.
- Must use the social network of facebook, people who wouldn’t otherwise
- “to get an app over 1 million users you must advertise”
- “it will have to hit a bnuch of people in the same high-school before the app spreads to the whole network”
- facebook invites only go out to the direct friends of a particular user.
- Invites are now limited to 10 invites
- FBML invites are not very good, need to have a very strong call to action.
- Want to make it easy to send invites (pre-set the invite text).
- maybe can monetize without having people install an app.
- you have a canvas page that people don’t need to install an app for, this lets you monetize your canvas page. (it’s just like an html page on the web)
- Create applications that require users to communicate.
- Hard part, need to balance uesr acquisition and engagement
- if you send a person to an invite page, they may not use your app.

- which ad network to use?
- pricing
- quality of the ads
- fill rate/campaign size
- want optimization features that let you tweak which ads are displayed
- channel tuning (let you not advertise for competitors)

- rock you has an ad network as well.

- CPI 0.50, cost per install, advertising. i.e. you pay 50 cents per user who installs you
- you need to monetize your app in some other way than selling installs.

- People will need to advertise to launch your app…
- In some cases people have built a small viral app to drive people back to their “real” site.
- advertisements in the middle of the screen are much better than top flier ads

- bebo focussed in UK, dont have a dev platform yet.

- flash autoplay will be allowed.

- should tie your apps across all of the big platforms.
- news feed and mini-feed are both very effective.
- facebook doesn’t let you store user data for more than 24 hours… can only store theire user ids.
- Eric says that you need to do internal studies to figure out what kind of demographic gives you.
- monetization: peanut lab.
- clickthrough rates on facebook are low.
- as soon as a click takes you outside the site, the user closes the window because they don’t want to leave facebook.

- maybe myspace will allow unlimited invites.

- rockyou doesn’t care about their destination web site…. they care more about how many users they have on various social networks.

- Rockyou assumes that all of their users are teenagers and build for the teenage market, whether or not they are teenagers. This is because when people are on facebook, they’re not looking for productivity, they’re looking to hang out with their friends.

- Thinks that the movie studios etc. will build viral facebook apps to advertise new movies soon, instead of having a fancy website.
- “Who can do better than george bush”
- Rock you sold a resident evil branded version of zombies on facebook to sony, and sony’s going to buy again.
- rockyou has relationships with various advertising firms
- anything that distracts from the invite flow will reduce installs of an app.
- advertisers are targeting younger users on the social networks.
- Each platform is building their “own version of the internet”.
- which means that people will rebuild the internet inside each platform. So take the most popular apps from the web and rebuild them inside the platform to make money.
- Make sure to track ROI on a campaign.
- what’s the “hover over” rate.
- branded advertisers are more concerned about the messaging (the layout, the look and feel etc.) rather than necessarily the click through rate.

Blake Commagere (Facebook App-Camp notes)

Monday, October 29th, 2007

Presenter:

Blake Commagere
Founder, VP of Engineering & CMO
Mogad, Inc.

Create the Vampire App for Facebook platform. Also work heavily on the Causes Facebook application.


(Notes are raw and unedited, editing will occur as I get the chance!)

most people are using f8 for communications not business.

internet generations are much smaller than regular generations

english majors can do html
internet dating is casual to the kids today.
First porno, was probably digital.
70% are 18-35 f8 users

what people want has not changed in 5000 years but the manifestation

for example, don’t assume users are asexual.

for example, the wall — fundemental desire is validation - to feel important.

for example, friend count when friend count meaningful. (i.e. not 30K friends but 35 friends v. 50 friends)

social aspect of wall-to-wall communication : “john, lets have coffee” the public aspect of advertising that john and bob increased wall count. And john got validation by bob ask

wall is ordered by date with most recent — implecit ranking because Mike is cooler than Karl because Karl’s post is older (below) Mike’s wall post.

flirting happens with posts on wall posts

if a female posts on males’s wall — if a male other user posts above her. she is far less like to post again than if another female is posting.

for example in real -life if have female friend that is talking to another male. a male is likely to go up and talk to female just because ‘competition’

(from audience : f8 user) -
if she just met a guy in class - she would go to his facebook wall to see what kind of competition she has.

over 30% of profile views on linkedin profiles are to self — and this is just a resume.

having a girlfriend is important on f8

30% more like to get use apps if they have pimped their profile.

sales people try to create social obligation — that is why they send xmas cards.

blake — was lead developer on “Causes” (”Yellow bracelet” campaign was a way to self-identify with Lance armstrong) tried to do application with “Care badges” was unsuccessful in myspace but myspace shutdown widget spreading)

causes only exists in f8 — people do care about charities — “I donated $20 to a charity” 20-something don’t have time that they did in college and dont have money either to donate. But donating to causes is self-expression.

Users are “selfish”

(vampires - kicking around idea of creating that did nothing but spread — but not have any other value — i.e. but convert the act of inviting — make the advantage of inviting a core feature — makes it more viral)

anti-example : the quote applications .. no real benefit to inviting someone.

f8 poke — is not flirt — its a hey what’s up. I think someone is flirting with me because they are poking more frequency. “Do I poke them back right away, or do I wait — a day to say that I am cool and hip and I have lots of people poke back.) This is a friend validation. If they don’t get poked back, it says something.

If I post on your wall and you don’t– “oh you are private message’d from now on.”

voyear-istic measureable to see how flacky you are.

f8 photos are inferior to flickr but tagging in f8 automatically notifies your friends.

people look for their own photos first. and then the attractive people. People want to see themselfs

message has 2 barriers — the sender has to decide to send the app. The actual barrier is to the recieptant to accpt. You want them to feel cool.

People do things to benefit themselves first, their family/friends and lastly their community.

“Useful” apps run the risk of being boring.

f8 is not designed to get work done.

Causes has grown… but needed bizdev team and engineers — did a lot of work with companies. established relationship with just-give online charity and guidestar - to validate non-profits.

application, engagement, monetization. ( iterate with users get immediate feedback ) — right now

So how do we sell the product?

Friday, October 5th, 2007

Some interesting data points:

  • Direct Sales: Someone shows up at customer site
  • Tele-sales: person-to-person calling
  • Direct Marketing
  • Word of Mouth
Method Cost per sales person Minimum Sales per year Minimum price
(200 selling days / year)
DirectSales $300-400K $1 Million $5000
Tele-sales $80K $250K $1250

Basically means this means that if you need to have person involved in every sale, the minimum cost of your product has to be over $1000. If it isn’t, advertising and word of mouth better carry the day!

anti-sales people at LayeredTech

Saturday, September 29th, 2007

Talk about a really interesting take on what being a sales person means. It is my general (perhaps misconceived) notion that when a customer contacts a sales person that their job is to try to evaluate the customer’s needs and maybe upsell them or find some combination of services that would met the customer’s needs and, oh may be make the company a wee bit more money. May be this is a little out-dated, after all it is a concept I learned while selling roast beef at Arby’s - guess it doesn’t apply to LayeredTech’s sales people.

I should preface this with the comment that I was planning on adding more servers but…..

From: Patrick Moore
To: sales@layeredtech.com
Subject: Re: [LTSALES #GHX-xxxxx]: Client Order: Patrick Moore [Client ID: xxxxxx] [Server ID: xxxxxx]
Date: Sep 27, 2007 5:38 PM

Hi there –

It looks like the prices for the servers have dropped in price to $49/month … So I would like to take advantage of that to move to the lower price.

I am also looking for a build/staging box build machine so this can be a slow box…or virtual machine…

-Pat

So here I am saying I want to get my account billing changed, but I am also saying that I want to add an extra server. (Wo ho) existing client, upsell opportunity (any place but layeredtech)!

Got this reply:

From: Sales Related Requests [Add to Address Book]
To: xxxxx@earthlink.net
Subject: Re: [LTSALES #GHX-xxxxx]: Client Order: Patrick Moore [Client ID: xxxxxx] [Server ID: xxxxxx]
Date: Sep 27, 2007 6:11 PM

Hello Patrick,

If you need to upgrade (or downgrade) your current server to a new processor, you will need to order an entirely new server. So, you should time it to where the server that you want to upgrade will be cancelled right after your new server will be up. We need a 2 day cancellation notice (go to support.layeredtech.com and open a ticket, chose ‘Cancellations’ and you will be guided through the process).

You can set the cancellation of the existing server to be now or at the end of your billing cycle. Please specify in the body of your ticket. There will be no refunds given for servers cancelled prior to the renewal date.

I apologize, but we will not move hard drives from one server to another. IP allotment is also not transferable to newly ordered servers.

If you have further questions or concerns, please do not hesitate to contact me for assistance.

Thank you,

Jenny Song
Layered Technologies Sales
Toll Free: 1.866.584.6784
Direct Line: 972.398.xxxx
Fax: 972.398.7055
Email: jsong {at} layeredtechnologies.com

You got to love this! Instead of trying to find out more about my needs was

  • to direct me to some series of steps on a website that I don’t want to figure out, and
  • not bother to find out if I had other needs (which I pretty darn clearly indicated)

But that’s o.k. right Jenny did say to contact her if I had “any further concerns or questions”. Well as a matter of fact I did:

From: Patrick Moore
To: jsong layeredtechnologies.com
Subject: Re: [LTSALES #GHX-xxxxx]: Client Order: Patrick Moore [Client ID: xxxxxx] [Server ID: xxxxxx]
Date: Sep 27, 2007 6:36 PM

well this looks like exactly the *same* server….so why can’t you adjust the price?

No response by the next afternoon, the offer of assistance must have been an empty one….


So I resent the email thread to sales@layeredtech.com hoping the luck of the draw would get me someone a little better. Wishful thinking. Got this reply:

From: Sales Related Requests [Add to Address Book]
To: xxxxx@earthlink.net
Subject: Re: [LTSALES #GHX-xxxxx]: Client Order: Patrick Moore [Client ID: xxxxxx] [Server ID: xxxxxx]
Date: Sep 28, 2007 3:54 PM

Hello,

We wish it was that simple however, it is not. Again, if you would like to upgrade or downgrade the processor you will need to order a new server. We will be unable to drop the current price of your server to $49.00 as per our current specials.

Thank you,

Drew Patterson
CSR/Sales/Accounts
Toll Free: 1-866-584-6784
(972)398-7000
FAX: (972)-398-7055
Email: Sales@layeredtech.com
Email: Accounts@layeredtech.com

Now at least Drew was a little more upfront and honest. He didn’t extend the (empty) offer to be of “further assistance” and he wasn’t even going to try to be helpful with a list of steps on navigating the layeredtech website. And certainly no direct number or email address for him!

I should also add that my whole humorous exchange started with me asking the same question of their pre-sales person ‘available’ via chat. I will not mention the id number of that person, because he did try to be helpful but admitted upfront that he didn’t have the ability to handle what I was asking for. He at least tried to be helpful and referred me to the (un)helpful people available at sales@layeredtech.com

Capitalism at its finest - “we won’t take you money unless you shove it in our hands”.

sun should get into the hosting business

Monday, July 30th, 2007

Sun keeps trying to offer Sun essentials for startups to Amplafi. The problem is that we don’t want to purchase services at the box level. We want to purchase at the java vm level. Buying a box means we have to worry about maintaining it. But that is the level that Sun is used to talking at and selling at.

We are agnostic out of necessity to questions about os, hardware, etc…. so Sun needs to go further up the foodchain for Sun to be able to sell to Amplafi.

Sun should stop being afraid of pissing of partners and start experimenting with offering their own hosting service at the java vm only level. After all who can manage Sun boxes and Sun’s java vm better - Amplafi, JoeBlow’s hosting service or the people who wrote the vm and built the box?

Notes from the “End of Software”

Thursday, June 28th, 2007

So this evening, I got to dine on some very nice flesh courtesy of Callidus Software. They sponsored Tim C.K. Chou talking about the “End of Software”, otherwise known as Software as a Service (SaaS).

Interesting talk, confirming what I have thought for a long time and something that Salesforce is making millions on… installed software is costly to maintain. But the funny thing is that Tim missed one of the key reasons why installed software sucks and costs so much -vendor indifference!

I used to work at (nameless), which sells enterprise software.. For the longest time, (nameless) was in the business of big installations, long roll-outs, long sales cycles. Of course they had long training classes where legions of people (who had no say in the original decision to purchase (nameless)’s solution) were compelled to remember the cryptic commands and button clicks that would insure they would be able to continue to do their job. These people dread the next release of the software because invariably the magic would change and they would be thrust back into a world where they were worse off than before (nameless) was introduced and their quarterly bonus that much further out of reach. Of course the source of the pain was the software engineers toiling away thinking of nothing more than ‘improving’ the software.

When I asked about just making the software more usuable and more obvious… here was a sample answer:

Well we colored the buttons yellow to make our product easier to use.

(pause for the screaming)

So anyhow when (nameless) decided to shift to the SaaS model, all of a sudden they discovered and felt directly the pain only the customers felt before. Now (nameless) was at least incensed to make the software easier to install. Time will tell if they move beyond yellow buttons.

So back to the talk. Tim talked about the reason he rejoined Oracle (and he admits that at first he didn’t see the value of SaaS), but it was to help create Oracle’s SaaS solution.

Security
One of the first key question Oracle faced was that of security. But this is interesting, which company is better about securing their Oracle databases: Oracle or some random paper company — obviously Oracle. But also there is some data that is more secure outside the company than inside. For example, salary and HR data. A company’s DBAs have access to every employee’s salary if that information is hosted internally. However, if the data is hosted by Oracle then the vulnerability to internal hackery is gone.

Cost
People don’t have a good idea of the cost of software. According to Tim the cost of maintaining the software is between 70-80% of the total IT budget. In some companies the IT budget is completely devoted to just maintaining the existing software.

Oracle found that 4x-8x the cost of the original “price” of software is spent per year to maintain the software system. This means that if the software cost $1million. Maintenance costs were $4million/year so with in 5 years the true cost of the software was $21million. Apparently ‘free’ software has just resulted in increasing the multiplier, but there is still real and significant costs.

So what is the source of these costs: patches, backups, hardware upgrades, os upgrades, hard disk crashes, configuration management software, etc. But the other reason for the cost is that each system at a customer site is different than the one next to it. The OS is at a different rev, the hardware is newer, older, or from a different manufacturer. These differences mean that nothing is ’standard’. This non-standardization means that opportunities to use automation to reduce costs are few…. and the quality of the result is low. Now as a fan of the agile programing model — I loved the next statement “High quality = low costs, low quality = high costs”….

SaaS steps in
SaaS is all about standardization, repetition and automation — at a level beyond that of which an individual company can achieve.

Three interesting things about SaaS: Specialization, Games matter, Knowledge is king.

Specialization
SaaS is all about heavy degrees of specialization. The service does one thing and does it well. Ostrich farming software or search (google) — SaaS means that many of the mechanics of getting the utility of the software (notice — not the bit of code themselves) disappear. If ostrichfarming.com is based in Australia - they can still offer value to the ostrich farmer in Russia or Colorado.

Specialized providers know the market - the generalists don’t.

Games matter
In World of Warcraft, a player can see if the other character is a mage or a fighter, their race, and in general there ability. But most importantly, in WoW, teams of various skills interests, language, and abilities from all over the world come together to achieve a goal and then they go away. In WoW this happens automatically and all the time. SaaS and game theory are very similar in this regard. WoW has a currency-based system, SaaS-based business such as seriosity are exploring applying this to business problems.

Service matters and information means better service
Amazon is arguable able to offer better service than the corner bookstore because Amazon can answer the questions: “What do other people think of this book?” and “Will I personally like it?” So this is the next step beyond SaaS. No longer is the question about what feature to add, but now people are interested in the question “Which sales compensation plan works best?”

Interesting stat: Google/Yahoo see 100 terabytes of data in the visible web. 100,000 terabytes of hard drive storage was sold last quarter alone.

Interesting afterwords: Shanker Trivedi of Callidus (SVP Marketing) said one of the biggest issues they face is educationing the customer on the value of the service they can offer. This says to me that the value of SaaS is still being realized and there is a long way to go for the average non-geek executive to really realize the impact and potential. I also suspect there will be more turmoil in the IT ranks as more and more software isn’t sold as such but offered as a service. SaaS lets customers really see the value of the solution they are buying not just a blizzard of marketing promises.

coders vs programmers

Wednesday, June 13th, 2007

Interesting article from February in Times of India - The myth of the Indian programmer.

First there is the interesting description of coders v. programmers:

Most software professionals in India are not programmers, they are mere coders,” says a senior executive from a global consultancy firm, who has helped Nasscom in researching its industry reports.

In industry parlance, coders are akin to smart assembly line workers as opposed to programmers who are plant engineers. Programmers are the brains, the glorious visionaries who create things. Large software programmes that often run into billions of lines are designed and developed by a handful of programmers.

Coders follow instructions to write, evaluate and test small components of the large program. As a computer science student in IIT Mumbai puts it if programming requires a post graduate level of knowledge of complex algorithms and programming methods, coding requires only high school knowledge of the subject.

Coding is also the grime job. It is repetitive and monotonous. Coders know that. They feel stuck in their jobs. They have fallen into the trap of the software hype and now realise that though their status is glorified in the society, intellectually they are stranded.

The rest of the article has references to people such as this anonymous coder:

“There is nothing new to learn from the job I am doing in Pune. I could have done it with some training even after passing high school,” says a 25-year-old who joined Infosys after finishing his engineering course in Nagpur.

Now I will have to say this. There is no better place in the world than Silicon Valley for demanding and challenging work as a programmer and innovator. But that’s the catch - the difference between a “coder” and an innovator, programmer, or entrepreneur, is the level of passion an individual brings to the work.

75% of what I am doing is not coding, it is innovating. Furthermore, I rather have programmer/innovators than coders.

Coders are bureaucrats. Coders are not self-sufficient. Coders do what they are told - they do not disagree. They think in the box and they need to be micromanaged. Coders are start at 8am and are done at 5pm. Coders could work as a bank teller. They are not rebellious. They never spend time to learn things on their own. Coders never try to improve on what their manager told them to do. Coders never come up with their own ideas. Coders are not dreamers. Coders are not risk-takers.

To the Times of India article again:

Sachin Rao, one of the coders stuck in the routine of a job that does not excite him anymore, has been toying with the idea of moving out of Infosys but cannot find a different kind of “break”, given his coding experience.

Newsflash to the Sachins of the coding world — make your own “break”. Are you on odesk? Are you creating and learning on your own? Or are you waiting for the world to give you a lucky break? If so buy a lottery ticket, your odds will be better.

So I will say it again:


Coders.

have.

no.

passion.

If you are not a coder contact me: patmoore <--at--> amplafi com

Thoughts on how to evaluate code

Tuesday, May 29th, 2007

I met someone at Startup Camp2 who was non-techincal but had an idea that required technical expertise.

She faced the typical problem of judging and evaluate software code in order to make sure the people she hired were:

  • competent
  • making progress

This is of course hard especially in the beginnings of a project when so much is really building infrastructure code and configurations, none of which involves ‘visible’ progress.

I whipped off a quick email in response that even after sleep I still rather like:

  • Maintainability
  • Performance

These are your 2 key metrics. Poorly written code fails in these two areas.

Maintainability


Commented Code

Look through the code. Do all large methods have well-written comments that *you* can understand. You may not understand all the details but if there are no comments or the English is poor, this is bad. Any other developer coming later is going to have a hard time understanding what the original developer was trying to do and will probably create bugs when adding new features.

Key point: The comment should talk about *why* not just *what* is being done. The developer must describe all convoluted (to you) code in a *written* comment. This comment should be understandable to you, the layperson, to a reasonable degree. Chances are very good that, if he/she cannot that:

  • He is not quite certain himself what it does
  • He probably has not thought through completely all the issues around this code.
  • It has lots of bugs.

Be careful not to get lost in the weeds here. Have the developer take you through the high-level code, not the low-level stuff. Low-level stuff will distract you from seeing the bigger picture. You may want a friend developer who knows the language in question but be prepared to be able to fly solo on this after a few reviews.

Sample comment:
/**
 * Application State Object that tracks the current state of a flow. Holds any
 * state information related to a specific flow
 *
 * Each flow state has all the information to run the flow and re-enter it if
 * needed.
 *
 * defines an actively executing flow. Each FlowState has an attached
 * Flow which is the instantiated definition. This copy is made to avoid
 * problems with flow definitions changing while an instance of a flow is
 * active.
 */

Integration Tests/Unit Tests:

These are automated tests that anyone can run from the command line ( i.e. should not require bringing up a development environment.) You should be able to run a command line tool that reports number of tests run and the code coverage of those tests. These tests should include running something like selenium that will bring up a browser and run through your site.

Packaging

You should have a set of clear step by step instructions to get from a brand new machine to running the tests to bringing up the service. You need to be able to verify this yourself. Using only the directions only as written i.e. *no help from anyone* can you get the machine set up, source code downloaded from a source code repository**, compiled, and running? You should be able to type ‘http://localhost/’ and see your website.

[**Run away from any developer that doesn't understand source code repositories. They are your insurance that 3 months into development the developer's machine crashes and everything is gone.]

Can you bring up the development environment and start the product following the written directions by yourself? This avoids the possibility/probability that the developer’s machine is magically configured and only his machine is set up just so to build the product. Believe it or not, I have worked at large companies that are hair-pulling experiences because everything has to be magically configured to build the product.

Performance


How many people are going to hit your web server? What is the peak load going to be? What kind of response is the developer giving about issues like scalability?

Big issue here. Have the developer create jmeter tests that show how the server behaves under load. When running a jmeter test look at memory usage and CPU % on the server and that database. Ratchet up the number of jmeter users until the service just dies. Is that number acceptable? Look into making the service scalable using Amazon’s ec2 service. Ask questions about how much memory each logged in user takes. If each logged in user takes 1 megabyte of memory, you will only be able to have 300 or so users at a time/machine!

Any developer worth anything knows to use a database and well but they are not experts. Spend the money for a day or two of a database expert’s time. Have them take a look at the queries your service runs against the database. Have he/she do at least a little bit of tuning (this will be on-going process) but could easily allow the service to run 10x - 100x better.

What the hell were they thinking?

Tuesday, May 1st, 2007

I ran across this article about IE’s ‘wonderful’ MIME sniffing. Take a look at this report. Apparently, Internet Explorer looks at the first 256 characters of the file requested. If IE thinks it looks like HTML, it interprets it as HTML! So if the first 256 chararacters have say

<script>run some evil cross-site scripting stuff.....</script>

IE is more than happy to aid-and-abet screwing over the user of IE. What I find really horrid is this:

Well, Microsoft thought different and implemented something they call MIME Type Detection. It means they use the first few hundred bytes of the data and try to guess what the content is. This is a nice idea and even mentioned in RFC 2616:

If and only if the media type is not given by a Content-Type field, the recipient MAY attempt to guess the media type via inspection of its content [...]

Unfortunately Microsoft got the order somehow tangled up: They ignore the sent type and do their guessing first.

Google avoids this problem by putting in the output Http header: Content-Disposition: attachment. This forces all browsers to download the content. Other services recode jpgs, ico’s and the like. But at the end of the day come on guys!

Mantra for BuildCap

Wednesday, February 28th, 2007

Guy Kawasaki’s “Art of the Start” talk says that you need a mantra not a mission statement for a company. Here is my cut at it:

Helping you save the world without sacrificing your family.

What do you think?