|
This week the Macromedia DevNet
includes a major project: the Pet
Market blueprint application. It's a fully-documented
small-scale commerce system that can be used as a
blueprint for your own applications.
Will it be a blueprint for all web applications?
No, but that's what I'd like to ask you in this
week's discussion thread: How usable is this blueprint
application for you? How can you see to improve it?
How much is it worth to create additional blueprints?
You can use this blueprint application in various
ways:
- Use it as a learning tool, to check the basic
frameworks and best practices in such an application;
- Use it as a proof-of-concept for client discussions,
to show the advantages of a smart client over older
HTML-based web applications;
- Use it as a boilerplate framework, just plugging
in your own content;
- Use parts of the blueprint for particular chores
in your own applications.
There are other things this blueprint application
does not even attempt:
- It is not a general-purpose commerce system...
the interface is set up for a finite number of categories,
so it's not aimed at large catalogs;
- It is not necessarily the most optimized application...
the animation of bitmap scaling and opacity is an
expensive design choice, for instance, and the external
text requires loading at startup;
- Although it attempts to show "best practices"
in such a work, these principles are generally only
discovered over time by many people, and so this
example not the final definitive guide of the best
way to always do things.
This blueprint application is a little different
from the other documentation Macromedia produces,
because it is focused on a single task, rather than
a single application. Instead of describing how a
piece of software works it describes a way to make
a particular type of project. There's a great chance
this won't be exactly the type of task you need to
accomplish for a particular job, but we're hoping
the principles are general enough so that you can
get value out of it regardless.
(Where does the term "blueprint application" come
from? I'm not sure. In the software world there are
references to early project-planning tools, but I
suspect it was used in the real world as a planning
principle much earlier. These days the best-known
blueprint application is likely the Java
Pet Store from Sun, one of the many BluePrint
Applications they offer. Microsoft sponsored a
Microsoft
.NET Pet Shop, which seemed optimized for performance
rather than customization or learning. For a long
debate about what a blueprint should do, see this
discussion
at ServerSide.)
If you use this as a proof-of-concept in client discussions,
here are some things that might be useful for them
to recognize:
- The initial display takes a little longer to
load than an HTML display would, mostly because
the text is kept external to the presentation for
easy updating and localization. The size of the
display is fixed at 800 x 1000 pixels here, but
your own work can be of varied sizes.
- The load on the server can be significantly reduced
when the visitor's machine does the processing.
In a typical HTML web application the server gets
hit whenever the visitor makes a choice it
must create a new page, and download the presentation
layer and interactivity again. In this application
only the data is sent when a category is changed.
This approach scales up to large numbers of users
better than an HTML display would.
- The visual elements are separate from the logic
which drives the application. A graphic designer
can change the appearance without requiring recoding
by a programmer. The client can change the text
of the application with a simple text editor.
- You can invest programming time to speed performance
time. This example uses long descriptive coding
names, opacity animations, general components rather
than specific hand-coding, external loading and
specific initialization routines... the balance
between development time and playback time in this
example doesn't need to match the performance you
reach in your own implementation.
- You'll likely see a higher percentage of completed
sales. I don't have numbers to back this up, but
many page-based commerce sites lose visitors before
checkout, particularly when they have to wait for
multi-page forms to download. This application functions
more like a normal desktop application which remembers
what you just did.
So... How close did we come to what you need here?
Is this something you can use, something which rewards
your time in reading and study? If not, why not? What
types of optimizations would you consider for this
in your own work? What is it worth to you to see similar
big documentation projects in the future?
We're working on a dedicated forum for Rich Internet
Applications, but I'm not sure if it will be done
by the time this column goes live. Please drop a note
in this
week's "Soapbox" thread and I'll appreciate it,
thanks!
|