{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,31]],"date-time":"2025-10-31T07:54:45Z","timestamp":1761897285229},"reference-count":41,"publisher":"MIT Press - Journals","issue":"2-3","content-domain":{"domain":["direct.mit.edu"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,6,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>This article introduces an open-source Java-based programming environment for creative coding of agglomerative systems using Internet-of-Things (IoT) technologies. Our software originally focused on digital signal processing of audio\u2014including synthesis, sampling, granular sample playback, and a suite of basic effects\u2014but composers now use it to interface with sensors and peripherals through general-purpose input\/output and external networked systems. This article examines and addresses the strategies required to integrate novel embedded musical interfaces and creative coding paradigms through an IoT infrastructure. These include: the use of advanced tooling features of a professional integrated development environment as a composition or performance interface rather than just as a compiler; techniques to create media works using features such as autodetection of sensors; seamless and serverless communication among devices on the network; and uploading, updating, and running of new compositions to the device without interruption.<\/jats:p>\n               <jats:p>Furthermore, we examined the difficulties many novice programmers experience when learning to write code, and we developed strategies to address these difficulties without restricting the potential available in the coding environment. We also examined and developed methods to monitor and debug devices over the network, allowing artists and programmers to set and retrieve current variable values to or from these devices during the performance and composition stages. Finally, we describe three types of art work that demonstrate how the software, called HappyBrackets, is being used in live-coding and dance performances, in interactive sound installations, and as an advanced composition and performance tool for multimedia works.<\/jats:p>","DOI":"10.1162\/comj_a_00520","type":"journal-article","created":{"date-parts":[[2020,6,29]],"date-time":"2020-06-29T13:30:15Z","timestamp":1593437415000},"page":"89-108","update-policy":"http:\/\/dx.doi.org\/10.1162\/mitpressjournals.corrections.policy","source":"Crossref","is-referenced-by-count":17,"title":["Rapid Composition for Networked Devices: HappyBrackets"],"prefix":"10.1162","volume":"43","author":[{"given":"Angelo","family":"Fraietta","sequence":"first","affiliation":[{"name":"University of New South Wales Faculty of Art and Design PO Box 859 Hamilton NSW 2292, Australia angelo@smartcontroller.com.au"}]},{"given":"Oliver","family":"Bown","sequence":"additional","affiliation":[{"name":"University of New South Wales Faculty of Art and Design Corner of Greens Road and Oxford Street Paddington, New South Wales 2021, Australia o.bown@unsw.edu.au"}]},{"given":"Sam","family":"Ferguson","sequence":"additional","affiliation":[{"name":"Faculty of Engineering and Information Technology University of Technology Sydney PO Box 123, Ultimo, New South Wales 2207, Australia samuel.ferguson@uts.edu.au"}]},{"given":"Sam","family":"Gillespie","sequence":"additional","affiliation":[{"name":"1\/1a Monomeeth Street, Bexley, New South Wales 2007, Australia sam@samgillespie.com"}]},{"given":"Liam","family":"Bray","sequence":"additional","affiliation":[{"name":"The University of Sydney School of Architecture, Design and Planning Wilkinson Building (G04) 148 City Road, Darlington NSW 2008, Australia liam.bray@sydney.edu.au"}]}],"member":"281","published-online":{"date-parts":[[2019,6,1]]},"reference":[{"key":"p_1","doi-asserted-by":"publisher","DOI":"10.1386\/jmte.9.1.75_1"},{"key":"p_4","doi-asserted-by":"publisher","DOI":"10.1162\/LEON_a_00934"},{"key":"p_5","first-page":"371","author":"Bown O.","year":"2016","journal-title":"Proceedings of the International Conference on New Interfaces for Musical Expression"},{"key":"p_6","doi-asserted-by":"publisher","DOI":"10.1162\/LEON_a_01549"},{"key":"p_7","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcom.2017.11.001"},{"key":"p_8","first-page":"31","author":"Bown O.","year":"2013","journal-title":"Proceedings of the International Computer Music Conference"},{"key":"p_9","first-page":"604","author":"Bown O.","year":"2015","journal-title":"Proceedings of the International Symposium on Electronic Art"},{"key":"p_10","first-page":"286","author":"Bown O.","year":"2019","journal-title":"International Conference on New Interfaces for Musical Expression"},{"key":"p_11","doi-asserted-by":"publisher","DOI":"10.1017\/S135577180300030X"},{"key":"p_12","first-page":"1","author":"Cook P.","year":"2017","journal-title":"Springer"},{"key":"p_15","doi-asserted-by":"crossref","first-page":"505","DOI":"10.1145\/1953163.1953309","author":"Dyke G.","year":"2011","journal-title":"Proceedings of the ACM Technical Symposium on Computer Science Education"},{"key":"p_16","doi-asserted-by":"publisher","DOI":"10.4169\/college.math.j.46.3.173"},{"key":"p_17","doi-asserted-by":"publisher","DOI":"10.1145\/3059454.3059482"},{"key":"p_18","first-page":"245","author":"Ferguson S.","year":"2017","journal-title":"Proceedings of the International Conference on New Interfaces for Musical Expression"},{"key":"p_19","doi-asserted-by":"publisher","DOI":"10.1002\/ad.490"},{"key":"p_20","first-page":"409","author":"Fl\u00e9ty E.","year":"2011","journal-title":"Proceedings of the International Conference on New Interfaces for Musical Expression"},{"key":"p_21","first-page":"46","author":"Fraietta A.","year":"2005","journal-title":"Proceedings of the International Conference on New Interfaces for Musical Expression"},{"key":"p_23","first-page":"19","author":"Fraietta A.","year":"2008","journal-title":"Proceedings of the International Conference on New Interfaces for Musical Expressions"},{"key":"p_25","first-page":"83","author":"Fraietta A.","year":"2019","journal-title":"Proceedings of the International Conference on New Interfaces for Musical Expression"},{"key":"p_26","first-page":"387","author":"Fraietta A.","year":"2019","journal-title":"Proceedings of the International Conference on New Interfaces for Musical Expression"},{"key":"p_27","first-page":"1","author":"Fraietta A.","year":"2019","journal-title":"Proceedings of the Linux Audio Conference"},{"key":"p_31","first-page":"19","author":"H\u00f6rtner H.","year":"2012","journal-title":"Proceedings of the International Conference on Signal Processing and Multimedia Applications and Wireless Information Networks and Systems"},{"key":"p_33","doi-asserted-by":"publisher","DOI":"10.1145\/258549.258715"},{"key":"p_36","first-page":"121","author":"Loke L.","year":"2018","journal-title":"Proceedings of the Annual Symposium on Computer-Human Interaction in Play: Companion Extended Abstracts"},{"key":"p_37","doi-asserted-by":"publisher","DOI":"10.1162\/LMJ_a_00056"},{"key":"p_38","doi-asserted-by":"publisher","DOI":"10.1017\/S1355771814000259"},{"key":"p_40","first-page":"51","author":"McCurry M.","year":"2018","journal-title":"Proceedings of the Linux Audio Conference"},{"key":"p_42","doi-asserted-by":"publisher","DOI":"10.1145\/1226969.1226984"},{"key":"p_43","doi-asserted-by":"publisher","DOI":"10.1023\/A:1015362608943"},{"key":"p_45","first-page":"143","author":"Mitchell M. C.","year":"2013","journal-title":"Proceedings of the Australian Computer-Human Interaction Conference"},{"key":"p_48","doi-asserted-by":"publisher","DOI":"10.1007\/s00146-006-0050-9"},{"key":"p_49","first-page":"64","author":"Roberts C.","year":"2012","journal-title":"Proceedings of the International Computer Music Conference"},{"key":"p_50","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2016.2628440"},{"key":"p_53","first-page":"85","author":"Tabanao E. S.","year":"2011","journal-title":"Proceedings of the International Workshop on Computing Education Research"},{"issue":"1","key":"p_54","first-page":"28","volume":"44","author":"Thompson G.","year":"2017","journal-title":"THE Journal"},{"key":"p_55","doi-asserted-by":"publisher","DOI":"10.1007\/s10639-017-9611-4"},{"key":"p_56","first-page":"13","author":"Turchet L.","year":"2017","journal-title":"Proceedings of the Sound and Music Computing Conference"},{"key":"p_57","first-page":"498","author":"Turchet L.","year":"2016","journal-title":"Proceedings of the Sound and Music Computing Conference"},{"key":"p_58","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2018.2872625"},{"key":"p_60","doi-asserted-by":"publisher","DOI":"10.1109\/EUC.2010.58"},{"issue":"1","key":"p_61","doi-asserted-by":"crossref","first-page":"269","DOI":"10.46472\/CC.01221.0629","volume":"21","author":"Zotti G.","year":"2017","journal-title":"Culture and Cosmos"}],"container-title":["Computer Music Journal"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/direct.mit.edu\/comj\/article-pdf\/43\/2-3\/89\/2005647\/comj_a_00520.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/direct.mit.edu\/comj\/article-pdf\/43\/2-3\/89\/2005647\/comj_a_00520.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,3,31]],"date-time":"2022-03-31T22:38:18Z","timestamp":1648766298000},"score":1,"resource":{"primary":{"URL":"https:\/\/direct.mit.edu\/comj\/article\/43\/2-3\/89\/94680\/Rapid-Composition-for-Networked-Devices"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"references-count":41,"journal-issue":{"issue":"2-3","published-online":{"date-parts":[[2019,6,1]]},"published-print":{"date-parts":[[2019,6,1]]}},"URL":"https:\/\/doi.org\/10.1162\/comj_a_00520","relation":{},"ISSN":["0148-9267","1531-5169"],"issn-type":[{"value":"0148-9267","type":"print"},{"value":"1531-5169","type":"electronic"}],"subject":[],"published-other":{"date-parts":[[2019]]},"published":{"date-parts":[[2019]]}}}