GithubHelp home page GithubHelp logo

ncsumobiles / spring16-treefinder Goto Github PK

View Code? Open in Web Editor NEW
0.0 7.0 0.0 3.77 MB

Using the existing TiltAStory toolset, build an app that allows hands-on learning about trees, including tree identification in the field and/or learning about tree anatomy.

Java 100.00%

spring16-treefinder's Introduction

TreeFinder

The TreeFinder app provides an interactive experience targeted towards children to teach them how to identify and discover new species of trees. This project was created with Android Studio with a minimum supported SDK version of 16 and a targeted SDK version 23.

This app was based off of the Tree Finder book which is a sort of "pick your own story" guide to identify trees. It asks a series of questions about the tree's characteristics and guides the reader along. We implemented this decision tree in an XML file to allow for future expansion. Currently only one branch of the decision tree is implemented, which is a small portion of the entire book's decision tree. Each of the nodes on our decision tree is an XML element in an XML file. Each element has the node's identifying question, answers and image URL's used on the Android Activity's layout as ImageButtons representing the possible answers. Future expansion of the decision tree will be done by modifying this XML file only. You will not have to modify any of the code within the Android project. In this way, we have planned for expansion to make it as easy as possible and requiring minimal technical expertise.

Future Work

  1. Expand the Decision Tree to Encorporate all of the Trees from the Tree Finder Book.

Currently, only a portion of the total possible trees and questions are implemented. As can be seen here: tree The tree is rather large. However, it can be simply implemented using the xml file described above, following the format already in place, and using links to reference images.

  1. Update the Images to Make Them Higher Quality and Original.

Currently the images we used are low-res scans from the book. They are copywritten material and could not be used without permission from the book's copyright holder when the app is released. Also, the quality of the scans is relatively poor. Providing higher resolution, original images will greatly enhance the look and feel of the app.

  1. Host the Images on a Private Server

The images we are using are currently being hosted on imgur. They are referenced in the XML file by their URL. A more robust and future-proof option would be to host them on a private server specific to the app. Provided the images on this server have unique URLs associated with them, the only thing that would need to be changed is the respective URL in the XML file.

  1. Port to iOS

Using the same images and xml file, a similar system could be built as an app for iOS (by reimplementing the scaffolding in the Android App, the code that interprets the XML file, and by creating a UI that can be changed based on the xml).

Expanding the content of the App

  1. Uploading an image

Currently, as long as an image can be accessed via URL, it will work. We chose to use a site called imgur as our host for this semester, though as mentioned in future work, it would be ideal to host the images somewhere private or more easily controlled.

  1. Adding a question node to the XML file

Adding a question to the XML file is as simple as following the existing structure. By copy/pasting a question node that already exists, and changing the text, the choices, and the images, a new question can be created very easily.

  1. Adding a tree node to the XML file

Adding a tree node is simple, following the same process as above. Tree nodes are simpler, as they have no choices to add, but still require an image of the tree.

spring16-treefinder's People

Contributors

djvacto avatar abbashus avatar abzter10690 avatar bobbyradford avatar hollechristensen avatar

Watchers

Benjamin Watson avatar James Cloos avatar  avatar Prasad Puranik avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.