SlideShare a Scribd company logo
1 of 37
Download to read offline
MOO API
(cc) http://www.flickr.com/photos/laughingsquid




       WHO, MOO?
MOO CERTIFIED API
ENGINEERING COURSE
• course length: 4.25 minutes
1. write-only API is for MOO Pack creation
2. Allow 100% flexibility in text and image layout on a
  pack of cards (eventually)
3. But make simple templates the default (now)
4. Be as easy to use as the Flickr API (or nearly so)
5. Provide decent preview tools for developers
6. Share revenue with API keyholders (after 1.0)



  (UN)DESIGN GOALS
1.Register for an API key
2.POST XML document to moo.com/api/api.php
3.Redirect users to MOO for checkout
4. Can specify return_path to bring user back to your site
  at the end




  HOW MOO WORKS
REGISTRATION

http://www.moo.com/api
need to register as a MOO user then get key.




HOW, MOO?
1 <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
    2 <moo xsi:noNamespaceSchemaLocation=quot;http://www.moo.com/xsd/api_0.6.xsdquot;
xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;>
    3 <request> <version>0.6</version>
    4 <api_key> 88888888-4444-88888888-88888888-4444</api_key>
    5 <call>build</call>
    6 </request>




    STEP 2: Boilerplate crap
1 <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
    2 <moo xsi:noNamespaceSchemaLocation=quot;http://www.moo.com/xsd/api_0.6.xsdquot;
xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;>
    3 <request> <version>0.6</version>
    4 <api_key> 88888888-4444-88888888-88888888-4444</api_key>
    5 <call>build</call>
    6 </request>
    7
    8 <payload> <chooser>
    9 <product_type>minicard</product_type>
   10 <images>
   11 <url>http://whitelabel.org/barcamplondon5.png</url>
   12 </images>
   13 </chooser> </payload> </moo>




     STEP 2: Payload
STEP 3: Redirect user to MOO checkout
1.Simplest format: drop upto 200 images, user chooses
  from within those.
2. Preselected images
3. Preselected images with specified crop, zoom data
4. Variable text, text colours, bold, etc




 Details: images
Bleed
   * minicard - 6%
   * notecard - 3%
   * sticker - 4%
                         • We have to cut the cards
   * postcard - 2%       • Stay out of the green area!
   * greetingcard - 2%




         WIN !              FAIL             FAIL




Details: Bleed
1   <crop> <manual>
    2   <x>161</x>
    3   <y>203</y>
    4   <width>572</width>
    5   <height>572</height>
    6   </manual> </crop>




1.You can specify the exact crop on an image
2. Will be stretched to fit the aspect ratio of the cards
   Details: Cropping
• Will reject images under 300px by 300px
  • going to refine and revise this -should be variable by
    product
  • and allow override
• no buddy icon support on minicards yet
• GIF, JPEG and PNG




  Restrictions and gotchas
• can specify all text fields on all cards individually
  • 3 fonts (serif, sans serif, fixed)
  • bold
  • alignment (depending on product)
  • fully variable colour per text line
  • 600 different colours in a 100 pack of minicards
• avoid pale colors for text lines, especially yellows



  Details: text
10     <product>
11         <product_type>minicard</product_type>
12         <designs>
13             <design>
14                 <image>
15                      <url> http://whitelabel.com/barcamplondon5.jpg </url>
16                      <type>variable</type>
17                      <crop>
18                          <auto>true</auto>
19                      </crop>
20                 </image>
21                 <text_collection>
22                      <minicard>
23                          <text_line>
24                              <id>1</id>
25                              <string>This is line 1</string>
26                              <bold>true</bold>
27                              <align>left</align>
28                              <font>modern</font>
29                              <colour>#ff0000</colour>
30                          </text_line>




Examples: variable text
Examples: variable text
• http://www.moo.com/api/validator.php
  • validates XML document
  • feedback
  • generates pdf preview




  Development and Testing
• Dan Coulter’s MOO-Builder library for PHP
• http://dancoulter.com/projects/moo-builder/
• supports all features of the API
• totally easy to use.




  http://dancoulter.com/projects/moo-
  builder/
http://dancoulter.com/projects/moo-
builder/
http://dancoulter.com/projects/moo-
builder/
• http://search.cpan.org/dist/Net-Moo/

• (Aaron Straup from flickr)




   Perl
• Ruminant 0.9.5: http://gems.github.com/list.html
 (James Darling)

 1   require 'moo'
 2   moo = Moo::Order.new :api_key => quot;blahblahblahquot;
 3   card = Moo::MiniCard.new
 4   card.url = quot;http://whitelabel.org/barcamplondon5.jpgquot;
 5   card.text = quot;I like tatoosn Oh yes I doquot;
 6   moo.designs << card
 7   moo.to_xml




Ruby
http://www.memespring.co.uk/stickers/
http://www.tagmore.com/moo/
http://www.moolulu.com
http://www.theyworkforyou.com
http://www.theyworkforyou.com
foolish live demos
foolish live demos
+


foolish live demos
+


foolish live demos
+

                     =
foolish live demos
+

                     =
foolish live demos
• 15% Revenue Share to API key holders
  (we will pay retroactively!)
• Business cards
• Fully variable text and imaging positioning



 Coming soon
• Best API hacks this weekend
• Grand Prize: Flip.video
• post it online and email stefan@moo.com
• the most complex (dynamic text, other API integration)
• Openstreetmap integration?
• Warcraft guild cards?
• some image/metadata thingamy




  Competition
Questions?
© Adam 'Apelad' Koford http://www.moo.com/designs/designers/adamkoford/


   stef@moo.com http://www.moo.com/api

More Related Content

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

MOO API Engineering Course

  • 3. MOO CERTIFIED API ENGINEERING COURSE • course length: 4.25 minutes
  • 4. 1. write-only API is for MOO Pack creation 2. Allow 100% flexibility in text and image layout on a pack of cards (eventually) 3. But make simple templates the default (now) 4. Be as easy to use as the Flickr API (or nearly so) 5. Provide decent preview tools for developers 6. Share revenue with API keyholders (after 1.0) (UN)DESIGN GOALS
  • 5. 1.Register for an API key 2.POST XML document to moo.com/api/api.php 3.Redirect users to MOO for checkout 4. Can specify return_path to bring user back to your site at the end HOW MOO WORKS
  • 6. REGISTRATION http://www.moo.com/api need to register as a MOO user then get key. HOW, MOO?
  • 7. 1 <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> 2 <moo xsi:noNamespaceSchemaLocation=quot;http://www.moo.com/xsd/api_0.6.xsdquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;> 3 <request> <version>0.6</version> 4 <api_key> 88888888-4444-88888888-88888888-4444</api_key> 5 <call>build</call> 6 </request> STEP 2: Boilerplate crap
  • 8. 1 <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> 2 <moo xsi:noNamespaceSchemaLocation=quot;http://www.moo.com/xsd/api_0.6.xsdquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;> 3 <request> <version>0.6</version> 4 <api_key> 88888888-4444-88888888-88888888-4444</api_key> 5 <call>build</call> 6 </request> 7 8 <payload> <chooser> 9 <product_type>minicard</product_type> 10 <images> 11 <url>http://whitelabel.org/barcamplondon5.png</url> 12 </images> 13 </chooser> </payload> </moo> STEP 2: Payload
  • 9. STEP 3: Redirect user to MOO checkout
  • 10. 1.Simplest format: drop upto 200 images, user chooses from within those. 2. Preselected images 3. Preselected images with specified crop, zoom data 4. Variable text, text colours, bold, etc Details: images
  • 11. Bleed * minicard - 6% * notecard - 3% * sticker - 4% • We have to cut the cards * postcard - 2% • Stay out of the green area! * greetingcard - 2% WIN ! FAIL FAIL Details: Bleed
  • 12. 1 <crop> <manual> 2 <x>161</x> 3 <y>203</y> 4 <width>572</width> 5 <height>572</height> 6 </manual> </crop> 1.You can specify the exact crop on an image 2. Will be stretched to fit the aspect ratio of the cards Details: Cropping
  • 13. • Will reject images under 300px by 300px • going to refine and revise this -should be variable by product • and allow override • no buddy icon support on minicards yet • GIF, JPEG and PNG Restrictions and gotchas
  • 14. • can specify all text fields on all cards individually • 3 fonts (serif, sans serif, fixed) • bold • alignment (depending on product) • fully variable colour per text line • 600 different colours in a 100 pack of minicards • avoid pale colors for text lines, especially yellows Details: text
  • 15. 10 <product> 11 <product_type>minicard</product_type> 12 <designs> 13 <design> 14 <image> 15 <url> http://whitelabel.com/barcamplondon5.jpg </url> 16 <type>variable</type> 17 <crop> 18 <auto>true</auto> 19 </crop> 20 </image> 21 <text_collection> 22 <minicard> 23 <text_line> 24 <id>1</id> 25 <string>This is line 1</string> 26 <bold>true</bold> 27 <align>left</align> 28 <font>modern</font> 29 <colour>#ff0000</colour> 30 </text_line> Examples: variable text
  • 17. • http://www.moo.com/api/validator.php • validates XML document • feedback • generates pdf preview Development and Testing
  • 18. • Dan Coulter’s MOO-Builder library for PHP • http://dancoulter.com/projects/moo-builder/ • supports all features of the API • totally easy to use. http://dancoulter.com/projects/moo- builder/
  • 22. • Ruminant 0.9.5: http://gems.github.com/list.html (James Darling) 1 require 'moo' 2 moo = Moo::Order.new :api_key => quot;blahblahblahquot; 3 card = Moo::MiniCard.new 4 card.url = quot;http://whitelabel.org/barcamplondon5.jpgquot; 5 card.text = quot;I like tatoosn Oh yes I doquot; 6 moo.designs << card 7 moo.to_xml Ruby
  • 32. + = foolish live demos
  • 33. + = foolish live demos
  • 34. • 15% Revenue Share to API key holders (we will pay retroactively!) • Business cards • Fully variable text and imaging positioning Coming soon
  • 35. • Best API hacks this weekend • Grand Prize: Flip.video • post it online and email stefan@moo.com • the most complex (dynamic text, other API integration) • Openstreetmap integration? • Warcraft guild cards? • some image/metadata thingamy Competition
  • 37. © Adam 'Apelad' Koford http://www.moo.com/designs/designers/adamkoford/ stef@moo.com http://www.moo.com/api