Project X is an extra project for those that need to
improve their score on Project 1 to bring their class scores up.
Anyone who didn't get a passing grade on Project 1 should complete
this assignment to pass the course.
As with Project 1 this assignment
will use QML (qt.nokia.com/qtquick/) with the same assumptions:
touch screen display size of 7.75 inches x 5.75 inches at 1024 x
768 pixels (i.e. roughly iPad 1/2 specs) and you should use
landscape orientation by default for your interface.
This time the interface that you will be creating will allow a
user with a pad who walks into a building to immediately get a
portable directory showing what offices are in the building,
giving the user a map of the different floors, allowing the user
to search for particular people by name or department and get
public information about that person, their office number, their
phone number, and directions to their office. The user should also
be able to choose a department from a list of departments in the
building, and get a list of people (staff and faculty) that work
there. The user should also be able to search by face in case the
user knows what someone looks like but not his/her name.
For this assignment we will make some simplifying assumptions. We
will focus on SEO. While the interface should list all of the
departments in SEO, you only need to put full details in on the
Department of Computer Science and those people with offices in
SEO.
This is an individual project, not a team project. It is expected
that all of the code used in these programs will be written by
you. You can use code from the web as examples and a guide to
writing your code, but the code you turn in for the project must
be your own.
Any code, images, icons, or other elements borrowed from others
must be fully cited in your application itself, in the README file
along with your source code, and on your webpages.
Your project should be
able to run in the qml viewer application on windows / mac /
linux. It does not need to run on an actual pad, but the
interface should support the kind of interaction you would
expect on a pad. It does not need to connect to an external
database with information on the various food items, it could
read that information from a local file, but if you implement an
external web/cloud-based database it would be a bonus.
If you
implement all of the functionality above with a serviceable
user interface then you get a C. The B and A grades depend on
the quality of the user interface that you create.
The turn in requirements are
basically the same as Project 1
You should create a set of public
(available to anyone) web pages that describe your work on the
project. This should include:
- 1 page containing a link to a gzipped file containing the
well-commented source code and all other necessary files to
make your application run locally. This page should include
instructions on how to install and run your app starting from
"I have a web browser on my computer." You should provide
links and clear instructions on everything needed to get your
application running.
- 1 page on how to use your application and the things you can
do with it.
- 1 page on why you think you have created a good interface.
all of which should have plenty of
screenshots with meaningful captions. Web pages like this can be
very helpful later on in helping you build up a portfolio of
your work when you start looking for a job so please put some
effort into it.
You should also create a 2-3 minute YouTube video showing the
use of your application including narration with decent audio
quality. That video should be in a very obvious place on your
main project web page. The easiest way to do this is to use a
screen-capture tool while interacting with the application,
though you will most likely find its useful to do some editing
afterwards to tighten the video up. Its also a good idea to have
a video like this available as a backup during your presentation
just in case of gremlins.
The web page including screen snapshots and video need to be
done by the deadline so be sure to leave enough time to get that
work done. Once you have your webpage done, send the URL to the
TA before the deadline.