A Web Development Touchdown
P>My wife and I often play the million-dollar idea game. Every few days, one of us turns to the other and says something like, "OK, here’s my next million-dollar idea: Sell a tiny brush for cleaning the gunk out of the plastic straws on sports bottles." All right, not all of the ideas are winners, but the point is we generate a lot of ideas. Unfortunately most of the ideas require a significant chunk of capital to get started, so even the good ideas rarely get past the planning stages. A few weeks ago I got another idea: Webify the electronic football pool program that I wrote four years ago, and host the entire world’s football pools on a Web site.
For this new site I had to start from scratch: no domain name, no first-hand Web architecture experience, no Web-ready application, no database and no machine available. And one other thing, it had to be up at least two weeks before the NFL season started: That gave me exactly two weeks for development and launch. The following is a description of the project’s genesis.
Research the Field
An hour spent searching the Web revealed I wouldn’t be the first to bring a sports pool to the Web, but the market was far from crowded. I made the decision to go ahead. I searched for available domain names and finally selected PoolPage.com.
Getting on the Web was surprisingly easy, thanks in large part to my friend Jay. One call to Jay and he assigned me a fixed IP address and set me up with an FTP account on his server. You could do the same thing with any ISP, but it would require research, for which I had no time. I registered my name with InterNIC, and PoolPage.com went online with a banner page the next day.
Database and Tools
Microsoft's SQL Server 7.0 looked promising, but having never administered a SQL Server installation and not knowing anyone else who had, I opted for Microsoft's Access. All of our queries are written in portable SQL, so we can plug and play a new server as soon as we outgrow Access -- which will hopefully be soon.
Choosing development tools was tough. I’m not a big fan of Microsoft’s Active Server Pages (ASP), but it is the easiest tool to use on a small project. I looked at some excellent Inprise stuff coming in Delphi 5, but I knew I couldn’t master something new in two days. I chose ASP, with Macromedia’s DreamWeaver 2.0, to create the HTML layouts. DreamWeaver is terrific at layout without trashing script code, and it allows template creation, which makes it easy to share scripts and layouts across a site. DreamWeaver’s code editing leaves a lot to be desired, so I did all my code editing in Microsoft's Visual InterDev. Strangely, InterDev cannot display files with certain imbedded ASP scripts while DreamWeaver can.
ASP provides a session object that makes state management easy for a Web site. ASP sessions, however, require the target browser to accept a Web data package known as a cookie. I knew that my competitors required cookies to operate, and I wanted to reach the audience that wouldn’t accept cookies -- for security or privacy reasons. We developed a method for passing state without cookies, but found that users coming through a proxy server would fail using our method. At that point, we switched to requiring cookies in the short term and added it to our future feature list.
Developing, Testing and Deploying
Did I mention I have a day job? Oh well, sleep is for the weak. With help from a lot of supportive friends who offered to beta test the site, we successfully delivered our core functions in two weeks. The site is up and running.
Support and upgrades will be critical for success, especially if the site becomes popular. Issues involve how to back up and upgrade software that can be in use 24 hours per day. We already suspect we’ll quickly encounter performance issues with our current hardware.
This project convinced me that the Web is the only place to do development today. I normally would have spent several days deploying software to the participants in my previous client/server football pool. Today, I deployed to the entire world in five minutes. Plus, performance is better, and I have no synchronization issues -- such as time-of-day -- between the client and server. The Web is a nice place to visit, and I think we’ll soon all work there. --Eric Binary Anderson is a development manager at PeopleSoft's PeopleTools division (Pleasanton, Calif.) and has his own consulting business, Binary Solutions. Contact him at firstname.lastname@example.org.