{"id":462,"date":"2008-05-19T21:49:48","date_gmt":"2008-05-20T02:49:48","guid":{"rendered":"http:\/\/blog.codedread.com\/archives\/2008\/05\/19\/smile-zen-garden\/"},"modified":"2008-05-19T21:49:48","modified_gmt":"2008-05-20T02:49:48","slug":"smile-zen-garden","status":"publish","type":"post","link":"https:\/\/www.codedread.com\/blog\/archives\/2008\/05\/19\/smile-zen-garden\/","title":{"rendered":"Smile Zen Garden?"},"content":{"rendered":"<p><object type=\"image\/svg+xml\" width=\"100\" height=\"100\" align=\"right\" hspace=\"10\" data=\"http:\/\/codedread.com\/clipart\/smile.svgz\"><span\/><\/object>I've been watching David's <a href=\"http:\/\/leunen.d.free.fr\/fakesmile\/\" title=\"Animate Graphics and Text in Web Pages\">FakeSmile<\/a> script evolve over the course of the last few months.  At the same time, I have been reading up on <a href=\"http:\/\/www.w3.org\/TR\/timesheets\/\" title=\"SMIL Timesheets\">SMIL Timesheets<\/a>, a recent specification drafted by the <a href=\"http:\/\/www.w3.org\/AudioVideo\/\">SYMM Working Group<\/a>.  With recent support of timesheets in FakeSmile, I thought it would be a good chance to experiment.  <!--more--><\/p>\n<h3 id=\"flickr-badges\">Flickr Badges<\/h3>\n<p><a href=\"http:\/\/www.flickr.com\/\">Flickr<\/a> is a pretty popular site for sharing photos with friends, family and the world.  Flickr even lets you embed 'badges' of your recent or popular photos into your own web page using HTML or Flash.  Of course the Flash badge has some animation effects that are not easily achievable in HTML.  I thought I'd use FakeSmile + SVG to create my own badge.  I started with some backend code that <a href=\"http:\/\/www.latenightpc.com\/blog\/\" title=\"Rob Russell's blog\">Rob<\/a> has had kicking around in his repository for almost two years.<\/p>\n<p><object align=\"right\" type=\"image\/svg+xml\" width=\"75\" height=\"150\" hspace=\"20\" data=\"http:\/\/www.codedread.com\/flickr\/badge.php\"><span\/><\/object>You can see the results to the right and also on my <a href=\"http:\/\/www.codedread.com\/about.php\" title=\"Jeff Schiller\">personal info<\/a> page.  The badge has been tested in <a href=\"http:\/\/www.mozilla.com\/firefox\" title=\"Firefox web browser\">Firefox<\/a>, <a href=\"http:\/\/www.opera.com\/\" title=\"Opera Web Browser\">Opera<\/a> or <a href=\"http:\/\/www.apple.com\/safari\" title=\"Safari Web Browser for MacOSX and Windows\">Safari<\/a>.  There seems to be some trouble with the <a href=\"http:\/\/www.examotion.com\/index.php?id=product_player_download\" title=\"SVG Plugin for Internet Explorer\">Renesis 1.1 plugin<\/a> for Internet Explorer, so please stay tuned there.  The badge can be seen full-browser <a href=\"http:\/\/www.codedread.com\/flickr\/badge.php\">here<\/a> (sorry for the low-quality rasters, I'm only grabbing 75x75 pixel thumbnails from Flickr at the moment).<\/p>\n<p>The images are cached from Flickr using a bit of <a href=\"http:\/\/php.net\/\">PHP<\/a> and the Flickr feed is checked every hour for new photos.  If you want to see the source of the PHP, please <a href=\"http:\/\/www.codedread.com\/flickr\/badge.php?view_source=1\">click here<\/a>.<\/p>\n<h3 id=\"smil-timesheets\">SMIL Timesheets<\/h3>\n<p><a href=\"http:\/\/my.opera.com\/MacDev_ed\/blog\/2008\/05\/18\/timetravel\" title=\"Erik Dahlstr\u00f6m's Opera blog\">Others<\/a> have started experimenting with FakeSmile, too.  Usually the people that I talk to that have used <abbr title=\"Synchronized Multimedia Integration Language\">SMIL<\/abbr> are pretty delighted with the technology.  It's a shame that it's not well-supported across modern browsers yet - perhaps it has something to do with the <a href=\"http:\/\/lists.w3.org\/Archives\/Public\/www-smil\/2008AprJun\/\">slow public response rate<\/a> of the SYMM Working Group? \ud83d\ude09<\/p>\n<p>However, while Opera (and now <a href=\"http:\/\/webkit.org\/\">WebKit<\/a>) have started to support SMIL within <a href=\"http:\/\/www.w3.org\/Graphics\/SVG\" title=\"Scalable Vector Graphics\">SVG<\/a>, there are no browsers that support SMIL Timesheets yet.  So FakeSmile will have to do for now (<a href=\"http:\/\/www.tml.tkk.fi\/~pv\/timesheets\/instructions.xhtml\">here's<\/a> another alternative that I have not experimented with).<\/p>\n<p>You can think of SMIL Timesheets as the counterpart to <a href=\"http:\/\/www.w3.org\/Style\/CSS\/\" title=\"Cascading StyleSheets\">CSS<\/a> for web pages.  If <a href=\"http:\/\/www.csszengarden.com\/\" title=\"CSS Zen Garden\">stylesheets<\/a> are like the <em>set decoration<\/em> of your web page, then timesheets are like the <em>choreography<\/em>.  What's really nice about this is that you can have a nice, concise bit of markup representing your content (the images, in this case) and then you can externally link to a separate timesheet to animate the web page.  You can use CSS selectors to apply animations to any of your web elements and use the same timesheet across multiple pages.  You can see my SMIL Timesheet <a href=\"http:\/\/www.codedread.com\/flickr\/flash.smil.txt\">here<\/a>.<\/p>\n<p>If anyone wants to send me a SMIL timesheet with other cool effects, please feel free (look for my email address <a href=\"http:\/\/www.codedread.com\/about.php\">here<\/a>).  Perhaps I'll eventually have my PHP pick a random effect one day.<\/p>\n<h3 id=\"fakesmile\">FakeSmile<\/h3>\n<p>The <a href=\"http:\/\/leunen.d.free.fr\/fakesmile\/\">FakeSmile<\/a> script has come a long way since David released it a few months ago.  It implements a decent amount of SMIL and SMIL Timesheets so that you can actually use these technologies now while the browser vendors catch up.  David has also recently included a full version of <a href=\"http:\/\/jquery.com\/\">jQuery<\/a> inside the FakeSmile script, so it's beefed up with lots of power now.  I think he will probably be releasing minimized\/compressed versions eventually.<\/p>\n<p><i>[Update:  I should also acknowledge <a href=\"http:\/\/www.alleged.org.uk\/pdc\/2006\/01\/01.html\">Damian Cugley<\/a> for being the original inspiration behind Rob starting his project]<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been watching David&#8217;s FakeSmile script evolve over the course of the last few months. At the same time, I have been reading up on SMIL Timesheets, a recent specification drafted by the SYMM Working Group. With recent support of timesheets in FakeSmile, I thought it would be a good chance to experiment.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,25,46,11,28],"tags":[83,84,85,192,107,136,198],"class_list":["post-462","post","type-post","status-publish","format-standard","hentry","category-javascript","category-software","category-svg","category-technology","category-web","tag-fakesmile","tag-flash","tag-flickr","tag-javascript","tag-jquery","tag-smil","tag-svg"],"_links":{"self":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/comments?post=462"}],"version-history":[{"count":0,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/462\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/media?parent=462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/categories?post=462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/tags?post=462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}