Singapore de Melonsoda
Corin (Yuko Furusho)
Jacob (Levine Jacob)
Hoshipy (Sayuri Hoshikawa)
Open Services Platform Departm...
Schedule
1

Singapore
Singapore Startup Challenge
Open APIs hackathon activity
2

de

Melonsoda
New Domain Specific Langua...
Common Key Word

Open
Services
Platform
3
What is Open Services Platform?

Outside
Rakuten
SPACE of SPACE Ecosystem
SPACE
SPACE
SPACE
SPACE
SPACE
SNS
Developers
SPA...
What is Open Services Platform?
Review

APIs
Story 1

Developers
Singapore

Open
Bookmark

SNS

Facebook, twitter, Line

R...
Schedule
1

Singapore
Singapore Startup Challenge
Open APIs hackathon activity
2

de

Melonsoda
New Domain Specific Langua...
Self introductions
We are producers, Promote Rakuten Web service

Yuko Furusho

Levine Jacob

2009 Joined Rakuten
Promotio...
Schedule

1 Our mission
2 What is Rakuten API?
3 Rakuten API Event

4 Singapore Startup Challenge

8
Schedule

1 Our mission
2 What is Rakuten API?
3 Rakuten API Event

4 Singapore Startup Challenge

9
Our mission

Provide
Rakuten API

Customer Flow

Developers
Create APP
using Rakuten API

10
Schedule

1 Our mission
2 What is Rakuten API?
3 Rakuten API Event

4 Singapore Startup Challenge

11
What is Rakuten API?
APIs
Rakuten Ichiba API

Rakuten GORA API

Rakuten Auction API

Rakuten Travel API

Rakuten books API...
What is Rakuten API?

We provide APIs on Rakuten WEB SERVICE.
http://webservice.rakuten.co.jp/

13
Schedule

1 Our mission
2 What is Rakuten API?
3 Rakuten API Event

4 Singapore Startup Challenge

14
Question

Are you using
Rakuten APIs?
15
2013, We noticed

Application with using Rakuten API
is not so increasing…
Need more support!!
Rakuten API user
is not so ...
Our Action for developers
High Level
&
Have Account

High Level
&
No Account

API Workshop
To teach
Application Id
how to ...
Rakuten API Event Activitys in 2013
Jan

Apr

July Aug

API Work Shop
Student Hackathon

18
Rakuten API Event Activitys in 2013
Mash Up Award 9

Kyoto
Osaka
Nagoya

Tokushima
Tokyo

Okinawa
19
Result of promotion in Japan
After Workshop and Hackathon,
Application with using Rakuten API ,and
Rakuten API user are In...
Schedule

1 Our mission
2 What is Rakuten API?
3 Rakuten API Event

4 Singapore Startup Challenge

21
Challenge!

Photo: Tomoaki INABA

22
What was the Singapore Startup Challenge?

Affiliate contest using Rakuten APIs
Photo: Tomoaki INABA

23
Why did we hold this contest?

To support overseas developers
Photo: Tomoaki INABA

24
Who took part?

Experienced Singaporean web developers
Photo: Tomoaki INABA

25
When was it?

June 2013 through September 2013
Photo: Tomoaki INABA

26
Planning: Challenges

Problem #1: Japanese only documentation
27
Planning: Challenges

Solution #1: Translate documentation to English
28
Planning: Challenges

Problem #2: Japanese only output
29
Planning: Challenges

Solution #2: Machine translation
30
Breaktime

Delicious
Photo: Jacob Levine

31
API Workshops

Time to hack
Photo: Haider Aly-Reza

32
API Workshops

How do these APIs work?
Photo: Haider Aly-Reza

33
Mini-hackathon

Modified API call and CSS
34
Startup Challenge Launched

Rankings based on amount of sales
35
One-to-one support

Using social media to help developers
36
2nd Prize: JFASH
1st Prize: SuupaaCat
Hobby purchases

39
Shoe purchases

40
Fashion purchases

41
We open Rakuten services!
We are here for you!
We support any developers!
Every time!
Everywhere!

42
I have good news
for Rakuten API users!!

43
Ruby SDK released!!

44
API analytics released!!

https://webservice.rakuten.co.jp/analytics

45
http://rakuten-webservice.tumblr.com/

http://twitter.com/RakutenAPI

http://www.facebook.com/RakutenWebservice

46
Schedule
1

Singapore
Singapore Startup Challenge
Open APIs hackathon activity
2

de

Melonsoda
New Domain Specific Langua...
Melonsoda!
Oct/26/2013
Sayuri Hoshikawa
Open Services Platform Department
Open Services Platform Section
Affiliate Platfor...
Self Introduction

Sayuri
Hoshikawa
Open Services Platform Department
Affiliate Platform Group
Rakuten Affiliate Team

Lan...
Application

We create an application which changes the
suggestion by the condition on the client side.

YES

Suggestion A...
For example

If you are a girl, we’ll suggest sweets.
But if you are a boy, we’ll suggest Monster
Hunter.
YES
Are you
a gi...
way

By creating many conditions and suggestions,
we can offer the best one for the audience.
YES

Suggestion

Condition
Y...
Wishes

To realize it, we have two wishes!

1. Everyone including non-engineers
can understand the logic.

2. Quickly chan...
Why is this needed?

1. Everyone including non-engineers
can understand the logic.
If they can’t understand..

If they can...
Why is this needed?

2. Quickly changing logic
We want to make
AB test cycle quickly
to achieve goal
in short time.

Goal
...
So, to realize these wishes, we made Melonsoda!

56
Our Melonsoda

57
Melonsoda Material

Ices
Menu
(Source code)

(Condition &
Action)

Melonsoda
Virtual
Machine

58
Melonsoda architecture

Menu

Parser

Create Ice

59
Melonsoda architecture

Melonsoda
Virtual Melt
Machine

MVM interprets by order
and figures out the result
60
Melonsoda architecture

Melonsoda
Virtual
Machine
Condition1’s
data

MVM have information
and can decide the result
by it!...
If you use melonsoda…

62
Change logic

Menu

It’s very easy
63
Even if Sales person..

1. Everyone including non-engineers
can understand the logic.
If they can’t understand..

If they ...
If you use melonsoda…

So many call backs will disappear!
And become readable and flexible!

65
Our happy

No more
long source code changes are needed
66
To do tuning in two way
Melonsoda

Not Melonsoda

Design : 1 hour
Short Time!!
Development : 5 hour

Coding : 1min

Unit T...
Quickly ABtesting

2. Quickly changing logic
We want to make
AB test cycle quickly
to achieve find goal
in short time.

Go...
You can’t imagine..?

Let’s
DEMO
Melonsoda!!

69
DEMO

Please answer below questions.
with hash tag “#melon1026”

What’s this name?
Q1

Q2
??? float
#melon1026

??? float
...
By July

What I talked about so far is just until July,
We didn’t have satisfaction before Melonsoda..
_人人人人人人_
>
WE
<
 ̄Y^...
Member

Freddie

Ageo
Alliz

72
Go to Development Camp

Then, we went to Atami!

73
Then,,

Power up Function!

74
Power up Function

1. Nested flow chart

2. Pass arguments

3. npm install

4. Pluggable ice

75
Nested flow chart

sequential ice

More complicate logic!!
76
Nested flow chart

someIce1
|
Ice2 – Ice3

Vertical Line connects ices
based on character’s index

Horizontal Line connect...
78
Pass arguments

Ice can get arguments!

Less ice
79
npm install

Melonsoda is downloaded by npm install

80
Pluggable ice

You can create ice by yourself!!
It is pluggable now!

81
At last

We’ll make Melonsoda open source code in near future.
So if you are interested in,
please tweet “interest!!” with...
Conclusion

Developers

SNS

Partner companys
83
Thank you for listening!

84
Q&A
Upcoming SlideShare
Loading in …5
×

[RakutenTechConf2013] [D-4] Singapore de Melonsoda

668 views

Published on

Rakuten Technology Conference 2013
"Singapore de Melonsoda"
Levine Jacob, Furusho Yuko, Hoshikawa Sayuri (Rakuten)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
668
On SlideShare
0
From Embeds
0
Number of Embeds
134
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • What was it?We held an affiliate commission contest. Singapore developers built e-commerce sites using our APIs. When a customer bought something on our marketplace through one of their sites, that developer received a percentage of the price as a commission. We monitored the traffic and the developer with the highest sales figures won the contest.
  • Why did we hold this contest?We have held many events for Japanese developers but Rakuten is rapidly expanding around the world and we needed to globalize our team’s impact. We chose Singapore because of its growing startup culture, experienced web developer base, lack of competing hackathon-style events, and because Singaporean customers are already buying a lot from our Japanese marketplace.
  • Local developers best understand the appetites of the Singaporean customer. The developers chose what items from our massive marketplace to offer on their sites.
  • We began organizing the contest in the spring, launched it in June, and announced the winner in September.
  • [RakutenTechConf2013] [D-4] Singapore de Melonsoda

    1. 1. Singapore de Melonsoda Corin (Yuko Furusho) Jacob (Levine Jacob) Hoshipy (Sayuri Hoshikawa) Open Services Platform Department Rakuten, Inc.
    2. 2. Schedule 1 Singapore Singapore Startup Challenge Open APIs hackathon activity 2 de Melonsoda New Domain Specific Language System for Ad and Affiliate 2
    3. 3. Common Key Word Open Services Platform 3
    4. 4. What is Open Services Platform? Outside Rakuten SPACE of SPACE Ecosystem SPACE SPACE SPACE SPACE SPACE SNS Developers SPACE SPACE SPACE SPACE Partner companys SPACE SPACE SPACE SPACE SPACE 4
    5. 5. What is Open Services Platform? Review APIs Story 1 Developers Singapore Open Bookmark SNS Facebook, twitter, Line Rakuten Ecosystem Story 2 Partner companys Meronsoda Advertise Tag Affiliate 5
    6. 6. Schedule 1 Singapore Singapore Startup Challenge Open APIs hackathon activity 2 de Melonsoda New Domain Specific Language System for Ad and Affiliate 6
    7. 7. Self introductions We are producers, Promote Rakuten Web service Yuko Furusho Levine Jacob 2009 Joined Rakuten Promotion@JAPAN 2012 Joined Rakuten Promotion@Overseas
    8. 8. Schedule 1 Our mission 2 What is Rakuten API? 3 Rakuten API Event 4 Singapore Startup Challenge 8
    9. 9. Schedule 1 Our mission 2 What is Rakuten API? 3 Rakuten API Event 4 Singapore Startup Challenge 9
    10. 10. Our mission Provide Rakuten API Customer Flow Developers Create APP using Rakuten API 10
    11. 11. Schedule 1 Our mission 2 What is Rakuten API? 3 Rakuten API Event 4 Singapore Startup Challenge 11
    12. 12. What is Rakuten API? APIs Rakuten Ichiba API Rakuten GORA API Rakuten Auction API Rakuten Travel API Rakuten books API Rakuten Recipe API 12
    13. 13. What is Rakuten API? We provide APIs on Rakuten WEB SERVICE. http://webservice.rakuten.co.jp/ 13
    14. 14. Schedule 1 Our mission 2 What is Rakuten API? 3 Rakuten API Event 4 Singapore Startup Challenge 14
    15. 15. Question Are you using Rakuten APIs? 15
    16. 16. 2013, We noticed Application with using Rakuten API is not so increasing… Need more support!! Rakuten API user is not so increasing… Need more promotion!! 16
    17. 17. Our Action for developers High Level & Have Account High Level & No Account API Workshop To teach Application Id how to use Rakuten APIs Technic Level Low Level & Have Account Hackathon Events To promote Rakuten APIs Low Level & No Account 17
    18. 18. Rakuten API Event Activitys in 2013 Jan Apr July Aug API Work Shop Student Hackathon 18
    19. 19. Rakuten API Event Activitys in 2013 Mash Up Award 9 Kyoto Osaka Nagoya Tokushima Tokyo Okinawa 19
    20. 20. Result of promotion in Japan After Workshop and Hackathon, Application with using Rakuten API ,and Rakuten API user are Increasing than before!! 20
    21. 21. Schedule 1 Our mission 2 What is Rakuten API? 3 Rakuten API Event 4 Singapore Startup Challenge 21
    22. 22. Challenge! Photo: Tomoaki INABA 22
    23. 23. What was the Singapore Startup Challenge? Affiliate contest using Rakuten APIs Photo: Tomoaki INABA 23
    24. 24. Why did we hold this contest? To support overseas developers Photo: Tomoaki INABA 24
    25. 25. Who took part? Experienced Singaporean web developers Photo: Tomoaki INABA 25
    26. 26. When was it? June 2013 through September 2013 Photo: Tomoaki INABA 26
    27. 27. Planning: Challenges Problem #1: Japanese only documentation 27
    28. 28. Planning: Challenges Solution #1: Translate documentation to English 28
    29. 29. Planning: Challenges Problem #2: Japanese only output 29
    30. 30. Planning: Challenges Solution #2: Machine translation 30
    31. 31. Breaktime Delicious Photo: Jacob Levine 31
    32. 32. API Workshops Time to hack Photo: Haider Aly-Reza 32
    33. 33. API Workshops How do these APIs work? Photo: Haider Aly-Reza 33
    34. 34. Mini-hackathon Modified API call and CSS 34
    35. 35. Startup Challenge Launched Rankings based on amount of sales 35
    36. 36. One-to-one support Using social media to help developers 36
    37. 37. 2nd Prize: JFASH
    38. 38. 1st Prize: SuupaaCat
    39. 39. Hobby purchases 39
    40. 40. Shoe purchases 40
    41. 41. Fashion purchases 41
    42. 42. We open Rakuten services! We are here for you! We support any developers! Every time! Everywhere! 42
    43. 43. I have good news for Rakuten API users!! 43
    44. 44. Ruby SDK released!! 44
    45. 45. API analytics released!! https://webservice.rakuten.co.jp/analytics 45
    46. 46. http://rakuten-webservice.tumblr.com/ http://twitter.com/RakutenAPI http://www.facebook.com/RakutenWebservice 46
    47. 47. Schedule 1 Singapore Singapore Startup Challenge Open APIs hackathon activity 2 de Melonsoda New Domain Specific Language System for Ad and Affiliate 47
    48. 48. Melonsoda! Oct/26/2013 Sayuri Hoshikawa Open Services Platform Department Open Services Platform Section Affiliate Platform Group
    49. 49. Self Introduction Sayuri Hoshikawa Open Services Platform Department Affiliate Platform Group Rakuten Affiliate Team Language JavaScript Call me Hoshipy! My work ~2011.03 2011.04 Join Rakuten 2011.07- Develop Dynamic Ad Contents 2013.06- Develop Something using Melonsoda 49
    50. 50. Application We create an application which changes the suggestion by the condition on the client side. YES Suggestion A NO Suggestion B Condition 50
    51. 51. For example If you are a girl, we’ll suggest sweets. But if you are a boy, we’ll suggest Monster Hunter. YES Are you a girl? NO Suggestion B 51
    52. 52. way By creating many conditions and suggestions, we can offer the best one for the audience. YES Suggestion Condition YES NO Suggestion Condition YES NO Suggestion Condition NO Suggestion 52
    53. 53. Wishes To realize it, we have two wishes! 1. Everyone including non-engineers can understand the logic. 2. Quickly changing logic 53
    54. 54. Why is this needed? 1. Everyone including non-engineers can understand the logic. If they can’t understand.. If they can understand.. ask answer ask answer Sales person Change by themselves 54
    55. 55. Why is this needed? 2. Quickly changing logic We want to make AB test cycle quickly to achieve goal in short time. Goal Try 8th Try 7th Try 6th Try 5th 1 Try 4th Try 2nd Try 1st Try 2nd Try 3rd Try 1st Not achieved.. 2 Time 55
    56. 56. So, to realize these wishes, we made Melonsoda! 56
    57. 57. Our Melonsoda 57
    58. 58. Melonsoda Material Ices Menu (Source code) (Condition & Action) Melonsoda Virtual Machine 58
    59. 59. Melonsoda architecture Menu Parser Create Ice 59
    60. 60. Melonsoda architecture Melonsoda Virtual Melt Machine MVM interprets by order and figures out the result 60
    61. 61. Melonsoda architecture Melonsoda Virtual Machine Condition1’s data MVM have information and can decide the result by it! 61
    62. 62. If you use melonsoda… 62
    63. 63. Change logic Menu It’s very easy 63
    64. 64. Even if Sales person.. 1. Everyone including non-engineers can understand the logic. If they can’t understand.. If they can understand.. ask answer ask answer Sales person Change by themselves 64
    65. 65. If you use melonsoda… So many call backs will disappear! And become readable and flexible! 65
    66. 66. Our happy No more long source code changes are needed 66
    67. 67. To do tuning in two way Melonsoda Not Melonsoda Design : 1 hour Short Time!! Development : 5 hour Coding : 1min Unit Test : 2 hour Test Integration Test Release Release 67
    68. 68. Quickly ABtesting 2. Quickly changing logic We want to make AB test cycle quickly to achieve find goal in short time. Goal Try 8th Try 7th Try 6th Try 5th 1 Try 4th Try 2nd Try 1st Try 2nd Try 3rd Try 1st Not achieved.. 2 Time 68
    69. 69. You can’t imagine..? Let’s DEMO Melonsoda!! 69
    70. 70. DEMO Please answer below questions. with hash tag “#melon1026” What’s this name? Q1 Q2 ??? float #melon1026 ??? float #melon1026 ??? float #melon1026 Q3 If your answer is correct, You get a prize in DEMO! 70
    71. 71. By July What I talked about so far is just until July, We didn’t have satisfaction before Melonsoda.. _人人人人人人_ > WE <  ̄Y^Y^Y^Y^Y^Y ̄ 71
    72. 72. Member Freddie Ageo Alliz 72
    73. 73. Go to Development Camp Then, we went to Atami! 73
    74. 74. Then,, Power up Function! 74
    75. 75. Power up Function 1. Nested flow chart 2. Pass arguments 3. npm install 4. Pluggable ice 75
    76. 76. Nested flow chart sequential ice More complicate logic!! 76
    77. 77. Nested flow chart someIce1 | Ice2 – Ice3 Vertical Line connects ices based on character’s index Horizontal Line connects adjoining ices Parser creates a binary tree called “Corn Tree” Each ice is placed on one corn 77
    78. 78. 78
    79. 79. Pass arguments Ice can get arguments! Less ice 79
    80. 80. npm install Melonsoda is downloaded by npm install 80
    81. 81. Pluggable ice You can create ice by yourself!! It is pluggable now! 81
    82. 82. At last We’ll make Melonsoda open source code in near future. So if you are interested in, please tweet “interest!!” with hash tag “melon1026”. I’ll send you the announcement of “Melonsoda night”. I hope you also enjoy developing Melonsoda!! Interest! #melon1026 82
    83. 83. Conclusion Developers SNS Partner companys 83
    84. 84. Thank you for listening! 84
    85. 85. Q&A

    ×