Dell Cloud Clinical Archive infoGraphic from Dell:
Sporadically posts from someone who still does occasional 'blogging'
I quite like Bauhaus (both the school/movement and the band)
“To choose order over disorder, or disorder over order, is to accept a trip composed of both the creative and the destructive. But to choose the creative over the destructive is an all-creative trip composed of both order and disorder” - Malaclypse the Younger, K.S.C.
Disregard anything said by anyone older than you, pay attention to those younger.
I’ve avoided weighing in on the New Aesthetic thing, being happy just to watch it unfurl from the edges, but since I’ve seen this come up a couple of times I just can’t resist. Tom Coates as always poses a good question, although I’ve seen other people also mention it in comments and so on.
The thing about the #newaesthetic I don’t completely get is why it’s so heavily influenced by the colors and 8 bit graphics of the 1980s.
— Tom Coates (@tomcoates) April 6, 2012
I mean, things being pixellated – digital in the real world – if anything, pixellation is on its way *out* with retina screens et al…
— Tom Coates (@tomcoates) April 6, 2012
Pixellation, tessellation, patterns and artefacting seem to me to be already retro. We’re going HD, algorithmically generated, retina screen
— Tom Coates (@tomcoates) April 6, 2012
The answer is this (and I’ll expand later) images, fashion and so on in the 80s was inspired by the computer graphics of the time, and ideas around what computer graphics would look like. So lots of 8bit stuff, neon and Tron like faff.
The New Aesthetics, or at least the aspect I’m looking at, is inspired by computer vision. And computer vision is at the point now that computer graphics was at 30 years ago. The New Aesthetics isn’t concerned with retro 8bit graphics of the past, but the 8bit graphics designed for machines of the now.
Maybe this image will help, before I go and justify my above statement…
I’ll come back to Vision vs Graphics in a moment.
But if, for example a fashion designer took inspiration from the motion capture outfits above, and made clothes featuring large 1bit “pixels” I’d count that as New Aesthetic. But how are new pixels different from old pixels?
A lot of the New Aesthetic is directly related to (or descended from) the Robot Readable World (RRW). You can read way more about that over at the BERG: The Robot-Readable World. And even earlier in Matt’s slides from 2007: The Vernacular of the Spectacular – Playing with Bits of The City, in which you can see obvious precursors to what we’re now called NA (slides 25, 30, 34 & 45).
See also, Robot Readable World - Timo Arnall, THE NEW ROBOT DOMESTICITY - bldgblog and With Robots - Diego Trujillo Pisanty. Here’s an image from the With Robots project…
Image: From With Robots by Diego Trujillo-Pisanty
Because machine/computer vision isn’t very advanced, to exist with machines in the real world we need to mark up the world to help them see. The above image is imagining how this could work, but below is it occurring in the real world…
Robots navigate via a grid of QR codes – Kellan
…QR codes (or something somewhat similar) are placed on a factory floor in a grid solely to aid robots, there is nothing here for us humans to use. And yet the passage of the robots create a pattern, tracks from the wheels and circles where the robots turn and turn and turn. This is computer vision spilling out into the real world.
It’s been there for a while now, bar codes have been around for years, but we can expect to see more of it. The testing and slow introduction of computer driven cars will most likely see special markings on roads & signs giving the cars instructions. All throughout shops, malls, streets and cities markings for machines are appearing.
The first part of NA I’ve been paying attention to has been the examples of this spilling out, the bits of the city not meant for us. The second part of NA I paid attention to was what happened when artists began to deconstruct and respond to that encroachment, how can designing for robots influence our own design?
So how do I know that computer vision is lagging behind computer graphics? Well firstly I know I can easily buy two consumer grade specifically design graphics cards with GPUs on running in parallel to install in my desktop PC. I don’t seem to be able to buy specifically design computer vision cards to stick in my machine. In the consumer space one is definitely leading the other.
Secondly, games can create all sorts of worlds, spaceships, fantasy lands, renditions of hell, cities from the 80s and so on with their fancy graphics, reflections, fog, shaders, realistic light sources and particle effects all adding to the effect.
Computer vision can recognise faces (badly), blocky Augmented Reality (AR) surfaces and very specifically registered AR surfaces.
Consumer desktops can produce pretty good environments in real-time (heck the new iPad can) and render photorealistic images given a bit longer. Meanwhile they can see bugger all, unless we’ve specifically designed it for them.
Here’s a quick list of the progression of computer game graphics, and a screenshot from Sentinel because I like it…
Sentinel screenshot from sci-fi-o-rama.com
…actually now’s a good time to jump over to The Virtual Art of 80′s Game Worlds for a quick read, and then come back.
That list, in sort-of kinda easily disputable chronological order (fit Alone in the Dark in where you like)
That seems like a not unreasonable list. And getting back to the tweet posted by Coates above, if New Aesthetics was aping early computer graphics, the 2D, Isometric, Solid 3D, 8Bit colours stuff, then indeed it’s being retro for no good reason, when it could take its cue from photo realistic AR & retina displays, moving beyond the pixel.
Now a list of computer vision, in similar not-quite but almost correct order…
3D Wireframes were around 30 years ago, solid & textured 3D shortly after and still all done in software. 20 years ago some of these calculations moved onto GPUs on dedicated 3D graphics cards.
Computer vision it’s all still done in software, and we’re roughly up-to depth, joints, colour & shading detection, if the evolution was on par with graphics we’d start to see the first few dedicated vision cards appearing on the market for consumer use.
Or put another way, current computer vision can probably “see” computer graphics from around 20-30 years ago.
Which in turn means to design for machine eyes we need to be at the level of computer graphics from the 8bit era, and so we have QR codes all over the place.
Chris Heathcote wrote about NA fashion: a new fashion aesthetic…
“Sometimes it’s just the right colours, or the cut. It’s more gradient fill than pixels. It’s things that couldn’t be made 5 years ago. Supersymmetry and asymmetry. It’s not about the ‘machine vision’ that the New Aesthetic references, but it’s hard to see how that will not be appropriated and re-emerge into fashion as something not necessarily technically correct but aesthetically interesting.”
I’m going to disagree with the “not about the ‘machine vision’” part, and wrap it up with markings for machines spilling out into the real world I mentioned above. If the markings machines can understand are currently at the level of edge detection, outline/shape, depth, joint & colour shading/gradient and that’s out there in the world, being all odd and not for us, but inspiring and guiding designs, art and designers, then we get the gradient fills, sharp cuts & polygones.
And I can see how that’s easy to confuse with retro 8bit 80s style, but as I mentioned before NA is about what machines can see now, rather than what they could produce back then, it’s just that vision is 20-30 years behind creation and so there are many similarities.
New Aesthetic is about the polygones and edges and pixels of now vision, not the polygones and edges and pixels of back then creation.
I wanted to write this because I’ve seen a number of occasions where the question “But isn’t NA just retro?” has come up, and I can see why it comes up and where it comes from. I just wanted to explain that the NA pixels do come from some other place, the RRW. It isn’t all just glitch, but actually a response to new markings appearing in our world.
There are also other angles to the NA that do involve retro 8bit, such as this pixel Whale…
Whale – Flickmor
…which is a representation of pixels in the real world. And as Coates says, as we’re moving to retina displays, pixels as presentation is something that’s going away, making this image distinctly about nostalgia and yet still feels like NA.
And then on-top of that there’s art/design inspired by what’s been collected together so far, which gives us…
Number 1 is the markings on the factory floor for robots, number 2 is a lot of the New Aesthetic that’s been gathered that’s taken it’s inspiration from the factory floor markings.
I’ve partaken of number 3, I wrote some code to turn images into patterns, rather like this…
I probably wouldn’t have made these design decisions if I hadn’t recently been immersed in the thinking about exactly what NA is (*spoiler* I still don’t really know). The look and feel is supposed to be that of NA, but I’m not sure this makes what I’ve done NA.
But what I’ve done here is no longer about machine vision and looks far closers to a variation on pixels and so reinforcing the retro confusion. It’s supposed to be modern not retro.
New pixels, not old pixels.
I should probably mention drones, abet quickly, and my understanding of drones.
When I think of a drone I think of an autonomous agent, not something that’s being controlled remotely by people in a bunker with laptops (or whatever). Something with GPS, altimeter, navigation, satellite images, vision.
Something that left to its own devices can operate itself, sensing, watching, reacting. It is machine vision actualised.
As part of a bigger project I wanted to generate an abstract background image/texture. There’s obviously a huge number of ways to do this but due to a few constraints I put on myself the method I ended up with (described below) seemed like a good solution. First the constraints…
1) The project involves grabbing the latest news headline from the Guardian API, and because I want to run this in javascript from a github hosted page I don’t want to use an API key that everyone will be able see. Which in turn means I don’t have access to any of the images (you need an API key to get the media assets related to a story) other than the thumbnail.
2) The thumbnail is tiny 140px x 84px.
3) Telling the browser to scale up the image without smoothing (see snippet below) gives it a nice mosaic effect, but the iPad ignores that and makes it look all blurred and shit anyway.
{
image-rendering:-moz-crisp-edges;
image-rendering: -o-crisp-edges;
image-rendering:-webkit-optimize-contrast;
-ms-interpolation-mode:nearest-neighbor;
}
4) It has to be done in javascript, so no server-side image processing (although as you’ll see later it does involve a small amount of server side stuff, but for a totally different reason).
Recently the pxl app for iPhone has filtered through my friends. It allows you to apply a variety of abstract compositions to your photos, a popular one turns an image into a collection of triangles, rather like this…
…a general effect that should work well, and allow us to create a large background image out of a relatively small source image.
This seemed like a good solution, by doing something very similar I can now turn a thumbnail that actually relates to the latest headline (which is the thing we’re actually after) into a fairly abstract and pleasing, but not too distracting background. All I needed to do was chop it up into triangles.
No idea if this was intentional, but the thumbnail from the guardian is divisible by 7 in both width & height, giving us a grid of 20 x 12 tiles, each tile 7 x7 pixels.
The next step was to look at each “tile”, work out which way to split the tile, diagonally from top-left to bottom-right or top-right to bottom-left and the colours to use for each split.
I decided the best way to do this was to divide the square up into quarters, top, left, right and bottom. Average the rgb values in each quarter and then work out if the top quarter was closer in colour to either the left or right quarter. If it was closer to the one on the left we’d split the tile that way, combining the top average colour with the left one, and the opposite if it was closer to the right quarter. A picture will probably explain it better.
You can see that each quarter contains 9 pixels, I didn’t bother counting the pixels on the diagonals. So anyway, averaging the rgb values of the 9 pixels in each quarter, and then comparing them is what I did. In the above example the green is closer to the blue than the red (and the yellow is closer to the red than the blue) so we’d split top-left to bottom-right.
The code: which is here on GitHub, is a little bit specific to the 140 x 84 pixel size, and grabs the pixel values long-hand. At some point I’ll probably make it generic so that it can work with any sized image divided down into any number of tiles. But just to get it working it seemed easier to hardcode some of the values.
The end result is something like this…
You can see the whole thing running over on GitHub…
http://revdancatt.github.com/GuardianAmbientHeadlineRadio/
I also dropped in some meta-tags to make the whole thing work a bit better on the iPad/iPhone and GoogleTV, just because I wanted some nice abstract art in my living room :)
<meta name="gtv-autozoom" content="off" /> <meta name=apple-mobile-web-app-capable content=yes /> <meta name=apple-mobile-web-app-status-bar-style content=black-translucent /> <meta name =viewport content=initial-scale=1.0 /> <meta name=viewport content=width=device-width /> <meta name=viewport content=user-scalable=no />
Weirdly the project is really supposed to be about text-to-speech and music, with the image background as just an extra bit of colourfulness. But now it’s here I may fork the code to keep the image part as a snapshot for other things, or at least so it doesn’t get bogged down in all the other stuff.
Again, if I was running this on something other than GitHub hosted pages I could do a bunch of this stuff on the server side and not worry about it, but instead I have to deal with loading an image from a remote server.
In an ideal world the guardian would be using CORS and allow canvas to access the image data from the image, but boo, not yet. And so a proxy server of sorts has to be used to deliver the image to javascript. We can’t put anything on GitHub to pull the image to the server so we still have to use something on a remote server.
I put this up on Google AppEngine (which is my general weapon of choice and experimented with python 2.7 on there at the same time)…
import json
import urllib2
import cStringIO
import base64
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
remote = urllib2.urlopen(urllib2.unquote('http://static.guim.co.uk/sys-images/%s') % self.request.get('img'))
img = cStringIO.StringIO(remote.read())
rtnimg = base64.b64encode(img.getvalue())
type_prefix = "data:image/jpg;base64,"
data = {
"data": type_prefix + rtnimg
}
self.response.headers['Content-Type'] = 'application/json'
if 'callback' in self.request.arguments():
data = '%s(%s)' % (self.request.get('callback'), json.dumps(data))
self.response.out.write(data)
else:
self.response.out.write(json.dumps(data))
app = webapp2.WSGIApplication([('/img_to_json', MainPage)], debug=True)
…which reads in an image from the guardian, converts it to base64 and chucks it out in a json response.
Meanwhile, on the client side, jquery calls the endpoint passing over the second half of the image URL, gets the json back and sets the source of an image to the data:image/jpg;base64 value. Which now doesn’t suffer from cross-domain security and we can get access to the image data for shoving onto a canvas object.
It’s a bit of a hack, abet a fun one, but hopefully greater implementation of CORS will remove the need for any server side stuff, at which point I can get rid of that part out of the code altogether.
Yay, I got to launch the Guardian GoogleTV project that I’ve been tinkering with over the last few months. I’ve already written about it over on the Guardian Developers Blog and there’s a more general overview on Inside Guardian so there’s not much point repeating that here.
But I did want to tie it in with a couple of things bouncing around in my head, let’s start with…
Every so often I have a mild panic attack on behalf of journalism in the face of speed of innovation elsewhere. Like now #sxswi
— emily bell (@emilybell) March 12, 2012
And the Hacking is Important post from Michael, which I shall now quote extensively from…
‘[Facebook is worried about] the growth paradox, which goes something like this: The end result of successful hacking is product, and that product needs to grow by building more things. The more you grow, the more things you have, and the more you need people whose job is simply to coordinate the increasingly interdependent building activities. These people, called managers, don’t create product, they create process.
‘Hackers are allergic to process not because they don’t understand the value; they’re allergic to it because it violates their core values. These values are well documented in Zuckerberg’s letter: “Done is better than perfect”, “Code wins arguments”, and that “Hacker culture is extremely open and meritocratic”. The folks who create process care about control, and they use politics to shape that control and to influence communications, and if there is ever a sentence that would cause a hacker to stand up and throw his or her keyboard at the screen, it’s the first half of this one.
‘The growth paradox is that the chaotic means by which you found success might become distasteful to those you hire to maintain and build on that success. Once they’ve established themselves, they will point at the hacking and ask important sounding questions like, “What is it they are building?” or “How does this poorly defined thing fit into our overall strategy?” They will label these hackers “disruptors” and they are 100% correct.
‘Hacking is disruptive, and whether you code software, write books, or film movies, I believe bringing anything new into the world is a disruptive act. By being novel and compelling, the new is likely to replace something else and that something else isn’t being replaced without a fight.’
Fortunately the Guardian (as has facebook) found ways to work around the growth paradox. For the Guardian the growth in this case isn’t your sudden start-up to internet infrastructure over 6 years growth, but the been-around-for-a-very-long-time growth.
The 1st way was to build the Guardian Open Platform & Content API. At a time when other news organisations are putting up paywalls, the Guardian sticks all its content into APIs for developers to build on and incorporate into tools.
The 2nd is to actually use its own Content API on a daily basis to quickly prototype projects, hold internal & external hack-days and then giving developers enough rope with which to hang themselves :)
Obviously I’m coming at this from the developer angle and this is a technology project rather than the journalism that’s giving Emily mild panic attacks. Which is why we also have Open Journalism (and #OpenNews) and ways of linking these two together internally.
With those two prongs performing a pincer movement on “Open”, along with the API and internal support for “hackers” we have a pretty good ecosystem for moving quickly(ish) on the digital. We don’t have an R&D “lab” (unless it’s very will hidden under Guardian Towers) but I’m slightly wary of shuffling off innovation into a separate unit anyway, it should just be core to business as normal. From which fertile ground sprung forth the GoogleTV project.
Anyway, as mentioned in the Dev Blog post, this project started as a “what if?”, in this case, “we’re looking at desktop, tablets & mobile a lot, what if ConnectedTVs really start take off?”
There are just over 300 million people in the USA, and around 270 million TVs, there’s actually more TVs per household than people (2.7 TVs vs 2.5 people). You couldn’t move for ConnectedTVs at CES this year, although no-one can quite tell me exactly what a Connected TV is. In years past the invention of the radio was going to kill newspapers and then video was going to kill the radio, the internet in turn was set to finish off the television and all of them had it in for books. Instead what happened is that nothing really died but stole ideas and characteristics from the newer shiny toy. Books can now be ebooks with links to twitter, newspapers now have podcasts which are like the radio but on the internet, the internet has TV programs on it and the telly can now show webpages.
Clay Shirky in his book Cognative Surplus attempted to quantify “spare time”, the premise being that we no longer work all our waking hours and have some time left over and that time is often spent sat infront of the television. A trillionly billionty hours, and if we did something with that “surplus” time great things could be achieved.
The measure he ended up with was this: if everyone spent just one advert break per week updating Wikipedia, we could have a new Wikipedias every few weeks. Admittedly they’d most likely be terrible, terrible Wikipedias but I think the point still stands. As much as some people claim that other people spend too long on the internet, as a society it’s nothing compared to that spent infront of the TV.
“We can do a back-of-the-envelope calculation, for example, using Wikipedia, to see how far we still have to go. All the articles, edits, and arguments about articles and edits represent around 100 million hours of human labor. That’s a lot of time. But remember: Americans watch about 200 billion hours of TV every year.”
- Clay Shirky, Wired: Cognitive Surplus: The Great Spare-Time Revolution.
There’s all sorts of things we could take away from this. But for me, at the moment it’s this… people spend a fuck load of time infront of the TV.
And now, TV manufactures want people to interact with the TV, various brands have their own web browsers and services built in, Apple have their Apple TV “puck” that you can attach and Google have GoogleTV that comes either built in or as a unit you can plug in.
It seems reasonable that we (the Guardian) would want our news, and images and video and podcasts, on all those millions of devices.
Of course it’s still very early in the ConnectedTVs world, there’s currently only around 1 million GoogleTVs out there in the wild, but then there aren’t that many of the other breeds of “connected” TVs either, Apple has no browser on their puck, some gaming consoles have browsers but of different abilities and so on. But you have to start somewhere and if you want to quickly sketch out an idea then GoogleTV is a pretty good place to start.
It’s basically Chrome with HTML5 and CSS3-ish, and that right there should tell you that you already have all the tools you need to knock something together that’ll work on a TV.
Our plan was to quickly sketch out ideas, throw them onto the TV to see what worked and the big screen and what didn’t. It also meant that we could iterate quickly and push changes as often as we liked, which is nice.
That all new TVs in a couple of years will have internet browsers and access is all but inevitable, and as they get into more and more homes you suddenly have a new audience, people who like to just sit down and be informed/entertained by the nice, bright, large screen in the corner (or mounted on the wall). And now seemed like a better time to start thinking about that than trying to play catchup later.
So this experiment isn’t so much about the now but rather what may be in a couple of years time.
Well that and an excuse to buy a new big telly ;)