Quote:
Originally Posted by
johnqh 
While everything else you said is correct, the feedback form is certainly not hard coded.
When you say hard coded, I presume you mean is not hard coded in PHP (or whatever) as we both agree that these are not really separate HTML pages.
Quote:
Originally Posted by
johnqh 
Most likely, each product feedback page covers a product family. There is a table with list of products under each product family. If there is only one product in the product family (for example, Airport Extreme), it creates a hidden field with the value of the product name. If there are multiple products, it creates a drop-down box and let the user select.
None of the product feedback pages work like this. There is a separate page for each product, even within a product family. For example, each iPod product (touch, nano, shuffle etc) has a separate feedback page based on the same template. No feedback page has a drop-down menu for products within a product family.
Quote:
Originally Posted by
johnqh 
So, my guess is that there is a product family called "iPhone", and there is only one entry called "iPhone Extreme" right now in their table.
Even if they intended to bring out an iPhone Extreme in the future, it is nigh-on impossible to see how the database administrator could have put in iPhone Exteme (an unreleased and unannouced product) but not put the existing iPhone into the database.
Quote:
Originally Posted by
johnqh 
What I am saying is that the product value "iPhone Extreme" is no way a typo of the webmaster, because it is retrieved from a database.
It is a slightly academic distinction as to whether it was a PHP coder or a database administrator who made the error. I think it is more than likely that wherever the error was made is was as a result of a line of code or a database entry being duplicated from Airport Extreme and then changed to iPhone, except for one instance where the change was not completed properly.
The reason I think it is
unlikely that it is a database error is because on every feedback page the hidden form variable "product" is the same as the product name that appears in the title tag, the header and the breadcrumbs. If the product name was being pulled from a database, not inserted by the PHP code, then if all of these say just "iPhone" then the hidden variable should have the value "iPhone" not "iPhone Extreme", in the same way that on the iPod nano feedback page the header, title, breadcrumbs and product variable are all "iPod nano".
Quote:
Originally Posted by
johnqh 
It only confirms that "iPhone" is a product family and there will be more models coming. When a new iPhone (for example, iPhone nano) is introduced, the existing iPhone could be rebranded as "iPhone Extreme", or something else. Since it is in a database, they just need to change one field in the table, and it could be iPhone Classic, iPhone Superduper, or whatever.
Exactly. If they had set it up the way you suggest, so that they could update all the product names on the page by just changing one database entry, then all the references on the page would be to "iPhone Extreme". The fact that the product variable and the header, title and breadcrumbs are different proves that they are not all being pulled from a single database entry - which is exactly the reason someone has messed up and left in the "Extreme" by mistake.
If they had adopted your suggestion, then we would not be discussing this now, or else the whole page would have "iPhone Extreme" plastered everywhere and it would be a much bigger rumour than this deserves to be.
Some of the feedback pages have extra questions at the bottom depending upon which product you are in. For example on the iPod nano pages there are some questions that are common to all iPods and some that are specific to iPod nanos. As a result, unless all these extra questions are also in the database, they will have had to hard code all the options for each product into the feedback template. Another reason why I suspect it is not just a simple template with database variables inserted in a few places.