JaroslavTulach: /* CON4946: API Design Checklist */ - 2017-01-04 04:15:13

CON4946: API Design Checklist

←Older revision Revision as of 04:15, 4 January 2017
Line 24: Line 24:
Let's do a bit of [[DukeScript]] programming!
Let's do a bit of [[DukeScript]] programming!
-
=== CON4946: API Design Checklist ===
+
=== CON4946: [[API Design Checklist]] ===
Tuesday Sep 30, 12:30 - 13:30, Hilton - Imperial Ballroom A
Tuesday Sep 30, 12:30 - 13:30, Hilton - Imperial Ballroom A
-
There are essential aspects of [[good]] [[API]] design that influence the level of acceptance of your [[API]] and through the [[API]]'s perspective also success of your products. One can learn the important facts through own [[TheAPIBook|practical experience]] (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing [[NetBeans Platform]]). Both approaches are possible, yet both require a lot of personal investment.
+
{{:API Design Checkllist}}
-
 
+
-
There is a however simpler and more [[clueless]] way: Let's follow an [[API]] Design Checklist!
+
-
 
+
-
In this short presentation we'll provide an introduciton to ten easy to answer questions and follow checkpoints that will guide you through the process of [[API]] design and ensure your [[API]] satisfies all the aspects of [[good technology]]: it helps its users to speed up their [[Time To Market]], it reduces their total [[Cost of Ownership]] and also is cool enough to attract their attention.
+
-
 
+
-
The presented checklist will be generally applicable - e.g. useful for any [[API]]s, not only written in [[Java]]. The provided examples will be [[Java]] related, showing our own experience of designing slick, easy to use, compact, effective, hard to misuse [[API]]s for communication between [[Java]] and [[JavaScript]]. During the talk we will show how to use [[JavaC]] plugin infrastructure effectively to increase comfort of your [[API]] users and to build cross-IDE tooling that ensures the best edit/compile feedback possible. We will demonstrate the process of [https://twitter.com/ApiUsabilityTst reviewing the APIs] and show the increase of quality a [[good]] usability study can bring. We show how to create an [[API]] that leads to code shorter than in scripting languages while keeping all the benefits of strongly typed language like [[Java]]!
+
-
 
+
-
We give you ten easy steps to become [[good]] [[API]] designer!
+
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===

JaroslavTulach: /* CON6091: DukeScript: How to Put the Java into JavaScript */ - 2014-09-18 08:19:37

CON6091: DukeScript: How to Put the Java into JavaScript

←Older revision Revision as of 08:19, 18 September 2014
Line 40: Line 40:
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===
-
This is [[Toni]]'s talk, but I am sure I'll be around.
+
Monday Sep 29, 14:30-15:30 Hilton Golden Gate 4/5
 +
This is [[Toni]]'s talk, but I am sure I'll be around.
== Rejected ==
== Rejected ==

JaroslavTulach: /* CON4946: API Design Checklist */ - 2014-09-10 18:42:47

CON4946: API Design Checklist

←Older revision Revision as of 18:42, 10 September 2014
Line 26: Line 26:
=== CON4946: API Design Checklist ===
=== CON4946: API Design Checklist ===
-
Venue / Room: Hilton - Imperial Ballroom A
+
Tuesday Sep 30, 12:30 - 13:30, Hilton - Imperial Ballroom A
-
Tuesday Sep 30, 12:30 - 13:30
+
There are essential aspects of [[good]] [[API]] design that influence the level of acceptance of your [[API]] and through the [[API]]'s perspective also success of your products. One can learn the important facts through own [[TheAPIBook|practical experience]] (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing [[NetBeans Platform]]). Both approaches are possible, yet both require a lot of personal investment.
There are essential aspects of [[good]] [[API]] design that influence the level of acceptance of your [[API]] and through the [[API]]'s perspective also success of your products. One can learn the important facts through own [[TheAPIBook|practical experience]] (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing [[NetBeans Platform]]). Both approaches are possible, yet both require a lot of personal investment.

JaroslavTulach: /* TUT4890: How to program JavaScript in Java */ - 2014-09-10 18:42:30

TUT4890: How to program JavaScript in Java

←Older revision Revision as of 18:42, 10 September 2014
Line 20: Line 20:
=== TUT4890: How to program JavaScript in Java ===
=== TUT4890: How to program JavaScript in Java ===
-
Venue / Room: Hilton - Plaza A
+
Tuesday Sep 30, 8:30 - 10:30: Hilton - Plaza A
-
Tuesday Sep 30, 8:30 - 10:30
+
Let's do a bit of [[DukeScript]] programming!
Let's do a bit of [[DukeScript]] programming!

JaroslavTulach: /* BOF4941: Virtually Inside-Out! */ - 2014-09-10 18:42:12

BOF4941: Virtually Inside-Out!

←Older revision Revision as of 18:42, 10 September 2014
Line 7: Line 7:
=== BOF4941: Virtually Inside-Out! ===
=== BOF4941: Virtually Inside-Out! ===
-
Moscone South - 305
+
Monday Sep 29, 19:00 - 19:45, Moscone South - 305
-
Monday Sep 29, 19:00 - 19:45
+
 
Designing your own virtual machine? Interested in byte-code? Or just curious to know how your favorite [[Java]] language construct (think of [[Closures|lambdas]]) transfers into the native form by your[[VM]]? Join the authors of alternative [[VM|Java virtual machines]] to ask and learn!
Designing your own virtual machine? Interested in byte-code? Or just curious to know how your favorite [[Java]] language construct (think of [[Closures|lambdas]]) transfers into the native form by your[[VM]]? Join the authors of alternative [[VM|Java virtual machines]] to ask and learn!

JaroslavTulach: /* CON4946: API Design Checklist */ - 2014-09-10 18:41:45

CON4946: API Design Checklist

←Older revision Revision as of 18:41, 10 September 2014
Line 28: Line 28:
Venue / Room: Hilton - Imperial Ballroom A
Venue / Room: Hilton - Imperial Ballroom A
-
Date and Time: 9/30/14, 12:30 - 13:30
+
Tuesday Sep 30, 12:30 - 13:30
There are essential aspects of [[good]] [[API]] design that influence the level of acceptance of your [[API]] and through the [[API]]'s perspective also success of your products. One can learn the important facts through own [[TheAPIBook|practical experience]] (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing [[NetBeans Platform]]). Both approaches are possible, yet both require a lot of personal investment.
There are essential aspects of [[good]] [[API]] design that influence the level of acceptance of your [[API]] and through the [[API]]'s perspective also success of your products. One can learn the important facts through own [[TheAPIBook|practical experience]] (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing [[NetBeans Platform]]). Both approaches are possible, yet both require a lot of personal investment.
Line 39: Line 39:
We give you ten easy steps to become [[good]] [[API]] designer!
We give you ten easy steps to become [[good]] [[API]] designer!
-
 
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===

JaroslavTulach: /* TUT4890: How to program JavaScript in Java */ - 2014-09-10 18:41:22

TUT4890: How to program JavaScript in Java

←Older revision Revision as of 18:41, 10 September 2014
Line 21: Line 21:
Venue / Room: Hilton - Plaza A
Venue / Room: Hilton - Plaza A
-
Date and Time: 9/30/14, 8:30 - 10:30
+
Tuesday Sep 30, 8:30 - 10:30
Let's do a bit of [[DukeScript]] programming!
Let's do a bit of [[DukeScript]] programming!

JaroslavTulach: /* BOF4941: Virtually Inside-Out! */ - 2014-09-10 18:40:56

BOF4941: Virtually Inside-Out!

←Older revision Revision as of 18:40, 10 September 2014
Line 7: Line 7:
=== BOF4941: Virtually Inside-Out! ===
=== BOF4941: Virtually Inside-Out! ===
-
Venue / Room: Moscone South - 305
+
Moscone South - 305
-
Date and Time: 9/29/14, 19:00 - 19:45
+
Monday Sep 29, 19:00 - 19:45
Designing your own virtual machine? Interested in byte-code? Or just curious to know how your favorite [[Java]] language construct (think of [[Closures|lambdas]]) transfers into the native form by your[[VM]]? Join the authors of alternative [[VM|Java virtual machines]] to ask and learn!
Designing your own virtual machine? Interested in byte-code? Or just curious to know how your favorite [[Java]] language construct (think of [[Closures|lambdas]]) transfers into the native form by your[[VM]]? Join the authors of alternative [[VM|Java virtual machines]] to ask and learn!

JaroslavTulach at 18:17, 10 September 2014 - 2014-09-10 18:17:25

←Older revision Revision as of 18:17, 10 September 2014
Line 4: Line 4:
Looks like my karma of being [[JavaOne2011]] rock star is gone. Only few of my submissions got accepted. Is [[DukeScript]] doing something wrong? At least the talks about [[API]] are still being accepted. However I promised a checklist and I don't have any, will need to make something up in the next three months. The BOF with [[RoboVM]] guys will certainly be fun - is there any other person with [[VM]] insight to join us?
Looks like my karma of being [[JavaOne2011]] rock star is gone. Only few of my submissions got accepted. Is [[DukeScript]] doing something wrong? At least the talks about [[API]] are still being accepted. However I promised a checklist and I don't have any, will need to make something up in the next three months. The BOF with [[RoboVM]] guys will certainly be fun - is there any other person with [[VM]] insight to join us?
-
 
-
=== CON4946: API Design Checklist ===
 
-
 
-
There are essential aspects of [[good]] [[API]] design that influence the level of acceptance of your [[API]] and through the [[API]]'s perspective also success of your products. One can learn the important facts through own [[TheAPIBook|practical experience]] (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing [[NetBeans Platform]]). Both approaches are possible, yet both require a lot of personal investment.
 
-
 
-
There is a however simpler and more [[clueless]] way: Let's follow an [[API]] Design Checklist!
 
-
 
-
In this short presentation we'll provide an introduciton to ten easy to answer questions and follow checkpoints that will guide you through the process of [[API]] design and ensure your [[API]] satisfies all the aspects of [[good technology]]: it helps its users to speed up their [[Time To Market]], it reduces their total [[Cost of Ownership]] and also is cool enough to attract their attention.
 
-
 
-
The presented checklist will be generally applicable - e.g. useful for any [[API]]s, not only written in [[Java]]. The provided examples will be [[Java]] related, showing our own experience of designing slick, easy to use, compact, effective, hard to misuse [[API]]s for communication between [[Java]] and [[JavaScript]]. During the talk we will show how to use [[JavaC]] plugin infrastructure effectively to increase comfort of your [[API]] users and to build cross-IDE tooling that ensures the best edit/compile feedback possible. We will demonstrate the process of [https://twitter.com/ApiUsabilityTst reviewing the APIs] and show the increase of quality a [[good]] usability study can bring. We show how to create an [[API]] that leads to code shorter than in scripting languages while keeping all the benefits of strongly typed language like [[Java]]!
 
-
 
-
We give you ten easy steps to become [[good]] [[API]] designer!
 
=== BOF4941: Virtually Inside-Out! ===
=== BOF4941: Virtually Inside-Out! ===
-
Session ID: BOF4941
 
Venue / Room: Moscone South - 305
Venue / Room: Moscone South - 305
Date and Time: 9/29/14, 19:00 - 19:45
Date and Time: 9/29/14, 19:00 - 19:45
Line 30: Line 17:
Bring your questions! Learn how [[VM]]s of your favorite language looks inside-out!
Bring your questions! Learn how [[VM]]s of your favorite language looks inside-out!
-
 
-
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===
 
-
 
-
This is [[Toni]]'s talk, but I am sure I'll be around.
 
=== TUT4890: How to program JavaScript in Java ===
=== TUT4890: How to program JavaScript in Java ===
 +
 +
Venue / Room: Hilton - Plaza A
 +
Date and Time: 9/30/14, 8:30 - 10:30
Let's do a bit of [[DukeScript]] programming!
Let's do a bit of [[DukeScript]] programming!
 +
 +
=== CON4946: API Design Checklist ===
 +
 +
Venue / Room: Hilton - Imperial Ballroom A
 +
Date and Time: 9/30/14, 12:30 - 13:30
 +
 +
There are essential aspects of [[good]] [[API]] design that influence the level of acceptance of your [[API]] and through the [[API]]'s perspective also success of your products. One can learn the important facts through own [[TheAPIBook|practical experience]] (and do a lot of mistakes meanwhile) or gain the experience from others (who has already done the mistakes like me when designing [[NetBeans Platform]]). Both approaches are possible, yet both require a lot of personal investment.
 +
 +
There is a however simpler and more [[clueless]] way: Let's follow an [[API]] Design Checklist!
 +
 +
In this short presentation we'll provide an introduciton to ten easy to answer questions and follow checkpoints that will guide you through the process of [[API]] design and ensure your [[API]] satisfies all the aspects of [[good technology]]: it helps its users to speed up their [[Time To Market]], it reduces their total [[Cost of Ownership]] and also is cool enough to attract their attention.
 +
 +
The presented checklist will be generally applicable - e.g. useful for any [[API]]s, not only written in [[Java]]. The provided examples will be [[Java]] related, showing our own experience of designing slick, easy to use, compact, effective, hard to misuse [[API]]s for communication between [[Java]] and [[JavaScript]]. During the talk we will show how to use [[JavaC]] plugin infrastructure effectively to increase comfort of your [[API]] users and to build cross-IDE tooling that ensures the best edit/compile feedback possible. We will demonstrate the process of [https://twitter.com/ApiUsabilityTst reviewing the APIs] and show the increase of quality a [[good]] usability study can bring. We show how to create an [[API]] that leads to code shorter than in scripting languages while keeping all the benefits of strongly typed language like [[Java]]!
 +
 +
We give you ten easy steps to become [[good]] [[API]] designer!
 +
 +
 +
=== CON6091: [[DukeScript]]: How to Put the Java into JavaScript ===
 +
 +
This is [[Toni]]'s talk, but I am sure I'll be around.

JaroslavTulach: /* BOF4941: Virtually Inside-Out! */ - 2014-09-10 18:15:08

BOF4941: Virtually Inside-Out!

←Older revision Revision as of 18:15, 10 September 2014
Line 18: Line 18:
=== BOF4941: Virtually Inside-Out! ===
=== BOF4941: Virtually Inside-Out! ===
 +
 +
Session ID: BOF4941
 +
Venue / Room: Moscone South - 305
 +
Date and Time: 9/29/14, 19:00 - 19:45
Designing your own virtual machine? Interested in byte-code? Or just curious to know how your favorite [[Java]] language construct (think of [[Closures|lambdas]]) transfers into the native form by your[[VM]]? Join the authors of alternative [[VM|Java virtual machines]] to ask and learn!
Designing your own virtual machine? Interested in byte-code? Or just curious to know how your favorite [[Java]] language construct (think of [[Closures|lambdas]]) transfers into the native form by your[[VM]]? Join the authors of alternative [[VM|Java virtual machines]] to ask and learn!