Rocky Mountain Ruby 2016

Stop Writing Web Apps and Change the World

Stop Writing Web Apps and Change the World

by Dave Thomas

In his talk "Stop Writing Web Apps and Change the World" at the Rocky Mountain Ruby 2016 event, Dave Thomas challenges developers to shift their focus from traditional web applications to more innovative approaches that can genuinely change the world. He begins by reflecting on his previous talks, which were often pessimistic, and decides to adopt a more inspiring tone regarding the future of technology and development.

Key Points Discussed:

  • The Death of Web Apps: Thomas asserts that web applications are becoming obsolete as the majority of traffic moves to mobile devices, where the experience resembles that of an app. He encourages developers to stop writing traditional web apps to embrace creative coding solutions that have a genuine impact on society.
  • Embracing Unreasonableness: He emphasizes that change demands an unreasonable mindset. Developers must be willing to take risks, innovate, and sometimes fail in order to create meaningful change. Thomas contends that the field of software development uniquely fosters this kind of thinking.
  • Historical Misconceptions: To underscore the difficulty of predicting technological advances, Thomas shares examples of past predictions about technology that turned out to be wrong, such as skepticism about the efficacy of rockets and personal computers.
  • Open-Source Development and New Technologies: He highlights the role of open-source projects as a gift economy where contributors share out of gratitude. New technologies, such as mesh networking and low-power communication protocols, extend connectivity and unlock further innovation.
  • The Phoenix Framework: Thomas discusses the Phoenix framework, which he believes should not just be seen as an alternative to Rails but as a powerful tool for handling large data streams and real-time connections, encouraging developers to explore its potential.
  • Future Vision: He invites the audience to imagine a future with seamless technology that manages personal identities and creates interconnected systems through small, powerful devices that enhance our daily lives. This future relies heavily on trust management and innovative collaboration among developers.
  • Experimentation and Innovation: Highlighting the importance of hands-on experimentation, Thomas encourages developers to leverage cheap hardware and accessible tools to prototype new ideas, cultivate creativity, and redefine how technology is integrated into our lives.
  • Trust and Identity Management: He outlines that as technology evolves, how we manage identity and trust within our systems is critical, suggesting potential solutions like blockchain while emphasizing community involvement in these discussions.

Conclusions and Takeaways:

  • Innovation is within reach if developers are willing to break away from traditional models.
  • The future of technology will rely on interconnected systems that enhance user experiences while effectively managing identity and trust.
  • Developers have a pivotal role in shaping a vibrant narrative of technological advancement and societal change through exploration and collaboration.

Through his engaging narrative, Thomas inspires developers to ignite their curiosity and actively participate in shaping the future of technology.

00:00:13.559 Is it just me, or does that guy look kind of skeptical? Yeah, he's probably heard me talk before. Typically, in the last year or so, I've been giving the most pessimistic, downer kind of talks you can imagine. It turns out they're really popular because I guess I capture the mood of the times.
00:00:31.079 My most popular talk ever is one called "Agile is Dead," which is really pretty negative. I rolled out one called "OO is Dead" not too long ago, and that's pretty popular too. It appears this is a kind of schadenfreude, where people feel like the world is ending, so they might as well have a party. I thought, what am I going to do here? Can I do "Ruby is Dead"? No, I'm not going to do that because I love Ruby too much.
00:01:12.520 But I still needed something that was inspiring, but positive. So what I’m going to do is tell you that web apps are dead. The browser is dead. I’ve been saying that since 2008, and everyone goes, "Yes, Dave, yes, Dave," and then they walk away thinking I’m an idiot. But I keep saying it. One day, it will be dead, and I think that day is closer than you think.
00:01:27.400 Already, the majority of traffic is going to mobile devices. If you use a browser on a mobile device on a decent site, it looks like an app. We're not using the browser the way we used to; we're not writing traditional web apps anymore. So I'm telling you right now to stop writing web apps because that's boring and it's not the future. Instead, I want you to change the world, and I’m going to try to inspire you to look at new ways of writing code and new things to do with that code.
00:02:01.680 Understand that being crazy is a prerequisite for changing the world. If you sit there and try to ameliorate everything and make everything smooth and flat, you’re not going to change anything. You'll just make people happy, but you won’t create any change. It takes the unreasonable man or woman to change the world. You have to do things that are unexpected, counterintuitive, and uncomfortable.
00:02:45.440 The chances are you'll fail, but you’ll have fun along the way, and even those failures will add up to something in the end. So you have to be a little unreasonable. If I had to choose a profession whose people were unreasonable, I think software developers would probably be highest on my list. But no one likes change. Change is really scary.
00:03:31.120 If you go through and look for quotes on change, you get all sorts of classic cliches. For example, the New York Times famously stated in 1924 that a rocket will never be able to leave the Earth's atmosphere. This was stated by a physicist who claimed it was due to the lack of air for the rocket's exhaust to push against. In light of such historical inaccuracies, we have to acknowledge that many people resist change.
00:04:03.960 Consider some amusing predictions about technology: C. phones will not replace local wire systems. This claim was made by a Motorola director of research in 1981, who presumably isn't the director anymore. One of my favorite quotes comes from a parliamentary committee that said the light bulb is good enough for our transatlantic friends, which was clearly a reference to Americans, but not worthy of practical or scientific attention.
00:04:34.080 Famous futurist Thomas Watson once said there would be a world market for perhaps five computers. While this might have been true at the time, today my cell phone has more processing power than those early ideas could have imagined. The reality of disruption is this: technologies come along that have unintended consequences and change the game.
00:05:25.920 We need to recognize that things like integrated circuits and the advent of the personal computer allowed us to become data producers. These developments laid the groundwork for modern mobile devices and their capabilities. Everything we've done has built upon existing technologies and continues to evolve. Today, we carry extraordinary computing power in our pockets, and it's essential to acknowledge this transformative moment in our history.
00:07:04.879 In all the talk about the future, we should look at open-source development as a catalyst for our technological advancements. People contribute to software projects out of inspiration and gratitude for what they have received, creating a gift economy. Meanwhile, mesh networking and low power communication protocols are beginning to emerge, which will expand our connectivity further.
00:07:57.000 These advancements are applied to small devices, often equipped with basic processors. Companies are releasing affordable computing devices that enable applications across various fields. These technologies, though limited now, are often proof of concept for what we will engineer in the future.
00:08:49.600 I’d like to take a moment to explore something that might sound unconventional: Phoenix. Everyone seems to think that Phoenix is a counterpart to Rails, but that’s not true. Phoenix is a framework that allows much more; it's designed for handling large data flows across numerous connections. Recently, during a fascinating benchmarking study, I learned that Phoenix could sustain two million simultaneous connections, a truly remarkable feat.
00:09:50.680 Pairing Elixir with Phoenix offers developers a unique opportunity to create impactful applications seamlessly. The idea here is not merely to serve web pages but to enable real-time interactions efficiently and elegantly. It's essential to think about how we could bring this level of powerful, distributed computing to everyday applications.
00:10:59.680 Fantasize with me for a moment. Imagine a world where technology is discreet, where our identities are securely managed by small devices that link with systems around us. This concept might seem like a far-off dream, but we are closer to that reality than we might think.
00:12:24.440 As I picture this future, I see small, powerful devices dispersed throughout our environments that help manage our daily interactions. From identity verification to accessing shared resources, these devices will create a seamless and intuitive user experience that puts technology to work for us.
00:12:50.440 In this envisioned world, we can initiate tasks without worrying about tedious logging in or setups. Everything communicates effortlessly, integrating into our daily lives. With identity held securely in our pockets, our devices become an extension of ourselves, seamlessly transitioning from personal space to shared environments.
00:14:07.040 If we are to unlock this future, we need to address the core challenge of identity management. Are we prepared to acknowledge the responsibility that comes with it? How do we build trust into our digital interactions? The discourse around trust management, especially in technology, is crucial as we move forward.
00:15:14.320 Many are skeptical about our ability to manage and safeguard our identities in a connected world. Yet, by leveraging concepts like blockchain, we could revolutionize how we perceive trust online. The onus is on all of us as developers and innovators to work toward a system that reinforces that trust. This isn't just an issue for developers; it involves a broader engagement with the public to establish the foundation of trust we need.
00:16:15.080 As we reflect on the tools available today, we can see the potential for widespread innovation. When I speak of devices and infrastructure today, I’m not suggesting we settle for what’s available but rather to explore and innovate. The future depends on our willingness to experiment and innovate.
00:17:10.480 Cheap hardware innovations allow us to prototype and develop new concepts. The experiments we conduct today will show us the risks and rewards, shaping the future of technology. In the early days, massive machines dominated our lives, yet now everyone has access to substantial processing power.
00:18:10.640 We will encounter bumps along this journey, but that is part of the process. It's imperative not to shy away from those challenges but to find ways to address them. With each failure, we gather insights that will propel us forward. The critical step is to remain motivated and to explore this journey of technological exploration together.
00:19:07.960 This idea of pervasive computing—that everything seamlessly connects and responds to our needs—is within our grasp. The tools and platforms are accessible now, more than ever. You can explore the Raspberry Pi, or similar, as a stepping stone to build upon.
00:19:52.640 We all must recognize this is an exciting time to be involved in tech. There is so much wealth of opportunities waiting for those ready to dive in. All these components are available, ready for anyone to just reach out and engage with them.
00:20:41.760 As we reason through this concept of pervasive computing, we can envision a world of services interacting dynamically. The idea involves not just personal devices but shared interactions on a broader scale as we move past traditional boundaries.
00:21:25.520 With dynamic connections and shared experiences, we can harness technology in remarkable ways. Imagine asking for the coffee shop to lower its temperature, just like that! A blend of personal comfort and shared decision-making is just one example.
00:22:10.760 This shift in consciousness regarding how we interact with technology can redefine our daily experiences. We will no longer feel the weight of managing multiple systems; rather, it becomes a stream of seamless interactions powered by an interconnected environment.
00:22:55.520 This efficacy comes not from waiting for perfect solutions but embracing ongoing experimentation. By getting our hands dirty, we cultivate the enthusiasm and creativity needed for innovation. Even now, many of these systems are achievable—all we need is the structure and motivation.
00:23:42.320 In the end, what I’m encouraging you to do is ignite your curiosity. Approach understanding technology as a process that evolves over time. There’s no single solution; it’s about piecing together layers until we reach a supporting framework.
00:24:28.440 I believe strongly that we can facilitate this transformation. Everyone in this room has the capability and potential to contribute. Let's thin the barriers between imagination and application, generating trust together and inspiring equal participation.
00:25:14.040 In these moments, let us reflect on how our roles as developers fit within this wider dialogue about identity and trust. It’s not merely an abstract issue; it’s a tangible part of our futures that influences how technology connects with society.
00:26:01.640 So, as we face these challenges, know that your innovations matter. You have the power to make a difference in how we engage with these technologies. Let's be a part of the vibrant ongoing narrative of change.
00:26:51.440 As our time comes to a close, I reflect on the journey we've shared today. I want to challenge you to carry forward that sense of excitement. Let it propel you into exploration and foster that personal connection among all of us.
00:27:35.440 We have the opportunity to build a future that goes beyond mere applications. We can create a framework of systems that interact seamlessly within our daily lives, driving change as we move forward. Embrace this toolkit you have at your disposal. Have fun; let’s not forget that’s what it’s all about.
00:28:53.560 In the end, let’s ask ourselves: how can we harness the excitement of the future? What can we do to contribute to this evolving landscape? Whether it's through our code, our innovations, or our connections with each other, let’s shift the paradigm together.
00:30:51.880 Thank you!
00:31:00.279 Sure, we have time for a couple of questions.
00:31:06.360 Can you hear me? I think probably right before Facebook became synonymous with the social web, there was a lot of talk about big happy sharing, Flickr, delicious, and all that sort of stuff. Do you see a problem with one single massive walled garden for this new interconnectedness?
00:31:17.320 I think as long as we have open standards that do the interconnecting between these various things, it would actually be very hard for someone to impose a walled garden. A big company might create an attractive suite of services, but ultimately, we seem to accept that.
00:31:43.520 Today, we stand on the edge of a cliff in terms of identity. Right now, our systems work largely because no one has bothered to exploit them on a large scale. But without proactive steps, we could face severe issues. Trust and identity management are major concerns that we need to address.
00:32:23.440 Trust management is central to creating secure systems. We can look to collaborative models like blockchain for inspiration, though it’s essential to engage a broader audience in these discussions. We need to approach this from a community perspective, leveraging diverse insights.
00:32:49.920 In discussing our vision of the future, I invite you to reflect on how developing within these paradigms will shape our experiences and interactions. Together, we can envision environments that foster trust, adhering closely to our shared values.
00:33:45.640 Ultimately, the path forward involves acknowledging and addressing the challenges head-on. Your engagement and participation are crucial; as we maneuver these complexities, let’s be vigilant and intentional about how we shape our digital footprints.
00:34:22.160 I appreciate your questions and the thoughtful dialogue we’ve shared today. The journey of innovation does not end here; it continues with each of us as we interact with technology and one another.
00:34:59.760 Thank you for amplifying this narrative. Let's carry that enthusiasm forward, building connections while creating a shared vision for the future.
00:36:01.720 I’m honored to have shared this time with you. Thank you!