MOO API Engineering Course

5,091 views
4,796 views

Published on

slides from a talk I gave on 27th September 2008 at BarCampLondon5

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,091
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
70
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

MOO API Engineering Course

  1. MOO API
  2. (cc) http://www.flickr.com/photos/laughingsquid WHO, MOO?
  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
  16. 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/
  19. http://dancoulter.com/projects/moo- builder/
  20. http://dancoulter.com/projects/moo- builder/
  21. • http://search.cpan.org/dist/Net-Moo/ • (Aaron Straup from flickr) Perl
  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
  23. http://www.memespring.co.uk/stickers/
  24. http://www.tagmore.com/moo/
  25. http://www.moolulu.com
  26. http://www.theyworkforyou.com
  27. http://www.theyworkforyou.com
  28. foolish live demos
  29. foolish live demos
  30. + foolish live demos
  31. + foolish live demos
  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
  36. Questions?
  37. © Adam 'Apelad' Koford http://www.moo.com/designs/designers/adamkoford/ stef@moo.com http://www.moo.com/api

×