Software Development

The Revolution will not be Tweeted

The Revolution will not be Tweeted

by Rich Kilmer

In the talk "The Revolution will not be Tweeted," Rich Kilmer discusses the evolution of Ruby and the Rails framework, emphasizing that although the initial excitement surrounding Rails has diminished, a significant and quiet revolution is ongoing in enterprise development. Key points include:

  • Historical Context: Kilmer reminisces about the early days of Ruby in 2001-2002 when it was considered a hobbyist language during the dot-com crash, and how the first RubyConf and subsequent conferences played pivotal roles in the growth of the Ruby community.
  • Growth of Rails: The introduction of the Rails framework in 2005 led to an explosive increase in interest, with attendance at RailsConf surging to 1,800 in 2008, indicating widespread adoption among startups.
  • Shift to Enterprise: Kilmer highlights a shift wherein Ruby and Rails are increasingly being used in enterprise settings, moving away from the perception that they are solely for startups. He discusses the backlog of applications within enterprises and the transition from outdated systems like Lotus Notes to Rails.
  • Key Examples: He provides notable examples, such as an intelligence agency moving 40,000 Lotus Notes applications to Rails and a New Zealand bank transferring 6,000 applications, showcasing the significant scalability and utility of Ruby in complex environments.
  • Support for Enterprise Developers: Kilmer stresses the importance of supporting enterprise developers, emphasizing their need for stability, predictability, and control over deployment processes. He argues that understanding their requirements could enhance the development ecosystem.
  • Tools for Developers: He proposes that developing better tools, such as Interactive Development Environments (IDEs), can aid average developers in navigating Rails more effectively, thus broadening the base of Ruby on Rails developers.

Kilmer concludes by calling attention to the silent revolution occurring in enterprises that are embracing Ruby and Rails, urging the community to enhance support for these developers and to work towards improving the Rails ecosystem. He emphasizes the importance of collaboration in ensuring the continued success and growth of Ruby and its frameworks in various domains.

00:00:05.120 I am Rich Kilmer.
00:00:10.639 I'm going to give a talk about the fact that all this obsolete technology actually isn't obsolete, as we discussed earlier.
00:00:16.880 Let's move on to the first slide.
00:00:23.519 Before most of you were born, sorry for the color here, but this is RubyConf 2002.
00:00:28.840 I couldn't find any pictures from RubyConf 2001, but it was about the same size, with around 30 to 40 people attending.
00:00:35.600 The important thing about this slide is that you can see Avi right here.
00:00:42.000 I think that's him, but it could be Paul Brannon.
00:00:47.039 Anyway, we often had confusion about who was who back then.
00:00:52.879 In 2001 and 2002, at the first and second Ruby conferences, what was interesting was that Ruby was seen as a hobbyist language.
00:01:00.320 Everyone there was a hobbyist. I was actually out of work at the time, so everything seemed like a hobby to me.
00:01:06.880 This was during the dot-com crash, and no one would hire me because they thought I wanted their jobs.
00:01:12.080 It was really tough to find a programming job, so I picked up Ruby instead.
00:01:18.240 My wife thought I was insane for going to a developer conference when I hadn’t worked for eight months.
00:01:24.320 I told her I had to go because it was going to be great, and it was in Florida.
00:01:30.240 So, I went to this conference, and everyone thought at the time that Ruby's greatest strength would be in testing.
00:01:35.759 They believed Ruby would excel at testing other people's applications, especially Java applications.
00:01:41.920 The early discussions centered around executable specifications.
00:01:47.759 Dave Thomas and Andy Hunt looked at Ruby with the intention of encoding specifications.
00:01:52.840 This idea evolved; by 2001, we were already having conversations about acceptance tests.
00:01:58.079 It was fascinating to see that we were doing that with Ruby applications, Rails applications, and the like.
00:02:04.079 The early years were a bit lean; we didn’t have many sponsors.
00:02:09.200 Despite this, Ruby started to make an impact. Fast forward to 2005, when Rails had just been released.
00:02:17.840 At that RubyConf, we had about 300 attendees, which was a huge growth from past years.
00:02:24.160 It became clear we needed to split the conference into RubyConf and RailsConf.
00:02:30.080 In the back of that conference, you can see some of the tech from back then, quite old-school.
00:02:35.680 Not many people were using Macs at that time, and it wasn’t until later that DHH had a significant impact on our community.
00:02:42.080 The conference was a pivotal moment where hobbyists started turning into professionals.
00:02:48.480 At the first RubyConf, I submitted a bid to work as a subcontractor under BBN Technologies.
00:02:53.599 BBN helped create the internet and had a DARPA contract for a distributed multi-agent system.
00:02:58.640 There was a notable guy working on our project named Ray Tomlinson. Does anyone know what he did?
00:03:06.879 He wrote SMTP, the specification for sending emails.
00:03:13.200 So getting to work with the person who created email was pretty surreal for me.
00:03:21.360 Our project was entirely in Java and involved about a hundred thousand lines of code.
00:03:28.960 I got the call at the RubyConf that my bid was accepted.
00:03:35.360 We were tasked with building a testing harness for this distributed multi-agent system.
00:03:42.160 We also handled systems administration, and we decided to automate everything.
00:03:50.080 From early 2002 to 2005, we utilized Ruby to build a test harness, allowing us to run automated tests for our Java system.
00:04:04.240 This setup would generate Ruby scripts that would run massive tests, up to a million lines long.
00:04:10.080 For a million lines of XML, parsing it in Ruby was impractical, but Ruby handled the large scripts well.
00:04:18.720 Each Ruby process could control a cluster of 300 machines effectively.
00:04:25.760 In the early days, we had no automation for our multi-agent system, with only a handful of runs.
00:04:31.440 By the end of the project, we pulled off around 15 runs a night, showcasing Ruby's capability.
00:04:38.799 Those who claim Ruby doesn't scale or work are misinformed.
00:04:45.200 Rails started making a significant impact, and I was doing this work early on.
00:04:52.160 At the first RailsConf, there were approximately 600 attendees, a significant increase.
00:04:58.559 One notable thing from this conference was the overwhelming number of developers in startups.
00:05:05.919 Dave Thomas delivered the keynote speech, advocating that all developers deserve to be happy.
00:05:12.160 He emphasized the need to support the enterprise, but many developers were resistant to that idea.
00:05:18.480 Many argued they didn't care about the enterprise and preferred to focus on their niche.
00:05:23.680 As Ruby grew, we saw that RubyConf in 2006 had about 500 attendees.
00:05:30.160 The conference in Orlando was impressive.
00:05:37.680 RubyConf this year will be a blast, and there are tickets available.
00:05:44.400 We're anticipating around 800 attendees, which is quite significant.
00:05:51.200 RailsConf in 2008 boasted 1,800 attendees, highlighting Rails's popularity.
00:05:58.320 The attendance illustrates the divide between startup developers and those focused on internal applications.
00:06:04.320 Having discussions with consultancies revealed a growing focus on enterprise projects.
00:06:11.440 Over the years, the number of enterprise projects has increased dramatically.
00:06:18.560 There’s a significant need for applications in enterprises, and companies are adopting Ruby on Rails.
00:06:24.959 Many organizations have backlogs of applications needing development.
00:06:32.640 Balmer noted that there will be more applications written in the next five years than any previous period.
00:06:39.440 The backlog in IT at enterprises and SMBs is vast.
00:06:46.720 Many organizations are moving away from outdated systems like Cobalt, embracing newer technologies.
00:06:53.440 What are the current applications enterprises need? They are primarily departmental applications.
00:07:02.160 There’s a marked shift away from building complex enterprise systems to developing simpler applications.
00:07:09.600 For example, many organizations have applications in Lotus Notes, and they are porting these to Rails.
00:07:16.960 One intelligence agency is moving 40,000 Lotus Notes applications to Rails.
00:07:24.240 Another example is a bank in New Zealand that is porting 6,000 Lotus Notes applications to Rails.
00:07:31.520 These organizations are automating incredibly crucial applications.
00:07:37.760 Companies are moving away from proprietary systems and toward open-source solutions.
00:07:43.920 There’s an opportunity for Rails and Ruby to dominate this space.
00:07:50.080 I had the opportunity to train USDA developers who built a Rails application.
00:07:55.440 They used the Hobo framework on top of Rails and published a 300-page book on its development.
00:08:04.800 The USDA's CIO is a strong advocate for Ruby and Rails.
00:08:11.280 So, enterprises are increasingly developing Rails applications internally.
00:08:19.200 We should ask why it's important for Rails to be embraced by enterprise developers.
00:08:25.760 Diverse gene pools foster survival, and we must support this diversity.
00:08:32.320 If we ignore the enterprise developers, we risk stagnation.
00:08:39.440 Their work is crucial for building applications that serve the business.
00:08:47.360 We need to extend support and compassion to enterprise developers.
00:08:55.440 They are responsible for building vital applications that enterprises rely on.
00:09:03.600 What do enterprise developers need? Their requirements may differ from our expectations.
00:09:09.760 Instead of asking for changes to Rails, they need stability and predictability.
00:09:16.320 Enterprise developers are looking for control over deployments.
00:09:23.200 They want IT to manage deployment processes, not developers.
00:09:30.160 IT departments prefer stability and structural oversight.
00:09:35.680 Accountability is critical; they need to track who pushed code regarding deployment.
00:09:43.360 This level of oversight can be challenging in more fluid environments.
00:09:50.240 Talking with teams at MITRE revealed that they had 50 developers focused on Rails applications.
00:09:58.080 Despite that, application deployments took four weeks due to bureaucratic processes.
00:10:05.359 Enterprise processes are often more about control than about technology.
00:10:12.559 Our environments are complex, but Rails can help simplify many aspects.
00:10:19.360 Being able to see how a Rails application operates can boost confidence.
00:10:26.240 One of the perspectives I hope to share is how we can help enterprise developers do their jobs better.
00:10:34.080 Visualizing systems can demystify complex applications.
00:10:41.439 If we simplify processes for these developers, they will thrive.
00:10:49.360 I believe Interactive Development Environments (IDEs) can really aid average developers.
00:10:57.600 An IDE that wraps Rails and makes it more accessible will boost productivity.
00:11:05.760 Furthermore, this tool could provide visualization of models, controllers, and views.
00:11:14.080 A good IDE would help developers define models and see their connections visually.
00:11:23.440 It can promote clarity and simplify their understanding.
00:11:31.440 This could open Rails development to a broader base of developers.
00:11:40.880 We need to give average developers tools that help them succeed in Rails development.
00:11:49.360 Here's where I see an opportunity in the Rails ecosystem.
00:11:58.400 Many people are unaware of what is truly happening with enterprise developers.
00:12:07.200 They’re not broadcasting their work on Twitter; it’s a hidden revolution.
00:12:15.680 Enterprises are increasingly adopting Rails, and we should embrace this.
00:12:23.040 With the right support and tools, we can help broaden the reach and impact of Ruby and Rails.
00:12:31.440 Let's work together to enhance the Rails ecosystem.
00:12:41.600 Thank you, everyone!