Posted By: Tony Baird
Last Updated: Friday May 16, 2008
Hawk Host although primarily web hosting we do handle various software development efforts as paying developers to do something is expensive and there is no guarantee of it being to your specification. So we take advantage of the fact I am an aspiring Software Engineer and someday hope to actually get a degree (right now I’m too busy doing Hawk Host related things to take the whole school thing serious).
So I’m just going to run through some things Hawk Host has built or is building currently.
Hawk Host Website
The first big one is the Hawk Host website which is built in PHP and uses MySQL as the backend. It currently uses an old framework I used to build several other applications. The site is somewhat of a MVC style, however it is by no means a complete MVC. It uses smarty templates to handle pages that cannot be generated automatically (such as our about page). The site was originally all stored in the MySQL database, however it was a pain to deal with as the administrative tool as phpmyadmin so I figured may as well put the pages into .tpl files. The site has emphasis on search engine optimization so each page generates it’s own title, description and keywords as well as a URL that is meaningful. Now we didn’t go through and say this page should have php and mysql as keywords so it’s by no means a search engine optimized master piece. We’ve found however it does quite well due to the naming of the pages and such.
We also use JQuery for the javascript end of things. It uses a menu system that at the time was the most popular for JQuery. It works on pretty much all browsers as far as I know and also does not affect search engines which was a big issue with the old Devoted Host website. JQuery is used for all the mouse over events on the site (the designer used dreamweaver roller overs which we did not particularly like). The tool tips on all the comparison pages is a custom made JQuery set of functions as the tool tips available did not really fit the design we were looking for.
Game Server Control Panel
When Devoted Host had a game server division (Devoted Gaming) a big cost and headache was the game server control panel. It was not particularly cheap and was extremely buggy and unpredictable. We choose a panel that would run on a Linux server there were however ones I heard were much better but required a windows system for the panel portion.
As a result of these annoyances I decided it was smart for us to write our own game server control panel. We decided that it would be smart to at least add some new features to the panel. We added the ability to have reseller accounts on the game server control panel. This was really cool since it acted like the cPanel system and we figured would catch on if we had enough game server locations. It would essentially remove a lot of the problems starting up game server providers have with trying to provide multiple locations. We had everything anonymous on the panel so users of the reseller could login and not even know about us. The control panel of course had all the other standard features such as start, stop, restart, modify configuration and all the other various options.
The system itself was built using a custom MVC framework I had built and is currently being used by the Hawk Host site. The system was somewhat well designed, however it took us about 2 weeks to make it and another week to have it tested so it was by no means a polished application. We did however have users using it and had no complaints about bugs or anything like that.
So where is this system now? Well with Devoted Gaming gone (market was to volatile) the application now sits on our SVN repository as well as on my computer and does nothing else. We have no plans of selling it as it was not polished and is also showing it’s age now being probably close to two years old now. Some of the code however could be used in some other applications in the future as it shows how to handle the linux portion and handle various game server protocols.
New Billing System
We’ve been working on our own billing system for quite some time. It was originally started a year ago and we got pretty far with it but the project stopped due to it seeming to be unnecessary. We decided to just use WHMCS as a substitute system. After using WHMCS for quite a while, we found ourselves once again being limited by a billing system which we could not customize. I decided it was time to get the balling rolling again, however the code had not been touched in a year. The database schema was well done, however the code left much to be desired. I decided to start making use of Zend Framework as it meant we could use things such as Zend_Db, Zend_View ect. No need to write our own systems for these or maintain them as things change.
As it stands the system is actually close to hitting an alpha level where it would actually be usable. It is a MVC based system with several modules built into it. The gateway system as well as panel system are very object oriented with the person writing the gateway or panel needing to just pass some values in and the inherited classes handle the database end. For example the gateway classes inherited handle paying invoices, handling credits, adding the logs and transactions. It also handles doing the configuration of the system and you can potentially create multiple payment options that use the same gateway.
Right now the biggest stumbling block is we are lacking a designer to help with graphics and creating good UI elements. I’ve inquired to various designers but quotes of a $1000 per page is crazy for a system that may not even see the light of day. So the search still continues for that while more and more of the logic and other elements which can have their UI redone later continue to be made.
I don’t think Hawk Host will use it any time soon, but we have goals of having it available for trial within a few months to help get suggestions and make it a viable system for not only Hawk Host but potential other hosts who wish to use the system. When we get close to having a site up for the system there will most likely be another blog post outlining the system.
Misc Things
Most of our applications are built in PHP/MySQL, however we do have a few applications in Perl, Bash Script and C/C++. These are mostly used for maintaining the servers or handling silly tasks. So essentially just scripts most hosts have or should have anyways.
Well that’s a run done of our software development efforts.