Ebbs and Flows of Software Ideas, by Ufuk Kayserilioglu


Computer science and software development are relatively young fields of interest. However, a lot of excellent ideas and work has been produced in that short span of time. Some of these ideas have flourished, some have been transformed and others have been lost to the sands of time and are languishing in obscurity.

Let's take a close look at a few of the ideas in software development that have had ebbs and flows through the years. By looking at how some ideas have evolved in the past might be instrumental in understanding the future of our industry and how we develop software going forward.


The intended audience for this talk are software developers in general.

The expected outcome of the talk is for listeners to think more deeply about the problems they are solving and to make them think about the history and context in which they are building their solutions.

The talk will follow this outline:

  • A high level look at what software development means
    • What are we doing here?
    • What is a computer really?
    • What does it mean to develop software?
    • How does context and history influence our solutions?
  • Three software ideas:
    • Types
    • What are types?
    • How to represent types inside the computer?
    • Static typing vs Dynamic typing
    • Two camps fighting out the pros and cons
    • Gradual typing emerges and seems to be winning
    • HTML Rendering
    • A look at the growth and history of the "Web"
    • Creation of HTML and HTTP -> Static HTML
    • Creation of CGI, PHP, Python/Ruby -> Server rendered HTML
    • Creation of JS, DHTML, AJAX, jQuery, React -> Client rendered HTML
    • We are now moving back to server rendering with Hotwire and React SSR
    • Voice
    • How do we solve the digital divide was a big question at the turn of the millenium.
    • An interesting idea was to build on existing networks like the phone network
    • This implied using voice interactions.
    • W3C Voice Working group convened and created the VoiceXML specification
    • This spec was very mature and supported rich dialogs easily
    • Then, the iPhone can along and changed the game
    • Modality moved to touch and became the main access point
    • But, now, we are again building conversational interfaces
    • Each platform is an island and the work done in W3C Voice Working Group is mostly forgotten
    • VoiceXML can be the unifying building block for building conversational interfaces
  • Takeaways and Conclusions


The proposed speaker has been working professionally in the software industry for over 20 years and during that time has had the privilege of working with various technologies. He experienced, witnessed and participated in the evolution of global communication from FTP and Gopher sites to the rich Web that we use and love today. He has had the opportunity to develop web, desktop, server and conversational software using static and dynamically typed languages throughout his career.

Finally, for the last 3 years he has been teaching an International Baccalaureate Computer Science course to high school students where he had the chance to present a more holistic overview of what software development is and how the technologies we use today have evolved into what they are now.

Edit proposal


RubyConf 2021 - Rejected [Edit]

Add submission