Friday, December 02, 2005 

Uphook update #2

void main()

Ok, so I was brain storming on ways to ensure that this service isn't simply outshined by users of facebook and myspace. Although both of them are more geared toward managing an online community, the small-scale non-registration quality of Uphook could attract the same crowd. As such I am tossing around the idea of interfacing with both of these sites to provide some amount of content.

The idea is that at this point in time most people already have a photo (or two or three) of them stored somewhere online. My plan is to allow the user the option of selecting a photo to display from either FaceBook or MySpace. My site will simply link to it, saving me from having to host images. In addition I will offer the option of uploading a picture.

Interfacing with MySpace would be easier because I can obtain the 'base image string' from it via a search without having to log in. FaceBook, however, makes it necessary for you to log in before viewing images.

The 'base image string' is a cryptic string used by many sites where users can upload their own content. The systems usually store a thumbnail version and a larger version. However, there is an easy way to obtain the location for the full-size image given the location of the thumbnail. This makes it possible to see people's full sized images without logging in or registering or (for some sites) paying. And it wont be bad for me because I’d simply be linking content that is already available on the web. Gotta love them hyperlinks.

This would certainly be an example of a front end. Which leads me to another idea-- just how many people would like to view people's FaceBook images but are unable to register? What if there was a free site to visit which allows any visitor to look up a person by name, school, etc... Hmmmm, can u say a for free? All those people who didn’t go to college could look up their friends who did. Just an idea. A front end like that would have to be relatively sophisticated. But it's certainly possible.

Oh and for those wondering how I could possibly make money from hosting a free online meet-people site-- I will definitely be looking into ads. Nothing too major, but maybe enough to help pay off student loans.



Front Ended

void main()

So today I got another idea about this technology known as the Internet. Specifically pertaining to the WWW, my idea is based on the fact that many websites are acting more like service providers. In fact, many can be considered applications due to their tool/service-like nature. This got me thinking. If many websites are simply applications accessible from anywhere with a decent Internet connection, then what feature of common desktop applications (AIM, Word, notepad, etc) can I incorporate into these online 'applications' to improve them?

I began thinking in terms of improvement, rather than creating something entirely new. Like... a front end. An alternative interface built on top of, or complementing another application. Think skins for Winamp. Or GAIM. The original infrastructure was already there. These are simply add-ons or modifications. The user base is unchanged. Perhaps an example would be best...

Lets say there is some website like facebook that is basically a peer networking application. From there, you may search for friends, add/remove friends, host images and data, communicate with people, etc.

However, a common set back is that you are unable to view someone's profile who you are not friends with or do not go to the same school as. What if a new website came up: www.fullfacebook .com. This website had the ability to log into FaceBook as a user from all schools (had a database of at least one correct login for each school). And lets say it allowed anyone who visited it to log into its server by verifying it with FaceBook (uses FaceBook’s user verification scripts, etc). It would act as a front end for FaceBook. But when you usually wouldn’t be able to see someone’s profile, the alternate login kicked in, logged in as a user from the target school, and retrieved the profile information.

This is just an example, and it is probably more complicated than this-- but those are simply implementation details. The idea seems solid enough. The question is would the original FaceBook complain? Probably. Could they do anything legally about it? I don’t know. Could they do make it difficult? Definitely.

Lets say they catch on. A simply change in their implementation could easily render the front end useless. At least until it was updated to correlate with the original site's change.

This has been explored before-- dogpile is a search engine that just searches all other search engines at the same time. Dogpile is a front end for a web search application.

The idea is to let the real work be done by the original application. Simple adding a new look, or a new feature (that many find annoying in the original) could be all it takes to make people flock to your site instead. There is no copying involved if you are simply reformatting the data you receive from using an application as a regular user.

*shrugs* Something to think about.



Uphook update

void main()

So I ran into some small problems with the site already:

1- Comcast blocks incoming port 80.

So I changed my http server port to something other than 80 and redirected my domain to that address. However, the name server at my DNS registration host was slow to update and replicate changes. Sometimes it worked, and then it stopped for some reason, etc. I messed around with redirects and forwards all day trying to get it to work.

2- Comcast will probably send me a nasty gram if I host the website off my cable modem.

The TOS for my cable internet states that automatic services are not allowed for the basic customer plan. In other words, they'd want you to buy the Business Plan to host a server. Of course, as stated above, there are ways to host on ports that they don’t block. But who's to say they wont routinely scan for web servers. Plus its sneaky and I'd prefer to use port 80 for the web server anyway. is just plain tacky.

3- Dynamic IP would not be a good idea for a web server.

Eventually I would need to obtain a static IP anyway. Although I would have unlimited bandwidth using my cable modem, the transfer speed itself would be low-- unless I can upgrade my upload speed, hosting a site to handle multiple incoming connections might not be the best idea. Too many hits and the pages would be served up too slowly.

So my solution was to consider a web server-hosting provider. Turns out the site that registered my domain for me also offered cheap web site hosting. By cheap I mean less than $4 a month. My breakfast costs more than that ;-)

And that’s for 5gb transfer/month. Not bad, considering I can always get more later if I need it. Also, keep in mind, Uphook will be simple in design. Meaning most of the content will be markup, not graphics. If I get enough traffic to exceed 5gb/month transferring mostly text then I'll be doing quite well.

So now I'm hosted here. They even had an option for "Linux or Windows" platform for their hosting solution. Awwww...what an utterly pointless marketing scheme. So I picked Linux just for kicks. I say its pointless because if I cant log in and configure my system how I want it then its NOT Linux. It’s somebody else’s box. To me, Linux implies personal ownership of virtually all aspects of the operating system. If I installed some Linux distro and it behaved like Windows (modded kernel and fs to lock me out of all kinds of features, or attempted to do everything FOR me instead of letting me do it myself, etc) I wouldn’t consider it Linux at all. But I digress.

I am (heavily) considering utilizing my home box for serving up some of the content as well. By having a static IP, I would now have a platform to redirect to my home PC, even if its IP changes. A simple php script that I could access to change where all my other scripts point to access the data would be easy enough to implement. If I do decide to store images, I can store them on my box and link to it when people need it. This would distribute the load to two servers, allowing me to have more content. However, problems could occur if one server can’t keep up. Trial and error will have to determine what happens. Either way, I'm certainly making progress.