I’ve thought that “New Year Resolutions” sounds bad compared to “Wishlist” – doesn’t it? Just an excuse to post a bunch of links and inventory topics I’d like to spend time on in 2014.
Don’t you know Processing? Quoting from the official website:
Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology.
As a language, it is basically Java (yes, you’re allowed to raise your eyebrow), which is quite friendly – if you’re new to Computer Science, do a favor to yourself and follow the free Stanford’s Programming Methodology (Java based, 28 lectures plus handouts, assignments, etc) by Professor Mehran Sahami – a really entertaining teacher.
Speaking of which, I strongly recommend you The Nature of Code (self published by the very Daniel Shiffman), an ebook/printed book which headline says:
How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? This book focuses on the programming strategies and techniques behind computer simulations of natural systems using Processing.
I’ve found myself excited as a kid following a birds flock simulation, or even really simple experiments where you
lay down implement physics laws and watch your creatures exist and behave according to them. It is amazing how clean and short your code can be to realistically reproduce real world interaction (fluid viscosity, movement, etc).
As an example of Generative Art, have a look at Mario Klingermann Incubator (left, a still from an endless animation), or Casey Reas – one of the Processing authors – amazing exhibition work (right).
I will continue to work on Photoshop extensibility – because this blog titles “Photoshop, Coding and all the rest” for a reason. As you might (or might not) know, around mid-2014 Photoshop will discontinue the support of Flex panels, which means that at some point I (and all the developers in the world willing to support the CC version – it isn’t clear whether CS6 will keep them or not), will have to port all my panels to HTML.
Luckily enough, all my paid products exist as Scripts (and not panels – just Advanced Local Contrast Enhancer provides you with both of them) so I’m not particularly pressed – I can wait for the technology to stabilize a bit. Script support shouldn’t break, unless Adobe want to kill +15 years of retro-compatibility in one snap.
Early 2014 I will release a new product called VitaminBW (guess what is it all about) and the Version 2 of PS-Projects. Then I will pause a bit: I would like to devote some time (besides Generative Art coding and Nature simulation) experimenting a merge of all the Photoshop’s extensibility layer technologies – Scripting, Generator and HTML Panels (leaving alone TCP/IP connections).
I’m very interested in the 3D context of the HTML5 canvas element. Not because I particularly dig 3D, but because it is hardware accelerated (GPU pumped) – i.e. damn fast. Eventually I’d like to test the possibility to use it as a pixel crunching machine to generate imagery within the Panel, to be finally passed back to Photoshop (if you’re faster/better than me implementing this, please let me know!).
I’m reading also (and want to go through it this year) the WebGL Programming Guide by Kouichi Matsuda and Rodger Lea. Among the plethora of books on WebGL and OpenGL this one is really clear and has never failed yet to anticipate a doubt of mine with a thorough explanation and some example code. Not that GLSL (actually GLSL ES 3.0, the OpenGL scripting code flavor used to program Shaders in WebGL) is the easiest of the languages, but if you’ve passed some hours with all the links I’ve scattered in this post, somehow it gets less scary.
All the Rest
I’ve just noticed that I’ve switched priorities – it’s now Coding, Photoshop and All the Rest. Which is OK – I’ve been spending my +8 hours a day on Photoshop since version 5 (not CS5) and post-production / pre-press is still what brings 80% of the food on the table; but it’s not anymore fireworks of passion – I admit, or should I say: I observe.
After about 15 years of use, I tend to notice flaws rather than functionalities, limits rather than features, missed opportunities rather than wow-factors. Grumbling is fine, but I’m happy to breath some fresh air with coding. Not that I feel particularly talented, though – on the contrary: I spend an awful amount of time on problems that officially trained (and much younger than me) programmers would solve in a snap. Plus, I have to keep learning mostly in the nighttime, or put it in standby (because life intervenes) for some days or weeks – which makes me constantly lose the thread. But that’s the way it’s going to be this year too hence no more complaining.
After all, many friends of mine (professionals in the business I’m in) are experiencing some similar, slight switch of focus – it has to be physiologic somehow.
On the personal side, after the earthquake in my region in 2012, we’ve had whirlwind in 2013 and flooding in 2014. Next years the odds are for locusts – at least my bets are just halfway between locusts and a falling satellite. See you there!