<?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:series="http://unfoldingneurons.com/"
><channel><title>David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞. &#187; Theory / Ideas</title> <atom:link href="http://davidwalsh.name/tutorials/theory-ideas/feed" rel="self" type="application/rss+xml" /><link>http://davidwalsh.name</link> <description>Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</description> <lastBuildDate>Sun, 20 May 2012 22:40:48 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Asking for and Giving&#160;Help</title><link>http://davidwalsh.name/development-help</link> <comments>http://davidwalsh.name/development-help#comments</comments> <pubDate>Sat, 12 May 2012 14:23:30 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5430</guid> <description><![CDATA[As you can probably imagine, I&#8217;m very used to giving help. Believe it or not, I ask for help quite a bit too. My years of development experience and asking for help have taught me quite a few lessons, lessons I&#8217;m dying to share with all of you. Here are my general thoughts on asking, [...]<p><a
href="http://davidwalsh.name/development-help">Asking for and Giving&nbsp;Help</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<p>As you can probably imagine, I&#8217;m very used to giving help.  Believe it or not, I ask for help quite a bit too.  My years of development experience and asking for help have taught me quite a few lessons, lessons I&#8217;m dying to share with all of you.  Here are my general thoughts on asking, giving help, as ways you can improve both sides of the process.</p><h2>Asking for Help:  Give&nbsp;Details!</h2><p>There&#8217;s absolutely nothing more infuriating than someone not providing enough detail about a given issue.  Before you approach anyone for help, provide any or all of the following pieces of information:</p><ul><li>What are you expecting to happen?</li><li>What are you seeing happening?</li><li>What are you seeing within the console?  Any error messages firing?</li><li>What browser, browser version, and OS are you using?</li><li>What version of Moo / jQuery / or any external library are you using?</li><li>What&#8217;s different between a working example and your test page?</li><li>What have you tried to adjust to fix the issue?</li><li>Is there a URL available so others can see the issue and debug it?</li><li>Where else have you searched for an answer?  Google?  IRC?  Forms?  Documentation? MDN?</li></ul><p>These pieces of information are absolutely invaluable to anyone you&#8217;d like to help you.</p><h2>Asking for Help: Research&nbsp;First!</h2><p>How often have you had someone ask you a question which the first search result of Google could tell you?  Consistently asking others a question that Google can answer in the first result will brand you as an annoyance.  The urgency with which you ask a question is relative to the urgency of the situation, but if you can take the time to do research yourself, do it and a lot of it.</p><h2>Echo: Don&#8217;t Ask The Same Questions&nbsp;Twice</h2><p>Asking the same questions repeatedly will make you invisible; i.e., no one will pay attention to your questions.  One of the reasons I started this blog was to keep it as a reference for running into the same issues in the future.  I&#8217;m not saying you need to start a blog, but I am saying that you need to find a method for archiving questions you&#8217;ve asked and answers to receive.</p><h2>Giving Help:  Be&nbsp;Patient</h2><p>If every time you ask a question you act as though it&#8217;s a &#8220;code red&#8221; situation, you&#8217;ll again find yourself to be an annoyance.  Also realize that doing so is unfair to your colleagues.  If you can ask for help with plenty of time to spare, you&#8217;re more likely to be greeted with a positive attitude from those you&#8217;re asking to help you.  Also realize that your colleagues have their own problems and they may not get back to you right away.</p><h2>Give Back:  You Get What You&nbsp;Give</h2><p>Help should be very much like BitTorrent peers:  the desired 1:1 ratio.  Simply sponging off of others isn&#8217;t acceptable;  in order to receive help, you should also be actively helping others, be it you colleagues, IRC users, forum posters, etc.  Building relationships in the community is the best way to build a consistent help pipeline.</p><h2>THE GOLDEN F&#8217;IN RULE OF&nbsp;HELP!</h2><p>Before you send the message asking for help, re-read your message and ask your self this:  can the person I&#8217;m asking for help from respond with more questions?  If they can, <em>answer them before you send the message</em>.  Why?  Because of this: <strong>the secret to effectively asking for help is giving the other person so much information about the problem and how you&#8217;ve tried to resolve it that they cannot possibly ask a question you could have answered before you sent the help request!</strong> Why? <strong>Because that&#8217;s a wasted interaction, and wasted interactions increase the time in problem resolution for both parties.</strong><p>Those are my rules and advice for asking for help.  As you can probably imagine, I&#8217;m asked for help on IRC and email almost hourly.  I&#8217;ve also led projects where many parties were involved, and knowing the golden f&#8217;in rule above has lead to quicker answers and less stress for everyone.  If you have rules to add, please share them, as better help requesting and providing will make us all better developers!</p><p><a
href="http://davidwalsh.name/development-help">Asking for and Giving&nbsp;Help</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/development-help/feed</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>December 2011&#160;Mailbag</title><link>http://davidwalsh.name/december-mailbag</link> <comments>http://davidwalsh.name/december-mailbag#comments</comments> <pubDate>Wed, 21 Dec 2011 16:17:32 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5350</guid> <description><![CDATA[I get loads of questions each day so I decided to take a few moments to answer your questions about JavaScript, Dojo, MooTools, jQuery, and more. How did you get so good at everything you do? How did you practice without feeling like you wasted&#160;time? I&#8217;m the first one to say that I&#8217;m not good [...]<p><a
href="http://davidwalsh.name/december-mailbag">December 2011&nbsp;Mailbag</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<p>I get loads of questions each day so I decided to take a few moments to answer your questions about JavaScript, Dojo, MooTools, jQuery, and more.</p><h2>How did you get so good at everything you do? How did you practice without feeling like you wasted&nbsp;time?</h2><p>I&#8217;m the first one to say that I&#8217;m not good at everything;  I&#8217;m definitely not.  One thing I am, however, is persistent when I really love something.  I love working with HTML, CSS, JavaScript, XHR, etc. so I spend loads of free time experimenting and trying to master the best techniques.  I love every minute of it, and you can only improve that way.  I&#8217;m not particularly interested in PHP anymore, so I tend to not enjoy spending time with the language, and thus have a hard time improving.  My advice at getting good at something is to love it;  when you love it, you do whatever you can to be great!</p><p>The only time I feel like effort has been wasted is when I wasn&#8217;t interested in the topic enough to begin with;  over the years, I&#8217;ve learned to stop working on a blog post when I stop caring right away.  If I think others will find it interesting, I usually put forth the effort to complete it.  I also keep the mindset of &#8220;if it will save another developer time and hassle, complete it for the common good.&#8221;  That&#8217;s what this blog was founded on:  paying it back.</p><h2>What technology stack do you use for unit testing&nbsp;JavaScript?</h2><p>Since I spend 40-50 hours per week work on enterprise-level Dojo applications, I work a lot with DOH, the Dojo Toolkit&#8217;s unit testing framework.  DOH allows for basic functional tests, performance tests, and even synthetic event testing with the DOH robot (which is essentially a Java Applet controlled by a JavaScript API).  And since the Dojo Toolkit itself is tested with DOH unit tests, the API is very similar and writing unit tests can be fairly quick.  Since Dojo relies largely on Deferred, a special doh.Deferred resource is available for easy testing of those.</p><p>Recently, however, my colleague Bryan Forbes created eventd, a synthetic event testing framework for use with Dojo.  What I like most about eventd is that it creates synthetic events without the need of the DOH robot, so you don&#8217;t need to worry about Java quirkiness.  Bryan&#8217;s working hard to remove eventd&#8217;s Dojo dependency, and if eventd becomes fully library agnostic, eventd should be used by everyone.</p><p>One thing to point out quick:  you can use DOH with any library, and I recommend you try it!</p><h2>In what situations would you use Dojo, Mootools, or jQuery (if at all?); in what environment do they shine&nbsp;most?</h2><p>I get this question all the time.  Here&#8217;s the quick answer:</p><p>I recommend using the Dojo Toolkit if you&#8217;re building an advanced or enterprise level web application, or you think your application could become enterprise level.  I also recommend using Dojo if your application will be UI-heavy (because the Dijit UI framework is <em>amazing!</em>), uses advanced IO (data stores, lots of XHR, JSONP, etc.), or charts or vector graphics will be used.  Dojo will of course work on any size website, but the toolkit really shines when it comes to large scale websites.</p><p>I recommend using MooTools if you have a small to medium-sized website (&#8230;a non-Dojo site).  MooTools packs a ton of power into a small Core package and is supported by many top-class More classes.  These resources serve to empower the JavaScript language.  Beyond the resources provided by the MooTools team, there are thousands quality plugins within the MooTools Forge, so if your application suddenly needs a new feature, there&#8217;s a central location to get that plugin.</p><p>Both are extremely modular and teach great coding practices.  They&#8217;re both efficient, extendable, and written by brilliant JavaScript developers.</p><p>As for jQuery, I don&#8217;t have a recommendation for when to use it.   Nothing against jQuery, but I&#8217;ve never needed to go outside of MooTools and Dojo.  No need.  #MoojoFTW</p><h2>Which PHP framework do you&nbsp;prefer?</h2><p>To be completely honest, I tend to hate PHP frameworks.  Why?  They&#8217;re usually over-abstracted, slow as hell, and difficult to debug.  I&#8217;ve always found creating my own &#8220;mini-framework&#8221; as the best option, and then modify and add functionality as the situations come up.  That way I have complete control over everything that&#8217;s being loaded.</p><p>PHP frameworks are nice in that there&#8217;s usually a community behind them, loads of plugins are available, and they have sexy names.  I&#8217;ve recently used the Yii PHP framework and if you really need some, I recommend giving it a try.  It seems much more lightweight that other PHP frameworks I&#8217;ve tried.</p><h2>Where do you find the time to&nbsp;blog?</h2><p>Most of my posts are written on weekends while I watch European football (not Arsenal games, where I pace around my living room for 90 minutes).  Weekends provide me time to experiment without being interrupted.  On the rare occasions that I&#8217;m compelled to write during the week, I grab a bottle of wine and my wife is much more understanding.</p><p><a
href="http://davidwalsh.name/december-mailbag">December 2011&nbsp;Mailbag</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/december-mailbag/feed</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Confessions of a Web Developer&#160;XI</title><link>http://davidwalsh.name/confessions-xi</link> <comments>http://davidwalsh.name/confessions-xi#comments</comments> <pubDate>Tue, 18 Oct 2011 14:36:10 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5307</guid> <description><![CDATA[It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash: I really bollocked Facebook during their F8 event last month. Saying Zuckerburg was awkward. Saying they shouldn&#8217;t show past Facebook designs because people would [...]<p><a
href="http://davidwalsh.name/confessions-xi">Confessions of a Web Developer&nbsp;XI</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<img
src="http://davidwalsh.name/dw-content/usher.jpg" alt="David Walsh Confessions" class="image" /><p>It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash:</p><ul><li>I really bollocked Facebook during their F8 event last month.  Saying Zuckerburg was awkward.  Saying they shouldn&#8217;t show past Facebook designs because people would long for the good old days.  Saying that Zuckerberg also stole the idea for MySpace too because of &#8220;Timeline&#8217;s&#8221; huge banner image and cluttered interface.  Saying that &#8220;Timeline&#8221; was rubbish.  Those are judgments on Facebook&#8217;s decision-making. In the end, I think <strong>Facebook&#8217;s engineers are world class</strong> and should be recognized as such.</li><li><strong>Steve Jobs was an absolute legend</strong>.  His innovations have shaped how we both code and access the web today.  The iPhone and iPad became synonyms for the &#8220;mobile web&#8221; and iTunes is synonymous with &#8220;online music&#8221;;  both are markets you&#8217;d never believe could be so heavily dominated by one entity.  RIP Steve.</li><li>I&#8217;m a bit underwhelmed by the <a
href="http://davidwalsh.name/css4-preview">new CSS selectors provided by the CSS4 spec</a>&#8230;but I don&#8217;t know what I&#8217;d add, besides variables, so <strong>I&#8217;m telling myself to STFU</strong>.  Variables would be nice at some point.</li><li>I&#8217;ve also been guilty of talking smack about Firefox over the past year. <strong>Mozilla&#8217;s doing wonderful things with Firefox</strong>;  text-overflow support, memory improvements, WebSocket upgrades&#8230;Firefox is improving exponentially with each release.</li><li><strong>How long will people use JavaScript frameworks that aren&#8217;t modular?</strong> Haven&#8217;t we all matured to the point where we realize that loading more than we need is ridiculous?  How long can lump JS files last? <em>/me looks at jQuery</em></li><li>If someone would write a definitive &#8220;File Size vs. Number of Requests&#8221; essay, <strong>they would become an instant web legend</strong>.  Something I&#8217;ve always struggled understanding.</li><li>I love how the simplicity that AMD provides to us.  define, require, and returning one object.  Dojo has adopted it, MooTools 2 will use it;  study up, <strong>it&#8217;s the near future of JavaScript.</strong></li><li>My next redesign will include a made-for-mobile version.  I apologize for neglecting the iPad and similar devices for so long;  this next version will be optimized for mobile.</li><li>The thought of Google looking to replace JavaScript with Dart is enough to make me want to cry. <strong>JavaScript is so immense in potential and flexibility</strong> that the thought of it being yesterday&#8217;s news is almost unfathomable.</li><li>I always check the version details when I upgrade an iPad or iPhone app.  Not because I want to know the new features, but because I want to know when the app devs are screwing up. <strong><em>Nerd Alert!</em></strong></li><li>If I were an HTML tag, I&#8217;d probably be LEGEND.   Maybe SUP on the weekends.</li><li>My wife recently signed up for Twitter&#8230;and <strong>I&#8217;ve never been so terrified of getting in trouble for saying something in my life</strong>.  If you ever see me with a black eye, check my Twitter timeline to see why&#8230;</li><li><strong>One of the unsung heroes of the MooTools team is <a
href="http://mootools.net/fakedarren">Darren Waddell</a></strong>.  His work with the impending website redesign and European hackathons has brought the project to a new level.  Thank him when you get a chance.</li><li>The quest for ultimate optimization is a never-ending.  Sprites, async JS requests, compressed PNGs, YUI-compressed scripts, cache headers, all those Y-Slow tips;  there&#8217;s no limit to what we hope to achieve.  When is enough enough?</li><li>I&#8217;m hooked on Angry Birds again, and I have more stars than Hollywood.  Deal with it.</li></ul><p>As usual, don&#8217;t sing it, bring it.  Where am I wrong?</p><p><a
href="http://davidwalsh.name/confessions-xi">Confessions of a Web Developer&nbsp;XI</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-xi/feed</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Confessions of a Web Developer&#160;X</title><link>http://davidwalsh.name/confessions-x</link> <comments>http://davidwalsh.name/confessions-x#comments</comments> <pubDate>Mon, 14 Mar 2011 15:01:43 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5178</guid> <description><![CDATA[It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash: The more I work with advanced JavaScript-based web applications, the more I wish all web browsers used WebKit.  Fast, progressive, flexible.  The world would [...]<p><a
href="http://davidwalsh.name/confessions-x">Confessions of a Web Developer&nbsp;X</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<img
src="http://davidwalsh.name/dw-content/usher.jpg" alt="David Walsh Confessions" class="image" /><p>It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash:</p><ul><li>The more I work with advanced JavaScript-based web applications, the more <strong>I wish all web browsers used WebKit</strong>.  Fast, progressive, flexible.  The world would be a much better place.</li><li>When I switched from Firefox I chose Safari.  With all the cool shit Chrome&#8217;s got, I fear <strong>I made the wrong choice</strong>.</li><li><strong>dojox.mobile is fucking amazing.</strong> If you haven&#8217;t taken a look yet, you should.  It will be the standard within a few years.</li><li>The amount of time it takes Firefox to close sometimes is nothing short of criminal.</li><li>Fact:  I don&#8217;t mind being criticized about something on this blog.  I&#8217;m always open to different ways of doing things.  <strong>But if you&#8217;re going to insult me along the way, you better fucking have a better solution or idea to provide or I will light you up.  <em><span
style="font-weight: normal;">(Sponsored by the David Walsh &#8220;Don&#8217;t Be a Douche&#8221; Campaign)</span></em></strong></li><li>Titanium by Appacelator <strong>looks like a beast</strong>.  Can&#8217;t wait to play with it some more.</li><li>Whoever started the &#8220;put your logo in the H1 tag&#8221; revolution deserves to lose every client they ever had.  What an SEO killer.</li><li>If you plan to ever make enterprise-level websites and widgets, <strong>start learning Dojo now</strong>.</li><li>In most cases, <strong>removing the dotted outline via CSS from a focused element  is a horrible, horrible idea</strong>.  It&#8217;s a usability nightmare.  That outline is there for a reason.</li><li>I think my dream job would be to work on websites for soccer teams or publications.  I mean, then, technically, it would be my job to watch the games and create sweet features for them.  GET IN!</li><li>I hope that my dojox.mobile web application and tutorials are well-received when published.  I had a lot of fun making them and I think they could be incredibly useful for developers looking to get into mobile-centric developing.</li><li>You know what I do when the JavaScript toolkit I&#8217;m using doesn&#8217;t have a feature?  I find another toolkit one that does, port it to the given toolkit, and share it.  <strong>You know what I don&#8217;t do?  Bitch.</strong></li><li>Is it just me or do non-developers simply not understand the complexity that comes with creating secure, reliable web forms with PHP?  Especially the form processing part?!  <strong>Someone please confirm that I&#8217;m not crazy.</strong></li><li>I hope the browser vendors iron out their self-prefixing CSS animation stuff quickly.  All these <strong>self-prefixed CSS properties are getting out of hand</strong>, and it seems to only be getting worse.</li><li>Imagine all the awesome web apps we could create with a true XBOX/game API.  Would be epic.</li><li>Google claims that ~44 posts/demos reference <strong>Christina Ricci</strong>.  That&#8217;s far too few.  I apologize &#8212; I&#8217;ll try to step up in that regard.</li></ul><p>Am I wrong?  Am I right?  Bring it.</p><p><a
href="http://davidwalsh.name/confessions-x">Confessions of a Web Developer&nbsp;X</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-x/feed</wfw:commentRss> <slash:comments>46</slash:comments> </item> <item><title>Thoughts on Mobile&#160;Devices</title><link>http://davidwalsh.name/mobile-devices</link> <comments>http://davidwalsh.name/mobile-devices#comments</comments> <pubDate>Fri, 07 Jan 2011 02:57:30 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Mobile]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5153</guid> <description><![CDATA[Whether I&#8217;m smug enough to admit it or not, I&#8217;m living the iLife.  Over the past two years, I&#8217;ve been rocking both the iPhone and MacBook Pro.  I was recently gifted an iPad and a Samsung Galaxy Tab, only increasing my ever-growing smugness level.  After playing with these new toys for a month, I thought [...]<p><a
href="http://davidwalsh.name/mobile-devices">Thoughts on Mobile&nbsp;Devices</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<img
src="http://davidwalsh.name/dw-content/ipads.png" alt="Mobile Device iPad" class="image" /><p>Whether I&#8217;m smug enough to admit it or not, I&#8217;m living the iLife.  Over the past two years, I&#8217;ve been rocking both the iPhone and MacBook Pro.  I was recently gifted an iPad and a Samsung Galaxy Tab, only increasing my ever-growing smugness level.  After playing with these new toys for a month, I thought I&#8217;d share my thoughts on these mobile devices;  the good, the bad, and the ugly.</p><ul><li>Mobile devices like the iPad and Tab seem like the first device that had seemingly everything in front of it:  knowledge of what users want on mobile devices, a platform to support those applications, and high demand for them.</li><li>The iPad seems very, very much refined.  The Galaxy Tab, and other Android-powered devices seem very rough around the edges.</li><li>At this point, I very much approve of the regulation of iPad and Droid apps via their respective stores;  they&#8217;re extremely convenient to those non-developer types&#8230;</li><li>&#8230;although I wouldn&#8217;t mind an easier way for us developer-types to have easier access to non-supported applications.</li><li>I&#8217;ve not suffered once from not having Flash support on my iPad or iPhone.</li><li>I don&#8217;t know a ton about application development, but it would be nice if Apple would allow the frameworks they&#8217;ve been banning.</li><li>Having an iPhone makes going shopping with my wife 100 times more bearable&#8230;as long as my phone is charged before we go&#8230;</li><li>I cannot believe that Facebook does not have an iPad app.  Sure, Facebook&#8217;s website is iPad compatible, but an iPad application is desperately needed.</li><li>I do quite like the Tab&#8217;s pull-down notification pane &#8212; it&#8217;s a great way to get mass updates at a glance.</li><li>It was extremely easy to figure out how to delete iPad and iPhone apps&#8230;yet I&#8217;ve not figured out how to delete apps on the Tab yet.</li><li>Switching between the screen and the home / back / search tabs on the tab hardware seems slightly awkward.</li><li>I desperately want to learn how to quickly make an iPad app.</li><li>I am hopelessly addicted to Words With Friends.</li><li>ATT is robbing people with their mobile usage plans.</li><li>NetFlix is too awesome on iPad &#8212; quality is top notch.</li><li>CNN, CNBC, New York Times, Twitter, and the Weather Channel have created outstanding iPad apps.</li><li>With a bit of work, I think Android has a chance at matching Apple&#8217;s product.   Well, by &#8220;bit&#8221;, I mean &#8220;a ton.&#8221;</li></ul><p>Those are my initial thoughts.  Let me know if you have anything to add or if I&#8217;m dead wrong!</p><p><a
href="http://davidwalsh.name/mobile-devices">Thoughts on Mobile&nbsp;Devices</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/mobile-devices/feed</wfw:commentRss> <slash:comments>16</slash:comments> </item> <item><title>Confessions Friday&#160;II</title><link>http://davidwalsh.name/confessions-friday-ii</link> <comments>http://davidwalsh.name/confessions-friday-ii#comments</comments> <pubDate>Fri, 10 Dec 2010 04:51:52 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5137</guid> <description><![CDATA[It&#8217;s Friday. You know you&#8217;ve had a tough week. A client ripped you a new one. The specs on a tough project got changed without prior notification. WebSocket is getting pulled. You just found out that your latest project requires you to support IE6. Your coworker just quit and you&#8217;re responsible for completing a tough [...]<p><a
href="http://davidwalsh.name/confessions-friday-ii">Confessions Friday&nbsp;II</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<p>It&#8217;s Friday.  You know you&#8217;ve had a tough week.  A client ripped you a new one.  The specs on a tough project got changed without prior notification. <a
href="/websocket-security">WebSocket is getting pulled</a>.  You just found out that your latest project requires you to support IE6. Your coworker just quit and you&#8217;re responsible for completing a tough project.  The API just changed versions and key/value pairs don&#8217;t match.  Your boss came down on you because he messed something up.  In a word:  ugh.</p><p>Now it&#8217;s time to confess your web development sins.  Get it out there.  You used a &lt;b&gt; tag.  You took an image from Google instead of creating it yourself.  You copy/pasted without proper testing, and committed it to the repository.  Let out my friend.  Let it out!</p><p><a
href="http://davidwalsh.name/confessions-friday-ii">Confessions Friday&nbsp;II</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-friday-ii/feed</wfw:commentRss> <slash:comments>27</slash:comments> </item> <item><title>An Interview with jsFiddle Creator Piotr&#160;Zalewa</title><link>http://davidwalsh.name/jsfiddle-interview</link> <comments>http://davidwalsh.name/jsfiddle-interview#comments</comments> <pubDate>Mon, 13 Sep 2010 13:08:14 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[MooTools]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5063</guid> <description><![CDATA[One of the great code sharing tools was pastebin. It was simple and straight-forward but quickly grew out of its usefulness. That&#8217;s where jsFiddle comes in. jsFiddle is a fresh tool that not only displays the code and highlights it but also executes its code within the browser for even better debugging. The creator of [...]<p><a
href="http://davidwalsh.name/jsfiddle-interview">An Interview with jsFiddle Creator Piotr&nbsp;Zalewa</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<p>One of the great code sharing tools was pastebin.  It was simple and straight-forward but quickly grew out of its usefulness.  That&#8217;s where jsFiddle comes in.  jsFiddle is a fresh tool that not only displays the code and highlights it but also executes its code within the browser for even better debugging.  The creator of jsFiddle, <a
href="http://webdev.zalewa.info/" rel="nofollow">Piotr Zalewa</a>, took a few moments to answer my questions about his awesome creation.</p><p><a
href="http://jsfiddle.net/kamicane/nxNZP/"><img
src="http://davidwalsh.name/dw-content/jsfiddle.jpg" alt="jsFiddle" /></a></p><h3>Piotr, please share who you are, your areas of development focus, and who you are employed&nbsp;by.</h3><p>I am a happy father, an aquarist and a web developer and I would like it to be in that order.</p><p>I have  started my first commercial web development in 1996 in Poland, and now I am working for Mozilla on Add-ons Builder. The tool of choice is a mix of Django and MooTools.</p><h3>For those who haven&#8217;t heard of jsFiddle, explain what jsFiddle is, how it&#8217;s used, and where the idea came&nbsp;from.</h3><p>JsFiddle is a playground for web developers, a tool which may be used in many ways. One can use it as an online editor for snippets build from HTML, CSS and JavaScript.</p><p>The code can then be shared with others, embedded on a blog, etc. Using this approach, JavaScript developers can very easily isolate bugs. We aim to support all actively developed frameworks &#8211; it helps with testing compatibility.</p><p>The  idea came while I was chatting with MooTools developers on IRC #mootools. We were helping new people with JavaScript issues, using code which would fit in one line. Soon there was a question which was too complicated for a &#8220;one-liner&#8221;. Answering it would involve opening an editor, creating an HTML file with all necessary tags and in the end opening it in the  browser. I thought there&#8217;s too much burden and the question remained unanswered. From that moment I knew it should be done on the web and the next day the prototype was ready.</p><h3>You&#8217;ve chose to create the jsFiddle interface with the MooTools JavaScript framework.  Why did you choose&nbsp;MooTools?</h3><p>At the time I was already using MooTools on a daily basis, it was natural to choose this framework. I think it is simply the best and I still hold it.</p><h3>What were some of the early difficulties you ran into when you began coding the&nbsp;website?</h3><p>The worst was stability &#8211; there was no caching and my old server was quickly running out of memory. The other thing was the URL naming convention, jsFiddle still suffers from some of the choices made on day one.</p><h3>What was the succession / timeline of features you added to&nbsp;jsFiddle?</h3><p>There were lots of ideas from the MooTools community, but adding new features is always a lot of fun. We are simply trying not to overcomplicate the UI. I think that new interesting features came in following order: ability to save versions, testing Ajax requests, framework dependencies, adding external resources, discussing fiddles.</p><h3>How long did the first release of jsFiddle take?  What problems did you encounter shortly&nbsp;thereafter?</h3><p>The  functional prototype was done in 4 hours, it was written in spaghetti  PHP, allowed to save HTML/JS/CSS and was opening the result in a separate browser window. Naturally, I have changed the code since then. There was so much hype I hardly remember the problems I&#8217;ve encountered. The one that I remember (and which was hard to solve) was the Cookie security bug.  Early versions allowed to steal Cookies from jsFiddle. Someone could steal my administrator password by writing a simple fiddle and asking me to take a look. But this is no longer the case. jsFiddle is in alpha stage,  so it&#8217;s still before the &#8220;first release&#8221;.</p><h3>What pieces of jSFiddle were easier than you thought they&#8217;d be?  What turned out to be more&nbsp;difficult?</h3><p>Adding  custom caching was something which took two hours &#8211; I thought it will  take few days. The most difficult was (and still is) planning, the way people use jsFiddle changes and we should predict it in the code, urls and design.</p><h3>What difficulties did you run into when you opened jsFiddle to more JavaScript&nbsp;frameworks?</h3><p>One  problem is management, I am always late with adding new versions. Recently I upgraded 3 of them in one day YUI, Raphael and Dojo. The  other is onDomReady event &#8211; I don&#8217;t know all of the frameworks and  finding a default usage of onDomReady command per framework happened to be not as easy as I thought.</p><h3>What affect on performance did the website experience when your added the EMBED&nbsp;feature?</h3><p>To be honest I don&#8217;t see any effect, I need to log it properly though.</p><h3>How many fiddles have been saved to&nbsp;date?</h3><p>There is over 40,000 fiddles in 160,000 versions</p><h3>What features do you see adding to jsFiddle in the near future?  How about the far&nbsp;future?</h3><p>Big things &#8211; search, user  registering, dashboards and social features. That&#8217;s something which  will change jsFiddle for good. Ephemeral fiddles as default for guests &#8211;  there is no need to have a fiddle solving an issue on IRC to have an eternal live. We have some ideas for the far future, these however depend on the way people will use jsFiddle.</p><p>The Beta release will  generally be a big step forward, apart from the aforementioned features, jsFiddle will get a refined interface – this is being worked on very heavily, and it already looks amazing! <a
href="http://tiny.cc/d290k" rel="nofollow">http://tiny.cc/d290k</a></p><h3>Who has been influential in helping you get the website coded, designed,&nbsp;etc.?</h3><p>Oskar Krawczyk of <a
href="http://nouincolor.com" rel="nofollow">http://nouincolor.com</a>. He asked me once on IRC if I&#8217;d like him to design the UI. I think the next day I knew he is the right person to do it. Since then we are working closely together (not only on jsFiddle, but also on Mozilla Add-ons Builder and some minor projects). Every now and again Oskar adds little functionally enhancements to jsFiddle &#8211; discussions, sharing, etc.</p><h3>On behalf of the MooTools team and everyone that uses jsFiddle, I&#8217;d like to thank you for your&nbsp;work!</h3><p>You are very welcome. It&#8217;s great to develop for such a responsive community.</p><p>A big thanks to Piotr for his time.  If you have more questions, feel free to ask him within these comments and he&#8217;ll answer them as soon as he has a moment!</p><p><a
href="http://davidwalsh.name/jsfiddle-interview">An Interview with jsFiddle Creator Piotr&nbsp;Zalewa</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/jsfiddle-interview/feed</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>Confessions of a Web Developer&#160;IX</title><link>http://davidwalsh.name/confessions-ix</link> <comments>http://davidwalsh.name/confessions-ix#comments</comments> <pubDate>Mon, 16 Aug 2010 13:43:28 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4988</guid> <description><![CDATA[It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash: There are a lot of great new CSS demos being created every day.  I&#8217;m just pissed that I always have to switch to Safari [...]<p><a
href="http://davidwalsh.name/confessions-ix">Confessions of a Web Developer&nbsp;IX</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<img
class="image" src="http://davidwalsh.name/dw-content/usher.jpg" alt="Confessions!" /><p>It&#8217;s been quite a while since I&#8217;ve gotten a few things off of my chest and since I&#8217;m always full of peeves and annoyances I thought it was time to unleash:</p><ul><li>There are a lot of great new CSS demos being created every day.  <strong>I&#8217;m just pissed that I always have to switch to Safari</strong> to see them.  <em>(Update:  I&#8217;ve officially switched my default browser from Firefox to Safari.)</em></li><li>Is it just me or <strong>does Firefox 4.0 seem like a &#8220;make or break&#8221; release</strong>?  With the memory and Firebug issues facing that browser, and with Chrome and Webkit increasing their FTW factor each month, Mozilla really needs to work to gain back the trust of hardcore web developers.</li><li>The <strong>10k Apart contest turned itself into a joke</strong> by only allowing jQuery and Prototype.  Dojo and MooTools are the two of the most modular frameworks available &#8212; why not allow them?  How can you have a contest based on page size and say &#8220;it doesn&#8217;t matter how much JS you use as long as it&#8217;s one of these two that isn&#8217;t nearly as modular as a few others (or modular at all)?&#8221;  What&#8217;s worse is that, even after all the buzz about it on Twitter, none of the contests judges will even address it.   Pathetic;  nothing but a joke.</li><li>I was afraid people would think I was a traitor to the MooTools cloth when I started writng Dojo Toolkit posts.  No negative reaction has been great.  Plus, you all know <strong>I&#8217;m MooTools (FTW) through and through</strong>.</li><li>Safari&#8217;s method of re-opening closed tabs is shit.  It&#8217;s a ticking timebomb for the application and you lose the tab&#8217;s history.  Why the hell even try?</li><li>I love that HTML5&#8242;s philosophy is more of a relaxed, common sense outlook.  Seems to be the right direction.</li><li>Working with the creators of Dojo gives me a completely different perspective on JavaScript development.  It&#8217;s welcomed and hopefully they get something out of my opinion as well.</li><li><strong>At age 27 it&#8217;s difficult to know if I&#8217;m behind, ahead, or right at where I should be</strong> as a Web Developer.  I&#8217;m learning so much every day that I feel like I&#8217;m a decade behind where I should be.</li><li>After working with Dijit for close to 4 months now, <strong>I&#8217;m still amazed at how easy it makes developing widgets</strong>.  And when you can create your widgets declaratively&#8230;oh dear.  Amazing how quickly you can put together a functional, enhanced UI.</li><li>I&#8217;ve been very pleased to read Rebecca Murphey&#8217;s recent <a
href="http://blog.rebeccamurphey.com/">jQuery / Dojo / Scalability</a> articles lately.  It&#8217;s been something I&#8217;ve thought for a while but was afraid to say as I would get pummeled for doing so.</li><li>The MooTools team schedule an upcoming hackathon during my wedding.  Are they trying to tell me something?</li><li>My colleagues at <a
href="http://sitepen.com">SitePen</a> are all incredibly intelligent, helpful, and funny.  <strong>I&#8217;m proud to be a SitePenner</strong> and work with all of them.</li><li>Speaking of SitePen, I&#8217;m working with a great new piece of programming that will put a smile on a lot of peoples&#8217; faces.  Can&#8217;t spill the beans yet though&#8230;</li><li>I was initially concerned about switching to working from my home office but I&#8217;ve found it allows me to be more productive and more relaxed.  If I need a midday nap because I don&#8217;t feel well, I can do it.  If I have to get laundry done, I can do it.  And <strong>since I&#8217;m allowed these privileges, I&#8217;m more than happy to go the extra mile</strong> whenever necessary.</li></ul><p>As usual, don&#8217;t sing it, bring it.</p><p><a
href="http://davidwalsh.name/confessions-ix">Confessions of a Web Developer&nbsp;IX</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/confessions-ix/feed</wfw:commentRss> <slash:comments>18</slash:comments> <series:name><![CDATA[Confessions of a Web Developer]]></series:name> </item> <item><title>GET OVER IT!  6 Things Web Developers Need to Get&#160;Over</title><link>http://davidwalsh.name/get-over-it</link> <comments>http://davidwalsh.name/get-over-it#comments</comments> <pubDate>Thu, 08 Jul 2010 13:53:31 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=5007</guid> <description><![CDATA[One of the downsides of being around developers of varying skill levels, from noob to Open Source legend, is that everyone has an opinion&#8230;and they&#8217;re all wrong.  Every one of them.  Of course, me being a developer, I&#8217;m wrong too.  There are a few things, however, that I hear frequently and want nothing more than [...]<p><a
href="http://davidwalsh.name/get-over-it">GET OVER IT!  6 Things Web Developers Need to Get&nbsp;Over</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<p><img
src="http://davidwalsh.name/dw-content/office-space-copier.jpg" alt="Office Space" /></p><p>One of the downsides of being around developers of varying skill levels, from noob to Open Source legend, is that everyone has an opinion&#8230;and they&#8217;re all wrong.  Every one of them.  Of course, me being a developer, I&#8217;m wrong too.  There are a few things, however, that I hear frequently and want nothing more than to scream.  Listen here developers:  get over it.</p><h2>Get Over It!  Valid Mark Isn&#8217;t THAT&nbsp;Important!</h2><p>I&#8217;m <em>not</em> saying that it&#8217;s OK to not close elements, not properly quote attributes, etc.  What I <em>am</em> saying is that effectiveness is much more important than picture perfect markup.  HTML Validator:  go to hell.  There&#8217;s absolutely nothing wrong with using custom attributes.  Dojo uses custom attributes within the Dijit library so that developers can create widgets directly from HTML.  And you know what?  It&#8217;s fast, convenient, and allows the developer to move on with their lives.  Get over it.</p><p>Look at Google, a company that employs some of the most intelligent developers in the world.  At publish time, Google&#8217;s homepage has 37 markup errors and 3 warnings.  I detailed <a
href="http://davidwalsh.name/popular-websites-and-xhtml-validation-errors">markup errors on popular websites</a> a while back.  They all work perfectly.  And have for a while.  And will for a while.  Get over it.</p><h2>Get Over It!  CSS Hacks are&nbsp;OK!</h2><p>Of course CSS hacks aren&#8217;t ideal.  Of course we&#8217;d like browser support to be consistent.  Well, it isn&#8217;t, so we as developers can only react to the browser vendors&#8217; differences.  And sometimes a CSS hack is the best (or only) way to do it.  I personally choose to add my IE6, IE7, etc. hacks within my main stylesheet instead of conditional statements. Why?  Because I want to cut down on requests and when I think of editing CSS, I don&#8217;t want to be jumping from stylesheet to style to find something.  Get over it.</p><h2>Get Over It!  Open Source Projects Owe You&nbsp;NOTHING!</h2><p>It wasn&#8217;t until I joined the MooTools (ftw) team that I realized how entitled people who use a given library (JavaScript, PHP, etc.) or open source project feel.  Even I was <a
href="http://davidwalsh.name/does-open-source-mean-you-cant-bitch">THAT GUY</a> for a while.  Want your opinion to matter?  Want a feature added to the given library?  Want a method within the library modified?  There&#8217;s an easy way to do it:  do it.  Take the time to code it and donate it to the library.  Otherwise hear this:  you are owed NOTHING.  Zero.  Nil.  Thousands of hours of <em>other people&#8217;s time</em> created the toolkit; pitch in and stop whining.  Get over it.</p><h2>Get Over It!  Your Opinion Is (Almost)&nbsp;WORTHLESS!</h2><p>Sometimes open source projects can become the equivalent to the WWE.  Everyone&#8217;s got a strong opinion and everyone else is wrong.  Egos, egos, egos.  I see it in all of the JavaScript libs (jQuery, MooTools, etc.), JS lib haters (comp.lang.javascript), and libs of every language.  You know how you make your opinion worth something?  Present it professionally and, most importantly, make it work!   Code it, test it, and test it again.  Realize that your opinion is worthless if you don&#8217;t make it happen.  Get over it.</p><h2>Get Over It!  Your JavaScript Library&#8217;s 3ms ISN&#8217;T Leaps Ahead of My Lib&#8217;s&nbsp;4ms</h2><p>Selector query times are the biggest pissing contests in the history of the web.  While query selector times are certainly important, a 1ms difference isn&#8217;t enough to spout your mouth off about.  Save it.  That type of difference is important when you&#8217;re dealing with hundreds of elements&#8230;and if that&#8217;s the case, you may be doing it wrong.  Get over it.</p><h2>Get Over It!  Object Prototype Extension is&nbsp;OK!</h2><p>As a MooTools team member, I get a lot of grief for MooTools&#8217; philosophy on extending prototypes of Natives like Array, String, Function, Object, etc.  Extending the prototype makes the object (and all instances of the object type) much more powerful and relieves the need to constantly refer to a single namespace and method to do something.  If your library of choice doesn&#8217;t extend prototypes, that fine &#8212; don&#8217;t bitch about those that do though.  Get over it.</p><p>There you have it.  Mark today as the day you officially got over it.  If you&#8217;re offended by this post, you&#8217;re exactly the person that I&#8217;m trying to target.  Take a step back, think about the big picture, and realize it&#8217;s time to grow up.  I did a while ago &#8212; and my development life is much better.</p><p><a
href="http://davidwalsh.name/get-over-it">GET OVER IT!  6 Things Web Developers Need to Get&nbsp;Over</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/get-over-it/feed</wfw:commentRss> <slash:comments>62</slash:comments> </item> <item><title>AJAX Annoyances to&#160;Avoid</title><link>http://davidwalsh.name/ajax-tips</link> <comments>http://davidwalsh.name/ajax-tips#comments</comments> <pubDate>Fri, 28 May 2010 13:54:58 +0000</pubDate> <dc:creator>David Walsh</dc:creator> <category><![CDATA[AJAX]]></category> <category><![CDATA[Theory / Ideas]]></category><guid
isPermaLink="false">http://davidwalsh.name/?p=4973</guid> <description><![CDATA[The AJAX revolution has completely reinvigorated the web. Browsers are working hard to increase the speed of their JavaScript and rendering engines. Web Developers are working as quickly as possible to push the limits of the browsers even further. Users are feeling more entitled by the user experiences provided by AJAX-heavy websites like Facebook. Before [...]<p><a
href="http://davidwalsh.name/ajax-tips">AJAX Annoyances to&nbsp;Avoid</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></description> <content:encoded><![CDATA[<p>The AJAX revolution has completely reinvigorated the web.  Browsers are working hard to increase the speed of their JavaScript and rendering engines.  Web Developers are working as quickly as possible to push the limits of the browsers even further.  Users are feeling more entitled by the user experiences provided by AJAX-heavy websites like Facebook.  Before you thrust your website into the world of AJAX, be sure you&#8217;re doing it for the right reasons, otherwise you may run into the following annoyances.</p><h2>Using AJAX Because You&nbsp;Can</h2><p>If using AJAX doesn&#8217;t improve the user experience, there&#8217;s a good chance that using it will cause more harm that good.  There are many behaviors and functionalities you&#8217;ll need to account for (paging, scroll position, &#8220;back button&#8221;, etc.) that the browser traditionally handles.  Add to that things like browser bookmarking and there&#8217;s a good chance that using AJAX may not be the best bet, especially if you don&#8217;t want to put in the development and testing time to ensure that your users wont be led down an unreliable path.</p><h2>Forgetting Scroll&nbsp;Position/Paging</h2><p>A lot of websites now use a cute paging technique that loads more content once you&#8217;ve scrolled down near the bottom of a parent element.  That&#8217;s great and all but if I click a link, click my browser&#8217;s &#8220;Back&#8221; button, and only the first &#8220;page&#8221; of content loads, I&#8217;ll hunt down the site&#8217;s webmaster and shank him.  I&#8217;d rather wait for a full page load than continually need to scroll to the bottom of an element to get back to where I was.</p><h2>Providing No &#8220;Feedback&#8221;&nbsp;Imagery/Message</h2><p>There&#8217;s nothing worse than clicking on a button and &#8230;seeing&#8230;nothing&#8230;happen&#8230;Oh, there it is!  Communicating effectively with your user is paramount to a good user experience.  At least with a new page load the user would see the progress bar light up, the address bar change, and possibly even a different cursor.  If you plan on creating an effective AJAX-powered site, use something like <a
href="http://davidwalsh.name/js/dotter">Dotter</a> or another visual effect to communicate to the user that something is happening.</p><h2>Too Many Things Happening at&nbsp;Once</h2><p>Too frequently do I see AJAX-driven websites that have 100 things happening at once.  If there are a hundred things happening at once, how can you effectively communicate that to the user?  That&#8217;s quite a task.  It may be best to try to chunk requests together to better show your users &#8220;progress-by-volume.&#8221;</p><h2>Have&nbsp;More?</h2><p>I know I&#8217;m missing a few annoyances &#8212; share them!  If brave enough, cite websites that are currently making these mistakes!</p><p><a
href="http://davidwalsh.name/ajax-tips">AJAX Annoyances to&nbsp;Avoid</a> is a post from: <a
href="http://davidwalsh.name">David Walsh :: Legendary scribbles about JavaScript, HTML5, AJAX, PHP, CSS, and ∞.</a></p> ]]></content:encoded> <wfw:commentRss>http://davidwalsh.name/ajax-tips/feed</wfw:commentRss> <slash:comments>13</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 1/67 queries in 0.135 seconds using disk: basic
Object Caching 1409/1521 objects using disk: basic

Served from: davidwalsh.name @ 2012-05-24 02:22:56 -->
