When Location Matters to your Website ... Mapping with Google [www.contextsensitivesolutions.org]
At the risk of revealing my age, there was a time when I had hoped there was a website that could map the world. A site that could tell me where to find what on the globe and show me how to get there.
Obviously a site like that would take an enormous investment and effort to build and I'm glad, thrilled even, to see companies like Google take on that challenge when they released Google Maps to the public in 2005.
What's even more exciting is that Google makes this data available thru an application programming interface (API) to web developers like you and me.
So in what cases can Google Maps or an equivalent service help your website ?
I am very happy to inform everyone that the Ajax Photo Album User Interface has been committed to OpenACS CVS.
Following the design pattern we used on Ajax File Storage UI, the Ajax Photo Album UI creates an ajax powered user interface on top of the photo album package using the principle of graceful degradation. Using the ExtJs and Shadowbox javascript libraries, AjaxPA UI v0.1d has the following features :
Interested to try it out ? Grab the code from OpenACS and install the package on your OpenACS instance.
YUI the Next Generation [developer.yahoo.com]
Solutiongrove has been using YUI on the front-end since it was released in 2006. I fell in love with it's sophisticated handling of browser events and how event listeners put unobtrusive in "Unobtrusive Javascript".
We have seen it evolve from a couple of core utilities to a library with complex controls and widgets.
Just a few days ago the YUI team released a developer preview of YUI 3, the next generation YUI library (YNG, YUI Next Generation).
I haven't had a chance to try it yet out but I'm pretty sure I will soon.
While I haven't had a chance to examine the code , I have had the opportunity to read up on the documentation and join the YUI 3 Yahoo Group.
Better Merging with Subversion [www.orcaware.com]
In an earlier blog post about branching and merging with subversion, I detailed how I do merging with subversion alone.
It's great to understand the basics but as Mark Aufflick commented on that same article, you're crazy if you don't use "svnmerge.py".
So, what is svnmerge.py? Why do you need it?
The problem stems from the fact that Subversion, older than version 1.5, do not keep track of your merges.
As a result, the developer needs to keep track of merges manually. This means that a developer will have to take note of which revisions were merged to the trunk or to a branch. If the developer is not organized and diligent with tracking his/her merges, it is perfectly possible to "remerge" revisions that have already been merged before, resulting into lots of conflicts and hours of trying to sort them out.
I have been quite busy these past two weeks with a front-end project for a client. I can't say who yet but the "user-agent" matrix they had tells me that they maybe sticklers, making sure the Web pages we are developing for them work and look good across different browsers.
So, in the last two weeks I was transported back to the year 2000 when I was developing Web pages for IE5.5, IE6, and Netscape. Trust me, those were not the greatest times to be front-end developers.
Internet Explorer, in particular, was the bane of Web developers who happen to be working on projects where Web pages need to look consistent across different browsers. If the little annoying differences between IE and Netscape don't kill you, then the little annoying differences between IE5, IE5.5, and IE6 will.
Search is the life blood of the internet. When you are at a loss and you can not seem to find the web page, file or image that you are looking for, search comes to the rescue.
While search has become faster, more robust and efficient in the back-end, very little has changed in the user interface.
One of Solutiongrove's clients was quite inspired by the UI on AjaxFS that they sent us a mockup that was loosely based on it for use on the search section of their site.
We implemented it on solutiongrove.com and you can see it and try it out in http://www.solutiongrove.com/search/.
I envy the web apps running off apache. They get an incredible speed boost thru compression just by enabling the mod_gzip module.
Websites on AOLServer 4.5 can use ns_zlib to serve compressed adp pages but I don't know yet if static files like images, cascading style sheets or javascript can automatically be served compressed.
We've been doing lots of front end development and the size of javascript and css files can take its toll on load times.
Just yesterday I came accross this thread from the AOLServer mailing list archives where the author shares a filter for AOLServer that he wrote to serve up gzipped content if it's available. You don't need ns_zlib to use this filter as you are expected to gzip your resources beforehand. The filter will essentially ...
Version control is a must for projects such as ours with a geographically diverse team of developers each working on any number of these projects at the same time.
Subversion, because of its similarities to CVS, has made it easy for us to reap the benefits of version control with minimal effort. However, there is a lot more to subversion than update and commit. There is also branching and merging, but unlike CVS the concept is easier in subversion, at least, in my experience.
So when does branching become necessary or useful? Branching allows you to create a copy of the portion of your project to another location in the repository. This allows one developer to work on features that may not be part of the main line of development without disrupting the work of other developers.
Accessible Google Charts [ajaxian.com]
It's interesting how different companies, competitors even, can come together for a good cause in the name of making it easier for more people to use the Web.
In this feature from the Ajaxian, a Web architect from Yahoo, Chris Heilman, makes Google Charts, a product from Google, more accessible to people who can't see the charts it generates.
By "people who can't see", I am referring to people who are either fully or partially (color) blind and who rely on special screen readers like JAWS to view Web pages.
XoWiki prototypes [media.wu-wien.ac.at]
Gustaf has been adding new features, fixing bugs and updating xowiki at such a dizzying pace that it's hard to keep up with all the cool and nifty features.
One feature that I caught up with recently while working on a project is prototypes.
If you've been using xowiki for a while, I'm sure you're wondering how and why the en:index page keeps coming back even after you've deleted it. The answer is xowiki prototypes.
You can find the prototype for the index page along with some others in packages/xowiki/www/prototypes.
So how can prototypes be helpful to you. Let me count the ways ...
I signed up for FeedBurner on my own blog hosted at Blogger because it was dead easy to do it through the settings page, but what I didn't realize at the time was that FeedBurner is so much more than just an alternative way of serving up feeds. So after being on Feedburner for a while, I came up with my top 5 reasons why Feedburner rocks.
Dave is working on hot wiring Blogger to use FeedBurner as I write this post. Go Dave!!!
Your Gmail account could have been hacked ..... [www.davidairey.co.uk]
First, let me greet everyone Happy Holidays!!!
I would just like to let everyone know about a blog article I read about how a Gmail user and graphic designer, David Airey, lost his domain to a hacker because of a gmail exploit.
Please check your gmail filters and settings to make doubly sure that you have not been hacked.
Solutiongrove contributes Facebook API Package to OpenACS Community, updates Friend Webs [apps.facebook.com]
Solutiongrove is pleased to announce that we have comitted the Facebook API Package code authored by Dave Bauer to the OpenACS Community. The code for the package is now available on CVS HEAD.
In addition, we have upgraded the Friend Webs Facebook application to use ExtJS 2.0 while adding the following new features:
We're very pleased to announce that Ajax File Storage UI turns 1.0 BETA and is now available from OpenACS CVS on HEAD.
What's New ?
This release is a rewrite of the javascript code to use ExtJS 2.0. Additional changes include :
New to AjaxFS UI ?
Many organizations want the benefits of both a web based Forum and a email based Mailing List. It is easy to get this with OpenACS because OpenACS Forums have built in notifications and a "Reply by Email" functionality for instant notifications.
This tutorial guides you in setting up "reply by email" for the forums package. The forums package will email an article to users who are subscribed to notifications. The "reply by email" feature allows recipients of the notification to reply to the forum post by email.
The system is configured to receive the email and post the reply to the appropriate forum article. 1
This is the third installment of a series of tutorials about Solution Grove's Web 2.0 Demo Page. In this tutorial I show you how to make elements, like the portlets in our demo, draggable, specifically the "Add Stuff" and "Map" portlets.
The usual prerequisites apply. If you've tried the first two tutorials you should probably have an OpenACS instance running with Ajax Helper installed.
We start by creating html elements that users of your web application can drag. In the case of the demo page we used div elements with CSS styles. The css styles define the background color, width, height and other attributes of the div element. Here's what a draggable portlet looks like.
The first tutorial in this series introduces you to the Ajax Helper package and how to implement simple cinematic effects. The second tutorial in this series will show you how to make ajax requests to update sections of an html page without refreshing an entire page.
If you're wondering how a portlet can be inserted into the the mashups demo page without refreshing the entire page, this tutorial is for you.
Prerequisites for this tutorial are the same as the first. Please make sure you have Ajax Helper installed on your OpenACS instance. The installation should also mount ajax helper in /ajax. Also ensure that you have sourced the needed javascript libraries. Please consult the first tutorial on how to source javascript libraries.
This is the first in a series of tutorials from my experience building Solution Grove's Web 2.0 Demo.
I'll start easy by showing you how to use the Ajax Helper Package to add neat effects to your OpenACS applications. The Ajax Helper package is a helper package that hopes to make it easy for OpenACS developers to incorporate Ajax and other javascript effects to OpenACS web applications
If you're wondering how the portlets disppaer and appear in our mashups demo, you'll find out in this tutorial.
Subscribe to notificaitons