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