James Hallam

  • user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= node_users.uid AND node_users.type = 'profile' INNER JOIN activity_targets ac' at line 12 query: SELECT DISTINCT(activity.aid) AS aid, COALESCE(activity_personal_messages.message, activity_messages.message) AS activity_messages_message, activity.created AS activity_created, activity.type AS activity_type, type, nid, uid, node_users.nid AS node_users_nid, field_pixel_icon_subject_nid, field_pixel_icon_title_value FROM activity activity LEFT JOIN node node_users ON .uid = node_users.uid AND node_users.type = 'profile' INNER JOIN activity_targets activity_targets ON activity.aid = activity_targets.aid AND (activity_targets.uid = 0 AND activity_targets.language = 'en') INNER JOIN activity_messages activity_messages ON activity_targets.amid = activity_messages.amid LEFT JOIN activity_targets activity_personal_targets ON activity.aid = activity_personal_targets.aid AND (activity_personal_targets.uid = 0 AND activity_personal_targets.language = 'en') LEFT JOIN activity_messages activity_personal_messages ON activity_personal_targets.amid = activity_personal_messages.amid GROUP BY aid ORDER BY activity_created DESC LIMIT 0, 5 in /www/sites/www.connect.ecuad.ca/sites/www.ecuad.ca/modules/views/includes/view.inc on line 807.
  • user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= node_users.uid AND node_users.type = 'profile' INNER JOIN activity_targets ac' at line 9 query: SELECT COUNT(*) FROM (SELECT DISTINCT(activity.aid) AS aid, COALESCE(activity_personal_messages.message, activity_messages.message) AS activity_messages_message, activity.created AS activity_created, activity.type AS activity_type, type, uid, nid FROM activity activity INNER JOIN node node_users ON .uid = node_users.uid AND node_users.type = 'profile' INNER JOIN activity_targets activity_targets ON activity.aid = activity_targets.aid AND (activity_targets.uid = 0 AND activity_targets.language = 'en') INNER JOIN activity_messages activity_messages ON activity_targets.amid = activity_messages.amid LEFT JOIN activity_targets activity_personal_targets ON activity.aid = activity_personal_targets.aid AND (activity_personal_targets.uid = 0 AND activity_personal_targets.language = 'en') LEFT JOIN activity_messages activity_personal_messages ON activity_personal_targets.amid = activity_personal_messages.amid WHERE node_users.nid = 19353 GROUP BY aid ORDER BY activity_created DESC ) count_alias in /www/sites/www.connect.ecuad.ca/sites/www.ecuad.ca/modules/views/includes/view.inc on line 802.
  • user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= node_users.uid AND node_users.type = 'profile' INNER JOIN activity_targets ac' at line 9 query: SELECT DISTINCT(activity.aid) AS aid, COALESCE(activity_personal_messages.message, activity_messages.message) AS activity_messages_message, activity.created AS activity_created, activity.type AS activity_type, type, uid, nid FROM activity activity INNER JOIN node node_users ON .uid = node_users.uid AND node_users.type = 'profile' INNER JOIN activity_targets activity_targets ON activity.aid = activity_targets.aid AND (activity_targets.uid = 0 AND activity_targets.language = 'en') INNER JOIN activity_messages activity_messages ON activity_targets.amid = activity_messages.amid LEFT JOIN activity_targets activity_personal_targets ON activity.aid = activity_personal_targets.aid AND (activity_personal_targets.uid = 0 AND activity_personal_targets.language = 'en') LEFT JOIN activity_messages activity_personal_messages ON activity_personal_targets.amid = activity_personal_messages.amid WHERE node_users.nid = 19353 GROUP BY aid ORDER BY activity_created DESC LIMIT 0, 5 in /www/sites/www.connect.ecuad.ca/sites/www.ecuad.ca/modules/views/includes/view.inc on line 807.

work

  • 2011

    Stantec and Emily Carr teamed up to enter the Living City Challenge together - a competition that wanted us to:

    • Imagine a truly sustainable future
    • Imagine a socially just, culturally rich and ecologically restorative civilization
    • Imagine what tomorrow might hold for humanity if we rise to meet the challenges of today

    To do this, we were asked to concieve a vision of a city that would be truly living, and to present out concept in a series of...

  • 2010

    Powertech is a subsidiary of BC Hydro, focused on testing services and technology innovation. During the summer of 2010, Sarah Bailey and I were able to work with them on a project focused on clean transportation technologies, such as electric vehicles and hydrogen fueling stations. The goals of the project were to:

    • Research EV market using design research methods
    • Identify user based problem spaces and design opportunities
    • Apply findings by exploring one...
  • 2010

    The haptic harness grew out of an investigation into movement instruction. Our primary question was whether a person could learn to move entirely through haptic communication, or vibrations against the skin. We developed this as a conceptual project, and set ourselves the task of building a flexible harness that would easily place up to 16 haptic buzzers on any part of the body, in order the test the potential of our interface. Our final deliverable included:

    • Arduino-based...

10x's