<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss">

<channel>
	<title>Max Kiesler - Designer &#187; Writing</title>
	<atom:link href="http://www.maxkiesler.com/category/writing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.maxkiesler.com</link>
	<description></description>
	<lastBuildDate>Tue, 06 Apr 2010 09:30:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
<cloud domain='www.maxkiesler.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>HTML5 articles, tutorials and websites</title>
		<link>http://www.maxkiesler.com/2010/03/20/html5-articles-tutorials-and-websites/</link>
		<comments>http://www.maxkiesler.com/2010/03/20/html5-articles-tutorials-and-websites/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 04:50:05 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=3703</guid>
		<description><![CDATA[With the advent of HTML5 there has been a plethora of information available online on how to understand, program and work with this new specification. The following is a list of what I consider the be the best and most helpful HTML5 articles, tutorials or websites that I’ve found over the past year. Please let [...]]]></description>
			<content:encoded><![CDATA[<p>With the advent of HTML5 there has been a plethora of information available online on how to understand, program and work with this new specification. The following is a list of what I consider the be the best and most helpful HTML5 articles, tutorials or websites that I’ve found over the past year.</p>
<p>Please let me know through a comment if you know of any other great HTML5 articles, tutorials or websites, and I’ll be glad to post them. Also thanks to all of the folks who produced all of these great free learning experiences.</p>
<p><span id="more-3703"></span></p>
<h2 class="postH2">Articles</h2>
<p><a target="_blank" href="http://developer.yahoo.net/blog/archives/2010/03/an_exploration_of_html_5.html"  class="subPostTitle" title="An Exploration of HTML 5">An Exploration of HTML 5</a></p>
<blockquote><p>
At the Confoo.ca conference in Montreal, Quebec, Mark Pilgrim of Google gave an impressive keynote providing an overview of the current state of HTML 5. The information in this post was inspired by his comphehensive talk. Are you wondering what is currently available in HTML 5 and if you can start using it?
</p></blockquote>
<p><a target="_blank" href="http://www.w3.org/TR/2008/WD-html5-diff-20080122/"  class="subPostTitle" title="HTML 5 differences from HTML 4">HTML 5 differences from HTML 4</a></p>
<blockquote><p>
HTML 5 defines the fifth major revision of the core language of the World Wide Web, HTML. &#8220;HTML 5 differences from HTML 4&#8243; describes the differences between HTML 4 and HTML 5 and provides some of the rationale for the changes. This document may not provide accurate information as the HTML 5 specification is still actively in development. When in doubt, always check the HTML 5 specification itself.
</p></blockquote>
<p><a target="_blank" href="http://dev.w3.org/html5/html-author/"  class="subPostTitle" title="HTML 5 Reference">HTML 5 Reference</a></p>
<blockquote><p>
This document illustrates how to write HTML 5 documents, focussing on simplicity and practical applications for beginners while also providing in depth information for more advanced web developers.
</p></blockquote>
<p><a target="_blank" href="http://forabeautifulweb.com/blog/about/more_on_developing_naming_conventions_microformats_and_html5/"  class="subPostTitle" title="More on developing naming conventions, Microformats and HTML5">More on developing naming conventions, Microformats and HTML5</a></p>
<blockquote><p>
It seems like a lifetime ago that I first sat down with a cup of tea and a bourbon biscuit and thought about the conventions that we use for naming HTML/XHTML id and class attribute values.
</p></blockquote>
<p><a target="_blank" href="http://www.alistapart.com/articles/semanticsinhtml5"  class="subPostTitle" title="Semantics in HTML 5">Semantics in HTML 5</a></p>
<blockquote><p>
I’m going to make a bold prediction. Long after you and I are gone, HTML will still be around. Not just in billions of archived pages from our era, but as a living, breathing entity. Too much effort, energy, and investment has gone into developing the web’s tools, protocols, and platforms for it to be abandoned lightly, if indeed at all.
</p></blockquote>
<p><a target="_blank" href="http://dev.w3.org/html5/spec/Overview.html"  class="subPostTitle" title="W3C HTML5 Spec">W3C HTML5 Spec</a></p>
<blockquote><p>
This specification defines the 5th major revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features are introduced to help Web application authors, new elements are introduced based on research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability.
</p></blockquote>
<h2 class="postH2">Tutorials</h2>
<p><a target="_blank" href="http://molly.com/html5/html5-0709.html"  class="subPostTitle" title="A Selection of Supported Features in HTML5">A Selection of Supported Features in HTML5</a></p>
<blockquote><p>
You can refer to the PNG Image with Color Coding or use the tabular data option below. Note: The table includes some modifications in regards to Opera support for audio and video which are not represented in the PNG.
</p></blockquote>
<p><a target="_blank" href="http://html5tutorial.net/tutorials/basic-html-5-layout.html"  class="subPostTitle" title="Basic HTML 5 layout">Basic HTML 5 layout</a></p>
<blockquote><p>
Today we are going to have a quick look into the layout of HTML 5, we have put together a very basic HTML 5 page so that you can get a rough idea of what to expect from the upcoming code.
</p></blockquote>
<p><a target="_blank" href="http://inspectelement.com/tutorials/code-a-backwards-compatible-one-page-portfolio-with-html5-and-css3/"  class="subPostTitle" title="Code a Backwards Compatible, One Page Portfolio with HTML5 and CSS3">Code a Backwards Compatible, One Page Portfolio with HTML5 and CSS3</a></p>
<blockquote><p>
HTML5 is the future of web development but believe it or not you can start using it today. HTML5 is much more considerate to semantics and accessibility as we don’t have to throw meaningless div’s everywhere. It introduces meaningful tags for common elements such as navigations and footers which makes much more sense and are more natural.
</p></blockquote>
<p><a target="_blank" href="http://www.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/"  class="subPostTitle" title="">Coding A HTML 5 Layout From Scratch</a></p>
<blockquote><p>
HTML5 and CSS3 have just arrived (kinda), and with them a whole new battle for the ‘best markup’ trophy has begun. Truth to be told, all these technologies are mere tools waiting for a skilled developer to work on the right project. As developers we shouldn’t get into pointless discussions of which markup is the best. They all lead to nowhere. Rather, we must get a brand new ideology and modify our coding habits to keep the web accessible.
</p></blockquote>
<p><a target="_blank" href="http://html5doctor.com/designing-a-blog-with-html5/"  class="subPostTitle" title="Designing a blog with html5">Designing a blog with html5</a></p>
<blockquote><p>
Much of HTML 5’s feature set involves JavaScript APIs that make it easier to develop interactive web pages but there are a slew of new elements that allow you extra semantics in your conventional Web 1.0 pages. In order to investigate these, let’s look at marking up a blog.
</p></blockquote>
<p><a target="_blank" href="http://html5tutorial.net/tutorials/drag-and-drop.html"  class="subPostTitle" title="Drag and drop">Drag and drop</a></p>
<blockquote><p>
As we have mentioned in some of our previous articles &#038; tutorials HTML 5 offers designers, developers and people in general a much richer experience, we are still just scraping the surface of the new markup, so today we are going to have a look at how to create a HTML 5 page that uses the new drag and drop feature.
</p></blockquote>
<p><a target="_blank" href="http://www.infoq.com/articles/Web-Sockets-Proxy-Servers"  class="subPostTitle" title="How HTML5 Web Sockets Interact With Proxy Servers">How HTML5 Web Sockets Interact With Proxy Servers</a></p>
<blockquote><p>
n this article, I’ll explain how HTML5 Web Sockets interact with proxy servers, load balancing routers, and firewalls. Additionally, I’ll explain how Kaazing WebSocket Gateway and its Web Socket emulation can add additional value.
</p></blockquote>
<p><a href="" class="subPostTitle" title="HTML,5 Again">HTML5, Again</a></p>
<blockquote><p>
If you’re a front-end developer, I want you to do me a favor. I want you to pick a project and mark it up in html5. I’m not going to ask you to code a game experience inside the canvas element or replicate a youtube video player or do anything really, except challenge you to declare semantic information about your content blocks.
</p></blockquote>
<p><a target="_blank" href="http://www.storiesinflight.com/jsfft/visualizer/index.html"  class="subPostTitle" title="HTML5 Audio Data API - Spectrum Visualizer">HTML5 Audio Data API &#8211; Spectrum Visualizer</a></p>
<blockquote><p>
The experimental audio data API allows the programmer to access raw audio data and a processed FFT spectrum of the currently playing audio data through the HTML5 audio tag.
</p></blockquote>
<p><a target="_blank" href="http://html5doctor.com/html-5-boilerplates/"  class="subPostTitle" title="HTML5 Boilerplates">HTML5 Boilerplates</a></p>
<blockquote><p>
Without going into the discussion of why HTML 5 is available today and not 2022, this article is going to give you a series of HTML 5 boilerplates that you can use in your projects right now.
</p></blockquote>
<p><a target="_blank" href="http://dev.opera.com/articles/view/html-5-canvas-the-basics/"  class="subPostTitle" title="HTML 5 canvas - the basics">HTML 5 canvas &#8211; the basics</a></p>
<blockquote><p>
The HTML 5 specification includes lots of new features, one of which is the canvas element. HTML 5 canvas gives you an easy and powerful way to draw graphics using JavaScript. For each canvas element you can use a &#8220;context&#8221; (think about a page in a drawing pad), into which you can issue JavaScript commands to draw anything you want. Browsers can implement multiple canvas contexts and the different APIs provide the drawing functionality.
</p></blockquote>
<p><a target="_blank" href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/"  class="subPostTitle" title="HTML 5 Cheat Sheet (PDF)">HTML 5 Cheat Sheet (PDF)</a></p>
<blockquote><p>
XHTML 2 is dead, long live HTML 5! According to W3C News Archive, XHTML 2 working group is expected to stop work end of 2009 and W3C is planning to increase resources on HTML 5 instead. And even although HTML 5 won’t be completely supported until 2022, it doesn’t mean that it won’t be widely adopted within the foreseeable future.
</p></blockquote>
<p><a target="_blank" href="http://boblet.tumblr.com/post/60552152/html5"  class="subPostTitle" title="HTML5 id/class name cheatsheet">HTML5 id/class name cheatsheet</a></p>
<blockquote><p>
The mapping of HTML5 structural elements to id and class names for use with divs
</p></blockquote>
<p><a target="_blank" href="http://html5tutorial.net/tutorials/html5-monitoring.html"  class="subPostTitle" title="html5 monitoring">html5 monitoring</a></p>
<blockquote><p>
Here is another impressive HTML5 example, while its not exactly advanced it does show demonstrate the raw power of HTML 5. This could also be used as a Windows Vista desktop widget or even for Windows 7 once it is released. This code could be changed to check the status of your domains. (Please test this out by disabling your internet connect either unplug your network cable, or go into “Work Offline” with your browser)
</p></blockquote>
<p><a target="_blank" href="http://www.zeldman.com/2009/07/13/html-5-nav-ambiguity-resolved/"  class="subPostTitle" title="HTML 5: Nav Ambiguity Resolved">HTML 5: Nav Ambiguity Resolved</a></p>
<blockquote><p>
One of the new things HTML 5 sets out to do is to provide web developers with a standardized set of semantic page layout structures. For example, it gives us a nav element to replace structures like div class=&#8221;navigation&#8221;.
</p></blockquote>
<p><a target="_blank" href="http://html5doctor.com/html-5-reset-stylesheet/"  class="subPostTitle" title="HTML5 Reset Stylesheet">HTML5 Reset Stylesheet</a></p>
<blockquote><p>
We’ve had a number of people ask about templates, boilerplates, and styling for HTML 5. Last week, Remy introduced some basic boilerplates for HTML 5, so to keep the momentum going, I’ve modified Eric Meyer’s CSS reset for you to use in your HTML 5 projects.
</p></blockquote>
<p><a target="_blank" href="http://html5doctor.com/html-5-xml-xhtml-5/"  class="subPostTitle" title="HTML 5 + XML = XHTML ">HTML 5 + XML = XHTML </a></p>
<blockquote><p>
I like the xhtml syntax. It’s how I learned. I’m used to lowercase code, quoted attributes and trailing slashes on elements like br and img. They make me feel nice and comfy, like a cup of Ovaltine and The Evil Dead on the telly.
</p></blockquote>
<p><a target="_blank" href="http://jontangerine.com/log/2008/03/preparing-for-html5-with-semantic-class-names"  class="subPostTitle" title="Preparing for HTML5 with Semantic Class Names">Preparing for HTML5 with Semantic Class Names</a></p>
<blockquote><p>
Some time ago I was asked in an interview whether I preferred HTML or CSS. It was a bit like being asked if I prefer pens or pencils. I made an instinctive choice. I chose HTML. It’s the typography of data; the inflection in our voices; the grid of meaning upon which presentation can flourish. I find it beautiful when done well, and that’s why watching HTML 5 unfold with new and refined elements is fascinating to me.
</p></blockquote>
<p><a target="_blank" href="http://html5doctor.com/the-video-element/"  class="subPostTitle" title="The video element">The video element</a></p>
<blockquote><p>
he video element is brand new in HTML 5 and allows you to, get this, play a movie in your website! The data of this element is supposed to be video but it might also have audio or images associated with it.
</p></blockquote>
<p><a target="_blank" href="http://a.deveria.com/caniuse/"  class="subPostTitle" title="When can I use...">When can I use&#8230;</a></p>
<blockquote><p>
Compatibility tables for features in HTML5, CSS3, SVG and other upcoming web technologies
</p></blockquote>
<p><a target="_blank" href="http://diveintohtml5.org/video.html"  class="subPostTitle" title="Video on the web">Video on the web</a></p>
<blockquote><p>
HTML5 defines a standard way to embed video in a web page, using a video element. Support for the video element is still evolving, which is a polite way of saying it doesn’t work yet. At least, it doesn’t work everywhere. But don’t despair! There are alternatives and fallbacks and options galore.
</p></blockquote>
<p><a target="_blank" href="http://radar.oreilly.com/2010/03/why-html5-is-worth-your-time.html"  class="subPostTitle" title="Why HTML5 is worth your time">Why HTML5 is worth your time</a></p>
<blockquote><p>
The debate over HTML5 vs. Flash is great for comments and page views, but all that chatter obscures the bigger issue: Should developers and designers invest in HTML5?
</p></blockquote>
<p><a target="_blank" href="http://articles.sitepoint.com/article/html-5-snapshot-2009"  class="subPostTitle" title="Yes, You Can Use HTML 5 Today!">Yes, You Can Use HTML 5 Today!</a></p>
<blockquote><p>
There have been many changes to the HTML 5 landscape since my colleague, Lachlan Hunt’s 2007 article on A List Apart, A Preview of HTML 5. Let’s see what’s happening in the world of HTML 5.
</p></blockquote>
<h2 class="postH2">Websites</h2>
<p><a target="_blank" href="http://html5doctor.com"  class="subPostTitle" title="HTML5 Doctor">HTML5 Doctor</a></p>
<blockquote><p>
The site came about following a HTML5 meetup after the Future of Web Design conference in London (2009). We decided that there wasn’t a resource that catered for the people who wished to find out more about implementing HTML5 and how to go about it, so we thought we’d better build one.
</p></blockquote>
<p><a target="_blank" href="http://html5gallery.com/"  class="subPostTitle" title="HTML5 Gallery">HTML5 Gallery</a></p>
<blockquote><p>
A showcase of sites using HTML5 markup
</p></blockquote>
<p><a target="_blank" href="http://html5tutorial.net/"  class="subPostTitle" title="HTML5 Tutorial">HTML5 Tutorial</a></p>
<blockquote><p>
Our website is your one stop website for everything related to the new HTML 5 code, You will find many useful guides for HTML 5 resources including HTML 5 Tutorials, HTML 5 examples and HTML references.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2010/03/20/html5-articles-tutorials-and-websites/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>SmartPhone design templates for Android, iPhone and Palm Pre</title>
		<link>http://www.maxkiesler.com/2010/03/18/smartphone-design-templates-for-android-iphone-and-palm-pre/</link>
		<comments>http://www.maxkiesler.com/2010/03/18/smartphone-design-templates-for-android-iphone-and-palm-pre/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 06:09:36 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[design templates]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[palm pre]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=3627</guid>
		<description><![CDATA[As more and more companies &#038; start-ups contact ideacodes for smartphone design, I found the need to make a link list of templates I might need to use. Recently, I found many of the templates were no longer available online. This is what led to this post. Here I will showcase smartphone templates I&#8217;ve found [...]]]></description>
			<content:encoded><![CDATA[<p>As more and more companies &#038; start-ups contact <a target="_blank" href="http://ideacodes.com/" >ideacodes</a> for smartphone design, I found the need to make a link list of templates I might need to use. Recently, I found many of the templates were no longer available online. This is what led to this post. Here I will showcase smartphone templates I&#8217;ve found on the web, and archive them at my site, so even if the original source goes away, the templates will still be available. </p>
<p>Special thanks to all of the hard working designers that have created these awesome smartphone templates! Also, please check the original source for usage requirements.</p>
<h2 class="postH2">Android</h2>
<p><a href="http://www.maxkiesler.com/2010/03/18/smartphone-design-templates-for-android-iphone-and-palm-pre/" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/pavel-macek-android1.jpg" alt="" title="pavel-macek-android" width="500" height="340" class="alignnone size-full wp-image-3630" /></a></p>
<p><span id="more-3627"></span></p>
<p><a target="_blank" href="http://www.matcheck.cz/androidguipsd/"  class="subPostTitle">Android 1.5 GUI PSD v. 1.0 from Pavel Macek</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/androidguipsd_v1.0.zip" >Download the files directly</a>
</li>
</ul>
<p><a href="ttp://www.maxkiesler.com/downloads/android_mockup_template2.png" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/unitid-android-fireworks.jpg" alt="" title="unitid-android-fireworks" width="500" height="340" class="alignnone size-full wp-image-3640" /></a></p>
<p><a target="_blank" href="http://unitid.nl/2009/11/fireworks-template-for-android/"  class="subPostTitle">Fireworks template for Android from Unitid</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/android_mockup_template2.png" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/android_mockup_template2.png" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/binarysheep-android1.jpg" alt="" title="binarysheep-android" width="500" height="340" class="alignnone size-full wp-image-3647" /></a></p>
<p><a target="_blank" href="http://graffletopia.com/stencils/498"  class="subPostTitle">Antroid Omnigraffle Stencil from BinarySheep</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/android_mockup_template2.png" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/icon_templates-v1.0.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/android-icon-pack.jpg" alt="" title="android-icon-pack" width="500" height="340" class="alignnone size-full wp-image-3650" /></a></p>
<p><a target="_blank" href="http://developer.android.com/guide/practices/ui_guidelines/icon_design.html#templatespack"  class="subPostTitle">Antroid Icon Template Pack from Google</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/icon_templates-v1.0.zip" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/android_wireframe_templates.pdf" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/futureplatforms-android-wireframes1.jpg" alt="" title="futureplatforms-android-wireframes" width="500" height="340" class="alignnone size-full wp-image-3657" /></a></p>
<p><a target="_blank" href="http://www.tomhume.org/2010/01/android-wireframe-templates.html"  class="subPostTitle">Android Wireframe Templates from Future Platforms</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/android_wireframe_templates.pdf" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/nexus.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/nexus-1.jpg" alt="" title="nexus-1" width="500" height="254" class="alignnone size-full wp-image-3660" /></a></p>
<p><a target="_blank" href="http://www.tomhume.org/2010/01/android-wireframe-templates.html"  class="subPostTitle">Google Nexas PSD from PX Junkie</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/nexus.zip" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/droid-psd.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/droid.jpg" alt="" title="droid" width="500" height="340" class="alignnone size-full wp-image-3662" /></a></p>
<p><a target="_blank" href="http://zandog.deviantart.com/art/Motorola-Droid-PSD-152356162"  class="subPostTitle">Motorola Droid PSD from Zandog</a></p>
<p>Some rights reserved. This work is licensed under a Creative Commons Attribution-No Derivative Works 3.0 License.</p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/droid-psd.zip" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/htc-dream-by-zandog.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/htc-dream.jpg" alt="" title="htc-dream" width="500" height="340" class="alignnone size-full wp-image-3664" /></a></p>
<p><a target="_blank" href="http://zandog.deviantart.com/art/HTC-Dream-Android-PSD-152512050"  class="subPostTitle">HTC Dream PSD from Zandog</a></p>
<p>Some rights reserved. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.</p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/htc-dream-by-zandog.zip" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/HTC_Touch_2_Smartphone__PSD_by_zandog.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/htc-touch-2-psd.jpg" alt="" title="htc-touch-2-psd" width="500" height="340" class="alignnone size-full wp-image-3666" /></a></p>
<p><a target="_blank" href="http://zandog.deviantart.com/art/HTC-Touch-2-Smartphone-PSD-155775380"  class="subPostTitle">HTC Touch 2 PSD from Zandog</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/HTC_Touch_2_Smartphone__PSD_by_zandog.zip" >Download the files directly</a>
</li>
</ul>
<hr />
<h2 class="postH2">iPhone</h2>
<p><a href="http://www.maxkiesler.com/downloads/iPhone_GUI.psd.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/teehan-lax-iphone.jpg" alt="" title="teehan-lax-iphone" width="500" height="340" class="alignnone size-full wp-image-3667" /></a></p>
<p><a target="_blank" href="http://www.teehanlax.com/blog/2009/06/18/iphone-gui-psd-30/"  class="subPostTitle">iPhone GUI PSD from Teehan+Lax</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/iPhone_GUI.psd.zip" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/iphone1.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/wtc-iphone.jpg" alt="" title="wtc-iphone" width="500" height="340" class="alignnone size-full wp-image-3682" /></a></p>
<p><a target="_blank" href="http://wordpressthemescollection.com/palm-pre-and-iphone-free-psd-vector-pack-129.html"  class="subPostTitle">iPhone PSD from Wordpress Themes Collection</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/iphone1.zip" >Download the files directly</a>
</li>
</ul>
<hr />
<h2 class="postH2">Palm Pre</h2>
<p><a href="http://www.maxkiesler.com/downloads/PalmPre_GUI_1_0_Coconut.psd.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/teehan-lax-palm-pre.jpg" alt="" title="teehan-lax-palm-pre" width="499" height="340" class="alignnone size-full wp-image-3685" /></a></p>
<p><a target="_blank" href="http://www.teehanlax.com/blog/2009/07/08/palm-pre-gui-psd/"   class="subPostTitle">Palm Pre GUI PSD from Teehan+Lax</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/PalmPre_GUI_1_0_Coconut.psd.zip" >Download the files directly</a> (Requires Coconut)
</li>
<li>
<a href="http://www.maxkiesler.com/downloads/PalmPre_GUI_1_0_Avenir.psd.zip" >Download the files directly</a> (Requires Avenir)
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/Pre Homescreen Template.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/michael-gresh-palm-pre.jpg" alt="" title="michael-gresh-palm-pre" width="500" height="340" class="alignnone size-full wp-image-3689" /></a></p>
<p><a target="_blank" href="http://forums.precentral.net/palm-pre-wallpapers/191274-pre-home-screen-template-psd.html"  class="subPostTitle">Palm Pre GUI PSD from Michael Gresh</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/Pre Homescreen Template.zip" >Download the files directly</a>
</li>
</ul>
<p><a href="http://www.maxkiesler.com/downloads/palm-pre1.zip" ><img src="http://www.maxkiesler.com/wp-content/uploads/2010/03/wtc-palm-pre.jpg" alt="" title="wtc-palm-pre" width="500" height="340" class="alignnone size-full wp-image-3691" /></a></p>
<p><a target="_blank" href="http://wordpressthemescollection.com/palm-pre-and-iphone-free-psd-vector-pack-129.html"  class="subPostTitle">Palm Pre PSD from Wordpress Themes Collection</a></p>
<ul>
<li>
<a href="http://www.maxkiesler.com/downloads/palm-pre1.zip" >Download the files directly</a>
</li>
</ul>
<p>BTW, if you&#8217;re looking for some great <a target="_blank" href="http://emilychang.com/2010/03/ipad-templates-and-stencils/" >iPad Templates and Stencils check out Emily Changs post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2010/03/18/smartphone-design-templates-for-android-iphone-and-palm-pre/feed/</wfw:commentRss>
		<slash:comments>70</slash:comments>
		</item>
		<item>
		<title>Typekit &#8211; Designing Webpages With Real Fonts</title>
		<link>http://www.maxkiesler.com/2009/11/11/typekit-designing-webpages-with-real-fonts/</link>
		<comments>http://www.maxkiesler.com/2009/11/11/typekit-designing-webpages-with-real-fonts/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 08:12:53 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>
		<category><![CDATA[typekit]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=3590</guid>
		<description><![CDATA[Tonight I decided to give the new font service Typekit a try on my website. The service uses your browsers inherent ability to link fonts, and has worked out licensing with a number of font houses so you can link these fonts with no fear of legal action. The quote from Typekit below basically says [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_3591" class="wp-caption alignnone" style="width: 510px"><img src="http://www.maxkiesler.com/wp-content/uploads/2009/11/typekit1.png" alt="Screenshot of Typekit" title="typekit" width="500" height="374" class="size-full wp-image-3591" /><p class="wp-caption-text">Screenshot of Typekit</p></div>
<p>Tonight I decided to give the new font service Typekit a try on my website. The service uses your browsers inherent ability to link fonts, and has worked out licensing with a number of font houses so you can link these fonts with no fear of legal action. The quote from Typekit below basically says it all.</p>
<p><span id="more-3590"></span></p>
<blockquote><p>While it’s technically quite easy to link to fonts, it’s legally more nuanced. Almost all fonts are protected by copyright — even those available for free — and very few of them allow for linking via CSS or redistribution on the web. This is understandable; font files represent countless hours of finely detailed labor. Appropriately, type designers are concerned that they’ll lose control of all that hard work.</p>
<p>We’ve been working with foundries to develop a consistent web-only font linking license. We’ve built a technology platform that lets us to host both free and commercial fonts in a way that is incredibly fast, smoothes out differences in how browsers handle type, and offers the level of protection that type designers need without resorting to annoying and ineffective DRM.
</p></blockquote>
<p>I found Typekit easy to implement &#8211; you only need to add two lines of javascript to your head tag, and then choose your fonts.</p>
<p>All in all, I&#8217;m starting to love the Typekit services. I would recommend it to all web designers that what to play around with some new fonts beyond our normal &#8220;web safe group&#8221;. It&#8217;s fun, free, and it&#8217;s easy.</p>
<p>BTW, I&#8217;ll be changing the fonts on my website the next few days to test out the service. More feedback to come.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2009/11/11/typekit-designing-webpages-with-real-fonts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Relational Music Discovery</title>
		<link>http://www.maxkiesler.com/2008/05/05/relational-music-discovery/</link>
		<comments>http://www.maxkiesler.com/2008/05/05/relational-music-discovery/#comments</comments>
		<pubDate>Mon, 05 May 2008 06:02:14 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=185</guid>
		<description><![CDATA[I spend most of my days and nights in front of the computer screen. Needless to say I listen to countless hours of music. I&#8217;m always looking for new music to listen to, and face it, iTunes can only get you so far with it&#8217;s rather limited discovery features. Recently, I&#8217;ve turned to relational, and [...]]]></description>
			<content:encoded><![CDATA[<p>I spend most of my days and nights in front of the computer screen. Needless to say I listen to countless hours of music. I&#8217;m always looking for new music to listen to, and face it, iTunes can only get you so far with it&#8217;s rather limited discovery features. Recently, I&#8217;ve turned to relational, and visual music discovery engines to find more tunes that related to my current musical tastes. </p>
<p>The basic premiss behind this new breed of music search is that you start by entering a genre, artist, song, or geo-location, and you are returned music that relates to your search term. In most cases the returns are presented as a visualization in order to show the connections between data.</p>
<p>Below you find a list of the sites that I go to when I&#8217;m trying to find new music. If you know of any music discovery sites that are not listed please post them in the comments section. Thanks!</p>
<p><a target="_blank" href="http://labs.strands.com/artistnet/"  title="Artist Network Visualization">Artist Network Visualization</a><br />
The Artist Network Visualization applet shows the current listening activity of MyStrands users. Every time a user plays a track by a recognizable artist, it will show up on the map as a small circular node (along with the album art of whichever album the track belonged to). The nodes will repel each other away, so that they don&#8217;t overlap each other. However, if two or more artists are played consecutively, they will become visibly &#8220;linked&#8221; and follow each other around the map when clicked and dragged. Watch as networks of artists emerge from our users&#8217; listening behavior.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-artist-viz-network.jpg" class="imagebox" alt="Artist Network Visualization" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://www.audio-surf.com/"  title="Audiosurf: Ride Your Music">Audiosurf: Ride Your Music</a><br />
As the company states, &#8220;Audiosurf allows you to experience the intensity and emotion of your songs in real time, in full color, and in 3D. Songs that give you an adrenaline rush are converted into wild roller coaster rides full of color and motion. Songs that calm you down appear as cool colors against a relaxing sky. Audiosurf enhances the experience of your music collection by synchronizing its environment to the events in your songs&#8211;the beats, the intense sections, the long pauses followed by a burst of sound, all take on a more vivid meaning. The application builds a highway for any music CD, MP3, iTunes M4A, WMA, or OGG song you choose, so the experience that you have is totally up to you.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-audiosurf.jpg" class="imagebox" alt="Audiosurf: Ride Your Music" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://www.liveplasma.com/"  title="Liveplasma Music Discovery Engine">Liveplasma Music Discovery Engine</a><br />
Liveplasma is a music and movie discovery engine that shows you new music depending on what your interested in. &#8220;Data is grouped according to interest, style, epoch and other criteria which suggest that someone will like it. The closer a film or band is to your favorite the greater the chances are that you will like it.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-liveplasma.jpg" class="imagebox" alt="Liveplasma Music Discovery Engine" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://www.musicovery.com/index3.php?ct=xx"  title="Musicovery - Content Visualization">Musicovery &#8211; Content Visualization</a><br />
As a web application designer I&#8217;m always looking for new ways to visualize information and content. Musicovery has showed us a different way of visualizing and browsing music. While the menu is a standard set of music categories, the browse interface itself is like a map with your genre of music displayed in a map-like drag enabled environment. You can drag the music map around your genre until you find an interesting artist. Then when you click on their name the artist is repositioned to the center of the map and the music start playing, along with some nice visual effects.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-musicovery.jpg" class="imagebox" alt="Musicovery - Content Visualization" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://finetunes.musiclens.de/"  title="Musiclens - Music Discovery Visualization">Musiclens &#8211; Music Discovery Visualization</a><br />
There are many search tools for finding new music on the web. Just type in, &#8220;artist, genre or title and you&#8217;ll find some results. Ho Hum. I&#8217;ve been forced to use this same music search paradigm for years. However, there is a new breed of music sites cropping up that will give you new ways to discover new music. &#8220;Musiclens enables users to find pieces of music using very vaguely described criteria, such as loudness (perceived volume), mood or purpose. The search or recommendation query can be enhanced or limited by adjusting the ten navigation control sliders&#8221;. This site works well and has a great visualization tool.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-musiclens.jpg" class="imagebox" alt="Musiclens - Music Discovery Visualization" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://www.gracenote.com/map/"  title="Music Maps - Who is Listening to What and Where">Music Maps &#8211; Who is Listening to What and Where</a><br />
&#8220;The popularity map shows snapshots of current top artist and album charts by geographical location. The Flash-based interactive map works using data from the Gracenote Media Database and shows the latest artist and album lookups in states, regions, countries, and continents around the world.&#8221; I like exploring this site as a way to see what the most popular types of music are in different countries. For example, look at the difference in musical tastes between California and Norway. Fun site.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-gracenote-music-maps.jpg" class="imagebox" alt="Music Maps" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://podbop.org/"  title="Podbop - Mp3 Concert Calendar">Podbop &#8211; Mp3 Concert Calendar</a></p>
<p>&#8220;Podbop is an MP3 concert calendar that helps you discover bands playing in your town, completely powered by the community&#8221;. Excellent use of color, oversized text, and a well designed map navigator are highlights of the Podbop start page. The interior uses the same high contrast and highly readable layout. The dark brown and lime green work well together with the white font. The site has a great user experience with inline previews of the band&#8217;s mp3&#8217;s categorized by date and location.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-podbop.jpg" class="imagebox" alt="Podbop - Mp3 Concert Calendar" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://audiomap.tuneglue.net/"  title="TuneGlue - Relationship Explorer">TuneGlue &#8211; Relationship Explorer</a><br />
TuneGlue is music relationship visualization. The application lets you type in an artist and TuneGlue will return all of the artists it can find related to your search. By clicking on the artist button, and then release, the app will show all of the releases by this artist.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-tuneglue.jpg" class="imagebox" alt="TuneGlue - Relationship Explorero" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://www.screenvader.com/"  title="ScreenVader - Algorithmic Music, Images and Video">ScreenVader &#8211; Algorithmic Music, Images and Video</a><br />
In many ways this site feels like an exploration. There is no about section or faqs, so when you arrive you&#8217;re not really sure what to expect. As I found out, it turned out to be a wonderful visual experience. The site provides several free software packages that allow you to compose algorithmic music, image and video presentations. The results are stunning as you will see from the examples on the site. While it takes a little getting use to, the flash based navigation is fun easy to use. The downloads are available for Mac and PC.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-screenvader.jpg" class="imagebox" alt="MScreenVader - Algorithmic Music, Images and Video" border="0" width="500" height="340" /></p>
<p><a target="_blank" href="http://www.coverpop.com/whitney/index.php?var=v0"  title="Whitney Music Box - Visual Harmony">Whitney Music Box &#8211; Visual Harmony</a><br />
A very fluid music visualization based on the film maker John Whitney. As the developer stated, &#8220;This weekend I&#8217;ve been playing, once again, with the ideas of experimental film pioneer John Whitney, using both graphics and audio. While Whitney was interested in turning musical ideas into motion graphics, I&#8217;m doing the inverse &#8211; turning one of his key animation ideas back into music. Whitney made a number of films based around the simple idea of harmonic relationships. Above is a visual example of one his ideas that I implemented in Flash.&#8221; Make sure you check out all of the variations in the right column. Great project.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/mk-whitney-music-box.jpg" class="imagebox" alt="Whitney Music Box - Visual Harmony" border="0" width="500" height="340" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2008/05/05/relational-music-discovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Search Visualizations Paradigms</title>
		<link>http://www.maxkiesler.com/2008/05/03/new-search-visualizations-paradigms/</link>
		<comments>http://www.maxkiesler.com/2008/05/03/new-search-visualizations-paradigms/#comments</comments>
		<pubDate>Sat, 03 May 2008 06:18:05 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=189</guid>
		<description><![CDATA[I really like to search the web. I search because I&#8217;m curious. I search because I need specific information. When I need to find something specific I still go to Google. When I&#8217;m curious, and searching for entertainment sake I go to visual, faceted, and relational search engines. There are many ways to search the [...]]]></description>
			<content:encoded><![CDATA[<p>I really like to search the web. I search because I&#8217;m curious. I search because I need specific information. When I need to find something specific I still go to Google. When I&#8217;m curious, and searching for entertainment sake I go to visual, faceted, and relational search engines. There are many ways to search the web these days that are not just liner. Today searches can now be based on context, color, relationship, and even child safe content.</p>
<p>The following is a list of some of the best examples of visual search engines. My comments are now moderated, however, if you have search that you think should be included in this list please leave a comment. Also, if you have a spot on criticisms or relevant information about any app that  was posted I also value your comment. Thanks to the developers of these searches for a new way to see what&#8217;s out there on the inter-web.</p>
<p><a target="_blank" href="http://www.etsy.com/color.php"  title="Etsy's Color Product Search Visualization">Etsy&#8217;s Color Product Search Visualization</a><br />
While I&#8217;ve seen several color based searches they are usually for images. Etsy has created a color based search for products which gives you results based on colors you select in their easy to navigate color grid. To use the search just mouse over the color grid and click on the color. Then click the item to get a closer look and some more details. If you are interested in this item and want to find out more just click the item title. From there you can purchase the selected item. </p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-etsy-color-search.png" class="imagebox" alt="Etsy's Color Product Search Visualization" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://interface.mace-project.eu/demos/projectSearch/v1/"  title="Faceted Search by Moritz Stefaner">Faceted Search by Moritz Stefaner</a><br />
Project Search v1 by Moritz Stefaner is a a flash demo of a faceted search application for architectural projects. I find this form of search very useful for drilling down into a subject. The project has great interaction design.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-mace-search.png" class="imagebox" alt="Faceted Search by Moritz Stefaner" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://www.grokker.com/"  title="Grokker - Relational Search Visualization">Grokker &#8211; Relational Search Visualization</a></p>
<p>Relational search engines help you find more of the information you are looking for faster than with a traditional liner meta search. Grokker does a good job at relational search by federating content from Yahoo and Wikipedia. The results page has two main views which are a list view and a map view. The list view is interesting because it shows you a collapsable / expandable outline view of the categories, and a detail view. It also give you some tools to narrow your search such as a date slider, view by either Yahoo, Wikipedia or both, by keyword within the outline, and finally, by domain. The map view gives you the same tools with an expanded visualization map of the results and relationships. Very fun, easy to use, and great for discovering related results.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-grokker.png" class="imagebox" alt="Grokker - Relational Search Visualization" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://www.kartoo.com/"  title="Kart00 - Visual Search">Kart00 &#8211; Visual Search</a><br />
Kartoo is a meta search engine which presents its results on a map. To try it enter your request and click on the &#8220;OK&#8221; button. As soon as you launch a search, Kartoo analyses your request, questions the most relevant engines, selects the best sites and places them on a map. In this map, the found sites are represented by more or less important size pages, depending on their relevance. When you move the pointer over these pages, the concerned keywords are illuminated and a brief description of the site appears on the left side of the screen. A series of keywords appears. You can refine your search by clicking subjects. To go to the next map, click on the &#8220;map nb x&#8221; button.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-kartOO.png" class="imagebox" alt="kartOO" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://www.oskope.com/"  title="oSkope - Visual Search">oSkope &#8211; Visual Search</a><br />
If you frequent websites like Amazon, YouTube, flickr and eBay you probably love the mass of content that you can see at sites like these. As a designer I tire of &#8220;sameness&#8221; in ways to browse websites. With the exception of flickr the only way to browse the content on these sites is the all to common linear list view. oSkope gives you another. As they say on their website, &#8220;oSkope is a search assistant with a highly intuitive visual interface. oSkope lets you browse quickly through a large number of images a preview information with minimal paging. Selected items can be saved by registered users.&#8221; In many of my test searches I found the information or product I was looking for much more quickly than on the websites themselves. While I can save individual products in a folder I also wish I could save searches. The product is still in beta, however, it is a very fun, intuitive and functional way to search the selected websites. Thanks to the developers and designers.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-oskope.png" class="imagebox" alt="oSkope - Visual Search" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://www.quintura.com/"  title="Quintura Search Visualization">Quintura Search Visualization</a><br />
Quintura is a tag cloud based visual search engine. After your initial search you&#8217;re presented with a two pane screen. On the left is grouping of tags that are related to your search term. On the right are standard liner search results. From an interaction standpoint I think the combination works well. In one screen I get readable results and suggested related search terms. You can also embed your search term cloud on your own website. </p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-quintura.png" class="imagebox" alt="Quintura Search Visualization" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://kids.quintura.com/"  title="Quintura Kids - Child Friendly Search Visualization">Quintura Kids &#8211; Child Friendly Search Visualization</a><br />
If you have children you know that many search engines retrieve sites you may not want them to see. If you&#8217;re a kid you know how boring most search engines can be. &#8220;Quintura, Inc. is the next-generation web search company that was launched with a mission to make Web search easier and faster by adding context or meaning to keywords and visualizing search. The patent-pending technology of Quintura is based on over a decade of the founders&#8217; innovative research and development in the area of neural network and artificial intelligence&#8221;. Quintura also has a wonderful search for standard use, and a women&#8217;s version is planned soon. So far I love both versions that are public.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-quintura-for-kids.png" class="imagebox" alt="Quintura Kids - Child Friendly Search Visualization" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://beta.searchme.com/"  title="Searchme - Visual Search Engine">Searchme &#8211; Visual Search Engine</a></p>
<p>Searchme is new search visualization which lets you see the webpage before you surf there. The idea is pretty neat. As you start to enter a search term you are shown a list of categories that are associated with that term. You can either choose a category, or search all categories. The results are shown in &#8220;coverflow&#8221; paradigm. You can still sort by category, or just click though the &#8220;coverflow&#8221; of all of the pages. I love the idea and the execution, however, from a user interface perspective there are a few interactions that would help the UI a great deal. For example, a full screen mode would make seeing the webpages much more useful. Even with a 30 inch Apple HD monitor the pages are a little hard to read. If searchme added a high-rez full screen mode or a way to magnify the page images it would give me a way to see the page relevance to my search. One step beyond that would be to show the highlighted search term(s) on each page as it flew by. Props out to the developers/designers! In my opinion it just needs a little UX love and then we could have a real winner.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/searchme-visual-search.png" class="imagebox" alt="Searchme - Visual Search Engine" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://www.snap.com/"  title="Snap - Search Visualization">Snap &#8211; Search Visualization</a><br />
Recently new forms of search visualization have been on the rise. Snap is a great example of a new way to view search results. The applications allows you to view an image of the page your about to visit before you go there. The site is broken into two panes one with the search results and the other with a screenshot of the page. In the screenshot pane you can choose three different sizes of screenshots. You can view the site with either a new window or in the larger left pane. As a visual person I found it to be a fun way to browse search results.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/dd-snap-search.png" class="imagebox" alt="Snap - Search Visualization" border="0" width="500" height="336" /></p>
<p><a target="_blank" href="http://www.touchgraph.com/TGGoogleBrowser.html"  title="TouchGraph">TouchGraph Google Browser</a><br />
The TouchGraph Google Browser reveals the network of connectivity between websites, as reported by Google&#8217;s database of related sites. Use this free Java application to explore the connections between realted website.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/touchgraph.png" class="imagebox" alt="TouchGraph" border="0" width="500" height="336" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2008/05/03/new-search-visualizations-paradigms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing Visualizations for Time-Based Data</title>
		<link>http://www.maxkiesler.com/2007/11/19/designing-visualizations-for-time-based-data/</link>
		<comments>http://www.maxkiesler.com/2007/11/19/designing-visualizations-for-time-based-data/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 06:20:18 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=192</guid>
		<description><![CDATA[Most interaction designers understand the concept of timelines and other time-based data. Blogs, calendars, and to-do lists are all examples of time-based data. However, if you are trying to fit 400 data points into a 1024 x 726 screen you&#8217;ll quickly see how challenging time-base data can be. Currently, many interaction designers are turning to [...]]]></description>
			<content:encoded><![CDATA[<p>Most interaction designers understand the concept of timelines and other time-based data. Blogs, calendars, and to-do lists are all examples of time-based data. However, if you are trying to fit 400 data points into a 1024 x 726 screen you&#8217;ll quickly see how challenging time-base data can be. Currently, many interaction designers are turning to visualizations to overcome many of the issues associated with this form of data representation. Below you&#8217;ll find a list of some of the best time-based visualizations on the web. </p>
<p>Also, if you want to see or learn more about data visualizations please visit <a href="http://www.maxkiesler.com/index.php/designdemo/"  title="DesignDemo"> DesignDemo</a> and <a href="http://www.maxkiesler.com/index.php/vizlist//"  title="VizLIst"> VizLIst</a>. I post visualizations on a daily basis in both of these sections. </p>
<p>Please use the comments section of this post to let the community know of any useful resources I&#8217;ve left out. Most of the descriptions below are taken from the developers of the example. Thanks, Max. </p>
<p><a target="_blank" href="http://www.newsweek.com/id/43257"  title="The Sputnik Legacy">The Sputnik Legacy</a><br />
&#8220;The Soviet launch of Sputnik in 1957 kicked of the space race. Since then mankind has sent more than 150 missions to explore outer space. The Newsweek captures all 150 world wide space flights in an easy to use timeline format. The visualization is sortable by year, timespan, planet and country. When you roll over a timeline point you get additional information about the flight. Additionaly, if you click on the Inside Sputnik tab you get a visualization of Sputnik 1 and all of its parts. Very fun and easy to use.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/sputnik-legacy.png" class="imagebox" alt="The Sputnik Legacy" border="0" width="500" height="328" /></p>
<p><a target="_blank" href="http://www.bbc.co.uk/history/interactive/timelines/british/index.shtml"  title="British History Timeline">British History Timeline</a><br />
&#8220;Explore all of British history, from the Neolithic to the present day, with this easy-to-use interactive timeline. Browse hundreds of key events and discover how the past has shaped the world we live in today. &#8216;Take a Journey&#8217; when the timeline has loaded to follow themes such as Slavery, Women&#8217;s Rights and Technology.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/bbc-timeline.png" class="imagebox" alt="British History Timeline" border="0" width="500" height="330" /></p>
<p><a target="_blank" href="http://filmforay.com/labs"  title="Timepiece - Visualize Film Ideas">Timepiece &#8211; Visualize Film Ideas</a><br />
&#8220;Timepiece is an experimental data visualization that help you explore Filmforay&#8217;s site content including, all of their film ideas, new members, comments and votes on each film idea. Presently there is five months worth to data explore, however, this will undoubtedly grow. As stated by LInden at Filmforay, &#8220;The visualization is done with Adobe Flash and pulls all recent data from the site, updated every 30 minutes. Currently it takes a pretty heavy toll on your CPU and loading does take some time, so older computers might have some trouble running it. And I&#8217;ll admit the design wouldn&#8217;t scale very well given a larger data set, but for the meager traffic filmforay has received so far it does just fine!&#8221; Time is one of the most challenging aspects to represent in data visualizations. Linden has created a very unique view of his site&#8217;s content over time.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/timepiece.png" class="imagebox" alt="Timepiece - Visualize Film Ideas" border="0" width="500" height="385" /></p>
<p><a target="_blank" href="http://www.circavie.com/"  title="circaVie - Create and Share Timelines">circaVie &#8211; Create and Share Timelines</a><br />
&#8220;circaVie allows you to easily create multimedia timelines all about your life. Special events, noteworthy achievements, relationships, memorable vacations, interests and hobbies, celebrations, announcements&#8230; you name it. If it&#8217;s about life, it&#8217;s circaVie. By creating a circaVie timeline and adding events to it, you&#8217;re automatically able to share your life and interests with your friends, your family and the rest of the world in a brand new way. You can think of circaVie as a souped-up, unique way of blogging, where you can seamlessly share photos, video and text that other users can comment upon. Your timelines are also portable and can be shared anywhere you like since they&#8217;re all embeddable into your personal Web site, or online profile. Just create your timeline here and take it with you wherever you like!&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/circavie2.png" class="imagebox" alt="circaVie - Create and Share Timelines" border="0" width="500" height="327" /></p>
<p><a target="_blank" href="http://www.recreating-movement.com/"  title="Recreating Movement">Recreating Movement</a></p>
<p>&#8220;Recreating Movement is a computer program for analysing film sequences and has been developed within a diploma thesis. With the help of various filters and settings Recreating Movement makes it possible to extract single frames of any given film sequence and arranges them behind each other in a three-dimensional space. This creates a tube-like set of frames that &#8220;freezes&#8221; a particular time span in a film. By using the keyboard the viewer can browse through the sequence of frames, chose any kind of view of the sequence of frames and influence the displayed frames directly via a displayable menu bar.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/recreating-movement2.png" class="imagebox" alt="Recreating Movement" border="0" width="500" height="270" /></p>
<p><a target="_blank" href="http://jrm.cc/articles/600-comment-timeline-visualization"  title="Comment Timeline Visualization">Comment Timeline Visualization</a><br />
&#8220;While gawking at some of the really cools toys by Moritz Stefaner , I got particularly interested in his post about visualizing time gaps in data and had a moment of inspiration. Instead of vertically gaping the data, you could &#8220;timeline&#8221; the data like we used to do in gradeschool.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/comment-viz.png" class="imagebox" alt="Comment Timeline Visualization" border="0" width="500" height="332" /></p>
<p><a href="" title="Slife">Slife</a><br />
&#8220;Slife 1.3 offers a whole new way to keep track of what you do in your computer. Visualize your activities, improve your productivity and manage your time more efficiently. Slife observes everything you do in your computer and plots your activities in a graphical timeline. Its unique approach to activity tracking and time management opens up a world of possibilities.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/slife.png" class="imagebox" alt="Slife" border="0" width="500" height="423" /></p>
<p><a target="_blank" href="http://timepedia.org/chronoscope/"  title="Timepedia Chronoscope">Timepedia Chronoscope</a><br />
&#8220;Chronoscope is a visualization platform under development at Timepedia for time series datasets. Chronoscope stems from a desire for responsiveness and interactivity when navigating or authoring datasets. Ultimately we aim to bring something like the experience of Google Maps or Google Earth to time series data.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/timepedia.png" class="imagebox" alt="Timepedia Chronoscope" border="0" width="500" height="328" /></p>
<p><a target="_blank" href="http://www.futureswatch.org/Timeline.htm"  title="Timeline of Trends &amp; Events">Timeline of Trends &amp; Events</a><br />
&#8220;Timeline of Trends &#038; Events (1750 to 2100) from futureswatch. Social change in America follows remarkably consistent patterns of behavior dating back to the time of the War of Independence. A close analysis of those patterns reveals why American society, at the beginning of the 21st century, is so bitterly divided. Those patterns also reveal the direction social and political values are likely to move over the next quarter century.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/timeline-of-trends.png" class="imagebox" alt="Timeline of Trends &amp; Events" border="0" width="500" height="388" /></p>
<p><a target="_blank" href="http://simile.mit.edu/"  title="SIMILE project">SIMILE project</a><br />
&#8220;SIMILE is a joint project conducted by the MIT Libraries and MIT CSAIL. SIMILE seeks to enhance inter-operability among digital assets, schemata/vocabularies/ontologies, metadata, and services. A key challenge is that the collections which must inter-operate are often distributed across individual, community, and institutional stores. We seek to be able to provide end-user services by drawing upon the assets, schemata/vocabularies/ontologies, and metadata held in such stores.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/simile.png" class="imagebox" alt="SIMILE project" border="0" width="500" height="336" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2007/11/19/designing-visualizations-for-time-based-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX Your Blog &#8211; Plugins, Source Code, and Tutorials</title>
		<link>http://www.maxkiesler.com/2007/11/18/ajax-your-blog-plugins-source-code-and-tutorials/</link>
		<comments>http://www.maxkiesler.com/2007/11/18/ajax-your-blog-plugins-source-code-and-tutorials/#comments</comments>
		<pubDate>Sun, 18 Nov 2007 06:22:20 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=195</guid>
		<description><![CDATA[I started this blog around the same time AJAX was introduced by Adaptive Path&#8217;s Jesse James Garrett. At the time there were no out of the box add-on&#8217;s for blogs. Fortunately, now there are a plethora of plugins, source code, and tutorials designed for specific blog software. The following is a list of AJAX components [...]]]></description>
			<content:encoded><![CDATA[<p>I started this blog around the same time AJAX was introduced by <a target="_blank" href="http://www.adaptivepath.com"  title="Adaptive Path">Adaptive Path&#8217;s</a> <a target="_blank" href="http://www.adaptivepath.com/ideas/essays/archives/000385.php"  title="Jesse James Garrett">Jesse James Garrett</a>. At the time there were no out of the box add-on&#8217;s for blogs. Fortunately, now there are a plethora of plugins, source code, and tutorials designed for specific blog software. The following is a list of AJAX components you can add to Wordpress, Expression Engine, and Moveable Type.</p>
<p>Please use the comments section of this post to let the community know of any useful resources I&#8217;ve left out. Most of the descriptions below are taken from the developers of the example. Thanks, m4x.</p>
<h3>AJAX for Wordpress</h3>
<p><a target="_blank" href="http://www.lab4games.net/zz85/blog/wordpress-plugins/live-spell-checker/"  title="Live Spell Checker">Live Spell Checker</a><br />
&#8220;AJAX Live Spell Checker for Wordpress&#8221;</p>
<p><a target="_blank" href="http://www.m4rc.nl/wp/imageviewjx"  title="imgViewJX Wordpress Plugin">imgViewJX Wordpress Plugin</a><br />
&#8220;imageViewJX is a Wordpress plugin which takes all images from a given directory and flips through them on your WordPress site, without reloading the page imgViewJX uses AJAX library &#8216;xajax&#8217;. It is meant as a first experiment in using xajax in Wordpress. Use it if you like it, or learn from it if you want to built something yourself.&#8221;</p>
<p><a target="_blank" href="http://anthologyoi.com/awp"  title="AJAX'd Wordpress">AJAX&#8217;d Wordpress</a><br />
&#8220;AJAX&#8217;d Wordpress (AWP), formerly know as INAP, is an extremely powerful plugin that harnesses the power of AJAX and Wordpress to improve the user experience, the administration capabilities and the design potential of any Wordpress based blog. AWP&#8217;s basic features include inline paginated posts, inline comments, threaded comments, the ability to submit comments with AJAX, pagination of your homepage, live comment preview and much more, but it does not, however, force you to use any feature, and it also allows all aspects of the plugin to be easily customized through a single Administration panel. AWP is built to integrate with other plugins and features an advanced module system&#8211;based off of WordPress&#8217; plugin system&#8211;that allows it to be modified with the addition of third-party extensions. It also has special features that will ensure compatibility with many other plugins.&#8221;</p>
<p><a target="_blank" href="http://www.raproject.com/wordpress/wp-ajax-edit-comments/"  title="WP Ajax Edit Comments">WP Ajax Edit Comments</a><br />
&#8220;WordPress Ajax Edit Comments (for WP 2.1+) allows users and admins alike to edit comments on a post. Users can edit their own comments for a period specified by the admin, and admins can edit all post comments. What better way to show reader appreciation than letting the readers edit their own typos?&#8221;</p>
<p><a target="_blank" href="http://wordpress.org/extend/plugins/ajax-comments-wpmuified/"  title="AJAX Comments WPMUified">AJAX Comments WPMUified</a></p>
<p>&#8220;This is a rework of an original plugin called AJAX Comments by contributors DjZoNe, Mike Smullin. Probably one of the best ways you could spice up your WordPress Blog with AJAX; readers love it! Must see for yourself. This plugin works well in all major Web browsers, and uses discrete AJAX. That means if JavaScript disabled, it&#8217;s using the original comment posting method.&#8221;</p>
<p><a target="_blank" href="http://urbangiraffe.com/plugins/ajax-calendar/"  title="AJAX Calendar (now WordPress 2 compatible!)">AJAX Calendar (now WordPress 2 compatible!)</a><br />
&#8220;AJAX Calendar is a plugin that will display an AJAXified WordPress calendar.&#8221;</p>
<p><a target="_blank" href="http://wordpress.org/extend/plugins/ajax-page-loader/"  title="AJAX Page Loader">AJAX Page Loader</a><br />
&#8220;AJAX Page Loader will load posts, pages, etc. without reloading entire page. This was my first plugin and is still a little quirky. There is problems working on some themes. I am working a little at a time on this but if anyone wants to contribute, feel free.&#8221;</p>
<p><a target="_blank" href="http://lesterchan.net/wordpress/readme/wp-polls.html"  title="WP-Polls 2.21">WP-Polls 2.21</a><br />
&#8220;Adds an AJAX poll system to your WordPress blog. You can easily include a poll into your WordPress&#8217;s blog post/page. WP-Polls is extremely customizable via templates and css styles and there are tons of options for you to choose to ensure that WP-Polls runs the way you wanted. It now supports multiple selection of answers.&#8221;</p>
<p><a target="_blank" href="http://wordpress.org/extend/plugins/wp-ajax-edit-comments/"  title="WP AJAX Edit Comments">WP AJAX Edit Comments</a><br />
&#8220;WP Ajax Edit Comments (for WP 2.1+) allows users and admins alike to edit comments on a post. Users can edit their own comments for a period specified by the admin, and admins can edit all post comments. What better way to show reader appreciation than letting the readers edit their own typos?&#8221;</p>
<p><a target="_blank" href="http://www.yongfook.com/2006/05/28/plug-n-play-google-map/"  title="Plug 'n' Play Google Map">Plug &#8216;n&#8217; Play Google Map</a><br />
&#8220;This plugin creates a google map on a Wordpress static page of your choice. Any post that you attach a latitude and longitude to will appear on the map as a marker, with a pop-up bubble and a link to the post.&#8221;</p>
<p><a target="_blank" href="http://wordpress.org/extend/plugins/inline-ajax-page/"  title="Inline Ajax Page">Inline Ajax Page</a><br />
&#8220;Inline Ajax Page (INAP) is an extremely powerful plugin that allows you to harness the power of AJAX to improve your user&#8217;s experience. INAP is not only able to load posts, comments and the add comment box inline, but can also submit comments, paginate posts, paginate your homepage, display a live comment preview. Other than a few minor theme edits when you first install the plugin, nothing has to be changed to test the power of INAP. All options can be controlled directly from the Administration Panel which allows you to customize nearly every aspect of INAP.&#8221;</p>
<p><a target="_blank" href="http://wordpress.org/extend/plugins/ajax-login/"  title="AJAX Login">AJAX Login</a></p>
<p>&#8220;AJAX Login means that the login process is executed without reloading the entire page. The user is alerted through messageboxes on errors, and the page is only reloaded when login succeeds. The same goes for registration and lost password retrieval! This plugin adds a nice templated box on your Wordpress, either with a template tag or as a sidebar widget. In the default template the box contains functionality for logging in, registering as well as retrieving new passwords. If already logged in a logout link is displayed.&#8221;</p>
<p><a target="_blank" href="http://www.elliotswan.com/2007/06/27/better-than-live-ajax-wordpress-ready-search-version-2/"  title="Better-Than-Live AJAX WordPress Search v2">Better-Than-Live AJAX WordPress Search v2</a><br />
&#8220;Just a little less than a year ago I launched Better-Than-Live AJAX WordPress Search. I felt it was time to get back in the swing of things, so I&#8217;m now releasing version 2 of the script.&#8221;</p>
<h3>AJAX for Expression Engine</h3>
<p><a target="_blank" href="http://gadgets.silenz.org/index.php/gadgets/item/ajax-linktracker/"  title="AJAX Linktracker">AJAX Linktracker</a><br />
&#8220;This module allows you to track clicks on arbitrary links. You can use it to track file-downloads, outgoing links or even your internal navigation links. All you got to do is to add an unique id-attribute to any link you want to be tracked. The module utilizes javascript and a XMLHttpRequest to count the clicks. This has the disadvantage that you will not capture clicks by people who have javascript disabled . But on the other hand I see a lot of benefits. It uses no redirects which makes it pretty unobtrusive, your links look like always and there is no rank denial. It&#8217;s easy to apply to virtually any link on-the-fly. And it&#8217;s not triggered by crawlers but only by people behind browsers.&#8221;</p>
<p><a target="_blank" href="http://expressionengine.com/downloads/details/edit_comments/"  title="EE Ajax Edit Comments">EE Ajax Edit Comments</a></p>
<p>&#8220;Allows One To Edit Comments Via AJAX&#8221;</p>
<p><a target="_blank" href="http://expressionengine.com/downloads/details/edit_tab_ajax/"  title="Edit Tab AJAX">Edit Tab AJAX</a><br />
&#8220;Adds the Ability for Dynamic Searching and Sorting in the Edit Tab&#8221;</p>
<p><a target="_blank" href="http://www.jambor-ee.com/features/entry/expression-engine-and-ajax/"  title="ExpressionEngine and Ajax">ExpressionEngine and AJAX</a><br />
&#8220;As the introduction said I&#8217;m going to show you how I added the Ajax functionality to the Jambor-ee homepage, or more specifically, how you can replace certain content (in our case the showcase site details) through a user click without the need for a page refresh.&#8221;</p>
<p><a target="_blank" href="http://www.bkdesign.ca/ee2/index.php/blog/ajas/"  title="Expression Engine Ajax Slideshow">Expression Engine Ajax Slideshow</a><br />
&#8220;Adding an ajax slideshow to Expression Engine easily and simply. Expression Engine can easily have ajax functions added due to its inate configurability and template system.&#8221;</p>
<p><a target="_blank" href="http://www.bkdesign.ca/ee2/index.php/gallery/ajax-gallery/"  title="Expression Engine Ajax Photo Gallery">Expression Engine Ajax Photo Gallery</a><br />
&#8220;An ajax photo gallery done in Expression Engine. Expression Engine being easily configured and a simple template system makes adding ajax photo galleries and ajax media display and other ajax functions a simple matter.&#8221;</p>
<p><a target="_blank" href="http://www.solspace.com/docs/c/Tag"  title="AJAX enabled EE Tags">AJAX enabled EE Tags</a><br />
&#8220;The Tag Module allows you and your users to tag weblog entries with keywords or phrases. Using the module, you can build templates that pull entries by tag. You can show tag clouds and more.&#8221;</p>
<h3>AJAX for Moveable Type</h3>
<p><a target="_blank" href="http://davidcatalano.com/articles/tech/mt-ajax-search/"  title="Movable Type AJAX Search">Movable Type AJAX Search</a><br />
&#8220;This article allows you to easily implement in-page search results in any Movable Type page. What exactly does this mean? Your standard Movable Type blog has a nifty search form on every page. One thing I have always wanted is to display the search results IN the page without refreshing to another page. This is quite easy to do using Javascript and a few commands [notably XMLHttpRequest() ] that make up something we call AJAX.&#8221;</p>
<p><a target="_blank" href="http://blog.movalog.com/a/ajax-archive-drop-downs/"  title="Ajax Archive Drop Downs">Ajax Archive Drop Downs</a><br />
&#8220;In this thread, Gary highlighted how to have drop downs of archives that basically redirected to the appropriate page once an archive was chosen. With this tutorial, I&#8217;ll take that one step further and use AJAX such that when you select an archive, rather than redirecting to the corresponding archive page, the appropriate posts will just replace those currently shown.&#8221;</p>
<p><a target="_blank" href="http://www.bkdesign.ca/movable-type/movabletype-ajax-photo-gallery.php"  title="Movabletype Ajax Photo Gallery">Movabletype Ajax Photo Gallery</a><br />
&#8220;Using some php and ajax I have a new demo of an ajax photo gallery I created for Movable type. I can see many uses for this integrated into your website or as a stand alone gallery. It&#8217;s nice to be able to view the photos without constant page reloads and also free of jumping as the next photo loads.&#8221;</p>
<p><a target="_blank" href="http://mt-hacks.com/ajaxrating.html"  title="AjaxRating">AjaxRating</a><br />
&#8220;Ajax Rating is a plugin for Movable Type that enables visitors to rate your entries or your blog.&#8221;</p>
<p><a target="_blank" href="http://plugins.movabletype.org/quote/"  title="Quote">Quote</a><br />
&#8220;Quote 2.0 is a plugin for Movable Type 4.0 that easily allows commentators to quote a previous comment. It uses AJAX/JSON to retrieve previous comments and enter their quoted text into comment boxes.&#8221;</p>
<p><a target="_blank" href="http://plugins.movabletype.org/mtyahoomaps/"  title="MTYahooMaps">MTYahooMaps</a><br />
&#8220;MTYahooMaps is a Movable Type Plugin that allows you put Yahoo Maps in Posts.&#8221;</p>
<p><a target="_blank" href="http://davidchiu.net/archives/2007/04/easy-ajax-comments-in-movablet.php"  title="Easy AJAX comments in MovableType using Mootools">Easy AJAX comments in MovableType using Mootools</a><br />
&#8220;The title says it all. Using the AJAX library from Mootools I was able to AJAXify the comment forms in Movable Type. Mootools makes it easy by supplying a Send() method in the Ajax class.&#8221;</p>
<p><a target="_blank" href="http://blog.movalog.com/a/enhancedentryediting/"  title="Ajaxify: EnhancedEntryEditing">Ajaxify: EnhancedEntryEditing</a></p>
<p>&#8220;Ajaxify is a series of BigPAPI plugins that adds various javascript and AJAX widgets into Movable Type&#8217;s interface. It has, of course, been built for Movable Type 3.2. The first of which is EnhancedEntryEditing.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2007/11/18/ajax-your-blog-plugins-source-code-and-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualization Programming Languages, Software, and Toolkits</title>
		<link>http://www.maxkiesler.com/2007/11/13/visualization-programming-languages-software-and-toolkits/</link>
		<comments>http://www.maxkiesler.com/2007/11/13/visualization-programming-languages-software-and-toolkits/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 07:02:00 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=198</guid>
		<description><![CDATA[If you&#8217;ve seen websites such as, Digg Big Spy, We Feel Fine, or Gapminder. and you&#8217;re a web surfer you are probably amazed. If however, you&#8217;re a web designer or programmer you may be wondering how to accomplish these dramatic visualizations. Below you&#8217;ll find a list of visualization software, toolkits and programming languages to get [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve seen websites such as, <a target="_blank" href="http://labs.digg.com/bigspy/"  title="Digg Big Spy">Digg Big Spy</a>, <a target="_blank" href="http://www.wefeelfine.org/"  title="We Feel Fine">We Feel Fine</a>, or <a target="_blank" href="http://gapminder.org/"  title="Gapminder">Gapminder</a>. and you&#8217;re a web surfer you are probably amazed. If however, you&#8217;re a web designer or programmer you may be wondering how to accomplish these dramatic visualizations. Below you&#8217;ll find a list of visualization software, toolkits and programming languages to get you started.</p>
<p>Also, if you want to see or learn more about data visualizations please visit <a href="http://www.maxkiesler.com/index.php/designdemo/"  title="DesignDemo"> DesignDemo</a> and <a href="http://www.maxkiesler.com/index.php/vizlist//"  title="VizLIst"> VizLIst </a>. I post visualizations on a daily basis in both of these sections. </p>
<p>Please use the comments section of this post to let the community know of any useful resources I&#8217;ve left out. Most of the descriptions below are taken from the developers of the example. Thanks, Max. </p>
<h3>Visualization Programming Languages</h3>
<p><a target="_blank" href="http://processing.org/"  title="Processing">Processing</a><br />
Processing is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production. </p>
<p><img src="http://www.maxkiesler.com/images/site_images/processing.png" class="imagebox" alt="Processing" border="0" width="500" height="328" /></p>
<h3>Visualization Software</h3>
<p><a target="_blank" href="http://www.opendx.org/index2.php"  title="OpenDX">OpenDX</a><br />
The open source software project based on IBM&#8217;s visualization data explorer. If you need visualization for anything from examining simple data sets to analyzing complex, time-dependent data from disparate sources, OpenDX has what you need: features and functions that let you easily gain meaningful insight into your data.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/opendx.png" class="imagebox" alt="OpenDX" border="0" width="500" height="375" /></p>
<p><a target="_blank" href="http://packetgarden.com/"  title="Packet Garden">Packet Garden</a><br />
Packet Garden captures information about how you use the internet and uses this stored information to grow a private world you can later explore. To do this, Packet Garden takes note of all the servers you visit, their geographical location and the kinds of data you access. Uploads make hills and downloads valleys, their location determined by numbers taken from internet address itself. The size of each hill or valley is based on how much data is sent or received. Plants are also grown for each protocol detected by the software; if you visit a website, an &#8216;HTTP plant&#8217; is grown. If you share some files via eMule, a &#8216;Peer to Peer plant&#8217; is grown, and so on.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/packetgarden.png" class="imagebox" alt="Packet Garden" border="0" width="500" height="375" /></p>
<h3>Visualization Toolkits</h3>
<p><a target="_blank" href="http://flare.prefuse.org/"  title="The Flare Visualization Toolkit">The Flare Visualization Toolkit</a><br />
Flare is a collection of ActionScript 3 classes for building a wide variety of interactive visualizations. For example, flare can be used to build basic charts, complex animations, network diagrams, treemaps, and more. Flare is written in the ActionScript 3 programming language and can be used to build visualizations that run on the web in the Adobe Flash Player. Flare applications can be built using the free Adobe Flex SDK or Adobe&#8217;s Flex Builder IDE. Flare is based on prefuse, a full-featured visualization toolkit written in Java. Flare is open source software licensed under the terms of the BSD license, and can be freely used for both commercial and non-commercial purposes. </p>
<p><img src="http://www.maxkiesler.com/images/site_images/flare.png" class="imagebox" alt="The Flare Visualization Toolkit" border="0" width="500" height="322" /></p>
<p><a target="_blank" href="http://prefuse.org/"  title="Prefuse Visualization Toolkit">Prefuse Visualization Toolkit</a><br />
A Java-based toolkit for building interactive information visualization applications. </p>
<p><img src="http://www.maxkiesler.com/images/site_images/prefuse.png" class="imagebox" alt="Prefuse Visualization Toolkit" border="0" width="500" height="328" /></p>
<h3>Enterprise Visualizations</h3>
<p><a target="_blank" href="http://www.i2inc.com/"  title="i2">i2</a><br />
i2 Inc. is the leading worldwide provider of visual investigative analysis software for law enforcement, intelligence, military and Fortune 500 organizations. </p>
<p><img src="http://www.maxkiesler.com/images/site_images/i2.png" class="imagebox" alt="i2" border="0" width="500" height="332" /></p>
<h3>Visualization Tools</h3>
<p><a target="_blank" href="http://www.creativesynthesis.net/recycling/graphgeardemo/"  title="Graph Gear - Graph Visualization Component">Graph Gear &#8211; Graph Visualization Component</a><br />
This is a very simple example of the graph gear component. The contents of simple.xml are rendered as an interactive graph through javascript to a flash component.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/graphgear.png" class="imagebox" alt="Graph Gear - Graph Visualization Component" border="0" width="500" height="334" /></p>
<p><a target="_blank" href="http://services.alphaworks.ibm.com/manyeyes/app"  title="Many Eyes">Many Eyes</a><br />
Many Eyes is a visualization tool created by the Visual Communication Lab which is part of IBM&#8217;s Collaborative User Experience research group. As they say on their website, &#8220;Many Eyes is a bet on the power of human visual intelligence to find patterns. Our goal is to &#8220;democratize&#8221; visualization and to enable a new social kind of data analysis. Jump right to our visualizations now, take a tour, or read on for a leisurely explanation of the project.&#8221;</p>
<p><img src="http://www.maxkiesler.com/images/site_images/manyeyes.png" class="imagebox" alt="Many Eyes" border="0" width="500" height="359" /></p>
<p><a target="_blank" href="http://www.slifelabs.com/slife/"  title="Slife">Slife</a><br />
Slife 1.3 offers a whole new way to keep track of what you do in your computer. Visualize your activities, improve your productivity and manage your time more efficiently. Slife observes everything you do in your computer and plots your activities in a graphical timeline. Its unique approach to activity tracking and time management opens up a world of possibilities.</p>
<p><img src="http://www.maxkiesler.com/images/site_images/slife.png" class="imagebox" alt="Slife" border="0" width="500" height="423" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2007/11/13/visualization-programming-languages-software-and-toolkits/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Javascript and AJAX Security &#8211; How to Make Your Website Safe</title>
		<link>http://www.maxkiesler.com/2007/11/08/javascript-and-ajax-security-how-to-make-your-website-safe/</link>
		<comments>http://www.maxkiesler.com/2007/11/08/javascript-and-ajax-security-how-to-make-your-website-safe/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 07:03:17 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=201</guid>
		<description><![CDATA[Beneath the peppy front ends of many of todays Rich Internet Applications lies a dark flaw that if left unchecked can bring a site down to it&#8217;s knees. For the past few years many designers and developers have been adding AJAX and Javascript functionality to there websites. Many of these websites suffer from threats such [...]]]></description>
			<content:encoded><![CDATA[<p>Beneath the peppy front ends of many of todays Rich Internet Applications lies a dark flaw that if left unchecked can bring a site down to it&#8217;s knees. For the past few years many designers and developers have been adding AJAX and Javascript functionality to there websites. Many of these websites suffer from threats such as, cross site scripting (also known as XSS), cross-site request forgery (XSRF), and several other well know exploits. Maybe your using one of the popular libraries such as, Prototype and Script.aculo.us, or Dojo and think You&#8217;re safe. Think again. Unless you&#8217;ve implemented security fixes you may be vulnerable to several types of attacks. The same goes for blog plugins, popular open source applications, and of-course the plethora of free Javascript and AJAX add-ons available at free script websites. If you want to protect yourself, please read on.</p>
<p>Below you&#8217;ll find a list of the sites I&#8217;ve visited to learn more about Javascript and AJAX security. Please let me know through email or a comment if you know of any other great security resources, and I&#8217;ll be glad to post them. Most of the descriptions below are taken from the developers of the example. Thanks, Max.</p>
<h3>AJAX Security Articles</h3>
<p><a target="_blank" href="http://www.whitehatsec.com/home/resources/articles/files/myth_busting_ajax_insecurity.html"  title="Ajax Security: Stronger than Dirt?"> Ajax Security: Stronger than Dirt?</a><br />
&#8220;Ajax allows the development of more feature rich, asynchronous applications, but in doing so opens up new possibilities for attackers. We look at the relevant security issues and their possible solutions. Ajax (Asynchronous JavaScript and XML) lurched into being in 2005. As a web services model, Ajax is touted as the next big thing by many who work in web development. Like all big things however, Ajax is not without its faults, one of the most pronounced being that not many people actually know what Ajax is, and what potential risks could be introduced into enterprise environments by embracing it. This article examines what Ajax is, the security implications for Ajax applications, and details a range of potential attack vectors against this technology together with possible defences.&#8221;</p>
<p><a target="_blank" href="http://www.securityfocus.com/news/11456"  title="Developers Warned to Secure AJAX Design">Developers Warned to Secure AJAX Design</a></p>
<p>&#8220;Security firm Fortify Software has stepped forward to warn Web site developers that most frameworks for deploying interactive functionality use JavaScript in a way that could lead to their applications leaking user data. The problem, dubbed JavaScript hijacking by the firm, occurs because popular asynchronous JavaScript and XML (AJAX) toolkits use the scripting language as a transport mechanism without due consideration to security. The basic threat is that malicious Web sites could use cross-site request forgery (XSRF) to steal data from other AJAX-enabled Web applications, Fortify stated in a report released on Monday.&#8221;</p>
<p><a target="_blank" href="http://getahead.org/blog/joe/2007/03/05/json_is_not_as_safe_as_people_think_it_is.html"  title="JSON is Not As Safe As People Think It Is">JSON is Not As Safe As People Think It Is</a><br />
&#8220;I saw some discussion recently about using JSON for secured data, and I&#8217;m not sure that everyone understands the risks. I believe that JSON is unsafe for anything but public data unless you are using unpredictable URLs. There are 2 problems. CSRF (Cross Site Request Fogery) allows attackers to bypass cookie based authentication. I blogged about it a while ago. Wikipedia talks about it. CSRF allows you to invoke cookie protected actions on a remote server. It allows Mr. Evil to trick Mrs. Innocent into transferring money from her bank account into his. Far less known perhaps, is the JSON/Array hack that allows a user to steal JSON data on Mozilla and any other platform with a modern JavaScript interpreter.&#8221;</p>
<p><a target="_blank" href="http://www.whitehatsec.com/home/resources/articles/files/myth_busting_ajax_insecurity.html"  title="Myth-Busting AJAX (In)security">Myth-Busting AJAX (In)security</a><br />
&#8220;The hype surrounding AJAX and security risks is hard to miss. Supposedly, this hot new technology responsible for compelling web-based applications like Gmail and Google Maps harbors a dark secret that opens the door to malicious hackers. Not exactly true. Even the most experienced website developers and security experts have a difficult time cutting through the buzzword banter to find the facts. And, the fact is most websites are insecure, but AJAX is not the culprit. Although AJAX does not make websites any less secure, it&#8217;s important to understand what does.&#8221;</p>
<p><a target="_blank" href="http://search400.techtarget.com/qna/0,289202,sid3_gci1198365,00.html"  title="New chapter and verse on Ajax security">New chapter and verse on Ajax Security</a><br />
&#8220;The increased use of Ajax has brought to the forefront concern about its security. Recognizing that this is an issue, the Open Web Application Security Project (OWASP) is updating its Guide to Building Secure Web Applications to include a separate chapter on Ajax. Andrew van der Stock, who is heading the Guide project and who also wrote the Ajax chapter, spoke with SearchAppSecurity.com recently about Ajax security and what risks developers need to be concerned about.&#8221;</p>
<p><a target="_blank" href="http://www.cgisecurity.com/articles/xss-faq.shtml"  title="The Cross Site Scripting (XSS) FAQ">The Cross Site Scripting (XSS) FAQ</a><br />
&#8220;Websites today are more complex than ever, containing a lot of dynamic content making the experience for the user more enjoyable. Dynamic content is achieved through the use of web applications which can deliver different output to a user depending on their settings and needs. Dynamic websites suffer from a threat that static websites don&#8217;t, called &#8220;Cross Site Scripting&#8221; (or XSS dubbed by other security professionals). Currently small informational tidbits about Cross Site Scripting holes exist but none really explain them to an average person or administrator. This FAQ was written to provide a better understanding of this emerging threat, and to give guidance on detection and prevention.&#8221;</p>
<p><a target="_blank" href="http://www.net-security.org/article.php?id=956&#038;p=1"  title="Top 10 Ajax Security Holes and Driving Factors">Top 10 Ajax Security Holes and Driving Factors</a><br />
&#8220;One of the central ingredients of Web 2.0 applications is Ajax encompassed by JavaScripts. This phase of evolution has transformed the Web into a superplatform. Not surprisingly, this transformation has also given rise to a new breed of worms and viruses such as Yamanner, Samy and Spaceflash. Portals like Google, NetFlix, Yahoo and MySpace have witnessed new vulnerabilities in the last few months. These vulnerabilities can be leveraged by attackers to perform Phishing, Cross-site Scripting (XSS) and Cross-Site Request Forgery (XSRF) exploitation.&#8221;</p>
<h3>AJAX Security Tools</h3>
<p><a target="_blank" href="http://www.darknet.org.uk/2006/04/ajax-is-your-application-secure-enough/"  title=" AJAX Secure Service Layer">AJAX Secure Service Layer</a></p>
<p>&#8220;We see it all around us, recently. Web applications get niftier by the day by utilising the various new techniques recently introduced in a few web-browsers, like I.E. and Firefox. One of those new techniques involves using Javascript. More specifically, the XmlHttpRequest-class, or object.&#8221;</p>
<p><a target="_blank" href="http://assl.sullof.com/assl/"  title="AJAX: Is Your Application Secure Enough?">AJAX: Is Your Application Secure Enough?</a><br />
&#8220;aSSL is a library distributed under MIT License thats implements a technology similar to SSL without HTTPS. aSSL enables the client to negotiate a secret random 128-bit key with the server using the RSA algorithm. Once the connection has been established, the data will be sent and received using AES algorithm. aSSL is composed of some Javascript files and a server side component. Because I have recently changed the negotiation algoritm from RC4 to RSA, only a pure Javascript (ASP) server component is currently available. I will do a porting for the main web languages (PHP, Java, Perl, Python, TKL, etc.) as soon as possible once the library has passed the beta phase.&#8221;</p>
<p><a target="_blank" href="http://getahead.org/blog/joe/2007/04/04/how_to_protect_a_json_or_javascript_service.html"  title=" How to Protect a JSON or Javascript Service">How to Protect a JSON or Javascript Service</a><br />
&#8220;There have been lots of explanations recently of the dangers of JSON or JavaScript remoting. This post is about what you can do to protect your scripts.&#8221;</p>
<h3>DOM Security</h3>
<p><a target="_blank" href="http://www.webappsec.org/projects/articles/071105.shtml"  title="DOM Based Cross Site Scripting or XSS of the Third Kind">DOM Based Cross Site Scripting or XSS of the Third Kind</a></p>
<p>&#8220;We all know what Cross Site Scripting (XSS) is, right? It&#8217;s that vulnerability wherein one sends malicious data (typically HTML stuff with Javascript code in it) that is echoed back later by the application in an HTML context of some sort, and the Javascript code gets executed. Well, wrong. There&#8217;s a kind of XSS which does not match this description, at least not in some fundamental properties. The XSS attacks described above are either &#8220;non-persistent&#8221;/&#8221;reflected&#8221; (i.e. the malicious data is embedded in the page that is returned to the browser immediately following the request) or &#8220;persistent&#8221;/&#8221;stored&#8221; (in which case the malicious data is returned at some later time). But there&#8217;s also a third kind of XSS attacks &#8211; the ones that do not rely on sending the malicious data to the server in the first place! While this seems almost contradictory to the definition or to common sense, there are, in fact, two well described examples for such attacks. This technical note discusses the third kind of XSS, dubbed &#8220;DOM Based XSS&#8221;. No claim is made to novelty in the attacks themselves, of course, but rather, the innovation in this write-up is about noticing that these belong to a different flavor, and that flavor is interesting and important.&#8221;</p>
<h3>General Client-Side Component Security</h3>
<p><a target="_blank" href="http://www.securityfocus.com/infocus/1879"  title="Hacking Web 2.0 Applications with Firefox">Hacking Web 2.0 Applications with Firefox</a><br />
&#8220;AJAX and interactive web services form the backbone of &#8220;web 2.0&#8243; applications. This technological transformation brings about new challenges for security professionals. This article looks at some of the methods, tools and tricks to dissect web 2.0 applications (including Ajax) and discover security holes using Firefox and its plugins.&#8221;</p>
<p><a target="_blank" href="http://www.thesamet.com/blog/2007/01/16/prepare-for-attack%E2%80%94making-your-web-applications-more-secure/"  title="Prepare for Attack!--Making Your Web Applications More Secure">Prepare for Attack!&#8211;Making Your Web Applications More Secure</a><br />
&#8220;Arm yourself and prepare for battle! This post is intended as a reminder about the possible security attacks your Web application may be vulnerable to. While it is not meant as a comprehensive guide to Web-application security, it can give you some ideas on how to better protect your applications.&#8221;</p>
<p><a target="_blank" href="http://www.informit.com/articles/article.aspx?p=603037&#038;rl=1"  title="XSS, Cookies, and Session ID Authentication - Three Ingredients for a Successful Hack">XSS, Cookies, and Session ID Authentication &#8211; Three Ingredients for a Successful Hack</a></p>
<p>&#8220;Cross site scripting (XSS) errors are generally considered nothing more than a nuisance &#8212; most people do not realize the inherent danger these types of bugs create. In this article Seth Fogie looks at a real life XSS attack and how it was used to bypass the authentication scheme of an online web application, leading to &#8220;shell&#8221; access to the web server.&#8221;</p>
<p><a target="_blank" href="http://www.securityfocus.com/infocus/1881"  title="Vulnerability Scanning Web 2.0 Client-Side Components">Vulnerability Scanning Web 2.0 Client-Side Components</a><br />
&#8220;Web 2.0 applications are a combination of several technologies such as Asynchronous JavaScript and XML (AJAX), Flash, JavaScript Object Notation (JSON), Simple Object Access Protocol (SOAP), Representational State Transfer (REST). All these technologies, along with cross-domain information access, contribute to the complexity of the application. We are seeing a shift towards empowerment of an end-user&#8217;s browser by loading libraries.&#8221;</p>
<h3>Javascript Security Articles</h3>
<p><a target="_blank" href="http://www.alistapart.com/articles/secureyourcode"  title="Community Creators, Secure Your Code!">Community Creators, Secure Your Code!</a><br />
&#8220;Personalization is a great feature&#8211;it allows users to make their personal pages come to life by adding colors, pictures, and even sound&#8211;but as with any user input, it is a security threat if not properly sanitized. The creation of a secure online community is a balancing act: your users should be able to personalize their pages using pseudo code or actual HTML, while remaining protected from vandals who might inject malicious JavaScript or otherwise cause harm. One piece of the larger security puzzle is cross-site scripting (XSS). In part one of this two-article series, we will look at various XSS techniques you should be aware of, and at common methods of defending your community against them. In part two, we&#8217;ll use real-world examples to explore these techniques in greater detail.&#8221;</p>
<p><a target="_blank" href="http://www.spidynamics.com/spilabs/education/articles/JS-portscan.html"  title="Detecting, Analyzing, and Exploiting Intranet Applications using JavaScript">Detecting, Analyzing, and Exploiting Intranet Applications using JavaScript</a></p>
<p>&#8220;Imagine visiting a blog on a social site or checking your email on a portal like Yahoo&#8217;s Webmail. While you are reading the Web page JavaScript code is downloaded and executed by your Web browser. It scans your entire home network, detects and determines your Linksys router model number, and then sends commands to the router to turn on wireless networking and turn off all encryption. Now imagine that this happens to 1 million people across the United States in less than 24 hours. This scenario is no longer one of fiction. &#8221;</p>
<h3>Javascript Security Tools</h3>
<p><a target="_blank" href="http://www.howtocreate.co.uk/tutorials/javascript/security"  title="Javascript Security Tutorial">Javascript Security Tutorial</a><br />
&#8220;JavaScript has its own security model, but this is not designed to protect the Web site owner or the data passed between the browser and the server. The security model is designed to protect the user from malicious Web sites, and as a result, it enforces strict limits on what the page author is allowed to do. They may have control over their own page inside the browser, but that is where their abilities end.&#8221;</p>
<p><a target="_blank" href="http://groups.google.com/group/Google-Web-Toolkit/web/security-for-gwt-applications"  title="Security for GWT Applications">Security for GWT Applications</a><br />
&#8220;It is a sad truth that JavaScript applications are easily left vulnerable to several types of security exploits, if developers are unwary.  Because the Google Web Toolkit (GWT) produces JavaScript code, we GWT developers are no less vulnerable to JavaScript attacks than anyone else.  However, because the goal of GWT is to allow developers to focus on their users&#8217; needs instead of JavaScript and browser quirks, it&#8217;s easy to let our guards down.  To make sure that GWT developers have a strong appreciation of the risks, we&#8217;ve put together this article..&#8221;</p>
<p><a target="_blank" href="http://weblogs.java.net/blog/gmurray71/archive/2006/09/preventing_cros.html"  title="Preventing Cross Site Scripting Attacks">Preventing Cross Site Scripting Attacks</a></p>
<p>&#8220;Cross site scripting (XSS) is basically using JavaScript to execute JavaScript from an unwanted domain in a page. Such scripts could expose any data in a page that is accessible by JavaScript including, cookies, form data, or content to a 3rd party. Here is how you can prevent your web pages from being exploited on both the client and the server. This is followed with tips on how to avoid vulnerable sites.&#8221;</p>
<h3>Javascript Encryption</h3>
<p><a target="_blank" href="http://pajhome.org.uk/crypt/md5/"  title="Cryptography: JavaScript MD5">Cryptography: JavaScript MD5</a><br />
&#8220;Over the web, JS cryptography can only protect against passive eavesdropping, as the JavaScript itself is downloaded over an insecure link. If an attacker can modify network traffic, they can make malicious changes to the JavaScript code. In any case, JS interpreters are not designed for secure programming. They may leave sensitive information lying about in memory. They&#8217;re too slow for some algorithms, e.g. BSD-style MD5 passwords, or RSA with full-size keys. Bitwise operations are buggy in several implementations.&#8221;</p>
<p><a target="_blank" href="http://home.zonnet.nl/MAvanEverdingen/Code/"  title="JavaScript Encryption Program">JavaScript Encryption Program</a><br />
&#8220;This page includes an open source JavaScript implementation of the RC4, AES, Serpent, Twofish, Caesar and RSA ciphers. Ciphers can encrypt and decrypt information such that persons who do not know the password (the decryption key) can not read it. The implemented ciphers are strong enough to protect important information such as your passwords and PIN numbers. &#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2007/11/08/javascript-and-ajax-security-how-to-make-your-website-safe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Minimize Your Javascript and CSS Files for Faster Page Loads</title>
		<link>http://www.maxkiesler.com/2007/11/04/how-to-minimize-your-javascript-and-css-files-for-faster-page-loads/</link>
		<comments>http://www.maxkiesler.com/2007/11/04/how-to-minimize-your-javascript-and-css-files-for-faster-page-loads/#comments</comments>
		<pubDate>Sun, 04 Nov 2007 07:04:50 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.maxkiesler.com/?p=204</guid>
		<description><![CDATA[Over the last 11 years I&#8217;ve spent a great deal of time trying to improve client websites with an eye for minimalist interface design and code. While the minimalist design esthetic is not the choice for every client the notion of less code and faster load times always goes over well. Today, many of web [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last 11 years I&#8217;ve spent a great deal of time trying to improve client websites with an eye for minimalist interface design and code. While the minimalist design esthetic is not the choice for every client the notion of less code and faster load times always goes over well. Today, many of web applications I design and code for have a plethora of Javascript and CSS files. Fortunately, there are many options to solve this rather simple problem. Compression, obfuscation and bundling are all great options. </p>
<p>Below you&#8217;ll find a list of the sites I&#8217;ve visited to learn more about Javascript and CSS compression. Please let me know through email or a comment if you know of any other great compression resources, and I&#8217;ll be glad to post them. Most of the descriptions below are taken from the developers of the example. Thanks, Max.</p>
<h3>Javascript and CSS Compression</h3>
<p><a target="_blank" href="http://code.google.com/p/bundle-fu/"  title="Bundle-Fu - Bundle Your JS/CSS Assets in 10 Seconds or Less">Bundle-Fu &#8211; Bundle Your JS/CSS Assets in 10 Seconds or Less</a><br />
&#8220;Web 2.0 sites have lots of tiny javascript/css files, which causes one extra round trip per file to the server and back! This is bad! Bundle-fu throws it all up into a big package and sends it out all at once. &#8221;</p>
<p><a target="_blank" href="http://rakaz.nl/item/make_your_pages_load_faster_by_combining_and_compressing_javascript_and_css_files"  title="Make Your Pages Load Faster by Combining and Compressing Javascript and CSS Files">Make Your Pages Load Faster by Combining and Compressing Javascript and CSS Files</a><br />
&#8220;About six months ago I noticed the pages generated by the content management system were in itself very clean and small, but that these pages still took a long time to load for new visitors. Even on a fast internet connection it took more than 8 seconds to load a basically empty page. The server generated the page in about 350ms, so that wasn&#8217;t the problem. The problem turned out to be a combination of two things: each page used more than 12 different css files because each plugin supplied its own css definitions and because the use of the rather large prototype and scriptaculous javascript libraries which also consists of a couple of different files. Now that an article about the same problem featured on the Yahoo! User Interface blog, I decided to make my solution public, so others can benefit from it.&#8221;</p>
<p><a target="_blank" href="http://www.sitepoint.com/blogs/2007/04/10/faster-page-loads-bundle-your-css-and-javascript"  title="Faster Page Loads - Bundle Your CSS and Javascript">Faster Page Loads &#8211; Bundle Your CSS and Javascript</a><br />
&#8220;Have you ever watched your status bar while you wait for a page to load and wondered why several files seem to be downloaded before you see anything at all on your screen? Eventually the page content displays, and then the images are slotted in. The files that keep you waiting are generally the CSS and Javascript files linked to from the &#8220;head&#8221; section of the HTML document. Because these files determine how the page will be displayed, rendering is delayed until they are completely downloaded..&#8221;</p>
<p><a target="_blank" href="http://sourceforge.net/projects/packtag"  title="Pack:Tag">  Pack:Tag</a><br />
&#8220;A serverside static-resource compressing JSP-Taglib. Could cache ad hoc compressed JavaScript or CSS in memory or in a file. The compressing-algorithms are pluggable.&#8221;</p>
<p><a target="_blank" href="http://www.zimbra.com/blog/archives/2006/01/zimbra_ajax_css_digg.html"  title="AJAX and CSS Optimization">  AJAX and CSS Optimization</a><br />
&#8220;Roland pointed me to an article about the amount of Javascript on digg.com&#8217;s home page. Seems a few Digger&#8217;s found it interesting. Well here at Zimbra we&#8217;ve got tons of Javascript and CSS in our AJAX web app. I decided to try an experiment to see if the techniques we use for Zimbra, a rather large AJAX app would help a site like digg.&#8221;</p>
<h3>Javascript Compression</h3>
<p><a target="_blank" href="http://www.thinkvitamin.com/features/webapps/serving-javascript-fast"  title="Serving JavaScript Fast">Serving JavaScript Fast</a><br />
&#8220;With our so-called &#8220;Web 2.0&#8243; applications and their rich content and interaction, we expect our applications to increasingly make use of CSS and JavaScript. To make sure these applications are nice and snappy to use, we need to optimize the size and nature of content required to render the page, making sure we&#8217;re delivering the optimum experience. In practice, this means a combination of making our content as small and fast to download as possible, while avoiding unnecessarily refetching unmodified resources.&#8221;</p>
<p><a target="_blank" href="http://www.crockford.com/javascript/jsmin.html"  title="JSMin - The JavaScript Minifier">JSMin &#8211; The JavaScript Minifier</a><br />
&#8220;JSMin is a filter which removes comments and unnecessary whitespace from JavaScript  files. It typically reduces filesize by half, resulting in faster downloads. It also encourages a more expressive programming style because it eliminates the download cost of clean, literate self-documentation.&#8221;</p>
<p><a target="_blank" href="http://www.julienlecomte.net/yuicompressor/"  title="YUI Compressor">YUI Compressor</a><br />
&#8220;The YUI Compressor is a JavaScript compressor which, in addition to removing<br />
comments and white-spaces, obfuscates local variables using the smallest<br />
possible variable name. This obfuscation is safe, even when using constructs<br />
such as &#8216;eval&#8217; or &#8216;with&#8217; (although the compression is not optimal is those<br />
cases) Compared to jsmin, the average savings is around 20%. The YUI Compressor is also able to safely compress CSS files. The decision on which compressor is being used is made on the file extension (js or css).&#8221;</p>
<p><a target="_blank" href="http://www.thescripts.com/forum/thread657206.html"  title="YGZip output compression with AJAX">GZip output compression with AJAX</a><br />
&#8220;To make page downloading quicker, I added GZipStream into the<br />
Response filter.&#8221;</p>
<h3>Javascript and CSS Compression With Java</h3>
<p><a target="_blank" href="http://demo.java2script.org/lz77js/"  title="LZ77-Algorithm-Based JavaScript Compressor">LZ77-Algorithm-Based JavaScript Compressor</a><br />
&#8220;LZ77 is known as the basic loseless data compression algorithm. It is used very wide. For example, common .png, .zip, .gzip, .jar, .war file formats use LZ77 compressing algrightm. Here is a Java implementation of such LZ77 algorithm. And by using the Java2Script Simple RPC technology, it sends the string, which is going to be compressed, back to server, which is a Java Serlvet container, and the server runs LZ77 algorithm to compress given string, and then packs compresed string back to browser side. As this compression is specially designed for JavaScript sources, it gives options for how JavaScript codes are compressed. In most cases, this compressor compresses JavaScript at the ratio of 40%~60%. And if you check off those JavaScript options, this compressor can compress any given string.&#8221;</p>
<p><a target="_blank" href="http://dmlinn.com/blog/?p=4"  title="Combine and compress your CSS and Java">Combine and compress your CSS and Java</a></p>
<p>&#8220;So you have your site running on the latest and greatest Java libraries, but your supporting CSS and JavaScript files are really starting to slow things down. You&#8217;re no JavaScript expert, so what do you do? Lucky for us some other people have already encountered this problem and have a great solution.&#8221;</p>
<h3>Javascript Compression With PHP</h3>
<p><a target="_blank" href="http://joliclic.free.fr/php/javascript-packer/en/"  title="Packer JavaScript in PHP">Packer JavaScript in PHP</a><br />
&#8220;PHP Version of the Dean Edwards &#8217;s Packer  de Dean Edwards, a JavaScript Compressor/Obfuscator.&#8221;</p>
<h3>Javascript and CSS Compression With Rails</h3>
<p><a target="_blank" href="http://www.artweb-design.de/2007/4/13/rails-plugin-blazing-fast-page-loads-through-bundled-css-and-javascript"  title="Rails plugin: Blazing fast page loads through bundled CSS and Javascript">Rails plugin: Blazing fast page loads through bundled CSS and Javascript</a><br />
&#8220;I recieved an interesting Sitepoint newsletter the other day which talked about bundling CSS and Javascript ressources (or &#8220;assets&#8221; like that&#8217;s called in Rails talk) to achieve faster page loads. This caught my attention specifically because I experienced the need to repackage many small CSS files on the fly a while back when I worked on a large CMS-type system. Skimming through the PHP source article and code I thought that something similar could be done as a Rails plugin pretty easily and elegantly. I couldn&#8217;t resist, sat down and started coding away &#8230; so here are my results.&#8221;</p>
<h3>Javascript Compression With Rhino and Maven</h3>
<p><a target="_blank" href="http://jorgetown.blogspot.com/2007/06/rhino-maven-automagic-compression.html"  title="Rhino and Maven for JavaScript Compression at Build Time">Rhino and Maven for JavaScript Compression at Build Time</a><br />
&#8220;AJAX-based Rich Internet Applications (RIAs) make heavy use of JavaScript. To improve the user experience of RIAs we can minimize the number of (JavaScript) file requests and reduce their size.&#8221;</p>
<p><a target="_blank" href="http://alex.dojotoolkit.org/shrinksafe/"  title="ShrinkSafe">ShrinkSafe</a><br />
&#8220;ShrinkSafe is a JavaScript &#8220;compression&#8221; system. It can typically reduce the size of your scripts by a third or more, depending on your programming style. Many other tools also shrink JavaScript files, but ShrinkSafe is different. Instead of relying on brittle regular expressions, ShrinkSafe is based on Rhino, a JavaScript interpreter. This allows ShrinkSafe to transform the source of a file with much more confidence that the resulting script will function identically to the file you uploaded. Best of all, ShrinkSafe will never change a public variable or API. That means that you can drop the compressed version of your JavaScript into your pages without changing the code that uses it.&#8221;</p>
<p><a target="_blank" href="http://sourceforge.net/projects/maven-js-plugin"  title="MobilVox Maven JavaScript Plugin">MobilVox Maven JavaScript Plugin</a></p>
<p>&#8220;The MobilVox Maven JavaScript Plugin (maven-js-plugin) is a Maven Plugin that manipulates JavaScript in a web application. The currently implemented goal is compress which compresses all JavaScript in a Java web application.&#8221;</p>
<h3>Compression Research</h3>
<p><a target="_blank" href="http://yuiblog.com/blog/2006/11/28/performance-research-part-1/"  title="Performance Research, Part 1: What the 80/20 Rule Tells Us about Reducing HTTP Requests">Performance Research, Part 1: What the 80/20 Rule Tells Us about Reducing HTTP Requests</a><br />
&#8220;This is the first in a series of articles describing experiments conducted to learn more about optimizing web page performance. You may be wondering why you&#8217;re reading a performance article on the YUI Blog. It turns out that most of web page performance is affected by front-end engineering, that is, the user interface design and development.&#8221;</p>
<p><a target="_blank" href="http://yuiblog.com/blog/2006/03/06/minification-v-obfuscation/"  title="Minification v Obfuscation">Minification v Obfuscation</a><br />
&#8220;JavaScript is a load-and-go language. Programs are delivered to the execution site as text (not as executable or semi-compiled class files) where it is compiled and executed. JavaScript works well with the Web, which is a text delivery system, because it is delivered as text.&#8221;</p>
<p><a target="_blank" href="http://www.die.net/musings/page_load_time/"  title="Optimizing Page Load Time">Optimizing Page Load Time</a></p>
<p>&#8220;It is widely accepted that fast-loading pages improve the user experience. In recent years, many sites have started using AJAX techniques to reduce latency. Rather than round-trip through the server retrieving a completely new page with every click, often the browser can either alter the layout of the page instantly or fetch a small amount of HTML, XML, or javascript from the server and alter the existing page. In either case, this significantly decreases the amount of time between a user click and the browser finishing rendering the new content.&#8221;</p>
<h3>My Other Post About Minimalizm and Compression</h3>
<p><a href="http://www.maxkiesler.com/index.php/weblog/comments/decrease_load_time_and_increase_roi_in_web_20_and_ajax_sites/"  title="Decrease Load Time and Increase ROI in Web 2.0 and AJAX Sites">Decrease Load Time and Increase ROI in Web 2.0 and AJAX Sites</a></p>
<p><a href="http://www.maxkiesler.com/index.php/weblog/comments/facilitate_user_experience_with_css_compression/"  title="Facilitate User Experience with CSS Compression">Facilitate User Experience with CSS Compression</a></p>
<p><a href="http://www.maxkiesler.com/index.php/weblog/comments/minimalist_website_design_patterns/"  title="Minimalist Website Design Patterns">Minimalist Website Design Patterns</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maxkiesler.com/2007/11/04/how-to-minimize-your-javascript-and-css-files-for-faster-page-loads/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
