Foo Camp, our annual gathering in Sebastopol, Calif., brings together people we know and admire, and those we’d like to know better. It’s also a way for us to discover the ideas emerging at the edges of technology, business, art, science, and society.
The latest Foo Camp wrapped up recently, so we pooled our notes and collected the major trends we spotted across sessions and conversations. Consider the following an early look at big things to come.
Software structures in the hardware world
Working across disciplines has become more important than ever. Real low-level work is done by people with real low-level expertise, but everyone benefits from an understanding of all the systems that go into a company or product: software, design, hardware, markets, etc. Faced with this kind of multi-disciplinary complexity, companies have traditionally divided themselves into bureaucracies, with projects split formally into different disciplines. Software companies are used to flatter, more artisanal structures, and now that they’re moving into hardware and physical systems, they’re bringing those structures into areas that have usually been more bureaucratic. Will that last? – Jon Bruner
Creating forums for tech to interact with the rest of the country
Silicon Valley comes off as arrogant and threatening to other industries — obsessed with “disruption” and convinced that its background in software gives it better ideas for how to do anything. Companies outside of Silicon Valley badly want to understand it and want to find ways to truly collaborate with it, but they’re worried that conversations can turn into competition. “Old industry” has incredible expertise and operates in very complex environments, and it has much to teach tech, if tech will listen. – Jon Bruner
Humans and computers
How do we create robots that improve our world but don’t alienate us?
Everywhere I went, I encountered conversations about opportunities created by the gap between human expectations and technological capabilities. They don’t always feel like opportunities, at least at first. Seventy years in, programming itself is a strange exercise in getting people to think like computers. User interface and user experience disciplines are starting to get a grasp on how to make computers more accessible to humans. The technology and our ability to connect it to humans seem to move at different speeds, though.
A lot of conversations started with that mismatch as a concern. How do we create programming languages that bridge human thought and computer capabilities? How do we create robots that improve our world but don’t alienate us? How do we bring people into these conversations when they’ve been thinking along great but different lines? Answers were few and mixed, and there were flashes of impatience throughout.
“It’s just a tool” doesn’t begin to capture the richness of this ever-developing conversation. – Simon St. Laurent
Diversity in tech
We invited several people (almost all of them women) for whom diversity in technology is a focus. One interesting bit that emerged was how class and race are now entering the conversation, more than I’ve encountered previously. – Sara Winge
Many Foos are growing up and having kids. A lot of people made reference to them in their intros. It will be interesting to see how this changes what people do, what they work on, and how they work. – Laurel Ruma
Difficulties of hiring and living in San Francisco/The Valley
The fight for tech talent continues and escalates as companies struggle to hire enough qualified workers in San Francisco and The Valley. But, at the same time, the city and area struggle to house this generation of tech workers (and everyone else). Will we see a physical shift away from California to where the grasses are greener and more affordable? – Laurel Ruma
Bitcoin seemed to dominate most discussions about the future of money, but in a question I posed to a handful of attendees — “What will money look like in 10 years, and how will it evolve over the next decade?” — people didn’t seem sure about bitcoin’s survival. But they were sure about cryptocurrencies and money becoming less less physical in nature. – Jenn Webb
Big data and the Internet of Things
As components in the big data ecosystem enter the early stages of maturation, data engineers are sharing best practices on how to assemble them together. At Foo Camp, many of the discussions regarding sensors and the Internet of Things (IoT) often ended up in “big data.” It was interesting to hear that many of the data engineers at Foo were paying attention to IoT, and the potential role of the big data components they’ve been using to build data infrastructures for web companies. – Ben Lorica
Designing safe and useful UX
Designers need to strike a balance between safety and convenience.
Someone in one of the sessions said “Starbucks is the gateway drug to mobile payments.” We’re paying by mobile more and more, but are our funds safe? This discussion had me thinking we have a huge challenge ahead of us. How do we design experiences that provide a balance between safety and convenience? Designers are charged with striking that balance when creating UX. Services and apps mentioned within these discussions included Uber and Cover [Disclosure: O'Reilly AlphaTech Ventures is an investor in Cover]. Also, factors to consider when designing for mobile transactions include friction, convenience, meaning, and trust. – Mary Treseler
Design’s role in connected devices and changing interaction models
Design is everywhere, sometimes visible, oftentimes not. How are the IoT and mobile changing how designers design? How are these things changing how users behave? One of design’s goals is to simplify, yet the connected world looks complex and complicated. The next challenges are to sort out how to make certain we make sense of ourselves and determine how we operate in our connected worlds. – Mary Treseler
Security is a constant concern (finally)
It used to be that security would only flare up as an issue when a big data breach occurred. We’re past that now as data breaches are a common occurrence. I am happy to see that programmers, of all sorts, are going to have to consider security as a top-level deliverable and that information security professionals seem to be listened to more and more in terms of what is necessary for web, system, and data security. Security is officially a constant concern. – Rachel Roumeliotis
Rust is an emerging programming language
C/C++ are super fast, but very unsafe. Rust takes care of that issue. C and C++ and the like are generally used to run big and mission-critical systems, so if a bug is introduced not only does it slow down the program, but it can make the system vulnerable and unable to perform. I see the introduction of Rust as an answer to the need and desire to continue to use C and C++, but in a much more unstable and unsafe world. (Interestingly, game developers have taken to the language.) – Rachel Roumeliotis
How do you show someone how to create a new programming language?
I wasn’t surprised to learn that attendees who had created a new programming language—or were involved in developing one—seemed to think it was hard to teach someone how to create a new programming language. From the outside it seems completely unfathomable. Where do you start? There are, of course, fundamental concepts that back programming languages, and solid programming techniques apply across languages. And, generally, if you are at the point of writing a new programming language, you have a good reason to do so. But even if you have a mastery of all that creates a good program, a driving reason to write a new language, and a comprehensive understanding of the history of programming languages, you still might be out of luck.
The consensus was that while you could completely understand a program or language to the least important function, you still need instinct. Can instinct be taught? I don’t think so. You can nudge someone along and experience certainly helps, but at some point ideas, concepts, and conclusions just have to click. – Rachel Roumeliotis