Transcript
Page 1: University of arizona   mobile matters - technology, a means to an end

Technology, a means to an end.Thibault Imbert | Group Product Manager, Adobe Web Platform

Monday, October 21, 13

Page 2: University of arizona   mobile matters - technology, a means to an end

Who is this guy?

Monday, October 21, 13

Page 3: University of arizona   mobile matters - technology, a means to an end

Who is this guy?

10  PRINT  "Hello  World!"20  GOTO  10

Monday, October 21, 13

Page 4: University of arizona   mobile matters - technology, a means to an end

Who is this guy?

Monday, October 21, 13

Page 5: University of arizona   mobile matters - technology, a means to an end

Who is this guy?

Monday, October 21, 13

Page 6: University of arizona   mobile matters - technology, a means to an end

Agency developer

Who is this guy?

Monday, October 21, 13

Page 7: University of arizona   mobile matters - technology, a means to an end

Agency developer

Deadlines

Who is this guy?

Monday, October 21, 13

Page 8: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005

Deadlines

Who is this guy?

Monday, October 21, 13

Page 9: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005

Deadlines

Who is this guy?

Lille

Monday, October 21, 13

Page 10: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005

Teacher

Deadlines

Who is this guy?

Lille

Monday, October 21, 13

Page 11: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005

Teacher

Deadlines Share/Learn

Who is this guy?

Lille

Monday, October 21, 13

Page 12: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005 2005-2008

Teacher

Deadlines Share/Learn

Who is this guy?

Lille

Monday, October 21, 13

Page 13: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005 2005-2008

Teacher

Deadlines Share/Learn

Who is this guy?

Lille Paris

Monday, October 21, 13

Page 14: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005 2005-2008

Teacher Sales Engineer

Deadlines Share/Learn

Who is this guy?

Lille Paris

Monday, October 21, 13

Page 15: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005 2005-2008

Teacher Sales Engineer

Deadlines Technical salesShare/Learn

Who is this guy?

Lille Paris

Monday, October 21, 13

Page 16: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005 2005-2008

Teacher Sales Engineer

Deadlines Technical salesShare/Learn

2008-2010

Who is this guy?

Lille Paris

Monday, October 21, 13

Page 17: University of arizona   mobile matters - technology, a means to an end

Agency developer

2004-2005 2005-2008

Teacher Sales Engineer

Deadlines Technical salesShare/Learn

2008-2010

Who is this guy?

Lille Paris Paris

Monday, October 21, 13

Page 18: University of arizona   mobile matters - technology, a means to an end

Who is this guy?

Monday, October 21, 13

Page 19: University of arizona   mobile matters - technology, a means to an end

Who is this guy?

Monday, October 21, 13

Page 20: University of arizona   mobile matters - technology, a means to an end

Product Manager

Who is this guy?

Monday, October 21, 13

Page 21: University of arizona   mobile matters - technology, a means to an end

Product Manager

Learning

Who is this guy?

Monday, October 21, 13

Page 22: University of arizona   mobile matters - technology, a means to an end

2010-2011

Product Manager

Learning

Who is this guy?

Monday, October 21, 13

Page 23: University of arizona   mobile matters - technology, a means to an end

2010-2011

Product Manager

Learning

Who is this guy?

San Francisco

Monday, October 21, 13

Page 24: University of arizona   mobile matters - technology, a means to an end

2010-2011

Product Manager

Learning

Who is this guy?

San Francisco

Sr. Product Manager

Monday, October 21, 13

Page 25: University of arizona   mobile matters - technology, a means to an end

2010-2011

Product Manager

Learning

Who is this guy?

San Francisco

Sr. Product Manager

Learning

Monday, October 21, 13

Page 26: University of arizona   mobile matters - technology, a means to an end

2010-2011 2011-2013

Product Manager

Learning

Who is this guy?

San Francisco

Sr. Product Manager

Learning

Monday, October 21, 13

Page 27: University of arizona   mobile matters - technology, a means to an end

2010-2011 2011-2013

Product Manager

Learning

Who is this guy?

San Francisco San Francisco

Sr. Product Manager

Learning

Monday, October 21, 13

Page 28: University of arizona   mobile matters - technology, a means to an end

2010-2011 2011-2013

Product Manager

Learning

Who is this guy?

San Francisco San Francisco

Sr. Product Manager Group Product Manager

Learning

Monday, October 21, 13

Page 29: University of arizona   mobile matters - technology, a means to an end

2010-2011 2011-2013

Product Manager

Learning

Who is this guy?

San Francisco San Francisco

Sr. Product Manager Group Product Manager

Learning Learning

Monday, October 21, 13

Page 30: University of arizona   mobile matters - technology, a means to an end

2010-2011 2011-2013

Product Manager

Learning

2013

Who is this guy?

San Francisco San Francisco

Sr. Product Manager Group Product Manager

Learning Learning

Monday, October 21, 13

Page 31: University of arizona   mobile matters - technology, a means to an end

2010-2011 2011-2013

Product Manager

Learning

2013

Who is this guy?

San Francisco San Francisco San Francisco

Sr. Product Manager Group Product Manager

Learning Learning

Monday, October 21, 13

Page 32: University of arizona   mobile matters - technology, a means to an end

Moving the web forward

Monday, October 21, 13

Page 33: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 34: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 35: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 36: University of arizona   mobile matters - technology, a means to an end

Job done.

Monday, October 21, 13

Page 37: University of arizona   mobile matters - technology, a means to an end

justinjackson.ca/words.html

Monday, October 21, 13

Page 38: University of arizona   mobile matters - technology, a means to an end

Technology, to serve a goal.

Monday, October 21, 13

Page 39: University of arizona   mobile matters - technology, a means to an end

Focus on this goal.

Implementation is a detail.

Monday, October 21, 13

Page 40: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 41: University of arizona   mobile matters - technology, a means to an end

Don’t be religious

DHTML!Flash

Monday, October 21, 13

Page 42: University of arizona   mobile matters - technology, a means to an end

Don’t be religious

Ajax!Flash

Monday, October 21, 13

Page 43: University of arizona   mobile matters - technology, a means to an end

Don’t be religious

Silverlight!Flash

Monday, October 21, 13

Page 44: University of arizona   mobile matters - technology, a means to an end

Don’t be religious

Native!HTML/JS!

Monday, October 21, 13

Page 45: University of arizona   mobile matters - technology, a means to an end

Technologies, come and go.

Monday, October 21, 13

Page 46: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 47: University of arizona   mobile matters - technology, a means to an end

There are safe bets.

Monday, October 21, 13

Page 48: University of arizona   mobile matters - technology, a means to an end

There are safe bets.But you want to differentiate.

Monday, October 21, 13

Page 49: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 50: University of arizona   mobile matters - technology, a means to an end

Don’t place a technology.

Monday, October 21, 13

Page 51: University of arizona   mobile matters - technology, a means to an end

Don’t place a technology.

Use the best one to do the job.

Monday, October 21, 13

Page 52: University of arizona   mobile matters - technology, a means to an end

Don’t place a technology.

Use the best one to do the job.

Probably one you don’t know (and that’s good).

Monday, October 21, 13

Page 53: University of arizona   mobile matters - technology, a means to an end

Don’t place a technology.

Use the best one to do the job.

Probably one you don’t know (and that’s good).

You want to keep learning.

Monday, October 21, 13

Page 54: University of arizona   mobile matters - technology, a means to an end

Preconceived ideas.

Monday, October 21, 13

Page 55: University of arizona   mobile matters - technology, a means to an end

A few examples.

Monday, October 21, 13

Page 56: University of arizona   mobile matters - technology, a means to an end

JavaScript is for “scripting” only.

Monday, October 21, 13

Page 58: University of arizona   mobile matters - technology, a means to an end

asmjs.organ extraordinarily optimizable, low-level subset of JavaScript

Monday, October 21, 13

Page 59: University of arizona   mobile matters - technology, a means to an end

JavaScript is not object-oriented.

Monday, October 21, 13

Page 60: University of arizona   mobile matters - technology, a means to an end

ES6

Monday, October 21, 13

Page 61: University of arizona   mobile matters - technology, a means to an end

//  entities.jsmodule  entities  {                export  class  Person  {

           private  message  =  "Hi  my  name  is  ";

           constructor  (public  name,  public  age,  public  town){                    this.name  =  name;                    this.age  -­‐  age;                    this.town  =  town;            }

           talk(){                    return  this.message  +  this.name;            }

           get  isAbove18(){                    return  this.age  >=  18;            }}

Monday, October 21, 13

Page 62: University of arizona   mobile matters - technology, a means to an end

But what if I want static-typing?

Monday, October 21, 13

Page 63: University of arizona   mobile matters - technology, a means to an end

www.typescriptlang.org

Monday, October 21, 13

Page 64: University of arizona   mobile matters - technology, a means to an end

//  entities.jsmodule  entities  {                export  class  Person  {

           private  message  :string  =  "Hi  my  name  is  ";

           constructor  (public  name:  string,  public  age:  number,  public  town:  string){                    this.name  =  name;                    this.age  -­‐  age;                    this.town  =  town;            }

           talk(){                    return  this.message  +  this.name;            }

           get  isAbove18(){                    return  this.age  >=  18;            }}

Monday, October 21, 13

Page 65: University of arizona   mobile matters - technology, a means to an end

Which will generate plain ES5 compatible JS.

Monday, October 21, 13

Page 66: University of arizona   mobile matters - technology, a means to an end

var  Person  =  (function  ()  {        function  Person(name,  age,  town)  {                this.name  =  name;                this.age  =  age;                this.town  =  town;                this.message  =  "Hi  my  name  is  ";                this.name  =  name;                this.age  -­‐  age;                this.town  =  town;        }        Person.prototype.talk  =  function  ()  {                return  this.message  +  this.name;        };

       Object.defineProperty(Person.prototype,  "isAbove18",  {                get:  function  ()  {                        return  this.age  >=  18;                },                enumerable:  true,                configurable:  true        });        return  Person;})();

Monday, October 21, 13

Page 67: University of arizona   mobile matters - technology, a means to an end

C# is for Windows only.

Monday, October 21, 13

Page 68: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 69: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 70: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 71: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 72: University of arizona   mobile matters - technology, a means to an end

And for apps?

Monday, October 21, 13

Page 73: University of arizona   mobile matters - technology, a means to an end

Xamarin

Monday, October 21, 13

Page 74: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 75: University of arizona   mobile matters - technology, a means to an end

C++ is way too low-level.

Monday, October 21, 13

Page 76: University of arizona   mobile matters - technology, a means to an end

C++11

Monday, October 21, 13

Page 77: University of arizona   mobile matters - technology, a means to an end

#include  "stdafx.h"  #include  <stdint.h>#include  <iostream>#include  <vector>#include  <algorithm>  int  _tmain(int  argc,  _TCHAR*  argv[]){              std::vector<uint32_t>  data  =  {  234,  76767,  43,  343,  4322,  33,  122  };                std::sort(data.begin(),  data.end(),  []  (uint32_t  a,  uint32_t  b)  {  return  a  <  b;  });                for  (auto  i  =  data.begin();  i  <  data.end();  i++)  {                            std::cout  <<  *i  <<  std::endl;              }                class  MyClass  {              public:                            MyClass(size_t  size)  :  m_size(size)  {  }                            MyClass(const  char  *str)  :  MyClass(strlen(str))  {  }                            size_t  Size()  {  return  m_size;  }              private:                            size_t  m_size;              };                MyClass  obj("Hello!");              std::cout  <<  obj.Size()  <<  std::endl;                return  0;}

Monday, October 21, 13

Page 78: University of arizona   mobile matters - technology, a means to an end

You can’t develop an iOS/Android app with a functional programming

language.

Monday, October 21, 13

Page 79: University of arizona   mobile matters - technology, a means to an end

Have a look at F#Functional programming language on .NET

Monday, October 21, 13

Page 80: University of arizona   mobile matters - technology, a means to an end

Multicore and web apps? No way.

Monday, October 21, 13

Page 81: University of arizona   mobile matters - technology, a means to an end

&

Monday, October 21, 13

Page 82: University of arizona   mobile matters - technology, a means to an end

River Trailbit.ly/qme8BY

Monday, October 21, 13

Page 83: University of arizona   mobile matters - technology, a means to an end

myPA  =  [1,  2,  3];  //  incrementation  is  parallelized  on  the  GPUmyPlusPA  =  myPA.mapPar(val  =>  val  +  1);  

Monday, October 21, 13

Page 84: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 85: University of arizona   mobile matters - technology, a means to an end

http://codemash.org/

Monday, October 21, 13

Page 86: University of arizona   mobile matters - technology, a means to an end

Writing to learn.

Monday, October 21, 13

Page 87: University of arizona   mobile matters - technology, a means to an end

If you can explain it, you got it.

Monday, October 21, 13

Page 88: University of arizona   mobile matters - technology, a means to an end

You don’t have to write a book.But the commitment is big (that’s good!).

Monday, October 21, 13

Page 89: University of arizona   mobile matters - technology, a means to an end

Share what you know (blog, Twitter).Code in the open (contribute and share).

Monday, October 21, 13

Page 90: University of arizona   mobile matters - technology, a means to an end

sourcing.io

Monday, October 21, 13

Page 91: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 92: University of arizona   mobile matters - technology, a means to an end

What other things can you do?

Monday, October 21, 13

Page 93: University of arizona   mobile matters - technology, a means to an end

I cook.

Monday, October 21, 13

Page 94: University of arizona   mobile matters - technology, a means to an end

Persevere.Monday, October 21, 13

Page 95: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 96: University of arizona   mobile matters - technology, a means to an end

Monday, October 21, 13

Page 97: University of arizona   mobile matters - technology, a means to an end

Reward.

Monday, October 21, 13

Page 98: University of arizona   mobile matters - technology, a means to an end

Commit, persevere, and enjoy the process.It needs to become a routine.

Monday, October 21, 13

Page 99: University of arizona   mobile matters - technology, a means to an end

Success is not an event, it is a process.James Clear.

Monday, October 21, 13

Page 100: University of arizona   mobile matters - technology, a means to an end

@thibault_imbert

Thank you!

[email protected]

Monday, October 21, 13


Recommended