I'ts also one of the best writeups I've read on development patterns in a long time.
"Your Interface is NOT Your Application" by the smart folk over at Gadgetopia sums up the idea that your app is the underlying business logic and not it's interface. Access to the application by the interface should happen via an API (whether private or exposed to the public). Making that split, according to the article, helps center the application on it's core functionality, leaves GUI concerns to GUI designers, allows you to create multiple frontends for multiple situations, and keeps cruft out of your code.
The only negative in this approach is that you have to fight to be intentional with how you write your application and do some forethinking before hacking out your app.
Thankfully for all of us, there are plenty of RAD frameworks actively under development that help with this sort of thing.
If you're weighing/researching AJAX frameworks (as I am) then you might enjoy reading Dojo vs YUI / YUI-EXT vs Prototype / Scriptaculous vs Mochikit vs JQuery - Part 1. Part 2 is good as well. Kaleb, the author, has decided to go with YUI-EXT for the time being.
That's been my leaning as well. Still more research todo before we commit to a switch. We're currently using Prototype and Scriptaculous over at BigBlueHat, but the widget libraries of YUI-EXT and Dojo are alluring to say the least.
Benjamin Novack Carlyle wrote another winning article about his view of the web's future. As usual he's quite insightful and some of his thoughts are inspring. In his most recent article, The Architectural Spectrum, he makes the distinction between large architectures (the Web) and small architectures (ones specific to a piece of software or organization).
One major thought of note is that he sees RDF as being intentionally(?) relegated to the place of an RDBMS or SQL replacement technology. I certainly see his point, and think he may be right. However, I am enjoying the promises that RDFa makes for embedding RDF data directly into XHTML.
As always, we'll see what actually happens.
Swung by XML.com after lunch, and found a great article on XUL. I've been a big fan of XUL since Mozilla M15, but have yet to really dig into it.
XUL often feels like the forgotten asset of the Mozilla Foundation. There are always a few developers hard at work on getting it in front of the public (XUL Runner, XUL Planet), but it generally gets overlooked. The article I found today points out a method for using XUL to replace your DHTML widgets when your web app is rendered in Firefox. It's certainly another great hope for seeing more XUL in use.
My question is whether it would be possible to write your web apps UI in XUL, and use a JavaScript rendering engine (similar to xulfaces) to handle displaying it in other browsers.
I think it would be possible, but I have no idea what obsticals may lay ahead with other browsers.
The other GUI find was linked to from within the XUL article: YUI-ext.
YUI-ext is an extension to the Yahoo! User Interface library. It's similar in flavor to MooTools for Prototype. YUI-ext provides several improvements on the already interesting YUI library.
The JavaScript Renaissance continues.
For those of you that were interested in getting your own icon to go to the left of your URL in the location bar of a browser (also known as a favicon, standing for "favorites icon"), here's the skinny:
The best place I've found to generate your own Favicon is a free online Favicon-from-image generator provided by the creators of HTML-Kit.
If you wander through the gallery of previously created favicons, you'll likely stumble across (on page 20) the BigBlueHat icon I created there a few years back.
Give it a try and see how your's turns out.
Google Talk looks like it will be a nice addition to the ever growing Google "life" system. Google Talk is IM that connects to your GMail (uses the same contacts system), supports and open standard (XMPP), and allows to send calls through your PC (similar to Skype et al).
Haven't tried it yet, but I likely will soon.
There's also an add-on for my much beloved Trillian (Pro of course).
Google released a JavaScript API to their Google Maps site (according to Joseph Scott's post). We'll likely start seeing more and more Google Maps appearing on sites around the Web. If I can make time to learn it, they'll certainly be a part of BigBlueHat sites.
Ok, just had to blog one more quick thing on Deer Park Alpha 1.
I downloaded it, installed it, enjoy it. :)
And, if you decide to give it a try, check out this link: SVG Tetris. And if, after playing it, you're curious how it's built, either view the source (after pressing 'p' to pause the game) or view the source as text.
Enjoy. :)
Nothing like a wonderfully vague code name for the next release to get you excited about the future of web technology. Mozilla Firefox's next big release in the alpha stages of development. A quick perusal of the release notes will give you a warm fuzzy feeling about what's on the horizon for the web.
Note to the average user: don't use this release unless you're ready to have the browser crash during use. This is not intended to be a replacement for the current release, just Pavlov's bell for all those rabid web wolves out there.
Google's done a nice thing this summer. They're sponsoring students to work on Open Source projects.
The program is called Summer of Code. Reading the requirements makes me want to reinroll. :)
FacileForms is a handy little form generation component for the Mambo CMS. I've just started using it on some projects and found it's pretty nice to use. It does have a bit of a learning curve. Once you learn the basics, though, it's a great tool to get you quick forms without the backend coding.
Found this work around package for IE that should make IE do the things the best browsers have been doing for years: /IE7/.
Special thanks to Brannon for pointing this out.
Philadelphia to Get First Citywide Wi-Fi Network
Maybe Greer will be next. :)
Another things to note (sadly it lacks a cleaner name): JPSpan. A tool to use to implement the Ajax concept with PHP and JavaScript. Part of the process mind you.
To be trendy/popular in web design you need to put the following things in your designs:
Those are the basics. If you doubt me, check out the new MovableType design, A List Apart, Mozilla.org, and Drupal.
Personally, I think Mozilla.org is the reason for the rounded corners (and much of Drupal's current look). I'm not really sure who started the margin thing. It could have been any one of these guys.
I like all of the above, but I'm still a big fan of flexible designs like SitePoint's and Semantic Studios. The flexibility is definitely an advantage. But I'm sure its value is debatable (Gabe...?). :)
Google does it again: Google Maps.
Incredible DHTML application that's still in Beta, but already rivals anything else out there.
I'm impressed. Anyone else?
Forgot to mention this when I heard it on NPR, but Brazil is making the move to all Open Source software from now on. The NPR summary has a few other links.
Congratulations, Brazil. Please let me know if you need any Open Source web technology consulting/work.
If you at all like IMing with people and you use a PC, you need to download Cerulean Studios' Trillian 3. It's incredible. So far it's my favorite new software release for 2005. Beautiful interface. Much less "invasive" than other IM programs. Nice, calm noification sounds.
Anyway, check out there site, try Trillian 3, and upgrade to Pro as soon as you can. Pro has video chat. Haven't tried it yet, but it looks promising.
FileZilla is the best FTP client I've found so far. The best thing about it is the interface. It's actually rather intuitive (a novelty in FTP clients).
Google Suggest was announced on the Google Blog a few days ago. This company is incredible!
Using their new JavaScript resources (developed during the GMail construction I guess) they've build a very handy suggestion tool into their search page. Check out the Google Suggest beta and see what you think.
Thunderbird 1.0 was released recently (I'm not sure when, I just found out yesterday). The biggest change (that I'm aware of) since 0.9 is the addition of an RSS news reader.
Firfox 1.0 has the same sort of feature via their Live Bookmarks technology. While Firefox's RSS integration is nice in some respects, I think Thunderbird's mail like approach will improve the usability to the point of making it a more frequent part of my life.
If you haven't tried Thunderbird yet, now would be a great time to switch from other virus prone e-mail readers (read "Outlook"). Thunderbird 1.0 has improved migration tools that should make the switch even easier.
A few months ago I entered the Boxes and Arrows website redesign contest. Each entry consisted of an home page, an article page, and a search results page. You can view mine at the end of the entry.
The results of the contest were released today. Sadly, I didn't win, but it was enjoyable to be a part of the contest and to try to help out the Boxes and Arrows editors who do their work essentially for free.
The winner of the contest does make good use of color and heirarchy. The cleanliness of the design is also a plus. So long as the site isn't fixed width, I'll be happy. :)
Congrats to Alex Chang of April3rd.com.
Below is the design I entered in the B&A contest:
Firefox 1.0 is available now! All those who have been waiting for this major, now is the time.
You may find that Mozilla.org is running a bit slow. I guess I'm not the only one who's be counting down the days. :)
Mozilla Thunderbird 0.9 was quietly released a few days ago. There seem to be some promising features. Message grouping and saved search folders look particularly promising.
I've just installed it, and everything went smoothly. They've also addes RSS feature which might be fun.
If you're still using Outlook and living in fear of viruses, I highly recommend switching to Thunderbird.
It's a very strange day. PayPal, GMail, and GoDaddy have all been having trouble today. PayPal was having trouble over the weekend, but the other two have been fine.
I wonder what's up?
Owen of Asymptomatic posted a great entry about his recent bloware choice. At the beginning of the post he links to an excellent chart that compares some of the leading installable blogware scripts (TypePad and Blogger weren't in the list because they can't be installed).
BigBlueHat has started offering installation services for WordPress (the one he chose). I've considered moving Ben's Friends to it someday, but we'll probably wait for a more supported multiblog setup (something Owen also noted as a negative for WordPress).
If you're considering new blogging software, the blog comparison chart is a must see.
While setting up a WordPress blog for a client I came across a Scripturizer plugin for WordPress. The greatest thing about it, though, is that it can be reused it other applications. Thanks to Scott Yang's forthought, you can use his code now in any PHP application by simply calling the scripturize() method. Very cool stuff.
I've been doing research about PHP/MySQL based CMS's. One of the greatest needs of a good CMS is a well built templating engine.
The Templating Engine drives the aggregation of your web sites templates with your sites content. There's a whole slew of them out there. The most well know is probably Smarty. It's more or less the "official" templating engine (at least it's hosted by the PHP.net web site).
Based on what I've read on the WACT TemplateView page, there are better engines available.
Of course, the WACT site says that it's template engine is the best, and give that is "smells" good their probably right. I've only played with it a little, and found it very promising but a little confusing in spots. I'm sure when WACT is finished it will be one of the best templating engines for PHP. One small problem for some is that WACT's template engine is tied to the framework.
Another template engine that "smells" good is TinyButStrong. It seems to meet many of the design requirements that the WACT developers laid out in their wiki (see also BadTemplateSmells). It's has a relatively small footprint (93k) and comes packaged in one class file. It's very easily extendible through the use of the MergeField() method.
The manual that's available on their site is very informative and easy to understand.
My plan right now is to use TinyButStrong for most of the PHP apps I right with the possibility of moving to WACT when it's stable.
Other frameworks (similar to WACT) under consideration right now are Phrame and Mojavi.
While working on my submission to the Boxes and Arrows redesign contest I stumbled across an idea.
While browsing through the site to get a feel for the content I came across a number of articles in the archives that I hadn't read and thought I'd like to sometime soon. I already have a stack of shortcut icons on my desktop from previous forays there and wasn't really feeling up to adding yet more icon clutter to my desktop.
Then the "dreamers discontent" set in and I thought, "Wouldn't it be wonderful if I could mark articles as 'read later' and then when I return to the site they'll be in a box on the front page waiting for me."
In theory it doesn't sound to hard to implement. On a primitive level, you could have a small server side script that would accept the URL as a parameter, set a cookie (if there's no login system in place), and return the user to the article. Each article page could check for the cookie as it loads. If the article is already present, then a "remove from reminder list" link would be available. If it's not in the list, then a "remind me to read this later" link would appear. Sounds simple enough.
It's definitely worth pondering, and I think worth coding too.
Just an idea.
BTW, if you haven't already tried this site in IE, I don't recommend it. It's oogly. I haven't bothered taking the time to put in all the necessary hacks to make the 3+ year old browser do what the young whippersnapper Mozilla family can do. I'm still debating whether I want to bother with it or not. If it were a client's site, I would. But this one's mine, so I may just put a huge "UPGRADE TO FIREFOX" icon and link whenever a user visits using IE. Just an idea.
You all my have stumbled past Microsoft's Passport or some other centrally located login repository. Last night I found one that's still in alpha stages, but has a lot of promise. It's called SharedID. It's built using two other promising technologies: FOAF and Atom.
You store your FOAF file with them (the part I don't care for) and sites (including MT based sites) can request access to it to validate your existence for login purposes. (did that make since?).
Personally, I think it's a great idea. The thing I don't like is that my FOAF file (the digital reference to the real me) is living on someone elses server. Somehow there neads to be a way to let each person manage their own existence in their own managed realm.
Now, granted, sooner or later there should be a server admin to monitor the actual physical box, but there's something about giving out my identity (I know we do this daily) that really doesn't sit well.
SharedID will work great I'm sure, and be used by at least a few sites in the near future. There is something more though. Just over the horizon. Let's see if we can think our way there.