2 things came to mind though.
1. It seems, possibly, the exact wrong time to make rooms with giant displays. With things like Google Glass and Oculus Rift as first gen (2nd?) VR/AR you could project all of that info virtually and cheaply and be able to have all the visualization he describes wherever you are, not just at a makerspace that only a few people can use at a time.
2. I'm always super inspired by the Bret's visualizations but when I actually try to figure out how they'd be implemented I'm clearly not smart enough to figure out how that would happen.
In this example in particular, he shows graph toward the end where the system tries every setting and graphs the results so it's easy to pick out the best setting. How would that happen? How does the system know what "good" is? It seems to me it can't know that. You'd have to program it which in itself would be pretty hard. Worse, most system have not just one adjustment but many. Just a few and there'd be tens of thousands of variations/combinations to try to figure out "best".
I'm not saying we can't get there. Maybe the first step is building a framework that would make it easy to make systems like that with various kinds of visualizers, analysers, time-recording, searching features etc, and maybe somewhere along the way we'd figure out how to automate more of it.
I'd love to help work on such a system.
In a research field of Parameter Tuning we try to answer that question. The field is more focused to optimizing algorithm parameters, but it could be applied to physical world of robots etc., if it is feasible to automatically repeat the experiment few dozen to around hundred times.
If we would do like Bret proposed, by logging each experiment we would already have done some "probing" on the parameter space. This, in turn, would allow us to build a statistical model of the phenomena and then minimize/maximize on that. The resulting parameter configuration would then be evaluated, the model updated and the process repeated until satisfactory level of performance was reached.
See for example the recent works from Hutter et al. [1], where they use Random Forests with parameter tuning to make parameter "goodness" predictions (in order to reduce the actual experiments on the target algoritm/robot/whatever).
I can see glass being good for things like surgery, where you need to concentrate your attention on something, but would like some extra data to be easily available.
VR might be a substitute for live brainstorming sessions, and it might allow you to visualise in new ways. But latency is going to be killer across remote locations, and that's a big challenge in terms of infrastructure.
2. I'd imagine as these types of techniques become commonplace, we'll have to learn more stats.
You could also apply clustering and neural nets to a lot of data sets, but yeah - maybe we'll all have to become statisticians.
I think the reason he wants giant displays is the reason we have giant shared displays in control rooms to: so you can see what others are looking at. Don't forget maker spaces are supposed to be communal spaces where you share ideas. You can learn a lot just by watching someone else use a tool the right way. And then there's of course the collaboration, where shared displays are even more important.
This specification of the ranges also solves the problem of optimizing multiple parameters simultaneously — people usually begin with hunches about what the optima are, which significantly limits the number of possibilities the system will have to test.
The second is with full VR goggles. Right now there's not a really good way to be able to use them and interact with anything outside the VR environment.
For your other point about the graph the system doesn't have to pick out the best on its own. Just having the possible values and the results displayed the user could pick which one achieves their goals best. For his light following robot though there's a pretty easy way to evaluate the parameters, how far is the robot from the light, that is a simple function and could easily be programmed.
The integration of the whole room and how you get the robot to automatically do many runs with different parameters, for the viewing across possibilities, is where I think a lot of the difficulty lies. To do that with a small robot you have to have a lot of things automated: robot repositioning, light movement, data collection on the robot, etc.
Additionally there are already plans for a front facing camera (that could do pass throug), because of the being blind part and the potential for hand/peripheral tracking in addition to augmented reality.
Bonus: I hope they just go all out and make/purchase custom hardware tech for structure.io/project tango structured light real time 3d scanning. Would be so cool!
Assuming it's 5 years (probably over estimating) where will fb oculus be? If it happens to have become fb oculus glass, something you wear that can augment the world this system of Bret's will come to fruition just as there displays are no longer needed
I guess that's irrelevant though as switching displays will be trivial. The real work is in the software
He had some fade-to-black effect in his presentation, after which the robot magically appears at its starting point ... yeah. You're basically going to need a robot arm if you want to automate that bit.
This is fine, except that it limits those who need to tinker in order to find out how those concepts work. When the elements are visually recognizable and physically manipulatable, you can tinker without having to hold the entire chain on concepts in your mind. It reduces the load and increases the likelyhood of 'playing around'.
I hope some day more of Victor's ideas can be realized through the understanding that visualizing processes allows us to use more of our brain to design and develop or products -- not to mention stumble upon and explore unexpected outcomes.
I mean, If I'm not visualizing something, I can perhaps find some solution in a logical way following some guidelines -- much like following a recipe to solve a equation or doing trial an error to solve an algebraic problem. But critically, I can't create this way. I may stumble unto something useful, but it's an entirely different process from creativity -- it's efficiency is so much lower that it's qualitatively different.
But my difficulty at that is not fundamental, I think. I believe you can be creative purely 'algebraically', but I have no experience with it -- but I do believe that some people have the same efficiency that I have when I think visually and perhaps stumble a little more when trying to visualize things themselves.
I do think this diversity is quite good, but that's missing the point. My point is that Bret's tools shouldn't be universally essential, but are probably universally beneficial. And for some people, like me, they'd be simply enabling.
To give an exaple: when I see a system of linear equations, I don't think of a bunch of steps to solve them and the number of cases that the solutions may look like in terms of constraints of variables an so on. I think of the Image hyperplane, which can be abstracted as a plane in 3D, and the Kernel, which may be for example a line not on the Image. Then instead I wonder if the Kernel is non-null, what funny things this matrix is doing to the vectors (are they rotating, contracting, and so on), or what are the invariant subspaces. I can answer most questions one could ask about such system, but it's a distinct way, I'm not sure if more efficient or not (and that may be up to the task).
Again just my opinion - those who say they are better at visual problems often just need to practice more without the crutch.
"Hundhausen and colleagues found that how the visualizations were used matters a lot. For example, using visualizations in lecture demonstration had little impact on student learning. But having students build their own visualizations had significant impact on those students’ learning." p.118
Oram, Andrew, and Greg Wilson. 2011. Making Software: What Really Works, and Why We Believe It. Farnham; Cambridge: O’Reilly.
Whenever someone mentions making _programming_ more visual I just get this feeling I don't really understand what they mean. The act of programming is just text to me. Doing simulations, measurements and what not can be visual, but the only way I can see "visual programming" is clunky and cumbersome.
I don't know if I'm just misunderstanding people, but the composition of code doesn't need to be anything else than text-based in my opinion.
Edit: I have seen some of Bret Victor's tools and his tool for visualizing change in game programming is very cool and I'm sure very helpful, but that is a very, very specific thing and whenever you take it out of that context it becomes so much less interesting and helpful.
I'm not advocating just giving up on the whole idea, but I feel like people are trying to generalize things that they've only imagined for very specific purposes.
...what blows my mind more though is he keeps giving talks and hasn't open sourced any of his software on github, like he said he would. i doubt he's working on some big product that puts all his software to use. it's all going to waste and could have helped propel the visions he's set forth. it makes zero sense.
As an example, "Inventing on Principle" has inspired many people and companies to think more deeply about development environments, and to try implementing more speculative ideas. A skeptic can point out that much of that consequent work is of mixed quality, but that's just Sturgeon's Law. What matters is that more people will think better thoughts about more important problems. And that's certainly occurring as a result of Victor's talks and essays.
I realize this is antithetical to the prevailing theory of lean startups, but, from a deep research perspective, that is exactly why committing to support an open source project or a company is so dangerous. Soon you would have people depending upon you, and the freedom to explore vanishes.
The challenge in both the maker space as well as much of the visual learning and programming material he has done previously is that each of them is incredibly time consuming to adapt to each new different project. In the real world even similar tasks within projects in the same domain often have enough subtle differences that re-use is not possible or very costly.
That isn't to say these are insurmountable but maybe much of the focus needs to be on meta-tooling that can accelerate the work of experts to build these purpose-built environments (as opposed to making generic tooling).
Inspiring stuff.
That seemed to me to be a big unresolved tension in his comparison between command centers and physical workshops. Command centers still just have lots of general use multi-purpose workstations. TV stations do much better on this point, interestingly.
While they all allow for seeing, I wonder what kinds of improvements we could have with purpose-built HID.
I think debuggers are under appreciated by Open Source languages(as in, it's not THE priority). An approach I am forced to use is heavy log statements and a DEBUG flag, so that I can feel the program show me what it's upto.
I think Bret's ideas are worth pondering on. The only issue when dealing with the philosophical idea of time, I find for myself, is that it's an easy rabbit hole to fall into.
Nice interesting paper tangentially related to this, http://www.vpri.org/pdf/tr2011001_final_worlds.pdf
[1]: http://en.wikipedia.org/wiki/Cave_automatic_virtual_environm...
It's not only monitoring because it's not passive, they interact with the system and make changes on the fly, so it's making in a sense too.
More specifically see phybots:
Kato leverages the overhead camera trick in this system, though in a bit different way. See "A Toolkit for Easy Development of Mobile Robot Applications with Visual Markers and a Ceiling Camera:"
Let say you're doing some medical research, growing some cell cultures and you add some compounds to the cell cultures to see what happens. Then something weird happened to some of the cell cultures, and you don't know exactly what caused it. Perhaps that thing was really an important scientific discovery waiting to happen, but you missed it, because you didn't have all the data.
The process is normally recorded with a lab diary, where you write down everything deemed important. The problem is, you're not going to notice everything, and there is also a lot of things that you can't see without more sensors that just your eyes.
The system Bret describes here is basically an automated lab diary. With enough sensors it could record much more data, much more accurately than a person, and it has a way to query the actual data rather than having to either manually browse through pages of text or searching through it with just a basic full-text search engine.
A problem with many scientific experiments is that you might a lot of measuring equipment and sensors for the thing you are doing an experiment on, but you don't have the same thing for the experiment itself, to easily be able to debug the process and to see where something went right or wrong. Why was one lab able to reproduce an experiment, but another couldn't? This kind of questions can be very difficult and time consuming to answer.
You could collaborate, sharing the same view, or each individual could project different views, or mix and match.
My experience with years of embedded programming is that NO HUMAN BEING is made for working with the cold, brainless machine or metal if you don't visualize your data.
Even the person who tells you she likes doing it, she can't work on it for long periods of time without burning.
It is like climbing over 7.000meters of altitude. Humans could survive for some time with those conditions, but depleting internal resources fast.
Some pretty tools in there.
And if you're going to talk about ideas and inspiration: Lighttable does nothing that emacs didn't do 20 years ago except a little prettier.
See http://SchemaTheory.net for a draft presentation that is still in work. Audios are still in production for the tutorial.
Other papers on Schemas Theory are at https://independent.academia.edu/KentPalmer and http://emergentdesign.net and http://archonic.net
A good book on Schemas is Umberto Eco Kant and the Platypus.
Basically schemas theory tells us what it is possible to see and also give us the intelligible templates for our designs.
So it's good to stick to some boundaries. In the example of the robot: you could measure room temperature, because maybe the sensors are acting to it. Or you could measure the amount of people in the room because sensors could act to it. Heck, maybe the sensors are acting different to different people, so track there faces and store it. Well maybe sensors are sensitive to somebodies smell so track that too.
There are limits to what is useful to track.