Peer-to-peer (P2P) is an undersold technology.
A couple of recent events made me think of some valuable uses for P2P.
The first event was my wife suggesting that we buy a FAX machine. We have FAX, but it's via J2, a service provider that has a FAX-to-email gateway. J2 is the perfect solution for us: we can send and receive FAXes anytime without having to dedicate a phone line specifically for a FAX machine. To me, FAX just seems so retro. It is hard to argue against the simplicity of FAX, which I suppose is why FAX machines are so popular. The one real problem with FAX is that it uses the public telephone network, which, of course, is analog for the first and last mile. Can't we maintain the simplicity of a FAX machine, but use IP as the transport instead? We can, but that requires a P2P infrastructure: my FAX machine needs to use P2P to connect to your FAX machine. FAX is really nothing more than a P2P technology over dial-up lines.
The second event was my trying to set up a new Linux box. The install went okay. I had IP connectivity via a network to my laptop running Windows 2000. The problem was, I didn't have the connectivity applications running: no FTP server and no HTTP server on either computer, and no Samba on the Linux box. I needed to transfer files between the two computers in both directions. Sure, installing an FTP server is one way to enable that. But it seems like there ought to be an easier way. I should be able to run an application on one computer and tell it to receive, and run an application on the other computer and tell it to send. I should give the same password to each application, so that both the sender and the receiver mutually authenticate each other and even encypt the data. Here, again, is the perfect problem for a P2P solution.
In the past, we have seen technologies that fit the pattern of "solution looking for a problem." This is clearly not the case for P2P. There are real problems that P2P solves.
InfoWorld: India upbeat about grappling with labor crunch
There's something about this article that seems reassuring for the best software developers in the U.S. There is a shortage of IT professionals -- we'll take that to mean software developers -- in India. Now, that means either:
The quality of the software development there will decline, as they give jobs to everyone who claims to be a programmer.
The work that those programmers are doing is grunt work, not the advanced design and development work that requires truly talented professionals.
I would bet that both of these statements are true.
To be a truly good software developer requires talent and it requires a love for the job. When the demand is high and the salaries are good, and everyone wants to be a developer, you get a lot of mediocre or even bad developers. We saw that in the U.S. in 1999 when lots of people with a liberal arts degree, or even no degree, became web developers.
It looks to me like India is facing its own bubble.
J. William Gurley: One nation under Internet Protocol
Gurley explains a situation that I think everyone who cares about technology should understand. I look forward to the day when I can take my pick of telephony service provider. I also look forward to the day when telephony means CD-quality audio and video and cool services. I look forward to the day when I can take my pick of television programming aggregator. Will the broadband service providers stand in the way? (Probably) Will the government let them get away with it? That's probably up to us.
Internet email in its current form has been with us since the early 1980s. The early 1990s brought major improvements with the introduction of MIME -- Multipurpose Internet Mail Extensions. This short article provides a short summary of some areas of Internet email that still need to be fixed.
There's too much abuse
Our email system is both simple and open. In a world where the number of internet users is hundreds of millions, abuse is certain to happen.
Abuse comes in various forms:
Messages are locked up in one application's database
What application controls your email? Is it Outlook? Yahoo Mail? Eudora? Email client applications are almost all alike, in that they don't share. Wouldn't it be nice if you gave the application permission to access your email, instead of vice versa? Wouldn't it be nice if you could decide to use Eudora now because you like its tools for composing messages, and use Outlook Express later because you like its tools for reading messages?
Specific problems cause by the lack of sharing:
HTML email
In general, rich text such as HTML is better than plain text. Proportional fonts are more readable than monospaced fonts. Color can be used effectively to highlight more important words over less important words. Filled paragraphs, bullet lists, block indented quotes, and italicized words can improve readability, even in informal writing.
However, the HTML that we see used in email messages needs work. The biggest problem with HTML email is the same problem we see with the web: lack of open standards and browser lock-in. The rendering of the IE web browser, which is used in Outlook, Outlook Express, and other Windows email client applications, is the de facto standard. A second problem with HTML email is that it's too complex. If it were simpler, we would have many more tools to help us with our email. If it were simpler, spammers and virus writers would find fewer ways to trick us and to slip past filters.
No confidentiality
Email messages are not encrypted. Perhaps this was not such a bad thing in the past. It kept email simple, and simple meant that developers created lots of email tools. That's all changing now because of Wi-Fi. It has become much easier to intercept email. Even worse, it has become much easier to intercept login passwords. And once Mallory has your password, she can do more than just snoop on the email you download. She can log in to your account and read all your mail, and she can send forged mail using your account.
Not enough user control
There are many organizations that require that you give them an email address. Typically, this happens when you are required to register at a web site. If you don't give them an email address, you don't get whatever it is the web site offers. The problem is, that after you give them your email address, you lose a bit of control over your email inbox. It would be nice if you could receive messages from an organization until you decide you have had enough. Unfortunately, your only option is to ask that organization to stop sending to you. It's ultimately their decision whether or not they want to stop sending.
Email addresses are recycled
Your email address is not your email address for eternity. Maybe you will keep it until you die, then pass it on as part of your inheritance. However, chances are, you will give up your email address long before you die. Then someone else may have it. Chances are, too, the email address you have now was not used by anyone else before you got it.
But email is still relatively new. In the future, the recycling of email addresses will affect email use. When you sign up for a new email address, you have no information about the previous life of that address. It's possible that that address is on every spammer's list known to man. It's also possible that that address is on a number of blacklists, or on do-not-spam registries.
Organizations that assume an email address is a permanent identifier for an individual make a big mistake. Imagine that you can't register at a particular organization because the person who previously had your email address already registered, and he didn't tell you the password!
It wasn't until April 2 that I truly believed that Google's announcement of GMail was not an April Fool's joke. Even after reading what all the online news sites where reporting, I remained skeptical.
Now, it seems that GMail is not a joke.
GMail is good for Google. Is it good for email? I don't see how it can be. It's going in the wrong direction.
Sometimes, we are concerned that others might be able to read our email. Then, we start to talk about S/MIME or OpenPGP, which permit us to encrypt our email messages. Generally, we all agree that encrypted email is a good thing. We also agree that encrypted email has its own issues: complexity, long-term storage, usability, etc.
Now, Google asks us to let it read our email. In other words, Google asks us to take advantage of a feature that specifically excludes encrypted email.
In the final analysis, many users have more than one email account, which they use for different purposes. GMail might be the perfect solution if you want to sign up for mailing lists and read them online. In that case, confidentiality is not necessary at all. For many other purposes, an email solution that offers the prospect of confidentiality at some point in the future is probably a better choice.
John Gruber has this read-worthy piece: Ronco Spray-On Usability.
I myself have been thinking more about usability. Specifically, when will we learn how to improve the usability of our documents? Many of us read and write technical documents at work. What's surprising to me is how few technical documents make good use of color. Color is great for improving useability -- or, should I say, readability. That's why we all use programming editors that have syntax highlighting.
But most of the technical documents we read are just plain black and white, even when source-code-like content is included. Sure, we still print on black and white laser printers. (In fact, they are grey-scale printers.) But most color documents print just fine on those laser printers. If we use color, we can get better readability on the screen, and we lose nothing when we read hard copy.
We have been using bold, italic, and underlining for a long time. The use of styled text has certainly improved readability. But color is away better. For improving readability, color can be used much more effectively that non-color style effects.
I think what we need are just a few good examples for others to imitate. It would be easy to abuse color -- to make something so gaudy that others scoff. We just need a handful of good color schemes to choose from. A few Microsoft Word or OpenOffice templates with carefully designed styles would be enough. For those who strive to be innovators, there is a lot of room for innovation in document usability.
Here are just a few suggestions worth considering: