Archive for the 'code' Category

Wemolab GIF commissions

Tuesday, August 12th, 2014

I have been using tumblr and twitter connect with gif artists in the web and commission them with making small animated loops inspired by the Wemolab logo. Here are some of my favorite results. Beautiful.

By zolloc:

tumblr_nch2u08hsW1tze2b3o1_500

By Dave Whyte:

512

p4_512---a

By Maxwell Ingham:

Max_Ingram_Wemolabs-Logo-512px-Black

IML400 Spring 2014

Monday, May 12th, 2014

I just finished teaching IML400 in USC for the third time. Over the winter break I had a chance to review my Syllabus and improve it, based on a few new insights I developed at the time. The course title itself is “Creative Coding for the Web”. When I was invited to teach it I was given freedom to propose my own curriculum, so I started by deconstructing its name. The result couldn’t hit closer to home. To me, creativity, programming, and the web are three of the most important things a human of our time should care about, comic books and ice-cream being the other two. They connect rational thinking with human imagination and communication in ways that have changed our world beyond our wildest dreams. My core goals have remained the same (to encourage a design-first culture supported by programming as a new kind of literacy, and the web as the mother of all media), but my approach to introduce them as a source of inspiration to students has become more focused. Here is some of what I’ve learned:

  • Design is a lens with variable focal length. Learn design first, and you will learn to see.
  • When it comes to programming, sink or swim is the way to go.
  • When it comes to sink or swim, don’t forget to make it fun.
  • Fun is good short-term, but it burns-out fast. Long term requires a deeper kind of value.
  • Let yourself sink if you want to go deep.
  • Too much freedom is confusing. Too much direction is frustrating.
  • To be creative you need to create something. Ideas are nothing without a good execution.
  • The web is your key to the world. Own it. It will never stop changing, so you should never stop learning.
  • Learning AngularJS

    Thursday, June 20th, 2013

    We just got a contract job at WemoLab to develop a mobile web app for a sports betting startup called Joust, and after a week or so of deliberations we decided to build the whole thing using an AngularJSNodeJSMongoDB combo, pure javascript from end to end.

    I have to say AngularJS hasn’t been exactly easy, but there have been several times where I have been surprised finding extremely simple ways to set up certain things, especially when binding event triggered method chains across completely separate scopes. It’s kind of great, even though all those directives are driving me crazy and the learning curve has been steep as hell.

    Programming languages are used to create functional worlds. In these worlds, new languages are created to create new worlds within the older ones. They are like stories within stories within stories, except in the case of software all these stories have a life of their own. It is natural to fantasize about a esperanto of programming, or a universal language that could be used to program anything. Today, this language is a dream, but at least in the web, javascript is as close as it gets to being the language of god, and AngularJS, together with NodeJS and a document/json based database solution like MongoDB, are a good reason why.

    Superfugu: Done

    Tuesday, April 30th, 2013

    Ah, we finally finished this monster, an iPad game called Superfugu by WemoLab, the digital studio formerly known as WemoMedia. I can’t really say we finished it, since it seems the very nature of digital games these days is to be in a perpetual state of flux. This makes sense, since the current state of digital media gives producers access to monitor their audiences’ behaviors, permitting for almost immediate reactions to compensate for negative outcomes. This means “I’ll change what you don’t like before you realize you don’t like it”, and it is after all, what cybernetics are about: an uninterrupted correction feedback loop.

    I could spend hours comparing my recent experience of making a game with my long term experience of making movies, drawing analogies and postulating conclusions about what makes things work one way or the other, but I will only do this at a personal level next to a bottle of wine with those who are prepared to indulge me. I have never been a big fan of games the way I am a lover of movies or books, but I find the production of them fascinating from the perspective of management science. I’ve learned more lessons on management —and team hierarchy/dynamics— working on a game than ever before, and this includes the time I spent in the crazy social education, innovation and production experiment called the MIT Media Lab.

    I first got involved with Superfugu back around September 2012, and I have been working on it full time until today. I am responsible for the User Interface design and implementation (Unity and Ngui, eek), some character designs (especially the urchins, and all the 2D character versions), aspects of the story (and I got to make the intro comic!), the design/implementation of some features like Parent Mode, and supervising the production of important marketing assets like the Superfugu App Icon (by Oscar Award winner Andy Jones and yours truly, based on Anthony Batt‘s idea).

    To me this chapter is done, and I can’t wait to see what’s next. Download Superfugu in the App Store if you have an iPad (available May 1st). Then you can tell me what you think.

    fugucito

    new-superfugu-2

    IML400 Spring 2013 Edition

    Thursday, January 24th, 2013

    I’m teaching IML400 at USC again this Spring. So fun. I am extremely grateful that my employers at Wemo Media are letting me do this. I am sure they are aware that letting me keep a teaching front will only benefit my involvement in the company.

    The semester kicked off in an interesting way with an event featuring the recent work of two thirds of my thesis advisors from the Media Lab. Reas and NickM presented their book 10 PRINT [babble] GOTO 10 and sustained a long and interesting discussion with a bunch of other digital humanists about the digital text and other [digital] things.

    Going back to the subject of my class, I have to say I was very happy with the results I got from the Fall 2012 edition. In this page you can find links to the class websites and their final projects. Some of them are fairly interesting in terms of concept and execution —like this one and this one— and over all I believe we reached my goal of helping them learn how to learn. I feel they got to a point where we could have continued with a next semester of serious design and interactive storytelling work. Perhaps in the future I will be able to teach a season two of creative web production, but I am actually not sure I am ready to push the boat into deeper waters yet, so I will remain teaching at an intro level for a while.

    I am excited to have a cool teacher assistant this semester —Adam— a USC PhD candidate who develops awesome games and recommended me a great intro to javascript book [eloquent javascript] that will help us a lot later in the semester.

    ScriptKit by BuzaMoto

    Friday, November 23rd, 2012

    We are generally familiar with the idea of programming as writing code, but there are many other ways to program, like making circuit boards for example.Using examples like this as metaphors and having alternative ways to represent and visualize the structure of a computer program can be of great help to understand how it works. This alone has been a good reason to inspire developers and educators in a number of efforts to develop computer programming interfaces that provide a visual aid to writing code. Some examples are MaxMSP, Quartz Composer, vvvv, Morphic, Scratch, and the more recent Light Table of Kickstarter fame.

    The programmer’s interaction with the program, however, has remained limited to the traditional inputs available to a computer: the mouse and the keyboard. The keyboard might be one day replaced by voice recognition as the best available input device for writing, and the mouse offers a very limited single point input to the graphical user interface. This limitation is likely to have greatly influenced the design of the visual programming systems I mentioned before, and it is interesting to think in which ways new systems might take advantage of new input interfaces. Since it’s inception, the computer input/output loop remained immutable until very recently. Today the emerging trends of miniaturization, mobility and multiple touch screens have completely rewritten the role computers play in society. In the near future, we can definitely expect computers to exhibit a large variety of form factors and input/output solutions.

    scriptkit-logo

    With ScriptKit, Buza explores this problem in the realm of the touch interface as represented by Apple’s iPad. In his own words:

    ScriptKit is a touchable programming environment for building simple mobile prototypes on iPad using native iOS UI components and social media APIs, available via an intuitive drag and drop interface.

    This means ScriptKit not just proposes a new way to design programing interfaces in multiple touch devices. It also incorporates native support for experimentation with available web services through their APIS, making this environment stand out as a practical tool to prototype and test viable networked/mobile touch based software designs.

    And by the way, the nice logo with the building blocks was conceived and designed in Los Angeles by me ^_^

    scriptkit

    Coda: Here are two interesting readings on the design of programming environments (courtesy of DribNet): Learnable Programming and Visual Programming, does it suck?

    Gira TelmexHub UNAM

    Tuesday, April 24th, 2012

    @Nachotl de PaseUsted me invitó a participar en la Gira TelmexHub UNAM, donde impartí una conferencia enfocada en el tema de La Experiencia Narrativa en La Era Digital. Básicamente propuse la misma linea argumental con que participé la vez pasada, explorando la intersección entre comunicación social, teoría de la información y cultura, pero más interesado en el espacio en que contamos y consumimos historias, en lugar del espacio del arte en general. Como era de esperarse, el resultado termina poniendo más atención a la industria del entretenimiento que al sistema del arte.

    Me llenó de gusto tener la oportunidad de compartir mi trabajo y mis ideas con los estudiantes de la UNAM –mi alma mater– y haberme encontrado con una Cultura Digital vibrante, llena de propuestas y preguntas.

    Al igual que cuando estuve en Puebla, la Gira TelmexHub demostró reunir una buena colección de talentos, entre quienes tuve oportunidad de conocer y convivir con el educador e inventor Raul Gutierrez, el cineasta experimental Jacob Krupnik y su productora Youngna Park, y el poderoso taquero electrónico Redmarker, a quien ya conocía por cierto.