|
Application Development
Projects
Clairmail Server 3
This is a major re-architecture of the company's
core server platform. This system allows a financial institution to provide mobile banking and bill payment functions via multiple mobile interaction points, including SMS text message, mobile web browser, and native client applications.

The system takes a unique twist on the emerging
Java Business Integration (JBI) spec by routing human-originated
messages (received via Email, SMS, or IM) to various agents
on the service bus, which then process the message as a query
or function call on any number of back-end services. A provided
SDK allows for open-ended extensibility of the server to virtually
any other service or application.
The platform is packaged for delivery as
a pre-configured appliance and includes an easy-to-use UI
and JMX-based manageability.
Feature Highlights
- Design embraces an asynchronous, decoupled
architecture where system-components communicate via message-passing.
- Service endpoints may be protected with
ACL-based security.
- System health and configuration can be
monitored via JMX.
- Web-based GUI or XML-API allows for standalone
management or integration with in-house applications.
Design Goals
The system must be extensible by developers
with little or no knowledge of messaging protocols, SOAP,
JBI, or other more complex technologies. A simple java-interface/bean-based
API allows developers to leverage their domain knowledge of
a particular enterprise app to easily create service-endpoints
that may be deployed via drag-and drop. Once registered, users
may immediately begin sending messages to the endpoint.
Additionally, the server must support large
deployments, with potential users numbering in the millions
and message throughput above 50 messages per second per cluster-node.
Technologies Employed
Apache Servicemix provides the JBI-compliant
enterprise service bus which forms the backbone of the application.
The spring framework, running in the Tomcat web-server forms
the business logic layer. Hibernate plus a number of backend
databases provides the persistence framework.
|
GoldenGate Director
This project for Golden Gate Software is
a complete configuration, command, and control system for
the company's flagship line of enterprise database replication
products. Using a diagram metaphor, the various components
can be configured in real-time, as changes to the diagrams
are immediately reflected in network nodes. Multiple diagrams
showing many custom views of the network are possible.
 
The Director suite consists of several integrated
products. Director-server provides a central engine for configuring
Goldengate replication nodes anywhere on the network. A full-featured
client API masks the complexity of the EJB implementation,
allowing customers to integrate configuration tasks into their
own infrastructure. Goldengate Director provides a rich client
for diagramming, log and report viewing, monitoring and control.
Finally, Director Web completes the suite with a web access
component for obtaining network status remotely using any
web browser.
Care has been taken to fully realize the
write-once, run-anywhere promise of Java technologies. As
a result, all system components function equally well on Windows,
Unix, Linux, and Mac OS X.
Feature Highlights
- All business logic encapsulated in EJB
session beans
- Client-server communication optimized
using asynchronous messaging via JMS
- Swing and Web clients for multiple OS
platforms
- Communication with replication and extraction
processes written in C using custom Java sockets
- Multithreaded monitoring agent implemented
as a JMX bean in JBoss
- Full reporting capability with server
generated charts and graphs
- Consolidated event log viewer
- All cross-platform java tested on Windows,
Unix, and Linux
- Provides a unified view of services running
on Windows, Unix, and Tandem/NSK systems
Design Goals
The key goal was to present the flexibility
of the system, which can be configured with hundreds of parameters
and is available on dozens of platform-database combinations,
in some consolidated way. The API masks this flexibility by
smoothing out differences between platforms and implementations,
while the GUI brings it together for the user in a familiar
diagram metaphor.
Technologies Employed
The application server layer is JBoss,
application logic is in EJB session beans which use EJB CMP
entity beans for data persistence. Swing and JSP are used
for client-side components. Asynchronous operations use JBoss'
message queue and JMS.
The Monitoring agent is a multithreaded
java server using custom java sockets and jdbc and implemented
as a JMX bean for integration with a custom distribution of
JBoss.
Graphics and html were designed and laid
out using Macromedia Fireworks and Dreamweaver UltraDev. |
GoldenGate Director Web |
| Completed in mid-2002 with the product
name Activity Console, this web-based monitoring and control
console became the web-access component of the larger Director
product described above. From this central location Systems
administrators can monitor and control complex data extraction/replication
processes running on Windows, Unix, and Tandem servers. The
product is notable as the first GUI for what previously had
been an entirely command-line driven application suite.
 
Feature Highlights
- Communication with replication and extraction
processes written in C using custom Java sockets
- Multithreaded monitoring agent
- Command and control features
- Full reporting capability with server
generated charts and graphs
- Browseable network topology
- Customizable network views using 'Watch
Lists'
- Consolidated event log viewer
- All cross-platform java tested on Windows,
Unix, and Linux
- Provides a unified view of services running
on Windows, Unix, and Tandem/NSK systems
Design Goals
The key goal was to present the huge
amount of data available in some consistent useable way, all
in a graphically attractive, yet somewhat spartan and functional
console. Additional goals included true cross-platform support
and zero-configuration clients. The client targets 6.x browsers
running on Windows, Unix, Linux, and Mac OS X.
Technologies Employed
The GUI consists of an object model
implemented as Java beans, a data access layer using JDBC
and a presentation layer of Java server pages. The system
is tested on the Jetty open-source http server.
The Monitoring agent is a multithreaded
java server using custom java sockets and jdbc.
Graphics and html were designed and laid
out using Macromedia Fireworks and Dreamweaver UltraDev. |
| eGems Web Access
This project, done in 2001 for Gemteq Software,
was a fully capable web version of the popular Collector product
(see below). The product featured a browseable database hierarchy,
plus full online editing capability, all in an ultra-thin,
cross-browser compatible client.
Feature Highlights
- Online database browser using tree metaphor
- Full editing support
- Supports multiple bibliography formats
- Fast search and retrieval
Design Goals
The key goal was to preserve the feel
of the desktop application for existing users, while creating
a pleasant, intuitive interface for new users. Targeted towards
serious students and researchers, the presentation was kept
intentionally spartan.
Technologies Employed
This is a front-end to an EJB application.
It uses RMI/IIOP to communicate with the application server
and consists of Java Servlets, Java Beans, and JSPs running
on Jetty 3.1 under a 1.3 JDK on Redhat Linux 7.2. Formatting
of data uses XML with XSL (apache Xerxes and Xalan). |
|
| eGems Collector Pro
Worked on from initial design in 1998 through
version 2.0 in 2001, this is an award-winning Internet research
tool marketed to universities, publishers, and researchers.
It allows for fast drag and drop creation of clips of important
documents, along with the ability to tag these gems
with reference data. Later, the items can be dragged into
a larger document, and a bibliography entry can be inserted,
preformatted in a number of styles.
Feature Highlights
- Extensive use of drag and drop
- Full editing capabilities
- Unique UI metaphor
Design Goals
Designed to be unobtrusive, the main
application window is intentionally kept very small. Several
design hurdles were overcome to properly transmit UI features
within these constraints. In addition, the application is
unique in that the main window can be reduced to a floating
icon, while leaving most functions available via drop-down
menu and keyboard shortcuts.
Technologies Employed
Microsoft Visual Basic, database access,
extensive use of html and xml, email, Internet communications,
extensive use of Win32 API functions. |
|
| Gemteq CIF
Completed in early 2001, this internal application
allowed staff to track registered users, corporate partners,
and support incidents in one convenient place. It features
configurable reporting for obtaining detailed user statistics
and an ad-hoc query window for advanced users who understand
SQL syntax.
Data within the CIF database was merged
from multiple sources including web forms, batch inputs from
partners, and manual data entry.
Feature Highlights
- Complete tracking of user data, including
product registrations and serial numbers
- Association of customers to partner or
other source of customer
- Fast Search and retrieval
- Detailed reporting, including graphs
and charts
Design Goals
The UI of this project is reflective
of a philosophy that internal applications should be useful
and intuitive, but without the "overhead" of traditional
web site presentations. Of special note is the use of local
applets for generating charts and graphs. Data for these charts
is generated on the server during the page request.
Technologies Employed
Java Servlets, Java Beans, and JSPs
running on Jetty 3.1 under a 1.3 JDK on a standalone Windows
2000 server. The database is MS SQL Server via JDBC. |

|
Web
Sites and Corporate Identity
| ChevyMallAuction.com Website
Completed in May 2004, this is an extension
to the ChevyMall.com site (not one of my projects) that offers
one-of-a-kind or limited availability items for auction. The
site owner wanted the auction site to run separately from
the main ecommerce site, yet retain the branding and feel,
providing the customer with an integrated experience.
The site is based upon the EveryAuction
open-source auction package, with customizations allowing
the site administrator to easily maintain the site.
Feature Highlights
- Chevy Mall branded home page with quick
links to auction categories and auction item search.
- Pictorial icons identifying auction categories
- Full text search of auction items
- A custom implementation of the EveryAuction
open-source auction package.
Design Goals
The critical design goal for this project
was simplicity. The site hade to be easy to use for customers,
but also simple to update for the site owner. Other goals
included low cost of setup, the site uses shared hosting and
leverages the Perl implementation available via the ISP.
Technologies Employed
The main application is the EveryAuction
open-source auction package, written in perl. The main perl
script was modified to allow CSS, for easy branding, and changed
to allow only the site administrator to post items for auction.
Macromedia Dreamweaver was used for home page design, along
with custom graphics designed in Macromedia Fireworks. |

 |
WEN
Chocolates Company Logo |
Visuary
Consulting Corporate Logo |
| 
|

|
This logo was designed for a small chocolate-maker
and variations on it are used throughout the branding and
packaging of the products. The word wen is egyptian for 'to
exist' and the jackrabbit symbol is a stylized version of
the ancient Egyptian hieroglyphic for the word.
|
This logo was created for a small computer
consulting firm. |
| Ericson Fleet One Website
Started in 1999, this is an ongoing 'labor
of love', included here primarily as an example of some traditional
web site work.
Feature Highlights
- Provides a nicely designed hierarchy
of information on Ericson Fleet One
- Handy links to local sailing conditions
right on front page
- Full text search
- A dynamic "Guest Log"
Design Goals
The Angular presentation is intentional
and designed to be reminiscent of a nautical chart. The site
has consistently won praise from club members and other Ericson
Yacht owners, and has been visited by many, many Ericson Enthusiasts
over the years.
Technologies Employed
Macromedia Dreamweaver with custom
graphics designed in Macromedia Fireworks. |

|
| Cal Water Internet/Intranet
Completed in 1998, this was a much larger
project than indicated by this lone screen shot. It was a
full Intranet/ Internet deployment. Working as part of a large
team, modules created include online water quality reports,
as well as other customer facing content. The most interesting
module was an internal system for exposing archives of bill
and payment images created by proof machines. These images
were in TIFF format and, using an image processing library,
were dynamically converted into Jpegs for display in a web
browser without the need for viewer plugins.
Feature Highlights
- Internal report distribution
- Online bill image search and view
Online water quality reports
Design Goals
Though only a small part of the overall
implementation, the Water Quality Reports screen at right
is indicative of the philosophy of the customer-facing portions
of the site. Care was taken to ensure the UI transmitted it's
functions in meaningful ways, like the tear-away view of a
corner of the customer's utility bill, indicating where to
find the required account number to enter.
Technologies Employed
Microsoft Front Page, IIS, SQL Server,
ASP, and image handling libraries. |

|
Older
Projects
| Serra Park Dental SAS
Started in late 1997, this was one of the
first deployments of Microsoft's MTS. Much of the development
was completed before MTS actually shipped. The application
was contracted for by a large dental practice with a need
to consolidate patient visit statistics in a central office
for reporting and decision support. MTS was chosen to provide
optimum scalability due to the rapid addition of new offices
by the practice.
Feature Highlights
- Daily data entry optimized for quick
keyboard entry
- Simple UI that follows actual workflow
of a patient visit
- Highly scalable
- Easy to install client
- Flexible reporting using Crystal Reports
Design Goals
The application had to achieve two
overarching design goals. Because of the pace with which new
offices were being acquired, the system had to have open-ended
scalability. MTS and SQL Server were chosen to centralize
database and business logic. The UI was a small and easy to
install package that could be up and running in a remote office
as soon as the network was available.
Usability was another key goal. The use
of tabs to section the work flow in a manner consistent with
a real patient visit, along with screen designs that fostered
heads-down data entry (minimal mouse action required) made
the application quick to learn and easy to use.
Technologies Employed
Microsoft Visual Basic, Microsoft Transaction
Server, SQL Server, and Crystal Reports. |


|
| Quickstart Technologies RAID
An internal project done in 1997, this issue
tracking database was not a terribly demanding project. It
was important to the infrastructure of the application development
consultancy, however, and allowed for the managing of customer
issues for multiple projects simultaneously.
Feature Highlights
- Easy online access to a database of issues
organized by project
- Admin capabilities for managing customers,
projects, and system users
- Reporting and printing capabilities
Design Goals
Almost every developer group has an
application like this. This one was decidedly "tongue-in-cheek".
The bright colors reminiscent of a can of "Black Flag"
and the catchy acronym name "Rapid Application Issue
iDentification" or "RAID" were intentionally
humorous.
Technologies Employed
ASP, Microsoft Front Page, IIS, MS
Access. |
 |
| Bogdan & Frasco Website
Completed in 1996, this informational web
site for a small accounting firm is looking rather dated by
today's standards of web site design, however in it's day
it was notable for being the first commercial, glossy web
site released by the company. It is a standard static content
site with simple data structure, covering most aspects of
the services of the company.
Feature Highlights
- Simple data structure of corporate data
Design Goals
The company wanted to project a strong,
conservative image to its largely business customer-base.
The use of stone-tile-like images and bold face fonts are
meant to impart a bank-like sense of stability and conservatism.
Technologies Employed
Microsoft Front Page, Microsoft Image
Composer.
|

|
| Pacific Bank Taskmaster
Actually a 16-bit Access 1.1/2.0 application
begun in 1994, this full-featured task-tracker was never ported
to 32-bit code, the UI was updated to look good running under
Windows 95 and a 16-bit version of Office. The application
ran virtually every aspect of the 10-person MIS division of
this small commercial bank.
The system tracked all help calls and service
requests, tracked network inventory, approved vendors, hardware,
software, generated POs, allowed tasks to be grouped into
projects, and included a personal schedule. All of this fed
through to a real-time status board monitored by the group
Vice President, allowing him to know at a glance where his
staff was and what they were working on.
Feature Highlights
- Task tracker
- Project manager
- Personal appointment schedule with alarm
- Network inventory
- Management reporting
Design Goals
Created and deployed before the wide
spread use of Microsoft Outlook and Exchange, this system
was designed to fully manage the work flow of Help Desk Representatives,
Application Support Specialists, Network Administrators, Telecommunications
Specialists, and Senior Management engaged in MIS tasks.
Technologies Employed
Microsoft Access. |


|
| Pacific Bank BANCoin
This simple system, developed around 1990,
is included here primarily as a means of allowing me to declare
in all truth, that I've been using "VB" since it
was "B". Although a very simple program, it performed
a task that greatly reduced the time spent reconciling coin
deliveries to the central vault by the Main Office Vault Teller
and each branch Vault Teller.
Feature Highlights
- Accepted entry of coin receipts for current
day's armored delivery
- Printed a report to distribute to branches
(dot matrix on green bar)
- Calculated GL entries for each branch
receiving coin
Design Goals
A quick and simple program, designed
to simplify the life of the Vault Teller. This program was
a key time-saver and was the first of an ongoing stream of
process automation efforts that I was involved with at the
bank.
Technologies Employed
MS-DOS, MS-Basic running on an IBM
PC AT
|
|
|