Off the Top: JavaScript Entries
24 Ways: A Web Holiday Favorite
Nothing makes me happier than to see the winter holiday begin and 24 Ways start its annual release of web development and design goodness. Drew McLellan and the 24 Ways crew have done another great job and I look forward eagerly for every day’s gem that is released.
To make all of this better, 24 Ways is in its 10th year. Congratulations for all the great content and work, from the very first to the current offering of the day.
HTML5 Demo Watch
Thanks to the Berg Friday Links I found the Suit up or Die Magazine and Cut the Rope HTML5 demo sites.
Both have me thinking this is really close, then I remember one of my favorite periodical apps, Financial Times went HTML5 more than a year ago. FT went HTML5 to better manage the multi-platform development process needed for iOS and the multitude of Android versions. While many have said the development is roughly 1.5x what it would take for just one platform development it does same incredible amount of time building an app across all platforms. Since all the major smart phone platforms have their native browsers built on webkit, there is some smart thinking in that approach.
Personally, my big niggle with the FT app is while it is browser based doesn’t have Instapaper built-in and it moves me out of the app to send a link of an article (often to myself because lacking Instapaper) rather than natively in the app, or exposing browser chrome so that I can do that while still remaining in the app and in reading their content mode. It would be really smart for FT to sort this out and fix these as it would keep me in the site and service reading, which I am sure they would love. If they could treat both of those like they do with Twitter and Facebook sharing out all within the app it would be brilliant.
The Data Journalism Handbook is Available
The Data Journalism Handbook is finally available online and soon as the book Data Journalism Handbook - from Amazon or The Data Journalism Handbook - from O’Reilly, which is quite exciting. Why you ask?
In the October of 2010 the Guardian in the UK posted a Data Journalism How To Guide that was fantastic. This was a great resource not only for data journalists, but for anybody who has interest in finding, gathering, assessing, and doing something with the data that is shared found in the world around us. These skill are not the sort of thing that many of us grew up with nor learned in school, nor are taught in most schools today (that is another giant problem). This tutorial taught me a few things that have been of great benefit and filled in gaps I had in my tool bag that was still mostly rusty and built using the tool set I picked up in the mid-90s in grad school in public policy analysis.
In the Fall of 2011 at MozFest in London many data journalist and others of like mind got together to share their knowledge. Out of this gathering was the realization and starting point for the handbook. Journalists are not typically those who have the deep data skills, but if they can learn (not a huge mound to climb) and have it made sensible and relatively easy in bite sized chunk the journalists will be better off.
All of us can benefit from this book in our own hands. Getting to the basics of how gather and think through data and the questions around it, all the way through how to graphically display that data is incredibly beneficial. I know many people who have contributed to this Handbook and think the world of their contributions. Skimming through the version that is one the web I can quickly see this is going to be an essential reference for all, not just journalists, nor bloggers, but for everybody. This could and likely should be the book used in classes in high schools and university information essentials taught first semester first year.
Ma.Del Tagging Bookmarklet
Out of frustration with Yahoo MyWeb no longer surfaces results in Yahoo Search, which made Yahoo Search much better for me than any other web search. Now that this is no long functioning and there is no response as to if or when it will return I am back to Google and Microsoft Live Search (the relevancy is better for me on many things). But, this change also removes the value of MyWeb and this has me looking back to Ma.gnolia (also am a huge fan of Raw Sugar and their facets, but that is another longer post).
New Tagging Combo Bookmarklet
When I became a fan of MyWeb I used some glue to make Del.icio.us and MyWeb Combo Bookmarklet.
So now I have done the same for Ma.gnolia and del.icio.us with the Ma.Del Marklet (drag to bookmark bar in FireFox and Safari only). This was built using the Ma.gnolia bookmarklet Ma.rker Mini as its base.
The Excellence of Accessibilty Presentations
One of the people I have met this past year and come to know better through traveling to and from Web Directions 2006 and hanging with at d.construct is Derek Featherstone. His presentations on the subject of accessibility are the best I have ever seen. The past year I have not had the opportunity to think, talk about, or develop around the subject of web accessibility (I had thought of this as a good thing, but I will explain that shortly) other than as an extension of semantically well structured information, which most conference I have been speaking at are related to in one form or another.
Derek is one of the first presenters that digs deep into accessibility beyond a set of rules, but also looks at usability for those with accessibility needs as the baseline for building great sites that work for all. He frames his presentations not as accessibility is for "them", but as it is for all of us. This focus is astoundingly refreshing and rare.
Derek digs into how JavaScript and Ajax, if done well (did you read that caveat, "done well"?), can actually improve accessibility. In his presentation Derek walks through how to think about interfaces, both rich and static, and improve upon them for everybody. Much of this is basic usability that is missed by many, but the rich interface elements are something I have not heard before from somebody talking about accessibility.
Lastly, Derek's presentation style is light and easy, which bring many people who are put off my accessibility into listening and learning. It is a great thing to watch people gain interest as he presents about a subject they did not care about. But even better is when they start talking about they now have a good framework to think about and approach accessibility does the power of Derek's presentation style and deep knowledge make a the subject come to life.
Granted I have not been reading much around accessibility for the past year, although I have had some great discussions about it with Matt May and Christian Heilmann at various points this year along the lines of rich interfaces and caring about those with accessibility needs. My lack of interest is not because I do not care about accessibility, but I have been burned out from dealing with the politics of accessibility in the U.S. Federal Government. I enjoyed working with the webmasters on the government side, but outside of that it was really painful. Most people would go out of their way to make unusable, poorly structured, semantically incorrect, let alone unaccessible sites just because they were told to make a site accessible. The long battles, even with those charged with caring and ensuring accessibility, made me very happy not to have to deal with accessibility for quite a while. Since you can get about 90 percent of the way to accessibility with just semantically well structured XHTML mark-up, which is the mark of any decent web developer, I have not considered the subject much beyond that in over a year.
Derek's presentations and our long discussions regarding semantically well structured information as the basis for everything that has improved the web in the past few years, brought me back to enjoying the subject of accessibility. In saying this I am more sure now that those who wrote the U.S. Section 508 regulations and those on the Access Board have failed those who needed real accessibility so they could partake in this freedom of information we embrace.
Developing the Web for Whom?
Google Web Developer Toolkit for the Closed Web
Andrew in his post "Reading user interface libraries" brings in elements of yesterday's discussion on The Battle to Build the Personal InfoCloud. Andrew brings up something in his post regarding Google and their Google Web Developer Toolkit (GWT. He points out it is in Java and most of the personal web (or new web) is built in PHP, Ruby [(including Ruby on Rails), Python, and even Perl].
When GWT was launched I was at XTech in Amsterdam and much of the response was confusion as to why it was in Java and not something more widely used. It seems that by choosing Java for developing GWT it is aiming at those behind the firewall. There is still much development on the Intranet done in Java (as well as .Net). This environment needs help integrating rich interaction into their applications. The odd part is many Intranets are also user-experience challenged as well, which is not one of Google's public fortés.
Two Tribes: Inter and Intra
This whole process made me come back to the two differing worlds of Internet and Intranet. On the Internet the web is built largely with Open Source tools for many of the big services (Yahoo, Google, EBay, etc.) and nearly all of the smaller services are Open Source (the cost for hosting is much much lower). The Open Source community is also iterating their solutions insanely fast to build frameworks (Ruby on Rails, etc.) to meet ease of development needs. These sites also build for all operating systems and aim to work in all modern browsers.
On the Intranet the solutions are many times more likely to be Java or .Net as their is "corporate" support for these tools and training is easy to find and there is a phone number to get help from. The development is often for a narrower set of operating systems and browsers, which can be relatively easy to define in a closed environment. The Google solution seems to work well for this environment, but it seems that early reaction to its release in the personal web it fell very flat.
13 Reasons
A posting about Top 13 reasons to CONSIDER the Microsoft platform for Web 2.0 development and its response, "Top 13 reasons NOT to consider the Microsoft platform for Web 2.0 development" [which is on a .Net created site] had me thinking about these institutional solutions (Java and .Net) in an openly developed personal web. The institutional solutions seem like they MUST embrace the open solutions or work seamlessly with them. Take any one of the technical solutions brought up in the Microsoft list (not including Ray Ozzie or Robert Scoble as technical solutions) and think about how it would fit into personal site development or a Web 2.0 developed site. I am not so sure that in the current state of the MS tools they could easily drop in with out converting to the whole suite. Would the Visual .Net include a Python, PHP, Ruby, Ruby On Rails, or Perl plug-in?The Atlas solution is one option in now hundreds of Ajax frameworks. To get use the tools must had more value (not more cost or effort) and embrace what is known (frogs are happy in warm water, but will not enter hot water). Does Atlas work on all browsers? Do I or any Internet facing website developer want to fail for some part of their audience that are using modern browsers?
The Web is Open
The web is about being browser agnostic and OS agnostic. The web makes the OS on the machine irrelevant. The web is about information, media, data, content, and digital objects. The tools that allow us to do things with these elements are increasingly open and web-based and/or personal machine-based.
Build Upon Open Data and Open Access
The web is moving to making the content elements (including the microconent elements) open for use beyond the site. Look at the Amazon Web Services (AWS) and the open APIs in the Yahoo Developer Network. Both of these companies openly ease community access and use of their content and services. This draws people into Amazon and Yahoo media and properties. What programming and scripting languages are required to use these services? Any that the developer wants.. That is right, unlike Google pushing Java to use their solution, Amazon and Yahoo get it, it is up to the developer to use what is best for them. What browsers do the Amazon and Yahoo solutions work in? All browsers.
I have been watching Microsoft Live since I went to Search Champs as they were making sounds that they got it too. The Live Clipboard [TechCrunch review] that Ray Ozzie gave at O'Reilly ETech is being developed in an open community (including Microsoft) for the whole of the web to use. This is being done for use in all browsers, on all operating systems, for all applications, etc. It is open. This seems to show some understanding of the web that Microsoft has not exhibited before. For Microsoft to become relevant, get in the open web game, and stay in the game they must embrace this approach. I am never sure that Google gets this and there are times where I am not sure Yahoo fully gets it either (a "media company" that does not support Mac, which the Mac is comprised of a heavily media-centric community and use and consume media at a much higher rate than the supported community and the Mac community is where many of the trend setters are in the blogging community - just take a look around at SXSW Interactive or most any other web conference these days (even XTech had one third of the users on Mac).
Still an Open Playing Field
There is an open playing field for the company that truly gets it and focusses on the person and their needs. This playing field is behind firewalls on Intranet and out in the open Internet. It is increasingly all one space and it continues to be increasingly open.
For Many AJAX is Not Degrading, But it Must
A little over two months ago Chad Dickerson posted one of the most insightful things on his site, Web 0.1 head-to-head: 37Signals' Backpackit vs. Gmail in Lynx. You are saying Lynx? Yes! The point is what 37Signals turns out degrades wonderfully and it is still usable. It could work on your mobile device or on a six year old low end computer in Eritrea in a coffee house or internet cafe (I have known two people who have just done that in the last year and found Gmail did not work nor did MSN, but Yahoo did beautifully).
Degrading is a Good Thing
Part of my problem with much of the push towards AJAX (it is a good, no great thing that XMLHTTPRequest is finally catching on). But, it must degrade well. It must still be accessible. It must be usable. If not, it is a cool useless piece of rubbish for some or many people. I have been living through this with airline sites (Continental), commerce sites (Amazon - now slightly improved), actually you name it and they adopted some where in this past year. In most cases it did not work in all browsers (many times only in my browser of last resort, which by that time I am completely peeved).
When Amazon had its wish list break on my mobile device (I (and I have found a relatively large amount of others this past couple years doing the same thing) use it to remember what books I want when I am in brick bookstores and I will check book prices as well as often add books to my wish list directly) I went nuts. The page had a ghastly sized JavaScript, which did some nice things on desktops and laptops but made the page far too large to download on a mobile device (well over 250 kb). In the past few weeks things seemed to have reversed themselves as the page degrades much better.
Is There Hope?
Chad's write-up was a nice place to start pointing, as well as pointing out the millions of dollars lost over the course of time (Continental admitted they had a problem and had waived the additional phone booking fee as well as said their calls were up considerably since the web redesign that broke things for many). Besides Chad and 37Signals I have found Donna Mauer's Designing usable rich internet applications as a starting point. I also finally picked up DOM Scripting: Web Design with JavaScript and the Document Object Model by Jeremy Keith, which focusses on getting JavaScript (and that means AJAX too) to degrade. It is a great book for designers, developers, and those managing these people.
I have an awful lot of hope, but it pains me as most of us learned these lessons five to seven years ago. Things are much better now with web standards in browsers, but one last hurdle is DOM standardization and that deeply impacts JavaScript/DOMScripting.
Del.icio.us and MyWeb Combo Bookmarklet
I took two of my favorite bookmarklets (for del.icio.us and Yahoo MyWeb 2, put them in my javascript collider to get a Combo Tag Tool (drag this to your browser's bookmark bar.
By clicking on this bookmarklet you get the del.icio.us tag interface populated with the title. You also get a MyWeb entry pop-up window.
I have been seeing the early benefits of Yahoo's MyWeb, but I also want to keep the community I have in del.icio.us. Keeping both up to date and in sync is my goal and hopefully this will help you do the same.
Minor Changes in Off the Top
Last night I was able to add back the Quick Links (my current bookmarks from del.icio.us. This was due in great part to the folks at del.icio.us who now have a JavaScript that makes the process easy on you and easy on them (I am not sure how accessible this is as I have not tested it, but normally they are not accessible).
I also brought back to the link to just the Off the Top RSS feed, which has nothing but the last 10 entries in archaic RSS .91 format. I still am offering the wonderful Feedburner for Off the Top option, which has Off the Top entries, my del.icio.us entries, and my Flickr photo feed all bundled in one. I have quite a few people reading this in RSS on mobile devices at the moment and I thought I would make it easier for other that are going that route to get just the content of Off the Top.
QuirksMode launched
I nearly forgot, Peter-Paul Koch has delivered QuirksMode filled with the good stuff for JavaScript, CSS, etc.
Konfabulator is fabu baby
I finally downloaded Konfabulator and I am having fun. I am impressed with the widgets (small single purpose applications that elegantly sit on the desktop of a Mac). Go check it out, you may find that small application you are looking for, or you may create it with XML and JavaScript (what all the widgets are made with).