Food For Thought #1
By looking past the current required action and designing for the end result, we will identify more opportunities for anticipation.
By looking past the current required action and designing for the end result, we will identify more opportunities for anticipation.
Back in August, Mozilla Labs introduced Ubiquity. As with most experimental prototype plugins for Firefox, I received the news of Ubiquity with a grain of salt.
One night a few weeks ago, I decided to give Ubiquity a test drive and installed the plugin on my laptop. Even though it's essentially just a proof-of-concept at this point, it opens a new world of functionality for browsers.
Ubiquity functions much like Enso from Humanized, which is no coincidence, since Aza Raskin joined the Mozilla team earlier this year. Basically, you launch Ubiquity with a key command and type a natural-language request (i.e., map Concord, NC). That's only the gist of the platform; to really experience the functionality, you should watch this video or just install the plugin.
Since Ubiquity is a platform, commands can be created using basic Javascript—check out the Command Author Tutorial. I'm definitely watching the development of this platform with great interest, because it could eliminate many of the needlessly repetitive actions associated with browsers and the web.
A few weeks back, I watched the Big Spaceship installment of Creative Inspirations over on Lynda.com. I already knew Big Spaceship produced great work, but the videos revealed more of their internal organization. I've always been an advocate for teams and I love the way they structured their company. While they have about seven persons per team, it can be effective for a team of just two. There's something to be said for the cohesion and rhythm that can develop within a team.
Recently, Michael Lebowitz of Big Spaceship spoke at the Click:NY conference. I found notes from Lebowitz' lecture on Swissmiss and they expand on the fundamentals covered in the Lynda.com videos. Additionally, Lebowitz posted the presentation slides on his blog—definitely worth a quick read.
My favorite notes from said slides:
I stumbled upon Validator S.A.C. through a link off Shaun Inman's site. It seems worth the download, if you're concerned with quickly validating your HTML/XHTML and find yourself at the W3C validator often. It's fairly versatile, for a simple app:
Validator S.A.C. can validate local files, as well as pages on local web sites. Validate using the stand-alone Favelet, drag and drop files and URLs onto the application icon, or simply use File > Open. Validator S.A.C. can also be setup as a Web Service, allowing users to validate over the local network.
After some searching, I found that you could install the W3C HTML Validator directly in OS X. However, Validator S.A.C. seems much more convenient.
Now, let's see some Markup/CSS combo action and then we're talking.
For those looking for an alternative to TinyURL, I wanted to express my appreciation for and recommend bit.ly. The fundamental service, which launched back in July, is exactly the same. However, they've stripped away all excess and made the task at hand the focus—seriously, you have to try to add excess to this process.
Additionally, they've introduced some great features for developers, provided a great bookmarklet, as well as setup the simplest REST API I've seen yet.
Today, I added pingback support to this blog. Pingbacks have been around for years, but for some reason I just became infatuated with them. Basically, it was one of those things I always wanted to learn more about but never set aside the time.
Movable Type introduced trackbacks, which are reportedly more prone to spam. Trackbacks were built around the REST model, whereas pingbacks use XML-RPC for requests (i.e., pingbacks seem to be better). Though, as you're well aware, people will find a way to spam anything.
In case you're drawing a blank on XML-RPC:
[XML-RPC is] a spec and a set of implementations that allow software running on disparate operating systems, running in different environments to make procedure calls over the Internet.
Right now, I only accept incoming requests, but I plan on adding outgoing requests. Nevertheless, I built my "server" off the Incutio XML-RPC Library and had it up and running in under an hour.
In the coming months, I plan to launch Very Helpful, a resource site for web developers. It will be much like the resource sites around the web, except I hope to cater to the middle of the development spectrum (i.e., the intermediate knowledge level). Moreover, I hope to provide code that can be freely used in Flash and PHP projects—basically, an open source resource in the vein of the new Webmonkey. That said, my pingback implementation will be made available there.
I don't usually look to venture capital sites for inspiration, but by proxy I followed a link to Union Square Ventures through Zach Klein's blog.
In an article discussing Meetup.com, Zach found this morsel:
The next generation of services will need to have an impact on the real world and the real economy, not just an attention economy driven by self expression and discovery online. These new services will also need to reach real people, many of who use few if any web services today.
That concept is essentially the motivation behind each of the services I hope to roll out in the coming year. I'd like to create something my family would use and, in turn, make some aspect of their lives a little easier (Fuelly is a great example). It's a daunting task—create something on the internet that makes life easier—but I want to try.
Let me preface this post by saying I only do this on my local Apache install, running on my local machine. I'm sure actual server admins would suggest an alternative way to handle such things on production servers. Consider this a quick and dirty mod that only caters to my your obsessive-compulsive disorder.
Nevertheless, as of Apache 2.2, which comes installed with Leopard, there's a new directive in mod_autoindex by the name of IndexStyleSheet.
According to the documentation:
The IndexStyleSheet directive sets the name of the file that will be used as the CSS for the index listing.
Basically, all you need to do is make sure the following autoindex Include is uncommented in Apache's conf. For Leopard, httpd.conf is located here:
/private/etc/apache2/httpd.conf
Right around Line 450 is the autoindex conf Include—make sure it's uncommented:
Include /private/etc/apache2/extra/httpd-autoindex.conf
Then, open up the autoindex conf in the editor of your choice:
/private/etc/apache2/extra/httpd-autoindex.conf
Near the bottom of the file, add the following line, as is suggested in the documentation (you can name the directory and CSS file anything you like):
IndexStyleSheet "/css/style.css"
Finally, create said directory in your main DocumentRoot, create the aforementioned CSS file inside the folder and restart Apache.
It's up to you to style the directory index to your liking—look at the HTML source to get the structure. If you're feeling lazy, you can grab my CSS on Pastie. Note: after restarting Apache, changes to the CSS file will take effect with a simple refresh.
While not necessarily a helpful tip that will save you time and money, it will definitely spruce up those default Apache directory indexes. I develop locally, so I spend quite a bit of time looking at them.
I stay fairly insulated from Microsoft's Live platform while in the Googleverse. However, the recent update to Live Search Maps is nice. They added a handful of useful features, but I have to say the Bird's Eye View is the most impressive. The view feeds in oblique satellite images from Microsoft Virtual Earth and then overlays its label and road data. Comparable features can be found in Google Earth and Maps, but in a strictly visual sense it's more appealing than Google's satellite imagery. For a little comparison, check out downtown Concord on Live Search Maps and Google Maps.
Microsoft doesn't have an answer to Street View, which is useful and just fun to use, and Google Maps is fundamentally more helpful. I've no doubt Google will have an answer to Bird's Eye View in the future, but Microsoft is doing some things right.
The only caveat being: why did the developers feel the need to animate the directional markers on the Live Search compass? Completely unnecessary.
I've been a proponent of blogs from almost the inception. My personal blog has transitioned across multiple domains and myriad formats, in the eight years I've been maintaining it. That's to say, I enjoy it.
Of course, I felt compelled to create a blog for Quasi Object. Moreover, I felt a need to chronicle my work as it pertains to web development. I'll never claim I'm an expert of anything, but I have been making websites in one way or another for over 10 years. I would like to think I've got a brain packed full of knowledge on the subject by now.
Now, I'm certain every bit of code that passes through these pages will not be filed under "best practices." Though, I've come to realize the these so-called "best practices" are pretty subjective. I'm a standards guy, don't get me wrong. However, as the saying goes: there's more than one way to skin a cat.
To that end, I take criticism fairly well, will readily admit when someone has a better idea and, at the same time, aggressively defend my own position. Nevertheless, I welcome your insights and feedback. Comments are your soapbox.
Mixed in with usual stream of web development discussion will be updates and announcements regarding several internal projects in the works. I won't divulge any details just yet, as nothing is set in stone. Just know: when there is news to report, you can bet it will appear here first.
Lastly, I want to thank the crew at Studiobanks for an enjoyable ride over the past four years and change. I definitely cut my teeth on the industry during my tenure there.
Enough reminiscing, let's get started.