P. A. on 01/08/2010 14:05Mark, we all have some technical bias that comes from what we have worked with and the technologies we know.
It sounds as though you are looking for "THE" answer, but just like with most technical things, there are loads of differrent ways to achieve the objective.
You have already suggested that response times will be dependent on the speed of the database response. There are a lot of database systems capable of responding quickly. How fast they are depends on your host, or maybe the google appcloud..
You speak of segmentation in programming expertise and that's because nobody can know it all and there are many ways to skin the proverbial cat.
There is no chance of getting someone without any bias unless they know little about anything in equal proportion. Most people would look for someone who had already built similar solutions and take their advice or take advice from several people and then make a choice.
Reply from Client
M. M. on 01/08/2010 14:30Paul,
You have hit the nail on the head! I am looking for THE answer and
I understand most will have bias's. But, what I am hoping for
going this route from an advice side is that once the candidate
reviews the proposed site, unlike the web development teams that
are looking to build the site (who WILL have a bias for their own skill set) he or she will tell me what is probably the best way to build
the site not because it's what they are selling, but it is what
they believe. SOME BIAS should be removed at this point.
That is why I am looking for someone who is well versed in:
Java, C, C++, .net, PHP, Ajax.
It doesn't mean they have to write the code, it just means that
they can look at the proposed site and recommend in their mind
what will work best.
And then, I would forward the proposals at that step and ask:
from what you recommend and what is proposed by these four development
firms, who would you chose?
That's it in a nutshell.
Mark
P. K. on 01/08/2010 15:05Hello,
I have roughly though about
You would require the following :
* Content delivery network (this is very important for content sites) see en.wikipedia.org/wiki/Content_delivery_network
for hosting images, videos etc. Its like a caching stuff (if you website is hosting loads of images and stuffs)
These are few CDN vendors
Akamai
•Amazon S3
•BitGravity
•Cachelogic
•CacheFly
•Limelight Networks
•LocalMirror
•Mirror image Internet
•Panther Express
•SAVVIS, Inc.
•VitalStream
•Peer 1 RapidEdge
Mirror image
Mirror Image is good (i heard they have simpler documentation and easy to implement)
(hence your application must be made taking the above in mind)
* You need to consider other things in mind
- load balancing the server
- having a dedicated machine
- defragmenting it regularly ( for that u need to fix schedulars)
- Getting a nice dedicated box and having maximum RAM
* Also keep the database seperate. [Having backup schedulars etc]
Now the most important thing :
* Choice of programming language depends on various criterias. Every programming language has advantages and disadvantages.But nowadays it taken in terms of :
- Speed of development
- Availability of 3rd party components
- Cost of those 3rd party components
- Availability of resources ( For example: if you are using php then it would be relatively easier for you to find resources. And generally php resources are cheaper. (I am sorry to use
the word resource - but it has become so general i can't help it)
- Integration of the application with other application (if the related application with which your current application is being integrated is in different technology then its better to go with
that - but still it depends from project to project. Offcourse if the related application is in perl , you can't go with perl in this modern world)
* Also when the programmers work - good SVN setup - good coordinator etc are very important to increase the speed of development. But it has nothing to have with the final project
(its actually believe following a better process of development doesn't guarantees the performance of product)
* Now for optimization
- good xhtml validated script
- its better to use jquery (for ajax and all)
- For database paging - its better to cached output [do selective caching]
- Selectively loading data via ajax. (Eg: A schenario for example you have shown 100 forum records - now when you just scroll down and come to the edge you load another
100..another 100 and so on .. (you can see this in youtube comments) -- because way the user interface is displayed matters alot.
- Yes in the background regarding the database size - mirroring it .. transferring (moving) the old records to another table [Via daily or weekly schedulers] etc etc. But all these
depends on the schenario we face.
- Also caching the controls etc -- keeping calculated records in different stats tables.. for example: top performers, their points etc etc.
There are lots of other small things which can be considered. But primarily break down to :
1) Caching web pages, controls and images
2) Xhtmlized pages and optimized pages.
3) Database optimization scripts (like log files removal, backing up etc)
4) Mirroring and load balancing the server
5) Hardware of server
6) Programming language selected based on criteria which i mention
7) Ajaxification and loading selective records (based on calls) -- predictive/intelligent data loading so that we know when the user clicks next button the data loads immediately (this
gives an impression to the user that it has loaded very fast - i think this is used in gmail while loading mails) Also you saw that comment loading example on youtube.
8) Schedulars can defragment , automatically calculate statistical data for future retrieval, selectively moving old records to other database.
Cheers!
Reply from Client
M. M. on 01/08/2010 16:33Your brief is what I am seeking. Once the consultant/adviser is selected I will supply the concept
I am not sure why the rest of my post is not here...
Basically, I will reiterate. What you have stated above is what I am
seeking. The next step is once I select the adviser is to forward the
defining email of the concept for the site. Then to point and have
the adviser walk through a current website with similar functionality
as the proposed site. To review the two documents that point to
logistical concerns/needs defined in greater detail. And finally to
forward the 4 bids/proposals already received for recommendation.
Sincerely,
Mark