Blog | dataflowerhttp://dataflower.org/blog/2014-09-18T15:26:21+00:00Blogdata garden #12014-09-18T15:26:21+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/data-garden-1/<p><img alt="datagarden #1 at Artropocode 2014" src="/static/media/uploads/datagarden1.jpg"></p>
<p>datagarden #1 is underway until the 20th of September at <a href="http://istoenormal.org">La Normal</a> in Coruña, Spain as a part of this year's <a href="http://artropocode.org">Artropocode residency</a>.</p>
<p>Besides the opportunity to promote the project and share my current work, this gathering is an opportunity to actively collaborate with artists and to observe first hand their creative processes and relationship with technology.
This environment is also an excellent opportunity to perform tests and drive forward the code's development to provide useful functionality faster, taking it one step closer to being usable in real projects.</p>
<p>Take a look at the residency's <a href="http://wiki.gpul.org/juntiki/doku.php?id=artropocode">wiki page</a> to know about all the project being developed here. </p>
<p>And if you are in the neighbourhood, you are welcome to join us.</p>data garden #02014-07-27T16:21:22+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/data-garden-0/<p><img alt="data garden participants discussing the technical problems faced by developers of interactive installations" src="/static/media/uploads/dsc00780.jpg"></p>
<p>From the outset, dataflower is meant to be a practice based research project. My main motivation for it came from the experience of many years developing digital art installations with diverse teams, noticing many recurring technical and soacial patterns and thinking "there has to be a better way to approach these problems". Most of my research on this project so far has involved creative practice, but mostly in a non-participatory way, through observation, interviews and questionnaires. To actually get involved in creative projects and use practice as a way to shape the development of dataflower, I first need to have a minimal working version which actually does something interesting and useful. </p>
<p>I now have such a prototype of the whole system which I can use as a foundation for more active practice-based research, but I still need people to experiment and to try building projects with it and give me feedback, so I need to start meeting and working together with them more regularly, so i came up with the idea of organizing <em>data gardens</em>.</p>
<p>A <em>data garden</em> is an open collaborative development event for all those interested in learning, working with and improving the dataflower tools and on reflecting about the issues related with parallel, heterogeneous and distributed computing in digital art practice. The focus of each event will depend on the participants interests, but my plan is to have a specific topic to discuss or a new feature to test for each session, which should happen at least once a month.</p>
<p>Last saturday, July 19, I got together with a group of digital artists and researchers at <a href="http://audienciazero.org">Audiência Zero</a> in Matosinhos, Portugal, to perform a pilot test for these sessions. Since this was a first and the tools are still a bit rough around the edges, I started with a small presentation to present the project and its motivation and to elicit feedback from the participants. I then presented a brief tutorial of FBP concepts using microflow and gave a brief overview of the upcoming libflow library. Next I presented a prototype of the dataflower environment and we had a brainstorming session on mental models for complex systems and collaboration tools.</p>
<p>Many thanks to Audiência Zero for hosting the meeting and to all who participated for their interest and wonderful feedback. The next data garden session is scheduled to take place in Coruña, Spain, from 17 to 21 of September as a work node part of the <a href="http://artropocode.org">Artropocode residency</a>, and you are most welcome to join us.</p>
<p>If you want to host or participate in a future data garden event, <a href="mailto:pangelo@void.io">get in touch</a>. </p>microflow 1.02014-04-15T19:14:20+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/microflow-10/<p>One of the cool things I got around to doing for my Codebits presentation this year was to finally dust off and publish <a href="https://gitorious.org/dataflower/microflow/"><em>microflow</em></a>, my experimental Python implementation of the basic Flow-Based Programming concepts.</p>
<p>This small library was very useful to me during the early stages of my research, when I was first exploring the ideas around Flow-Based Programming, but it never actually <em>worked</em> in the sense that you could build anything but very simple applications with it. So while I was going through the FBP book again while preparing for my Codebits talk I took the chance to finish off the rough edges of the library and update it to use Python 3. I also optimized it for readability, so other could use it as a learning tool or as the basis of other runtimes.</p>
<p>Sure, there are other FBP or FBP-like runtimes written in Python, like <a href="http://kamaelia.org">Kamaelia</a> or <a href="https://github.com/jonnor/protoflo">protoflo</a>, which are more robust and better performing, but if you are learning about the basics of Flow-Based Programming, it could be a simple example to start playing with the concepts in a very expressive and readable language. </p>
<p>So, if you have some time <a href="https://gitorious.org/dataflower/microflow/">have a go at it</a> and let me know what you think. I hope it can be as useful to you as it has been for me.</p>Get in the Flow2014-04-14T00:00:00+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/get-in-the-flow/<p>I was lucky enough to attend Codebits again this year, and the event was awesome as usual. In the middle of all the things to see and do at the event I was able to present a talk again, this time focused on the topic of Flow-Based Programming. For those whose could not come to the event, here is the original talk description:</p>
<blockquote>
<p>As software developers, every day we are faced with ever more complex
systems to run our applications. Single machines are not enough. Now
we need to orchestrate hordes of multicore CPUs, GPUs and DSPs to run
our applications in a scalable, distributed way and this is hard.</p>
<p><a href="http://www.jpaulmorrison.com/fbp/">Flow-based Programming</a> is a
programming methodology created by J Paul Morrisson at IBM in the 70s
in order to solve everyday challenges he faced when developing large
scale business applications. Based on a solid theoretical foundation
and battle-tested on real-world applications (with one of them running
continuously for the last 40 years), FBP is making a comeback as an
effective model to reason about and implement data intensive,
distributed applications, as can be seen by the growing interest in
tools like <a href="http://noflojs.org">NoFlo</a> and <a href="http://storm-project.net">Storm</a>.</p>
<p>In this talk I will present the history and fundamental concepts of
Flow-based Programming, and how it is different from other models like
dataflow, functional and object-oriented programming. We will then use
noflo to develop a small heterogeneous application using this
methodology.</p>
</blockquote>
<p>And here is the talk video:</p>
<iframe allowfullscreen="" height="281" src="http://rd3.videos.sapo.pt/playhtml?file=http://rd3.videos.sapo.pt/yPjIH3AvwSzyeHoacmin/mov/1&amp;relatedVideos=none" width="500"></iframe>
<p>I think the talk went well and that I managed to get the main ideas across, although looking back it probably sounded a bit confusing because I couldn't see my notes during most of the talk. I'll see if I can expand those notes a bit and post them as a follow-up to this post. In the mean time do check the <a href="http://videos.sapo.pt/codebits/playview/8">other Codebits 2014 talk videos</a>, there's lots of good stuff there.</p>
<p>Here's hoping to be able to present again next year to showcase dataflower to the Codebits crowd.</p>Exploratory Visit to UT Austin2014-04-07T19:13:04+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/exploratory-visit-to-ut-austin/<p><img alt="TACC VisLab" src="/static/media/uploads/tacc.jpg"></p>
<p>One of the nice opportunities afforded to the students in the UT Austin|Portugal program is the chance to make an short time visit to the city of Austin to get to know the UT campus and to visit faculty and research groups related to their research areas to explore opportunities for research collaboration and to prepare for a possible one semester stay as a graduate student or as an invited researcher.</p>
<p>I was very looking forward to this opportunity since my PhD started but I could only find the time to do it during the last week of May. The city of Austin is beautiful and very culturally active, well worth a visit on its own, especially during the Spring time.</p>
<p>On my first day, I had a chance to tour the <a href="http://rtf.utexas.edu/">RTF department's</a> production facilities. I discovered resources for 3D projection, DCP creation, motion capture, surround sound production and reproduction, audio foley and mixing, video editing, as well as the audiovisual production material (cameras, lights, audio recording and studios). I alsoad the chance to talk a bit about my work with Keefe Boerner, the production facilities manager who kindly showed me around the place, and how it might be used to help automate the heterogeneous systems used in stage production (lights, audio, projections, smoke machines, etc.).</p>
<p>Next day, I met with Professor Luis Francisco-Revilla at the <a href="https://www.tacc.utexas.edu/resources/visualization">TACC VisLab</a>. Professor Revilla had formerly been my instructor on the HCI Summer School at FEUP in 2012, and naturally our conversation flowed around HCI aspects of my work, especially in what regards to evaluation, i.e., how to measure success in face of the development goals, how to define what aspects we want to evaluate and how to setup user studies for it. On this day I also met Rob Turknett at the VisLab and he showed me around the lab's resources. We also had a brief chat about my work and how it parallels and complements some of the work being done at the lab. Rob is also one of the founders of the <a href="http://amoda.org">AMODA (Austin Museum of Digital Art)</a> group and so we also talked a bit about the digital art scene in Austin. Also on that day I met fellow classmates living in Austin and visited the <a href="http://atxhs.org">ATX Hackerspace</a>.</p>
<p>On another day I had the chance to meet with Professor Sharon Strover and we had a really nice conversation about many topics related to my research and the Digital Media program. In the afternoon I met with Professor Donald Fussel in the CS department and I got to know a bit about the research his group is doing, especially work related to developing user interfaces for artistic creation, and he gave me some feedback on some specific aspects of my work. I also got to meet some of his PhD students.</p>
<p>On my last day at Austin, I briefly met with Professor Brian Evans, and we talked a bit about his research work and his experience with digital art student's projects. Later that day I met with Professor Bruce Pennycook at the Fine Arts department, and we talked mostly about open-source and creativity support tools, and he gave some very interesting critical feedback on the tools I'm developing from his perspective both as a researcher and as a practitioner.</p>
<p>Overall, I have really enjoyed my time at UT Austin and I met many nice people doing some really interesting work. This visit has really helped me refine the scope of my research and opened many doors for future collaborations.</p>Hit the Ground Running2014-02-01T16:59:23+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/hit-the-ground-running/<p>The "Collaborative Practices in Creative Computing" study is now over, and the number of responses has far exceeded my expectations. I'd like to send a big heartfelt <strong>Thank You</strong> to all who have participated, your input will definitely help me develop new tools which will hopefully help your creative practices.</p>
<p>It will still take some time to fully explore the data from the study and draw some meaningful conclusions, so in the meantime my focus will be on building the code scaffold for <em>dataflower</em>, a minimum base platform that can be publicly released and used to develop creative projects.</p>
<p>As we enter the development stage, I'm also going to try and make better use of this blog as a communication and research platform. So expect more frequent updates beyond the odd announcement here and there.</p>Collaborative Practices in Creative Computing2014-01-01T14:16:05+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/collaborative-practices-in-creative-computing/<p>As the first stage after the approval of my research proposal I have been conducting since the summer a set of qualitative and quantitative user studies in order to better understand the work processes and practices surrounding creative applications of technology in New Media Art. </p>
<p>I am especially interested in which technologies and tools are more prevalent, and how these are used to support the creative process and emergent collaborative practices. The process started with informal ethnographic observation performed at artist residencies, from which I gleaned a set of observations that allowed me to do a set of semi-structured interviews with artists and creatives who use creative computing technologies in their work. These interviews resulted in deep, rich insights into the needs and practices of New Media artists in creative environments.</p>
<p>The last step in this set of studies is a broad online questionnaire that aims to quantify with a larger sample some of the salient aspects of the previous studies. If you are an artist or creative using digital technologies to develop your work (especially if involves applications of interactive systems like art installations or live performances), Id like to invite you to
<a href="https://docs.google.com/forms/d/1XH-WohkFoJpN3ImOcrIBQ7BsgmqVPAkn-ZOmM5H1-gY/viewform">take part in this study</a>. and help us improve our understanding of your practice so that we can develop better tools. </p>
<p>Thank you.</p>UT Austin|Portugal Colab Doctoral Symposium 20132013-11-07T09:43:16+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/ut-austinportugal-colab-doctoral-symposium-2013/<p>Every year, the UT Austin|Portugal Colab program organizes the Future Places festival in Porto, Portugal. The first day of the festival usually starts with a research symposium where the program's PhD students (like myself) present the state of their work and gather feedback from their colleagues and the program's faculty. It is always a great opportunity to meet new and old friends and to learn about everyone else's research experience.</p>
<p>I presented the work done so far in dataflower, a condensed version of my research proposal, and some preliminary ersults of the need finding study I'm currently working on. I received some very good feedback and I'm definitely looking forward to participate again next year.</p>Artropocode 20132013-09-02T12:00:00+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/artropocode-2013/<p><img alt="Artropode in progress" src="/static/media/uploads/artropocode_2013.png"></p>
<p>At the end of August I participated in this year's <a href="http://www.baleiro.org/content/proxectos-participantes-residencia-artropocode-2013">Artropocode meeting</a>, a gathering of digital artists that alternates every year between Galicia and Portugal. Although usually a weekend long meeting, this year the event took on the form of a ten day residency at the <a href="http://baleiro.org">Baleiro lab</a>, right in the middle of the Santiago de Compostela University campus.</p>
<p>The longer format of the event allowed me the time to better observe the collaborative workflow between the participants and to set up a few interviews with them, learning about their creative relationship with technology and their needs regarding the tools they use.</p>
<p>Artropocode2013 was a fantastic experience, I hope to meet everyone again in Portugal next year and show them what I'm building from their insights.</p>Research proposal accepted2013-05-20T12:00:00+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/research-proposal-accepted/<p>In order to fulfil my PhD requirements, last January I had to present a research proposal outlining my thesis topic, a rough state of the art and a research plan. Last week I successfully presented my proposal to my thesis committee and had the good fortune of having <a href="http://www.cs.cmu.edu/~bam/">Professor Brad Myers</a>, head of Carnegie Mellon University's <a href="http://www.cs.cmu.edu/~NatProg/index.html">Natural Programming Project</a>, as the main jury member.</p>
<p>I really enjoyed the discussion that followed the presentation and I feel that it helped me focus on what could be the core contribution of my work, namely to better understand the role collaboration plays in modern digital creativity and to focus on designing tools that better support this creativity.</p>
<p>I would like to thank Professor Myers, all the committee members and everyone who has discussed this work with me so far, your support has been precious. Now it's time to make good on the promise of that research plan and get to work. </p>After LGM 2013, the future is Free2013-04-20T01:30:48+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/lgm2013-future-is-free/<p>LGM 2013 was held in Madrid at the brand new <a href="http://medialab-prado.es">Medialab Prado</a> building, a fantastic venue which besides a large auditorium provided lots of work space for the developers present. The program was divided into workshops and work sessions in the morning, conferences during the afternoon and social events in the evening. Many of the participants there were also going to stay for the following week for the <a href="http://medialab-prado.es/article/future_tools">Interactivos production workshop</a>. </p>
<p>With so many activities and so many interesting people there, it was not possible to attend every session, but here are my notes on some that caught my attention:</p>
<p>Camille Bissuel presented <a href="http://mikado.toonloop.com">Mikado</a>, a <a href="http://medialab-prado.es/mmedia/10851/view">graph-based image editor</a> which has a structure similar to the one I'm proposing for dataflower. It is based on a C++ dataflow library called <a href="http://code.sat.qc.ca/redmine/projects/tempi/wiki/Tempi_en">Tempi</a> and has a web-based UI. I had a chance to briefly talk to the presenter and there are many good possibilities for future collaboration. Tempi looks like a very mature and well designed library and when the time comes I'd like to contribute to it and support it as a backend in dataflower.</p>
<p>Tom Lechner <a href="http://medialab-prado.es/mmedia/11112/view">presented his Laidout tool</a> which he's been developing for some time now to do the layout of his own publications. The tool implements many really interesting ideas, eschewing most of the traditional idea of tools in favor of direct manipulation of objects in the canvas. On another related talk, Tom also presented some thought-provoking ideas on <a href="http://medialab-prado.es/mmedia/10826/view">how we could share tools between Free Software graphics applications</a>.</p>
<p>Dave Crossland and Ben Martin talked about the current state of <a href="http://fontforge.org">Fontforge</a> and <a href="http://medialab-prado.es/mmedia/10866/view">demoed an impressive real-time collaboration feature</a> that they would be working on during the conference and the Interactivos workshop.</p>
<p>Ale Rimoldi, inspired by how UNIX shell pipelines work, presented his thoughts on how we should be able to <a href="http://medialab-prado.es/mmedia/11051/view">connect graphics applications to build complex workflows</a>, similar to what we can already do with audio applications via JACK.</p>
<p>Danji Vasiliev presented his <a href="http://hotglue.org">Hotglue project</a>, a web framework that allows users to direcly edit their web pages in the browser through direct manipulation. He also presented his plans to create Superglue, a distributed platform web publishing platform based on Hotglue.</p>
<p>You can find all the talk videos in the <a href="http://medialab-prado.es/archive/search?q=lgm&amp;type=movie">Medialab-Prado multimedia archive</a>.</p>
<p>As for my talk, I'm pretty happy with how it turned out and got really good feedback from the people attending, but I'll let you be the judge of that. Here is the video and the <a href="/static/media/uploads/pangelo_dataflower_lgm2013.pdf">slides</a> of my presentation:</p>
<p><embed allowfullscreen="true" flashvars="&amp;file=http://medialab-prado.es/mmedia/11/11076/11076.flv&amp;height=400&amp;width=500&amp;autostart=false&amp;skin=http://medialab-prado.es/static/player/skin.swf&amp;frontcolor=ffffff&amp;lightcolor=cc9900&amp;controlbar=over&amp;stretching=uniform&amp;image=http://medialab-prado.eshttp://medialab-prado.es/mmedia/11076/preview_image" height="400" src="http://medialab-prado.es/static/player/player.swf" type="application/x-shockwave-flash" width="500"></p>
<p>LGM 2013 was an incredible experience for me, as I've had the chance to meet some good friends and some of the people that develop many of the tools I use and love. I also got the chance to take the pulse on what the Free Software community is doing to support creativity, and regarding the future of these tools I can tell you, the future is Free (as in Freedom).</p>See you at LGM 20132013-03-01T02:00:00+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/see-you-at-lgm-2013/<p><img alt="what will future creative tools look like?" src="/static/media/uploads/lgm2013_future_tools.png"></p>
<p>I just received word that my talk proposal for <a href="http://libregraphicsmeeting.org/2013/">Libre Graphics Meeting 2013</a> has been accepted. The selected theme for this year is "Future Tools", so this will be a fantastic time to present my work, get in touch with the Libre Graphics community and discuss the future of Free (as in Freedom) creative programming tools.</p>
<p>Hope to see you in Madrid next April. Meanwhile you can already get involved in the conference and <a href="http://libregraphicsmeeting.org/2013/r+w/">join the ongoing discussion that is being used to generate the posters for the event</a>.</p>
<p>Update: the conference program <a href="http://libregraphicsmeeting.org/2013/program/">is up</a>.</p>Gentlemen, start your compute engines!2013-03-01T01:00:00+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/gentlemen-start-your-compute-engines/<p><a href="http://codebits.eu">SAPO Codebits</a> is the largest technology event in Portugal. Every year, around 800 developers and technology enthusiasts apply for a chance to geek out, present their pet technologies and compete in a furious 48h free-for-all hackathon with awesome prizes.</p>
<p>I've been to Codebits many times but never felt I had anything inteersting to propose as a talk. In 2012, realising how little attention was being paid to parallelism in the conference and how little most developers knew about the subject, I gathered my notes and proposed an <a href="https://codebits.eu/intra/s/session/285">overview talk about the rise of heterogeneous parallelism, parallel algorithm design and OpenCL</a>.</p>
<p>Here is the video:</p>
<iframe height="326" src="http://rd3.videos.sapo.pt/playhtml?file=http://rd3.videos.sapo.pt/LnP6zSALsy5yAqFAWPR4/mov/1&amp;quality=sd" width="580"></iframe>What is dataflower?2013-03-01T00:00:00+00:00pangelo/blog/author/pangelo/http://dataflower.org/blog/what-is-dataflower/<p>Digital artists have always explored the state of the art capabilities of available computer hardware. Modern tools like <a href="http://processing.org">Processing</a> and <a href="http://openframeworks.cc">OpenFrameworks</a>, together with good online documentation and supportive communities, have made programming an approachable skill for every artist.</p>
<p>However, computer hardware is undergoing a paradigm shift. Pushed by increasing demands for performance and limited by costs in power usage and data transfer speeds, hardware manufacturers are gradually shifting towards designs that combine many different and highly specialised processors. Taking full advantage of this power comes with the cost of <a href="http://www.gotw.ca/publications/concurrency-ddj.htm">abandoning the cognitive model of the single sequential processor</a>. For software artists, this means that their tools need to evolve.</p>
<p><em>dataflower</em> is a novel collaborative visual development environment that makes high performance heterogeneous parallel hardware accessible for creative applications. We propose to exploit the potential of the visual dataflow programming paradigm to allow digital artists to intuitively design high performance applications, while abstracting the challenges posed by parallel heterogeneous computing systems.</p>
<p>Our ultimate goal is fostering real-time experimentation, bridging the gap between beginners and experts, and improving communication and collaboration in multidisciplinary teams working in creative programming projects.</p>