Have this on the demo laptop in case someone gets chatty:
Elevator Speech
- RocReadaR is a mobile app that links print media, like magazines, and digital media
- Point at print media and digital media is displayed
- Uses image recognition technology to determine which digital media to display on the mobile device
- Currently developed by other RIT students
- RocReadaR Portal is our main project
- Allows publishers and editors of print media to organize which digital media to display
- Publishers upload images of print media which are used for image recognition, and upload digital media
- Image recognition is done on the server instead of the mobile app
If they keep standing there
- Portal has other features such as:
- Being able to set the height and placement of the digital media
- Organizing the media between different publications, issues, and individual pages
- Architected even more features such as:
- Analytics - keeping track of who uses the app and views which media
- Automated billing - making it charge publishers based on how often their media is viewed
- Advertisers - giving other users limited permission to edit media
- App motivation
- Being able to link print and digital media has value
- Advertisers want to have better analytics to see viability of magazines
- Magazines have value and digital media has value so get the best of both worlds
- Major Quality Attributes
- Scalability, Reliability
- Deployed in cloud setup with automatic scaling
- 2 cloud servers at minimum in case of failure
- Can't do image recognition on phone - would not scale
- Image recognition on server
- Why? - phone would have to download many "tracker files" which are used in image recognition
- Performance
- Image recognition is main concern
- Performed on our cloud servers
- Maintain performance with special search ordering
- Search magazines that were scanned recently by the user first
- Search magazines that were recently published second
- Usability
- Formal Usability Testing
- Still in progress
- Maintainability
- Developer churn is high, so using all JavaScript frameworks makes it easier to get new developers
- App is developed in JavaScript from the start.
- Scalability, Reliability
Potential Questions
- What process did you use?
- OpenUp with 2 week iterations
- "Just Enough Project Planning" - keeps us focused
- Tasks tracked using JIRA
- Documentation in Confluence
- What metrics did you use?
- Major Milestones scheduled early on
- Good indicator of progress
- Hours done
- JIRA Tasks
- Major Milestones scheduled early on
- How does image recognition work?
- Base Images are uploaded
- Special script made by Wikitude creates tracker files, which has the data points for recognition
- Matching images are uploaded by users
- Special script made by Wikitude compares a tracker file to a matching image
- Scripts take it somewhat out of our hands
- What did you do for documentation?
- Confluence
- What technologies did you use?
- Node, Angular, Bootstrap, Express, Loopback
- Why did you choose the technologies you chose?
- Maintainability - App is developed in JavaScript
- Future developers need to know one main technology
- Support of libraries - JavaScript is widely popular currently
- What kind of testing did you do?
- Formal Usability Testing - in progress
- Unit Testing
- Manual Functional Testing against use cases
- Automated UI Testing using Selenium
- How did you verify scalability and performance?
- Haven't done it yet
- Cloud setup allows for scalability testing fairly easy
- Performance testing will be done manually - use scripts to upload a variety of images, then scan with the app.