Archive

Posts Tagged ‘Front End Development’

WVFM (WebVeteran's ColdFusion File Manager) build 081014

October 14th, 2008

I was able to give more hours to the wvfm. As planned, I started to incorporate Finder-like column navigation:

When clicking a dir the contents load on the right by an ajax function. The view automatically slides left to the new column.

Its sloppy looking right now. But the final omelet should be tasty.

ColdFusion, JavaScript, News, Scriptaculous, TinyMCE, WV File Manager, Web Coding

WVFM (WebVeteran File Manager) build 081008

October 10th, 2008

I haven't come across any ColdFusion file manager that is good, free, and can be used with TinyMCE. Even the commercial products don't impress me. And  don't like relying on PHP in my CF applications. So I'm writing my own File Manager, WVFM. Sounds like an oldies station :) I plan on releasing it as open source for free.

The following are my main goals for WVFM:

  • Speed
  • Aethetics
  • Easy to install
  • Easy to use

I plan to accomplish those goals with:

  • Optimized code (CFML and HTML/CSS)
  • FamFamFam Silk Icons, and a designer willing to help for free
  • AJAX w/ Scriptaculous web2.0 javascript library
  • Mimics Mac OSX Finder's column view navigation
  • Extra information for webmasters and content editors

Right now it's pretty much a drag and drop CFC. It runs immediately by navigating to its loader (index.cfm) with good default settings.

It figures out the root dir of the website, and if you're navigating within it, allows you to click on files to view/listen/download.

Every attribute of a file/dir is sortable. Sorting is prioritzed automatically as you sort by attribute. That sorting is saved as a cookie for when you return.

You can specify which attributes of the objects you need to see. The code is optimized to not bother asking the file system for those attributes. Good optimization for a large number of objects in a directory.

WebVeteran File Manager 081008

More to come! Next is making navigation like Finder's column view.

 

ColdFusion, JavaScript, Mac OS X, Scriptaculous, TinyMCE, WV File Manager, Web Coding

Tech Demo: Javascript based image magnifier

August 6th, 2008

A javascript based image magnifier. This is great for products or
schematics. The user moves a light box over the small image. Next to
that, a blow-up image is zoomed and scrolled accordingly. Aside from Scriptaculous, this demo uses only 60 lines of javascript!
View the javascript based image magnifier demo

JavaScript, Web Coding

Serving gzip compressed Scriptaculous and Prototype with ColdFusion

April 19th, 2008

gzip compressed javascript libraries I love Scriptaculous, and mixing it with ColdFusion to create some very nice Rich Internet Applications. But at nearly 300KB, loading Prototype+Scriptaculous is kinda heavy. The workaround for that is shrinking the javascript libraries.

There are a few utilities around the net that will ‘compact’ or ’shrink’ javascript. Variables are renamed, and all white space is removed – including comments and credits. Not too cool.

But here I’ll show you how to take it a step further and serve javascript compressed with coldFusion. I am able to get Prototype v1601 and Scriptaculous v181 download size down from 288KB to 42KB – with credits intact. ColdFusion 8 is not required – I believe CF5 or better will do (maybe even earlier!). This is a great way to serve gzip compressed content when not being able to control the web server and you don’t have CF8.

  1. Pack/shrink/compact all the javascript files into one. Make sure Prototype is at the top. That work has been done already, easily found on google. That’s how I got mine, it was 148KB. 2:1? Pretty darn good for no compression.
  2. I added credits for each library at the top of that file.
  3. Gzip the file.

So, great. We have a gzip compressed 42KB web 2.0 javascript. Thats almost 7:1 compression – not too shabby.  And with credits intact, thank you very much. Now we have to serve it as such. But you cannot just link to the gz in a javascript src attribute. Most browsers will not know what to do with it. So it has to be served smartly, and correctly. You need the compressed and uncompressed version both handy since older browsers cannot decompress GZ – in case someone tries to surf your site from 1997. And for the compressed version, you need to set the correct content-encoding and content-type headers.

Here is how to do it with ColdFusion. For this demonstration, the files are named:

  • prototype1601scriptaculous181.cfm
  • prototype1601scriptaculous181.js
  • prototype1601scriptaculous181.gz

In your javascript tag, make the src point to the CFM, such as

<script
   src="/includes/js/scriptaculous/prototype1601scriptaculous181.cfm"
   type="text/javascript"
   charset="ISO-8859-1"/>

It’s important that your charset is ISO-8859-1.

This is the contents of prototype1601scriptaculous181.cfm:

<cfif cgi.HTTP_ACCEPT_ENCODING contains "gzip">
<cfheader name="Content-Encoding" value="gzip">
<cfcontent
type="application/x-javascript"
deletefile="no"
file="#expandpath('./prototype1601scriptaculous181.gz')#">
<cfelse>
<cfinclude template="prototype1601scriptaculous181.js">
</cfif>

gzip compressed javascript librariesThis beauty first checks to make sure the browser can handle gzip.

  • If so, it sets the correct Content-Encoding for the file. With cfcontent it sends the compressed data to the browser as type application/x-javascript.
  • If not, it sends the uncompressed js data.

As you can see on the right, the credits are still in the compressed javascript when decompressed by the browser.

In my free time (HA) I’ll create and post PHP, ASP, Ruby, etc version as well. Or if someone else would like to do it I’d gladly post them here.

Other Resources:
http://compressorrater.thruhere.net/
http://shrinksafe.dojotoolkit.org/
http://www.bananascript.com/?home
http://blog.mohanjith.net/2008/03/recipe-for-compressed-scriptaculous.html
http://cfspaghetti.blogspot.com/2007/07/how-to-gzip-compress-coldfusion-8.html

ColdFusion, JavaScript, Scriptaculous

Emergent Success Launches ES-Extranet, an Innovative Online Collaboration Tool

September 26th, 2007

SOURCE: Emergent Success, Inc.

Sep 26, 2007 14:32 ET

MOUNTAIN VIEW, CA–(Marketwire – September 26, 2007 ) – Emergent Success Inc. today announced the
launch of ES-Extranet a proprietary web-based collaboration tool for use by
their clients, partners and consultants. Since the email "inbox" was not
designed as a collaborative work environment, this technological solution
creates the open space where discussion, calendaring, asset sharing and
other collaborative activities are easily practiced and navigated.

Emergent Success, Inc. is a collaborative consulting company that
facilitates dialogues to assist clients in solving their real-time
problems. Even though the preference is to do this work in vivo, the
addition of the ES-Extranet will allow anyone involved in a current
collaboration to participate in an asynchronous manner. The principals at
Emergent Success believe that in the same way that there is enormous value
in gathering people together for in-person dialogues, there is also
significant value to "virtual" dialogues. Principal Kevin Buck explains
"Experience has shown that to engage people with an online tool once you
have engaged them in person maximizes any collective effort — it is not an
either/or, but a both/and."

With an eye to collaborative integrity, Emergent Success engaged with David
Muro, designer, and Jules Gravinese, web developer, to co-create this new
tool. Each brought the best of their knowledge and experience to bear as
they developed the intuitive feel and ease of use of this online workspace.
Since collaborations are an iterative process, we look forward to the
ongoing learning for our company, consultants and clients.

About Emergent Success, Inc.

Emergent Success assists clients to solve their real-time issues by
liberating the collective wisdom, talent and energy from within their
organization for the emergence of strategic success. Its senior
consultants facilitate collaborative dialogues that create systemic
integration amongst the unintended silos present in most organizations.
The Company is headquartered in Mountain View, CA with consultants located
across the United States. www.emergentsuccess.com

ColdFusion, JavaScript, MySQL, News, Scriptaculous, Web Coding

WebVeteran.com based code deployed on Apple Inc.'s website

June 21st, 2007

Wow how cool is this?

Scriptaculous’ modified version of my JS Audio Engine is being used by Apple!
EX: http://www.apple.com/aperture/

http://images.apple.com/global/scripts/lib/scriptaculous.js:

// script.aculo.us sound.js v1.7.1_beta2, Sat Apr 28 15:20:12 CEST 2007

// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
//
// Based on code created by Jules Gravinese (http://www.webveteran.com/)
//
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

JavaScript, Mac, Scriptaculous, Web Coding

Scriptaculous audio engine – based on WebVeteran.com code

March 5th, 2007

The forthcoming Scriptaculous (version 1.71?) may have an audio engine. The base of which is from yours truly.
For WebVeteran.com I had built a JavaScript audio engine:

  • Start a sound at any time
  • Stop that sound any time thereafter
  • Start another sound while the previous sound(s) are playing

The result is a multi-track audio engine that is accessed through
JavaScript. It uses Scriptaculous’ Builder to create and kill sounds.

Being so excited of my accomplishment, I wrote an email to Thomas Fuchs,
creator of Scriptaculous, telling him of what I did. He asked if he can
incorporate my work into the next release, as audio.js, along side
effects.js, dragdrop.js, etc. Of course I said yes.

As always, no plug-in allowed. Well… not entirely true. But the user is never prompted to install one. So it degrades nicely on all browsers and platforms.

  • If you have a Mac, you’re all set. QuickTime takes care of all browsers.
  • If you have IE, you’re also set. bgsound is a wonderful thing – wav w/ no plug-in.
  • Opera? Terrific. Wav files with no plug-in.
  • FF on the PC? Only if you have QT installed. Otherwise you hear nothing. For now.

To come are some very nice improvements in speed and functionality.

JavaScript, Scriptaculous, Web Coding

Jules’ front end development recognized by Yahoo!

February 15th, 2007

I received an interesting contact form submission one evening, by a Yahoo! talent scout.

Date: Tue, 06 Feb 2007 20:53:26 -0600
Subject: Form Submission
To: jules@webveteran.com
From: <XXXXX@yahoo-inc.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=”iso-8859-1″
Content-Transfer-Encoding: 7bit
——————————————————

Name: Teddi XXXXXXXX
Email: XXXXX@yahoo-inc.com
Phone: (408)XXX-XXXX
Company: Yahoo
Website: www.yahoo.com
City: Sunnyvale
State: CA
Question:

Hi Jules,
My name is Teddi XXXXXXXX and I’m a Talent Scout with Yahoo.
I would like to discuss Front End Engineering roles we have
with Yahoo. When might be a good time to speak?

Thanks,
Teddi

So… that was nice!

Later that night I spoke with Teddi on the phone. Being very good at her job, she knew right away that my resume was formatted from a Monster.com template. And then she gave me advice about resume writing.
I showed her some of my front end work, both of my own site and live examples of sites I’ve coded. She was very impressed.

I showed her that a search in Yahoo! for “freelance web development” shows me as the first result. And I’m number two for “freelance web developer”. I was surprised she didn’t know that. She asked “how did you pull that off?!” The reply: “It’s my job”.

 

Now, the problem is, that their development team is in sunny California. And I’m in NY. Yahoo! has offices in NY, but they are marketing teams. I asked what are the odds of me doing the development work for Yahoo! in NY. The reply: “Zero.”
I don’t know where it will lead. But at least it was nice to be recognized.

Web Coding ,