The fundamental thing about digital fabrication is the shift to post purchase manufacture.
The moment when a product is fabricated is a moment of crystalisation. An abstract design becomes a concrete product. A world of possibilities is reduced — irreversibly — to a single form.
Delaying that moment of execution until after purchase allows the world of possibilities to overlap with information about the purchaser and their context. The reduction of a product to its concrete form can be informed by this information: be it ergonomic, environmental, personal, social.
Companies who design products that adapt to contextual information will have a competitive advantage. Phones that just fit your hand. Furniture that just fits your space. Gadgets that just fit your lifestyle.
To do so, practically, they need to master their designs as parameterised applications: to publish the underlying logic of their models, not just static vector exports. At this point, the consumer experience can shift from radio buttons to sliders, as we can see in the first generation interfaces of Digital Forming and Matter Machine.
The next generation — the point where a wider consumer market is unlocked — is the implicit application of contextual data. Data generated by an app on your mobile is fed into the design-as-application and the implicitly personalised form emerges.
Alastair Pavan from WikiHouse often quotes John Maynard Keynes as saying:
"It is easier to ship recipes than cakes and biscuits"
I want to argue that the interpretation of these recipes (the “eval” part of the read-eval-print loop) is — far more than the usual hype — what’s really interesting about distributed manufacturing.
New research builds directly on the Schrödinger, Stuart Kauffman canon to derive not just life but intelligence from entropy. In What is Life?, Schrödinger defines life in thermodynamic terms, i.e.: entropy (or disorder). In At Home in the Universe Kauffman shows how order spontaneously emerges to create life. Now, Alexander Wissner-Gross (aka @alexwg), "a physicist at Harvard University and the Massachusetts Institute of Technology", has published research showing how intelligence emerges from the goal of maximising entropy.
The researchers developed a software engine, called Entropica … In one test, the researchers presented Entropica with a situation where it could … move a cart to balance a rod standing straight up in the air. Governed by simple principles of thermodynamics, the software responded by displaying behavior similar to what people or animals might do, all without being given a specific goal for any scenario.
Entropica’s intelligent behavior emerges from the “physical process of trying to capture as many future histories as possible,” said Wissner-Gross. Future histories represent the complete set of possible future outcomes available to a system at any given moment.
Wissner-Gross calls the concept at the center of the research “causal entropic forces.” These forces are the motivation for intelligent behavior. They encourage a system to preserve as many future histories as possible. For example, in the cart-and-rod exercise, Entropica controls the cart to keep the rod upright. Allowing the rod to fall would drastically reduce the number of remaining future histories, or, in other words, lower the entropy of the cart-and-rod system. Keeping the rod upright maximizes the entropy.
"The universe exists in the present state that it has right now. It can go off in lots of different directions. My proposal is that intelligence is a process that attempts to capture future histories," said Wissner-Gross.
If this is right, then the same force that creates life — the intentionality of physical systems to minimise order within the body — also leads to intelligence — the intentionality to maximise order outside the body. Every action has an equal and opposite reaction.
Intelligence and life are two sides of the same coin.
Nginx is the obvious front-end web server for non-blocking web applications. However, Nginx doesn’t currently support WebSockets (at the time of writing the feature is on their roadmap with "No date set").
You can compile Nginx with the tcp module to proxy WebSocket and HTTP traffic to different backends. However, as well as introducing the manual compilation step, this also requires running multiple web applications (for example, your main app on one port and your WebSocket handlers on another).
A more elegant solution is to put Nginx in front of your backend web application and Varnish in front of Nginx. Varnish can then be configured to pass WebSocket traffic directly to your backend whilst sending the rest of the traffic to Nginx. This allows you to run a single backend server that handles WebSockets and HTTP traffic on the same port without patching Nginx.
There’s about as much point producing a finance plan for a lean startup as there is writing a post-graduation CV for a toddler. Pretty obvious, right? Except it’s completely wrong: lazy, convenient thinking that misunderstands the relation between numbers and visibility.
We all know that a startup is a search for a business model and that in a startup, visibility is often extremely limited. How can you possibly make financial predications when you don’t even know what your value proposition is? Well, the answer is that you can, you should and that it’s actually very simple once you understand the role different numbers play and how they fit together.
Whoever takes the decisions bears the risk.
A simple principle for pricing risk into development projects. Whoever makes feature decisions and signs off on implementation should carry the risk of scope creep or non delivery.
As an agency or a developer, you can provide fixed cost development budgets but only when you decide what’s in or out and what done looks like. (More accurately, you decide on done, done done and done done done). Where it’s not appropriate for you to own the delivery decisions, it’s not constructive for you to bear the risk.
After all, as the great command line in the sky says, with power comes responsibility…
jQuery is the de-facto library for the web, installed on 85% of websites. There are calls for the last few major release versions to be shipped in all major browsers. However, look what just came along. Two way data binding in the form of <angular />, Ember.js and friends. Suddenly the very thing that jQuery is so good at, DOM manipulation, is abstracted out of the picture.
The lesson, which we all know, is that change comes not from beating the incumbent at their own game but from focusing on what’s going to make their strength redundant. The interesting thing I’ve just realised is that the Internet makes communication redundant.
So far, the main impact of the Internet has been to change the way we communicate. However, the real shift is towards a pervasive web where information is implicit. Just as <angular /> abstracts out DOM manipulation, implicit information abstracts out whole tranches of activity. Communication, for so long the core skill of successful brands, people and organisations becomes entirely irrelevant.
It may be tempting to view a future of no communication as a land of the blind where the one eyed man is king. In a world with no marketing, surely the business that buys ads will thrive? However, this misses the pivotal cultural shift. As HG Wells illustrated so well, people’s behaviour is governed by the culture they operate in.
Ours has already changed, forever.
I was chatting with @h4rrydog a couple of days ago about the best tools to collaborate “internally”, i.e.: between ourselves and with ad hoc teams of other people. Every man and his dog has their preferred workflow but I just setup one that’s so delightful I can’t help but share it.
The setup is to use a Google Apps email address (n.b.: #) with Do.com. The workflow is to use the little gadget Do.com installs into your gmail interface to turn emails into tasks. The task title is autocompleted with the email subject. There’s a small link to populate the task description with the email body and autocomplete widgets to assign the task to a person, a project and a due date.
It’s zen. Try it a couple of times. Headspace zero.
When I first heard about the BBC’s Sherlock, my heart sank. Talk about flogging a dead horse.
Sherlock Holmes and Dr Watson’s adventures in 21st Century London. A thrilling, funny, fast-paced contemporary remake of the Arthur Conan Doyle classic.
Last night, I watched it for the first time. It was exceptionally good. Bursting with character and rapier dialogue. The problem was that no matter how engrossing the drama, I kept being jolted out of my suspension of disbelief by the tenuous clips dropped in to reiterate the plot.
There is a scene where Sherlock cracks the code to a particularly alluring dominatrix’s safe. The code we see him entering immediately explains how he does it (spoiler alert: it’s her vital measurements). However, just to make sure that every viewer gets it, the dialogue has to lapse from rapier into journeyman so the dominatrix can laboriously explain this to Dr Watson. Later on, they parachute in a remarkably artificial clip where Sherlock summarises the entire plot, for no reason whatsoever, to two henchmen driving him to the airport.
I mention this because it illustrates the difference between mass media and the web. (As with most years) it’s widely predicted that in 2012, TV and the Internet will really converge. We’ll have Dropbox logos on our flat screens and our iPad alongside the remote. TV that puts the user in control of what they watch and how they watch it. The joy of which is that viewers who get the plot first time round needn’t suffer the tedium of its reiteration.
This post is about a user interface pattern, a common use case for it and an example implementation. The pattern is adding an extra dimension to a timeline. The use case is showing results that are both recent and nearby. The example implementation uses a slider widget and an adequate-result-volume algorithm.
When you have 1000 messages and you want to prioritise the best 50 to display, sort is the most common pattern. If the user is interested in the latest messages, sort by most recent. If they want to see the messages other users found interesting, sort by a metric like views or rating. However, the web is increasingly about real time data. Developers are processing streams and modelling tubes instead of tables. It rarely makes sense to display real time data in any order apart from most recent. So, what do you do when you want to prioritise by another dimension, like proximity or rating?
Togethr is an app platform and social marketplace with aspirations to become a social economy. Why, you might ask, do we need a new social economy? Because to treat an illness you go to the cause.
Ever since Keynes, governments have borrowed money to stimulate growth in order to protect jobs. The cause of the economic crisis is not debt but instead the need for job security. Job changes are like earthquakes, they can shatter a life. If job losses were not so shattering, we would not need to borrow to ensure they don’t happen. (Nor would we need to be so nervous about the day of reckoning when the credit runs out).
We smooth quakes by inducing small shifts. When vocational shifts are on the scale of project or task there is no need for job security. Togethr provides a means to earn a crust without having to have a job, a contract or, for that matter, permission. Social security without the tax burden or disincentive to work.