The Source for Java Technology Collaboration
User: Password:



Daniel Brookshier's Blog

Distributed Archives


Killer Applications and JXTA

Posted by turbogeek on March 26, 2004 at 11:57 PM | Permalink | Comments (7)

    Serial Killer Applications

Some technologies don't gain wide adoption until there is an application used by a large number of users. We call them killer applications because they are so compelling or in fact kill a problem dead. For the personal computer it was the spreadsheet (Visicalc was the first and it was copied by the rest) and at about the same time, the word processor. What will be the killer application for JXTA? Is it already here?

    P2P & File Sharing - Capture and Death of a Serial Killer

Napster was a killer application. Sadly it was done in a way that was not legal. I won't go into the politics of record companies and free speech - the fact is that Napster was taken out of play by the courts. Yes there are other music sharing and purchasing applications, but nothing as big as Napster. But the other problem is that it was only about music (at least the killer part). There was no real big application associated with general business or entertainment based on the P2P/Central-Index scheme of Napster.

Don't think that there are not other file sharing applications doing quite well. In fact, there are file sharing applications written in JXTA that support thousands of users in legitimate business applications. They may become the new 'next big thing' but I see it as just a better way to share files rather than the ultimate killer application.

    People Like to Save Time and Effort

Sometimes a killer application just makes things easier. Struts is making it even easier to develop web applications. Ant makes it easier to build and maintain projects. XDoclets reduces labor via its code generation capabilities. All these examples are starting to be widely adopted because of their productivity improvements. Can JXTA make things easier?

JXTA has all the hallmarks of reduced effort. First, there is no real server involved. Imagine the time, money, and sweat equity saved by not dealing with the monolithic server and its support system. But that's just economics - where is the savings for the common man? Let's look a little at one of the key ideas about JXTA.

    It's a Candy / It's a Breath Mint

What makes JXTA unique? It's not about Peer-to-Peer (P2P). P2P is just a fuzzy buzzword that means computers talking to to computers. What abut JXTA is that it places the Internet inside applications rather than the browser. This also means the gestalt of the application includes a real interface, storage, and can be run 24 hours a day if needed.

The quote below is from Juan Taylor, which covers this quite nicely:

What s the ONE thing that P2P can do that client/server can't?

It's that the Client can be a Server.

WHY would the client want to be a server?

To share information Easily and in different and even complex (only jxta can do this) ways in a 'User to User' way. In anonymous file-sharing there is an innate loss of wanting to share files. In a User to User perspective, there is an immediate desire to share.

There's the Benefit, and the complexity of which only JXTA can handle.

What this means simply is that unlike client server, JXTA is client/server and server/client or even server to server or client to client. The information, storage, processing, and communications can start at either end. In the world of applications this also means that I don't have to work in a world of centralized resources where there are multiple issues. The worst problem of course is just the impedance mismatch between the world of application and the world of web applications.

    Are You Thinking Differently?

So, what if every client was a server? Sadly it is not all about efficiency. I say sadly because P2P is all about wasted space and CPU cycles. The sad part is the knee jerk reaction many have to waste. But the fact is that replicating data and the power of your own CPU verses a shared server is far safer and can be orders of magnitude more efficient in getting the job done. The waste is insignificant in terms of the modern PC with their large disks and often idle CPU's. When you trade inefficiency in an area that is monetarily insignificant, the gain in productivity is essentially for free.

    P2P Forum

The forum interface is similar to those on Java.net. Basically a forum is a threaded discussion. The oldest version of this is the old news forums which still exists but has been taken over by spam. Think of it as a server based email that anyone can read or submit messages.

What would a P2P Forum look like? First the history of the messages need to be available to anyone. This a great feature of the forum because it lets you search for a conversation in the past. Guess what, that has to be on a PC since there is no server. Here comes the duplication of effort: To make this work, keeping the history on as many computers as possible increases the speed of the search. The search is really fast if you have your own copy. If the forum history is very large, and is bigger than that free 5 gigabytes on your disk, we can share different sections of the data. We still need a lot of copies because some peers may go off line.

    Thinking until it Hurts

Ok, does it hurt your sense of efficient computing yet? I remember being unable to use linked lists and hash tables for years because my professor in college was so anal that memory was the most important thing in the world. He put speed and ease of use far far down the list of importance.

    Waste or efficient use?

Ok, now back to killer applications. What if we added a P2P forum to a development tool? First, because it is part of the tools, the focus is like a laser. The efficiency of use is very close to the tool because it is the tool. Have a weird exception? It is a click to add it verses cut and paste and a little reformatting. Wondering what the correct settings are for a task? What if the expert could reply with his settings which you can just use rather than interpret a poorly formatted and worded answer. Yes I have perhaps a couple gig of messages, but I have the world's greatest integrated help system. These ideas are Copyright Daniel Brookshier 2004, all rights and derivative patents can not be used by Microsoft or its agents. Free use to those that use 100% Java and JXTA to implement the solution. Ideas like this need to be free to make life less like walking on broken glass.

    Killer Instinct

JXTA is a killer capability that will make a good application a great application. Making every a PC a server seems like a good idea. Not every solution will benefit, but there are a few thousand new ideas that JXTA makes possible. Look at the world upside down. Be the server.



Peer-to-Peer, JXTA, and Making a Lot of Money with Virul Marketing

Posted by turbogeek on March 26, 2004 at 11:55 PM | Permalink | Comments (2)

.

    Viral Marketing with JXTA

Viral marketing is a concept used in marketing and sales that describes how adoption of a product occurs and how it can be coerced to spread like a virus. Very simply, viral markets are those where one purchaser infects friends and acquaintances with their enthusiasm for a product or other wise causes them to use the product because it is required by the first person. Viral markets are coveted because they can create huge profits in a very short time.

    The Viral License

With most software, you buy a single license. If it is a networked application, you can only interact with people that have bought a similar license. In open source, we just download the application, so there is no barrier caused by reluctant buyers. If you look at all the network applications that are widely distributed by commercial companies, they are all free to avoid this same problem. For example the chat applications like Yahoo, AIM, and MS Messenger. But what about commercial applications? How do you get people to buy enough copies so that there is a large group of interconnected users?

An alternative to selling a user a single license, is to sell several that they have the right to distribute to acquaintances, family, and coworkers. For example, have 3 to 5 licenses as your standard package rather than just one, In fact, never let a customer buy just one copy.

    The Power of Giving

You are more likely to install a piece of software if a friend bought you a license. It is a gift. People accept gifts. Compare this to a single license. If your friend buys a chat program, you must also buy a copy to chat with them. That’s not a gift, that’s a burden that your friend is imposing on you. You will resist purchasing a copy because it is not your idea and the chat application may not interest you too much. As a gift however, you will willingly install it and try it out. If it does turn out to be useful, you may buy a copy for your other friends.

This type of license is a great way to push the other products because it only takes one person to bring in many others who in turn bring even more. This also improves the local share networking by getting the original licensee to get his friends to install the product as soon as they purchase it. That way network optimizations happen during installation. You can up-sell the secondary licensees by disabled functionality or just let them add 5 packs to share with their friends for a few bucks a pop.

Let’s look at the economics. This is buying in bulk, so the prices are smaller. Who is doing most of the work, the buyer. That means you are not working to sell 5 licenses for instance, instead one license pack to a guy that has 5 friends or coworkers. In fact those other licenses are possibly going to people that would never use the product and would probably not buy a license for themselves. But not you have 4 guys for the effort of one, You also have 4 people that have more friends. Economics? The economics are the cost of a single transaction for 5 users and free marketing. Of course, this also means there are possibly 4 people that know 4 people “each” or 16 people. Those 16 know 4 each for a total of 64 which leads to 1024 users and so on into the millions. That is a lot of sales for the infection of just one person if the application is compelling enough. That is very economical on a grand scale!

    Small Worlds

This a model described by the small world theory. The world is made up of a web of interconnected people. Simply, the network of relationships links us all together. But small world theory says that the links between any two people averages out to about 6 hops on a chain of people that know the prior and the next person. The implication is that given something that can travel this network, the entire network will be saturated very quickly. If the whole world is connected by an average of 6 steps, I should be able to sell to the entire population after reaching 6 steps away from my original buyer.

    A Real Virus

It is the same for very virulent contagious diseases. The more contagious, the faster it will infect the population. The fact that a large number will be infected is caused by the network which passes the disease from node to node or person to person because of the relationships whether it be friends, coworkers, or even customers and clients or merchants.

We can take advantage of the interconnections and the forward purchase of licenses to walk the network of relationships to populate the network based on the one-to-one connections between people. This also ensures a purchase for a group by selling to a singe person rather than having to sell everyone. Once the other users have it and are addicted, they buy licenses to interact with their other friends, family, and coworkers. By having a license pack rather than a single license, the network can grow at an exponential rate because it forces adoption both by original seed purchasers that were not a part of the network and by those that are given a license, but buy more to expand the reach to their own circle of acquaintances.

Did I mention that I study marketing, sales, and persuasion psychology along with P2P and JXTA? To survive in today’s economy it helps to think like Leonardo DaVinci. This is about leveraging a small set of facts to create a larger truth. And like many of DaVini’s inventions, the solution is based on a study of nature,

    Viral Ideas

The world is a network. JXTA lets you write applications that live in the network. Always keep in mind that the power of P2P is not just about the improvements for users, but the improvements in how you can use that very same network to grow its self.

As part of your social network, you now know who I am and how I think. Ideas are infectious. Pass this one on and tell your friends that Daniel says, hi.

Daniel Brookshier is a freelance technology writer and JXTA Consultant. Daniel can be reached at Turbogeek@cluck.com.





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds