Upgrade to Pro — share decks privately, control downloads, hide ads and more …

cs373-elementalists

 cs373-elementalists

Class presentation for elementalists: ThePeriodicTableProject.me

colindmurray

May 01, 2015
Tweet

Other Decks in Science

Transcript

  1. Purpose and Intent • Periodic tables are not uncommon on

    the internet. • We want to reach a wide user base: grade schoolers and researchers alike. • We need factual content as well as interactive tools. • Unlike old websites, new technological developments can raise the level of interactivity.
  2. A Guiding Quote “Tell me and I forget, teach me

    and I may remember, involve me and I learn” - Benjamin Franklin
  3. Data Mining - Getting the Data • Periodic Table of

    Elements is...well, a table. • Most categorical information has been already tabulated and is easily accessible. • Finite number of items = all categorical information can be found in something small, such as an excel file.
  4. The Hard Data • Finding elemental descriptions = not so

    easy. • Varies from website to website, most times in formats that are not easily scrapable. • Experimented with Python Scrapy, but results varied when first implemented.
  5. API • Elements ◦ theperiodictableproject.me/api/element ◦ theperiodictableproject.me/api/element/atomic_number ◦ theperiodictableproject.me/api/element/atomic_number?columns=element,symbol,... •

    Groups ◦ theperiodictableproject.me/api/group ◦ theperiodictableproject.me/api/group/group_id ◦ theperiodictableproject.me/api/group/group_id?columns=group_id,description,... • Periods ◦ theperiodictableproject.me/api/period ◦ theperiodictableproject.me/api/period/period_id ◦ theperiodictableproject.me/api/period/period_id?columns=period_id,description,...
  6. Implementing Search - Posgres Full Text Search • Built in

    system of string matching based on Lexeme formation. • Lexeme - A basic unit of Language; used as an abstract unit. • System breaks a query into lexemes, searches them against a list of lexemes in the website. • Treats all inputs as strings, including numbers. • Requires: ◦ Creation of a list of lexemes - termed the “document” ◦ Has issues with some words: He, She, It, Is, That, The, etc. are not lexemes and are removed from queries. ◦ Numbers must be exact.
  7. A Sample Lexeme SELECT to_tsvector('My name is Inigo Montoya. You

    killed my father. Prepare to die.'); 'die':11 'father':8 'inigo':3 'kill':6 'montoya':4 'prepar':9
  8. Critiques - Fun Runs! • What did they do well?

    ◦ Great UI! Looks professional. ◦ Easy to navigate. • What did we learn from their website? ◦ Angular is awesome! ◦ Fun Runs look really fun! • What can they do better? ◦ Image heavy. Could be faster. • What puzzles us about their website? ◦ Apiary out of date. Confused us until we figured out it was under /api/.
  9. Critiques: The Elementalists • What did we do well? ◦

    We covalently bonded as a team! ◦ Optimized for images! • What did we learn? ◦ We learned all the technologies as a group, teaching each other as we went. ◦ The logistics of working in a large group (workflow, delegating tasks, ect.) • What can we do better? ◦ More content. More ways to express the information in our database (more charts, ect.) ◦ Periodic table on home screen is not responsive. • What puzzles us? ◦ “He” ◦ Logan’s picture in the about page.