2007-02-11

2007-02-11 Traveling...

I'm flying out of Seattle this morning for a 4-5 month sabbatical - and a little bit of sailing.

I'm planning on using this time to do a couple of things:


- research application and architecture security threats / defenses / trends / developments

- an intensive period of Visual Studio 2005 development

- an intensive period of Java / Open Source development


When I return later in the spring / early summer - I will be re-charged, and with a much sharper edge.

2007 is going to be a great year.

2007-02-03

2007-02-03 Software is hard...

There's an interesting article on salon.com: Software is Hard

I've been involved in software development efforts for the last 20+ years...over half of that time as a leader or manager - often still directly contributing to the coding effort.

Three of my most productive and successful periods of software development were done with none of the heavy processes that are quite often mandated in large mature organizations. Budgets were tight, production environments demanded rapid responses to competitive threats, resources were scarce. Under those conditions the teams excelled. In larger organizations, with massive budgets, and heavier processes - the results were more often than not: "crash and burn".

A handful of use cases, a good data model, the best talented developers you can afford, strong end-user involvement, and a strong architect leading the charge are what I have found works best time-after-time.

Too often, organizations that foster a culture of design by consensus via a committee - invariably end up burning 2x+ of their budget - and never produce any software that is actually deployed into production.

Case in point: U.K. Dept of Health: Prescription for Disaster

2007-02-01

2007-02-01 Rich-Interface Applications

There's a short DJJ article out recently quoting Steve Jobs on Java's usefulness in creating Rich-Interface Applications (RIAs).

In 1998, when Java was around release 0.9x - I spent $10K on a client project hiring someone on a contract basis (who I believed to be a good C++ programmer) to develop a backend administrative web interface using the then current servlet techniques. After about one month of development effort - I did a code review of the progress thus far - and was less than excited at what seemed to be a rat's nest of code needed to do some of the most basic types of user interface functionality. I deemed the code was un-supportable, given my client's level of technical sophistication, and their budget constraints. We threw the code away and wrote it in Cold Fusion. Never regretted that decision. It worked for the client - and we delivered on schedule...and the client was able to subsequently find local talent quite easily to continue enhancing the application.

In 2004-2005 I was leading the development efforts for a start-up in the Bellevue Washington area - for a new cutting edge commercial software product to market to the international banking and financial service market. The team was hand-picked by me. They were sharp, highly skilled, and had significant experience with Java. We adopted Java Server Faces (JSF), Hibernate, and Spring - and utilized an Open Source Java Web Server for our development and production environment. It was an interesting experience.

The product we eventually delivered was stable, strong, flexible, and had a competitive mix of feature / functionality.

However, I don't know if I would choose JSF as a technology base for such a commercial application development effort again. There seems to be just too much pain and complexity in the learning curve for developers. [Granted - we were one of the very very early adopters of the Beta release of some JSF libraries].

I don't know if I agree with the suggestion at the bottom of the article that I linked to at the top of this posting (use Flash for enterprise user interface application development?!!!] - but I might be willing to try it - given the drawbacks of other options.

I've been researching AJAX libraries and frameworks - and have some reservations - unless I happen to find a good IDE environment that offers a good AJAX WYSIWYG development - I would avoid any substantial AJAX development effort that required extensive hand-coding of JavaScript for the user interface...the issues with handling browser compatability at level of code is just a maintenance nightmare that I wouldn't want to wish on anyone.

You're probably wondering why I haven't mentioned ASP.NET as an option - or PHP?

Depending on a client's existing skill sets, technology policy / constraints - I might very well recommend / use either of those technologies.

In th past, I have developed applications with both of ASP and PHP - as well as some C# .NET development for user interface development. They are reliable technologies - and I feel comfortable working with any of them.

But I still believe that most software development projects expend way too much time, money, and effort hand-coding user interface details that should just be easier - at this stage of our industry's growth.

I'm always open to tring some new ideas / approaches.

2006-09-30

Saturday - September 30, 2006

This has been a good month - and a good week.

In the last few weeks, I've taught two workshops for a client:

Introduction to Use Case Diagrams (2.5 hours, ~90 slides)

and,

Requirements Analysis with Use Cases (3 hours, ~90 slides)

I first taught Use Case techniques in 1996-1997 while a management consultant with the Systems Integration Practice of AT&T Solutions. These recent training classes offered a good opportunity to update my approach to the material and integrate some of the practical experience I've gained over the last 10 years.

Lots of good feedback from the students.

These were very short, intense, and practical hands-on workshops with several exercises for the paricipants to work through. However, these two classes could easily be combined and expanded into a full week class - which would provide participants with a much better opportunity to absorb the material.

I really enjoy opportunities to teach.

As I worked to prepare some of the sample solutions for the workshops - I was a bit constrained by the client's desire (and budget limitations) - to adopt Visio as the organization's UML modeling tool.

Eventually (after quite a bit of pain working within the limitations of Visio), I came to the conclusion that the organization really needs to consider a tool truly designed and suited to the task of creating UML design artifacts.

My recommendation: Enterprise Architect - which offers very resonable pricing for single user licenses (~199.00 USD) - and even better volume discounts. I'm using the latest release (6.5) - and have been very pleased with the value it offers.

Tonight I worked on preparing an old HP Pavilion N5450 laptop (850mhz Pentium III cpu, 20GB hard-drive) - and installed Redhat's Fedora Core 5 on it. I stopped by CompUSA and picked-up a pack of DVD-R - and burned an ISO image - and used the Fedora Core Rescue CD ISO image to boot the laptop. The next step was to swap out the CD with the DVD containing the full Fedora Core 5 ISO image. The installation was painless and quite simple.

On my next trip to CompUSA I need to purchase a secondary simple network hub to take with me on the road, so I can network the Linux laptop with my primary development laptop (HP Pavilion zv6000, running XP). This will allow me to test some Enterprise Architecture technologies in a true heterogenous environment.

I've made some very good progress working late nights this week continuing the design of the ITV CORE framework, and the ITV CODE GENERATOR and ITV UTILS products. But those three projects are still in stealth mode - so that's all I'll say for now.

I also created a simple backup script to simplify the weekly backup of my laptop to my AcomData 120GB external hard-drive. You can now buy a 320GB version:



2006-07-08

Saturday - July 8, 2006

I have worked with integrating e-commerce web sites with several credit card payment processing services over the years (CyberCash was one of the earliest back in 1998-1999, and later CyberSource in 1999-2001), as well as Verisign's PayFlow Pro (2001).

More recently (2005), I integrated Paypal's payment processing service into a digital e-commerce web store application.

My earliest professional programming work involved developing a gateway processing service to interface regional bank ATM networks with national ATM networks and Visa's credit card processing servers.

Today I came across a useful article that summarizes some of the current options to consider for web site credit processing integration:

Solve the Payment Processing Problem

Side-by-side Comparison


There are numerous challenges and risks associated with processing credit card transactions - and the level of attention-to-detail needed regarding security is not trivial.

WordCount

Copyright

© 2001-2026 International Technology Ventures, Inc., All Rights Reserved.