SPLASH Workshop - Escaped From the Lab: Raw Notes

October 22, 2017
Vancouver BC, Canada

Page 1

Escaped From the Lab
SPLASH 2017 workshop

One thing we try to do in developing software professionals--

Many innovations today are coming from "outside" of the lab

One interesting idea of "goals of software professionals" (from the book "Grit: The Power of Passion and Perseverence" by Angela Duckworth)... three different levels of commitment:

Companies focus on intellectual property issues

Social networks have formed a new fabric for how ideas/innovations spread

(more people are "influencers" in the world of innovation - more folks qualify as "tech transfer agents" today)


Page 2

Over time, there has been in a reduction in having "managing innovation" be a special company role

Open source - there is a dark side:

This creates a lot of laziness (developers going with ready-made solutions, spending less time/effort thinking about real innovation)

(Note: It isn't all "cut and paste reuse". There are some areas where many major companies have active research programs, such as machine learning and quantum computing.)

Microservices is one big problem area for software engineering

What happens when you release a new innovation as open source?


Page 3

Here is a possible example (not sure if this is a good case):

One more tangential idea: Static analysis tools for new languages

DevOps: is this an innovation, or does it just bring chaos to development?


Page 4

It is good for a new language to have corporate sponsorship

In many new development projects, you are building the foundation of a system that needs to live for a long time

One big company commitment can spill over into other companies' work:

Another situation - when a company depends on an internal package that is *not* in their core business...

Big environments -- such as AWS (Amazon Web Services) can be really good, by providing many services useful in prototyping and early product development


Page 5

What is the best way to introduce a new programming language to a company or project?

A lot of today's innovation is in the "web interfaces" (which are becoming increasingly convenient and sophisticated)


Page 6

Some of the things that have changed in innovation. 30 years ago, we had this:

Now, we have a more "lean" approach (which can be good and bad)

Ecosystems are more important today

We can think about some of today's big ecosystems: Android, Apple, AWS, Azure, GSuite (Google)

One issue: these ecosystems might sometimes *block* innovation

In different ecosystems, experts use different terms/languages/vocabulary -- so it is harder to learn multiple ecosystems


Page 7

Learning about ecosystems -- developing skills

This is a worrysome issue, because most detailed technical facts have a "half-life" of 18 months or so...

The economics of working with ecosystems:


Page 8

Example:

(This is true for most cloud environments - it's part of the lock-in. It is really a sign that the scripts are a kind of "highly coupled code".)

Another way to look at it: You are building an initial prototype, and you never leave the prototyping world...

Escaped From the Lab outline

  1. Where do innovations come from?
  2. Accelerators and Incubators (including crowd funding)

Page 9

  1. Integrating innovations into products and services
  2. Associated issues for innovation

One characteristic of a closed ecosystem: high coupling, configuration scripts are not easy to move to another environment


Page 10

How does this relate to programming languages and software engineering?

(Side note: there is a software engineering connection to some programming language evolution...)

Some definition to distinguish "invention" from "innovation":

Innovation will often create a new ecosystem (in order to be useful to users/customers) -- or it may "extend" an existing ecosystems

Here is an interesting set of ideas from a Huffington Post (2012) article:

Slide 11

Once you escape from the lab.... how do you keep it going?

Our 4 key dimensions for building invention/innovation:

  1. building funding and visibility
  2. getting feedback, building quality
  3. defending your innovation
  4. going for the big money

Here are some techniques for each of the four dimensions

  1. building funding and visibility
  2. getting feedback, building quality
  3. defending your innovation
  4. going for the big money

Page 12

(Side issue: in a traditional "research lab", are we just doing research for the fun of it?)

How do we measure the Return on Investment (ROI) for our escaped-from-the-lab innovations?

What is the role of partnerships in innovation?

We might have "funded partnerships" or "unfunded partnerships:

A couple of ways ways to foster unfunded partnerships:

Funded partnerships are more complex... but there are different levels of gifts, contracts, and internships to make this happen most effectively:

One positive side-effect of funded partnerships: talent migration


Page 13

One last question... what does this mean for a language expert?

The "lure of the cool"...

Our goal as language innovators should be:

It's a tool-building endeavor

Question: Why do companies develop (and deploy) new languages? (What is the value in creating a new ecosystem?)

Multiple answers:


Extra notes

In our followup discussion, one person had several ideas to share -- some extra factors to consider in making innovation happen:


Last modified: Oct. 23, 2017