Monday, July 21, 2003

What Makes a Killer Application

I have been busy configuring my home server machine on Redhat Linux 9.  In the process I have thought about the idea of a killer application.  That is something that a bunch of people want, or need, or think that they need.  When a lot of people want something, enormous resources get directed to making that something available.  Competitors offer people a variety of choices.  Right now cell phones that take pictures and transfer them to other cell phones for viewing or storing is a candidate for a killer app.  Another candidate is instant messaging that is available on your internet connected device which could also be a cell phone.

My candidate for the killer application is a personal internet server.  I have been using Network Solutions for my email for a couple of years.  The impetus for using Network Solutions came from three forced switches of my home email address as companies bought other companies or sold my home DSL line to another company.  Every internet service that I have needed to have its email address switched.  I went looking for a POP provider that would allow me to have my own domain name and also provide SMTP.  This allowed me to use Outlook for my personal and business email.  At the time Network Solutions had the best deal.

The problem I have had since Network Solutions and Verisign came together is that I could not get my two POP passwords and the password for managing my domains set.  I would change them via the web interface or a customer service person, and they would be working.  A few days later the passwords would be changed somehow.

When I got real IP addresses, I saw a solution to my Network Solutions problem.  I had an old Optiplex that would make a good network server.  I loaded Redhat 9 on it, and presto I had a potential network server.  Linux has in it the potential to be a very robust network server for a variety of services.  It can be a web server.  It can be an email server for the popular email clients with services such as SMTP, POP, and secure IMAP.  It also has security enhancements such as Postfix.  It can be an accurate time server, a secure remote login server, a domain name server, a local LAN address server (DHCP), a Windows file sharing server (Samba), a Quake server, a print server, a web cache server, a secure tunnel server, and a secure file transfer server.  There are also a host of funky technical things like TFTP that could be used for a variety things.

The question for me was how to get the servers configured and working to do what I wanted to have done: Domain Name Service (DNS), secure IMAP, SMTP, network time, secure login, secure file transfer, and secure tunneling.  The SSH program provides secure login, file transfers and tunneling.  The big question for a killer app is how difficult is it going to be to make the application work.  Unfortunately, UNIX documentation sucks.  Microsoft realized that most people don’t want to read a manual to set up a program, so they invested a bunch of time making application configuration and use somewhat intuitive. They provide buttons or lists of the things that most people what to do.

I have been a UNIX administrator on several different types of UNIX.  The Linux community is in the process of creating easy-to-use tools that make the powerful Linux and UNIX software accessible to the non-geek community.  The model is to go to something like a control panel, find the aspect of the machine you want to change, and click a few buttons and fill in a few boxes.  For me to set up my Redhat Linux machine as a Web server looks to be very simple.  It is just a matter of clicking a few boxes during the install process.  Network time was also easy.  I just said I wanted it during the install and gave it a server name.  SSH was a click box. 

DNS and email were another story.  To get IMAPS up I needed to learn how to turn on services (control panel->service).  I also needed to learn how to add rules to the firewall (edit /etc/sysconfig/iptables).  DNS required using a configuration tool (control panel->DNS) and then editing the files it produces (/var/named) to actually work.  The firewall rules also needed to be changed because I am hosting my own domain name.  The hard one was SMTP.  Passing traffic from one site to another, called being an open relay, is not something that you want to do unless you like your machine being used to deliver SPAM.  I wound up tweaking a bunch of files.  I am still not sure which ones affect email delivery.  I changed the list of machines allowed local net access (/etc/hosts.allow).   I perhaps set up postfix to enhance security (/etc/postfix/main.cf).  I added to the list of machines that are allowed to relay email (/etc/mail/access).  The firewall was allowing access for incoming SMTP.  The thing that made it start working was modifying the sendmail file (/etc/mail/sendmail.mc) to allow it to contact all of the hosts on the internet.

So, continued user-friendliness in the Linux community could make very stable internet servers available to anyone with an old PC, CDROM burner to get their neighbor’s copy of Redhat, an always-on connection, and a real internet address.  Real internet address typically cost money right now.  With IPV6, they should be free.


comment []trackback [] 2:29:37 PM