proposals for the reborn pharo developer

68
Proposals for the Reborn Pharo Developer Simon Denier, Damien Pollet, Stéphane Ducasse 1

Upload: esug

Post on 20-May-2015

448 views

Category:

Technology


2 download

DESCRIPTION

Proposals for the Reborn Pharo Developer by Simon Denier, Damien Pollet and stephane ducasse. ESUG09, Brest, France

TRANSCRIPT

Page 1: Proposals for the Reborn Pharo Developer

Proposals for theReborn Pharo

DeveloperSimon Denier, Damien Pollet, Stéphane Ducasse

1

Page 2: Proposals for the Reborn Pharo Developer

My name is Simon Denier

2

Page 3: Proposals for the Reborn Pharo Developer

and I have nothing to show

3

Page 4: Proposals for the Reborn Pharo Developer

What do I have?

4

Page 5: Proposals for the Reborn Pharo Developer

Some backstory

5

Page 6: Proposals for the Reborn Pharo Developer

I’m a newcomer to Smalltalk

6

Page 7: Proposals for the Reborn Pharo Developer

less than a year

7

Page 8: Proposals for the Reborn Pharo Developer

Did my time in Java

8

Page 9: Proposals for the Reborn Pharo Developer

5 years with eclipse...

9

Page 10: Proposals for the Reborn Pharo Developer

So it’s quite a shock

10

Page 11: Proposals for the Reborn Pharo Developer

And sometimes I wonder

11

Page 12: Proposals for the Reborn Pharo Developer

“what the f...?”

12

Page 13: Proposals for the Reborn Pharo Developer

Good stuff

13

Page 14: Proposals for the Reborn Pharo Developer

14

Page 15: Proposals for the Reborn Pharo Developer

Not so good stuff

15

Page 16: Proposals for the Reborn Pharo Developer

16

Page 17: Proposals for the Reborn Pharo Developer

So I have some ideas

and I want yours

17

Page 18: Proposals for the Reborn Pharo Developer

Focus

18

Page 19: Proposals for the Reborn Pharo Developer

When I code

19

Page 20: Proposals for the Reborn Pharo Developer

I do one thing at a time

20

Page 21: Proposals for the Reborn Pharo Developer

Coding is task-oriented

21

Page 22: Proposals for the Reborn Pharo Developer

I may browse the system

22

Page 23: Proposals for the Reborn Pharo Developer

But I always come backto a few classes

23

Page 24: Proposals for the Reborn Pharo Developer

Unfortunately

24

Page 25: Proposals for the Reborn Pharo Developer

25

Page 26: Proposals for the Reborn Pharo Developer

Working set

26

Page 27: Proposals for the Reborn Pharo Developer

Set of interesting items

27

Page 28: Proposals for the Reborn Pharo Developer

Selected items

Unsaved items

History items

28

Page 29: Proposals for the Reborn Pharo Developer

Tools built around the working set

29

Page 30: Proposals for the Reborn Pharo Developer

Working set=

the new workhorse

30

Page 31: Proposals for the Reborn Pharo Developer

Ubiquity

31

Page 32: Proposals for the Reborn Pharo Developer

Select text then...

32

Page 33: Proposals for the Reborn Pharo Developer

do it, print it,inspect it, debug it...

33

Page 34: Proposals for the Reborn Pharo Developer

browse class, senders, implementors

34

Page 35: Proposals for the Reborn Pharo Developer

It’s a marvellous thing

35

Page 36: Proposals for the Reborn Pharo Developer

Unfortunately

36

Page 37: Proposals for the Reborn Pharo Developer

Not every interactionis so seamless

37

Page 38: Proposals for the Reborn Pharo Developer

Menus areless accessiblethan toolbars

38

Page 39: Proposals for the Reborn Pharo Developer

Menus arecumbersome

for most-used actions

39

Page 40: Proposals for the Reborn Pharo Developer

Menus becomecluttered

with many items

40

Page 41: Proposals for the Reborn Pharo Developer

What is better?

41

Page 42: Proposals for the Reborn Pharo Developer

Pie menus

42

Page 43: Proposals for the Reborn Pharo Developer

Good for most used items

43

Page 44: Proposals for the Reborn Pharo Developer

Good with mouse gestures

44

Page 45: Proposals for the Reborn Pharo Developer

Hyperlink

45

Page 46: Proposals for the Reborn Pharo Developer

Semi-modal hyperlinksin text pane

46

Page 47: Proposals for the Reborn Pharo Developer

control+click browse definition/implementors

47

Page 48: Proposals for the Reborn Pharo Developer

control+alt+click browse references/senders

48

Page 49: Proposals for the Reborn Pharo Developer

Ubiquity meansseamless interaction

everywhere

49

Page 50: Proposals for the Reborn Pharo Developer

Navigation

50

Page 51: Proposals for the Reborn Pharo Developer

So ubiquity is cool for browsing code

51

Page 52: Proposals for the Reborn Pharo Developer

but what about focus?

52

Page 53: Proposals for the Reborn Pharo Developer

Did you try browsing senders of #=?

53

Page 54: Proposals for the Reborn Pharo Developer

Do you want implementors of #new

in package?

54

Page 55: Proposals for the Reborn Pharo Developer

We need focus for navigation and search

55

Page 56: Proposals for the Reborn Pharo Developer

Look forsenders of #=in this class

56

Page 57: Proposals for the Reborn Pharo Developer

Look forimplementors of #new

in package

57

Page 58: Proposals for the Reborn Pharo Developer

Look forclass definition of String

in the system

58

Page 59: Proposals for the Reborn Pharo Developer

Look formethods of Collection

in its hierarchy

59

Page 60: Proposals for the Reborn Pharo Developer

Do you see the pattern?

60

Page 61: Proposals for the Reborn Pharo Developer

Look for aspectof targetin scope

61

Page 62: Proposals for the Reborn Pharo Developer

Look for sendersof #=

in this class

62

Page 63: Proposals for the Reborn Pharo Developer

Look for implementors of #new

in package

63

Page 64: Proposals for the Reborn Pharo Developer

Look for class definitionof String

in the system

64

Page 65: Proposals for the Reborn Pharo Developer

Look for methodsof Collection

in its hierarchy

65

Page 66: Proposals for the Reborn Pharo Developer

(all?) search can be expressed

in this wannabe API

66

Page 67: Proposals for the Reborn Pharo Developer

Remember

67

Page 68: Proposals for the Reborn Pharo Developer

focus+ubiquity+navigation=

new Pharo experience!

68