One of the 11 ideas for Hackathon projects that also would be good ideas for incubator entrepreneurs is an Apache with a user interface that a mortal could love. I just wrote an email to a developer explaining the idea, and thought I should do that openly. Most developers approach the problem from the wrong direction. They think: How can I make the power of Apache understandable to a regular human? If you try to do that you will confuse people and fail in your mission. Apache cannot be understood by a regular person. You have to love a special kind of torture to have the patience to learn how to configure Apache. Instead, start from the other direction. Pretend you're a person who understands the web and how a computer fileystem works. Now go edit the httpd.conf file for Apache and make it so that it serves the content of a folder and nothing more, and does it without opening any security holes. That's a what I think of as a "zero conf" web server. You don't have to do anything to set it up. Install the app, copy the files into the special folder and bing! -- you've got a web server. Now start adding options, very carefully, always asking this question: Would a person who understands the web and file systems understand this feature. If not, sorry, it doesn't go in. An example. Maybe I don't like your choice of the folder to serve from. Give me a command to have it serve from a different folder. Another feature that's a no-brainer: associate a CNAME with a folder. As many as you like. Redirects? Can you explain that to your user? Can you do it in a way that it doesn't add complexity for the user who doesn't care about them? I'd say redirects are a borderline feature, for a version 1.0 at least. But I'd try -- because redirects are really useful. (And filesystems have the idea of an alias or shortcut, so it's not crazy-ass foreign to normal people.) Have I ever seen such a product? Yes, in fact I have. The Mac, in the mid-90s, had MacHTTP. And we had an FTP server that worked this way. How did we lose our way? Unimportant. Now let's get back on track! |