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




                   ...
My name is Simon Denier




                          2
and I have nothing to show




                             3
What do I have?




                  4
Some backstory




                 5
I’m a newcomer to
     Smalltalk



                    6
less than a year




                   7
Did my time in Java




                      8
5 years with eclipse...




                          9
So it’s quite a shock




                        10
And sometimes I wonder




                         11
“what the f...?”




                   12
Good stuff




             13
14
Not so good stuff




                    15
16
So I have some ideas

 and I want yours



                       17
Focus




        18
When I code




              19
I do one thing at a time




                           20
Coding is task-oriented




                          21
I may browse the system




                          22
But I always come back
    to a few classes



                         23
Unfortunately




                24
25
Working set




              26
Set of interesting items




                           27
Selected items

Unsaved items

History items

                 28
Tools built around the
     working set



                         29
Working set
        =
the new workhorse



                    30
Ubiquity




           31
Select text then...




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



                          33
browse class, senders,
   implementors



                         34
It’s a marvellous thing




                          35
Unfortunately




                36
Not every interaction
   is so seamless



                        37
Menus are
less accessible
 than toolbars



                  38
Menus are
    cumbersome
for most-used actions



                        39
Menus become
   cluttered
with many items



                  40
What is better?




                  41
Pie menus




            42
Good for most used items




                           43
Good with mouse gestures




                           44
Hyperlink




            45
Semi-modal hyperlinks
     in text pane



                        46
control+click browse
definition/implementors



                         47
control+alt+click browse
   references/senders



                           48
Ubiquity means
seamless interaction
    everywhere



                       49
Navigation




             50
So ubiquity is cool for
   browsing code



                          51
but what about focus?




                        52
Did you try browsing
   senders of #=?



                       53
Do you want
implementors of #new
      in package?



                       54
We need focus for
navigation and search



                        55
Look for
senders of #=
 in this class



                 56
Look for
implementors of #new
     in package



                       57
Look for
class definition of String
      in the system



                            58
Look for
methods of Collection
   in its hierarchy



                        59
Do you see the pattern?




                          60
Look for aspect
   of target
   in scope



                  61
Look for senders
     of #=
  in this class



                   62
Look for implementors
       of #new
     in package



                        63
Look for class definition
       of String
    in the system



                           64
Look for methods
  of Collection
 in its hierarchy



                    65
(all?) search can be
       expressed
in this wannabe API



                        66
Remember




           67
focus+ubiquity+navigation
           =
  new Pharo experience!



                            68
Upcoming SlideShare
Loading in …5
×

Proposals for the Reborn Pharo Developer

477
-1

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
477
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Proposals for the Reborn Pharo Developer

  1. 1. Proposals for the Reborn Pharo Developer Simon Denier, Damien Pollet, Stéphane Ducasse 1
  2. 2. My name is Simon Denier 2
  3. 3. and I have nothing to show 3
  4. 4. What do I have? 4
  5. 5. Some backstory 5
  6. 6. I’m a newcomer to Smalltalk 6
  7. 7. less than a year 7
  8. 8. Did my time in Java 8
  9. 9. 5 years with eclipse... 9
  10. 10. So it’s quite a shock 10
  11. 11. And sometimes I wonder 11
  12. 12. “what the f...?” 12
  13. 13. Good stuff 13
  14. 14. 14
  15. 15. Not so good stuff 15
  16. 16. 16
  17. 17. So I have some ideas and I want yours 17
  18. 18. Focus 18
  19. 19. When I code 19
  20. 20. I do one thing at a time 20
  21. 21. Coding is task-oriented 21
  22. 22. I may browse the system 22
  23. 23. But I always come back to a few classes 23
  24. 24. Unfortunately 24
  25. 25. 25
  26. 26. Working set 26
  27. 27. Set of interesting items 27
  28. 28. Selected items Unsaved items History items 28
  29. 29. Tools built around the working set 29
  30. 30. Working set = the new workhorse 30
  31. 31. Ubiquity 31
  32. 32. Select text then... 32
  33. 33. do it, print it, inspect it, debug it... 33
  34. 34. browse class, senders, implementors 34
  35. 35. It’s a marvellous thing 35
  36. 36. Unfortunately 36
  37. 37. Not every interaction is so seamless 37
  38. 38. Menus are less accessible than toolbars 38
  39. 39. Menus are cumbersome for most-used actions 39
  40. 40. Menus become cluttered with many items 40
  41. 41. What is better? 41
  42. 42. Pie menus 42
  43. 43. Good for most used items 43
  44. 44. Good with mouse gestures 44
  45. 45. Hyperlink 45
  46. 46. Semi-modal hyperlinks in text pane 46
  47. 47. control+click browse definition/implementors 47
  48. 48. control+alt+click browse references/senders 48
  49. 49. Ubiquity means seamless interaction everywhere 49
  50. 50. Navigation 50
  51. 51. So ubiquity is cool for browsing code 51
  52. 52. but what about focus? 52
  53. 53. Did you try browsing senders of #=? 53
  54. 54. Do you want implementors of #new in package? 54
  55. 55. We need focus for navigation and search 55
  56. 56. Look for senders of #= in this class 56
  57. 57. Look for implementors of #new in package 57
  58. 58. Look for class definition of String in the system 58
  59. 59. Look for methods of Collection in its hierarchy 59
  60. 60. Do you see the pattern? 60
  61. 61. Look for aspect of target in scope 61
  62. 62. Look for senders of #= in this class 62
  63. 63. Look for implementors of #new in package 63
  64. 64. Look for class definition of String in the system 64
  65. 65. Look for methods of Collection in its hierarchy 65
  66. 66. (all?) search can be expressed in this wannabe API 66
  67. 67. Remember 67
  68. 68. focus+ubiquity+navigation = new Pharo experience! 68
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×