Microsoft Word – AssessmentTask2-Briefing2-Transcript.docx
IFB104 Building IT Systems
Semester 2, 2021
2021-09-26 1
Assessment Task 2: Client’s Briefing #2 Transcript
Hello, it’s your client again. I wanted to thank you for submitting your draft user interface
for our proposed “classified ads” application. I’ve forwarded it to our technical team for as-
sessment and they’ll produce their verdict as soon as possible.
In the meantime we need to get cracking on the application’s back-end functionality because
we’re up against a hard deadline, the end of Week 12 (Sunday, October 24th). Today I’m
going to tell you about two additional requirements, one quite easy and one which is central
to the whole application.
As usual it’s clearest if I show you what’s required, so I’ve had the back-room boffins extend
their previous prototype.
[Demonstrates the ability to display the latest items for sale from each
of three different sources]
As you’ve just seen, by selecting a category and then an item I can display the most recently
listed items for sale from each source. This information is downloaded “live” from the Inter-
net whenever I choose a category. To ensure that our program is robust against web server
failures, each of the item categories comes from a different Internet domain.
Thus your first major requirement is to implement this ability to download and display the
three most recently listed items for sale in each of three product categories. The item descrip-
tions and prices, and the sources of this data, must be displayable one at a time under user
control. Remember, our potential customers for this “app” have expressed a strong desire for
a simple, uncluttered user interface; they don’t want to be overloaded with too much infor-
mation.
Specifically:
• Each of the three classified ad lists must reside on a different host. The “hostname” is
the part of the web address, or Uniform Resource Locator, immediately after “http” or
“https”, for instance, “www.gumtree.com.au” is the hostname for the Australian Gum-
tree site and “classifieds.japantoday.com” is the hostname for Japan Today’s classi-
fied ad site. By using three different sources your program will be resilient to web
server failures and will provide its users with diverse data sources.
• Each of the three categories of items for sale must be updated regularly, ideally sever-
al times a day, and certainly no less often than every few days.
• When the user selects both a category and an item in that category, details of the se-
lected item must be displayed in the Graphical User Interface. For each selected item
the following elements must be displayed:
o A short description of the item;
o The item’s price (in whatever currency is used on the source web page);
o The name of the classified ads list in which the item was found; and
o The website address of the classified ad list.
Notice that the last two of these are always the same for a particular category, so you
may want to implement this part first, because it doesn’t rely on the downloaded web
IFB104 Building IT Systems
Semester 2, 2021
2021-09-26 2
document at all. However the item descriptions and prices must be the ones currently
on the source web site.
• Most importantly, of course, the items must be the three latest ones posted for sale.
Note that some classified ad lists will put “sponsored” ads up the top of the page.
These are often quite old and our customers have told us that they are only interested
in the most recent items, so if a web site includes sponsored ads you will need to skip
over them.
• And, of course, the data displayed in the GUI must be correct. The description and
price must both belong to the same item. There must be no errors in the way the text
is displayed. For instance, no HTML tags or entities or Unicode character mark-ups
should be visible to the user. If these appear in the downloaded text you will need to
delete or replace them before displaying the text.
Of course this last point begs the question of how we know that the data displayed in the GUI
is correct. This takes me to the second requirement, the user’s ability to see the full detail of
the item for sale, if desired. Our company’s boffins have solved this in a very easy way, by
allowing the user to display the original classified ad page in the host web browser.
[Demonstrates using the application to display the original web pages
as a way of getting more information and of validating the correct-
ness of the data in the GUI]
Thus, via this feature, the user can easily see full details of the items for sale and we can also
confirm that the data displayed in the GUI is correct. The web page opens up in the default
web browser on the host computer. The boffins tell me that the function they imported into
the Python template and named “urldisplay” makes this task surprisingly easy. (Personally, I
never understand what they’re talking about, but I’ll take their word for it.). They also sug-
gested that implementing this feature first is a good idea because it allows you to quickly get
to the source web pages to check their current contents.
The final requirement is that your application must be robust to both changes in the source
web pages and user errors. Not only do you need to allow for updates to the classified ads,
but you also need to allow for the possibility that the web servers deliver something unex-
pected like a temporary “out-of-service” message or even the possibility that the server is en-
tirely offline.
No matter what happens, your program must respond appropriately and must never produce
red error messages in the shell window. Remember that the shell window is part of the de-
velopment environment, not part of your application. All interaction with the user must be
via your GUI, not through messages printed to the shell.
Here are some examples of how our boffins’ prototype behaves when errors occur.
[Demonstrates how the application responds to user error and a fail-
ure to access the Internet]
Another thing to note is that while I’ve been talking to you, some of the online data has
changed, but our sample solution still works. Let’s have a look.
[Checks the classified ads via the prototype again, and discovers that
some have been updated]
IFB104 Building IT Systems
Semester 2, 2021
2021-09-26 3
Anyway, that’s all I have for now. Of course, your first challenge is to choose suitable classi-
fied ad sites and categories within those sites. To get you started I’ve listed several possibili-
ties in the appendix to this video’s transcript.
Also, I’m going to ask one of our boffins to give you some technical advice on how to extract
data from the web sites, but it will take a couple of days to get him to do so. (He’s not used
to coming out into the sunlight.) I’ll let you know when he’s ready.
Finally, I’ve just remembered that I haven’t told you what the “save selection” feature in the
GUI is meant to do! Unfortunately, I’m running late for my next meeting, so I’ll have to ex-
plain that in my next briefing.
Appendix
Here are some web sites that appear to be suitable for this task, but you are encouraged to
find your own. The following sites all allow their contents to be downloaded by Python
scripts and contain categorised lists of items for sale that appear to be updated regularly.
• Buy, Search, Sell, e.g., pets:
https://www.buysearchsell.com.au/all-locations/pets/?sort=date
• Gumtree, e.g., collectables for sale in Brisbane:
https://www.gumtree.com.au/s-collectables/brisbane/c20040l3005721
• South African Classifieds, e.g., all buy and sell:
https://www.localclassified.co.za/buy-sell/all/
• Japan Today Classifieds, e.g., items for sale:
https://classifieds.japantoday.com/
• Hong Kong Classifieds, e.g., luggage and travel bags:
https://hongkong.asiaxpat.com/classifieds/luggage-travel-bags/
• Free Classifieds, e.g., all categories:
https://www.freeclassifieds.com.au/listings/advanced-search/search-results.html (may
be difficult to use because it doesn’t encode search terms in the URL)
• Craigslist, e.g., items for sale in Sydney:
https://sydney.craigslist.org/d/for-sale/search/sss
• Amazon Best Sellers, e.g., video games:
https://www.amazon.com.au/gp/bestsellers/videogames/
• Deal News, e.g., gaming and toys:
https://www.dealnews.com/c186/Gaming-Toys/?sort=time
• Ebay, e.g., coffee:
https://www.ebay.com.au/b/Coffee/185036/bn_99762518?_sop=10
The following web sites block access to Python scripts but can be downloaded by going “in-
cognito”. However, since this goes against the web site owner’s wishes, the client’s company
prefers that you avoid using such sites unless absolutely necessary.
• Vintage Machinery (has only one category!):
http://www.vintagemachinery.org/classifieds/ads.aspx
IFB104 Building IT Systems
Semester 2, 2021
2021-09-26 4
• Zimbabwe Classifieds (“Where Zimbos Buy and Sell”), e.g., health, medical and
beauty:
https://www.classifieds.co.zw/zimbabwe-health-medical-beauty
• UK Classifieds, e.g., antiques and collectables:
https://www.ukclassifieds.co.uk/index.php?page=search&s_res=AND&cid=1&off=0
&lang=&s_by=hw_updated&a_d=asc
• Locanto, e.g., jewellery:
https://www.locanto.com.au/Accessories-Jewellery/420/
• Dubizzle (Dubai), e.g., musical instruments:
https://dubai.dubizzle.com/classified/musical-instruments/
• USA Free Classifieds, e.g., gifts and souvenirs:
https://free-classifieds-usa.com/for-sale/gifts-souvenirs