Skip to main content

more site design popcorn...

It has been a long time since I sat down and designed the UI for a consumer facing web site. The last few years I'd been working on the UI elements for the management interfaces of the distributed framework that powers the consumer collaboration site. Now that I am head deep in the task of writing feature lists, designing comparison tables and writing description pages for the various pages that are important for a consumer site I remember just how boring it can be! Tons of boring pop corn, tons of basic html but much of it repetive save for a few minor changes which must be done manually (especially when doing comparision tables) argh!

Good to know that I am almost done, but I was able to make several choices in the design of the site that might be instructive to those working on or soon to be working on a similar project. First, a short description of the page and then I'll go over the choices I made to expedite facile management of the content later as the need arises. The site presents the simple options of starting a new account with the service, participating as a guest to the service without starting an account, logging in to the service with an existing account , selecting a preferred language to read the site in and asking a live agent about the service when such an agent is available to converse. Additionally the site presents a standard list of links that specify the options for learning about the services being offered, my list is as so: "home,features,for business,compare,serviceplans,tos,privacy,about us" Pretty basic. A banner section at the top of the page displays the logo and slogan. The content is displayed below the banner for the selected clicked on link to proceed?

I decided straight away to cut up the page into sections that render dynamic content and static content. The main page is a dynamic jsp template that calls in dynamic templates for the links list, the side bar that displays the new account, existing account login and guest service options and one variable call (for some pages static resource others dynamic) to the content corresponding to the displayed link and the banner logo. The reason these are static/dynamic calls to separate files has to do with two things, first is the language options, I want every native speaker to think the entire site was originally written in their language so I am translating even the images to the selected language option. The content of the selected page will of course be translated as well...the best way is to simply pass a parameter to the url for the selected language and dynamically call the static content that is associated with that language. The second reason is that some of the pages "serviceplans" vary their display depending on if a user is logged in, in this case showing a short summary of the logged in Users plan and account status as well as indicating their current plan and providing links to change their plan option.

The dynamic calls are very similar to the static ones in terms of having copies for each language but they have dynamic processing that must be done to determine if a user is logged in or if the viewer is simply a visitor. There is also logic to determine if a live agent is available to help with questions a visitor may have in real time chat, finally there is logic to allow a real time count of the number of participants in the service at the time the visitor is viewing the page. Though it took a bit longer to set up this structure, it will now be trivial for me to a) add new languages to the site and b) change in particular language content for each link page independently. It is a perfect example of how taking the time to properly design something leads to more efficiency in the long term. Now that I am getting out of the Briar patch of html popcorn I am starting to see the usefulness of the modular design, for example, I needed to provide the links on a new Users management interface after they've logged in, since the links were generated in a dynamic resource varied by language, I simply included it in the management interface pages and provided the Users language parameter to render the correct template and voila. No need to duplicate any code. Object orientation rules the day. I hope to start the logic to enable service plan options after receiving confirmation from the payment processor by mid week...getting to the end of the road, slowly but surely, just have a bit more popcorn to munch before I get there!


Popular posts from this blog

On the idea of "world wide mush" resulting from "open" development models

A recent article posted in the Wall Street Journal posits that the collectivization of various types of goods or services created by the internet is long term a damaging trend for human societies.

I think that the author misses truths that have been in place that show that collectivization is not a process that started with the internet but has been with us since we started inventing things.

It seems that Mr. Lanier is not properly defining the contexts under which different problems can benefit or suffer from collectivization. He speaks in general terms of the loss of the potential for creators to extract profit from their work but misses that this is and was true of human civilization since we first picked up a rock to use as a crude hammer. New things make old things obsolete and people MUST adapt to what is displaced (be it a former human performance of that task or use of an older product) so as to main…

Highly targeted Cpg vaccine immunotherapy for a range of cancer


This will surely go down as a seminal advance in cancer therapy. It reads like magic:

So this new approach looks for the specific proteins that are associated with a given tumors resistance to attack by the body's T cells, it then adjusts those T cells to be hyper sensitive to the specific oncogenic proteins targeted. These cells become essentially The Terminator​ T cells in the specific tumor AND have the multiplied effect of traveling along the immune pathway of spreading that the cancer many have metastasized. This is huge squared because it means you can essentially use targeting one tumor to identify and eliminate distal tumors that you many not even realize exist.

This allows the therapy for treating cancer to, for the first time; end the "wack a mole" problem that has frustrated traditional shot gun methods of treatment involving radiation and chemotherapy ...which by their nature unfortunately damage parts of the body that are not cancer laden but …

First *extra Galactic* planetary scale bodies observed

This headline

So every so often I see a story that has me sitting at the keyboard for a few seconds...actually trying to make sure the story is not some kind of satire site because the headline reads immediately a nonsense.
This headline did just that.
So I proceeded to frantically click through and it appears it was a valid news item from a valid news source and my jaw hit the floor.
Many of you know that we've been finding new planets outside of our solar system for about 25 years now.
In fact the Kepler satellite and other ground observatories have been accelerating their rate of extra-solar planet discoveries in the last few years but those planets are all within our galaxy the Milky Way.
The three major methods used to detect the bulk of planets thus far are wobble detection, radial transit and this method micro lensing which relies on a gravitational effect that was predicted by Einstein in his general theory of relativity exactly 103 years ago.