Subscribe to RSS Subscribe to Comments

damien stolarz blog

How to get your P2P company funded

Analyst Andrea Rice of Deutsche Banc. Alex. Brown in San Francisco spoke at the first day of the P2P Working Group meeting in Santa Clara today.

She was asked to share her insight as to how P2P companies should more effectively communicate their value in order to secure more funding.

Her answers were simple and possibly predictable, but extremely valid:

  1. Have a solid business model
  2. Have customers who are willing to pay for the product

She went on to describe that, although Deutche Banc is looking heavily at the P2P space, it to date has not made any investments or committments. She explained that the due diligence process would involve a lot of conversations with the prospective or existing customers of the company, questioning how much money those customers were really willing to commit to the P2P solutions.

Implicit in her discussion was that any financially successful business models were sales to the corporate sector (i.e. not to consumers.) She questioned whether P2P was a “new industry” and asserted it was more accurately an “extension of existing technology”.

She gave a somewhat useful analysis of potential revenue streams, basically listing all the models she was aware of being tried: licensing (per desktop or site), ASP model (per resource, per asset, per computer, per transaction), etc. She concluded that a per seat license was the most likely near-term model for enterprise clients. And then she honesly pointed out how few paying customers there were in P2P.


I agree with this sober analysis of P2P. It is a pity that P2P did not coalesce as a technology and a movement during a more excited and confident period of investment, as it would have given us more room to make mistakes as we experiemented.

I also think that it is useful to look at P2P from the perspective of an financial outsider: While they don’t have any particular passion for technology, they don’t want to be left out on the “next big thing.” To them, P2P seemed initially like the hotbed of new technology, but in the same way that “biotech” or “optical” or “wireless” might be- the interesting aspect was the potential revenues, not the interesting cultural phenomenon.

When you then put on your analysts hat and look at the financial indicators, the “vital signs” of a new industry, P2P looks awful- the complete lack of revenues throughout the new sector demonstrates that P2P is not yet adding value, and the erosion of intellectual property respect might be percieved as actively destroying value… which of course, is not particularly impressive to a financial analyst in their search for new areas to invest in.

Even the analysts understand that P2P is not merely hype, that it is a uniquely new category of innovation and technolgy, and that it has great potential. But they don’t grade on a curve and they don’t give any credit for effort. And they want to see substantial revenues, not baby steps and “look we made our first sale”.

We can prove that we’re great business people as well as great engineers by making our revenues just as massively scalable as our network technologies.

And if you don’t think you have the skills to write that business plan, go get a businessman who can. They’re available. And they’ve rolled back to running Business 1.0, a time-tested financial operating system. Apparently, Business 2.0 was buggy and crashed. :)

Is mentioning revenues and fiscal responsibility offensive and disgusting in a P2P collumn? Or was this data useful?

OS X sucks less this year

For the record, I am at WWDC right now and they have smoothed out most of the bad user interface issues that plagued OS X last year.

My main pain was that, last year, Apple had clearly not thought out it’s new UI. It was basically a brand new port of OS 8 onto NextStep. It was a graphical mess, and painfully showed the breaking of many old user interface metaphors with no clear replacement.

A year later, this has matured greatly, and I am beginning to have a respect for how much the UI has matured, but mainly in that all the elements have been thought through.

The particular piece that sold me the most was Apple’s new developer tools- specifically,

Interface Builder. One of the coolest features of Interface Builder is it actually has the new user interface guidelines programmed in- so the designer constantly reminds you to “do the right thing” when it comes to button positioning, windowing, etc. And it takes care of the “pixel counting” tasks that make anal-retentive GUI design difficult for some.

I don’t mind a new metaphor, if it is well thought out. Aqua seems farily well thought out by now. I suppose I should delete my (fairly stale) weblog flaming Aqua, now that Aqua is starting to do a stable, consistent thing.

High-level technical summary of NAT-related features in UPnP residential gateway devices.

From the UPnP IGD working group:

“Here is a high-level technical summary of NAT-related features in an UPnP

Internet Gateway Device (IGD):

  • The ability to detect the presence of a NAT gateway and/or an RSIP

    server. RSIP control channel functions will be performed natively by RSIP

  • Know if NAT is enabled or disabled on a particular connection instance
  • The external (WAN) IP address assigned to NAT for a particular connection instance
  • Add port mappings to enable forwarding of inbound connections to a

    particular client on the residential LAN. Parameters of each mapping entry

    allows you to specify the External host initiating the connection, the

    external port the gateway is listening on, the internal host waiting for an

    inbound connection, the port it is listening on and the protocol. Appropriate

    fields in this tuple can be wildcarded as needed. External and internal ports

    may or may not be the same. In addition, each mapping can be enabled or

    disabled. Mappings can be assigned a lease time to support the notion of

    static/permanent and dynamic/temporary mappings. Hosts in the mapping entry

    can be identified by IP addresses or DNS names. Mappings can also be assigned

    a description string for reference. Protocol types defined as TCP and UDP.

    Other protocol types must be added as vendor extensions.

  • Delete port mappings previously added
  • Enumerate one or all port mappings

Implementations that support a co-located firewall will perform necessary

operations to enable forwarding of connections.”


I am still waiting for the UPnP forum to publish the API or access methods for using these features. It is unfortunate that the UPnP forum is closed as it would be great if ipchains could be standardized to use this new method today. Then we could start making our P2P apps work right now through our NAT’s etc.

Given that the UPnP forum is heavily populated by Intel/MS, I am curious if Apple is following suit, i.e. will AirPort (an 802.11 & NAT device) comply with this standard and support UPnP?

Here’s another RSIP link.

And here is the IETF NAT charter with links.

I will keep researching this stuff and relay any data I get.

Does Mac OS X violate Apple User Interface Guidelines?

Many Macintosh users I know are actually Mac/Unix users… we use Mac OS 9 as our windowing environment, and everything else we do in the shell.

I KNOW that I’m late to the bag-on-OS-X-resist-change party but I have to make these comments for the record. Please indulge me.

All the criticisms of not having a pre-emptive multitasking OS didn’t faze us… because that isn’t a feature, it’s an implementation detail. Case in point: Palm OS vs. WinCE. Just like Palm OS, Mac OS gets out of the way and lets the apps app.

I attribute a lot of the success of Mac’s OS to the attention they paid to user interface design. Call it artsy, they worried details like “how many pixels of space between the font and the edge of the button”. (For an example of what happens when you don’t worry these details, just download a Tcl/TK application) Apple’s PDF’s of Human Interface Guidelines, also available on Amazon: Amazon’s listing

When I got OS X Developer Preview 2, we still had an OS 9 looking interface. It was truly surreal. A very comfortable, familiar windowing system… on top of unix. I opened a terminal window and stared at a prompt, not knowing what to do.

I was just in metaphor shock! I launch commands from Start->run in windows, I launch commands with TAB-completion in Unix, and I DOUBLE-CLICK in Mac OS.

Soon I became excited, and I realized what this could mean. The most seamless, truly plug-and-play windowing system, stitched around powerful, accessible underpinnings… now I could use my favorite apps, yet when I needed a driver for an obscure video card, I could just port the linux drivers!

At the time, I was working on an embedded GPS/MP3 player/WebCam for my car. The only barrier to using Mac hardware combined with Mac OS (voice control: built in! Airport 802.11: built in! etc, etc.) was a lack of drivers… which this would fix!

Then DP3 began to crush my dreams. My windowing system went away. Apple (God bless them) started crushing people who wanted to make skins to replace Aqua or copy Aqua. Aqua became an artistic statement that the artists refused to allow interpretation of.

Granted, that same harsh artistic control may have been what kept Mac OS 7, 8, 9 so pure and usable and cruft-free. That great specification, Apple Human Interface Guidelines, set the rules of the game, and every developer strived to make their app comply. Users could tell the difference in “feel” between apps and would reject apps that didn’t work hard to be intuitive and consistent with the guidelines. And the best apps feel just right.

But there is no such spec for Aqua. When I was at the Apple World Wide Developer Conference a year ago, it almost sounded like nothing had been thought of up front on the UI. “What about skinning?” people asked. “We’ll bring that up internally.” They answered. “What about the control strip? (a very convenient, built in control panel access method)” we asked. “We’ll get back on that.”

The application panel in OS X has changed enough that I know it wasn’t carefully studied to begin with. It’s as if they are telling you which shell extensions you can and cannot use. As a community, we had to fight to get our hard drive icons back on the desktop!


I didn’t realize how strongly I felt about this subject. I’m on OS 9 now, NiftyTelnetting SSH into my web server… just for a moment, I thought that my machine could BE that web server…

The whole Aqua interface seems designed around one main tenet: Keep cluttered Icons off the desktop because it looks messy.

How heartlessly arbitrary. I thought a messy desk was a sign of a brilliant mind or something… oh well.

They are starting to spec out the new User Experience.

And all we wanted was protected memory.

I guess if it ain’t broke, fix it.

Joliet File System by Thomas Tempelmann

Related link: http://www.tempel.org/joliet/

We’ve been waiting for aeons… Mac OS can finally read Windows CD long filenames… hurrah!

Decentralization Chat 11-05-01

Related link: http://www.neurogrid.net/DecentChat-11-05-01.html

Discussing IP issues, Street Performer Protocol, etc.

Internet Transparency- P2P needs end-to-end connectivity

RFC 2775, Internet Transparency

gives a great overview of most of the network problems inhibiting p2p and shows that prospects are not good.

If the Internet is going to completely evolve into an IPv4 + NAT world, where 90% of machines are using NAT to communicate, and everyone is behind a NAT firewall, network developers will have to code for NAT traversal

as the first feature of their apps, not an add on.

Part of the key for every app that gets written from now on is to ignore gethostaddress() because if your app really thinks it’s IP 192.168.0.1, no other hosts are going to talk to it :)

The best we can hope for seems to be that a new API will develop that abstracts some of these problems.

UPNP: XML over HTTP over UDP, for P2P

UPNP is essentially plug-and-play discovery of network devices using XML over HTTP over UDP. It is relevant because it will be able to automatically open up incoming ports in NAT’s soon, which is relevant to the p2p community.

Check out UPNP Evangelism to learn about it.

I got this powerpoint file from http://www.upnp.org/resources.html and I tried to put it in a more usable html form. This is the evangelism document intended to get people excited about UPNP as well as educate them.

The powerpoint is also available UPnP_Device_Architecture_Generic_20000710.ppt