SwansonSoftware.com is not a business, it is my personal Web site. I do consulting occasionally, and when I do my name appears on the contract, not SwansonSoftware. You will find no advertisements on this site, it is not a source of income.
SwansonSoftware.com is part learning exercise, part portfolio, and part repository of information about software construction.
Why two navigation schemes - with and without frames?
There are several reasons. First, if you want to link to a page or create a bookmark to it, you won't be able to when viewing this site with frames because the address bar does not update - you can't see the full url for a page. You can select 'No Frames', however, so the address bar updates with the full url to the page.
Another reason to support a 'no frames' mode is that some users don't like frames, they take a long time to load especially with old systems, or they have a browser that does not support frames. Some browsers, e.g. Opera, have settings that allow a user to disable frames.
Finally, it takes javascript to make the navigational elements work across frames, and users can disable javascript or javascript may not be supported by their browser - like the browsers built into some of the newer cell phones.
So why use frames at all given these problems? Frames allow the author to keep navigational cues and content in place while the user scrolls through a page. Keeping menu choices on the screen at all times makes navigation easier and faster, and the browser doesn't have to rebuild the same menu for each page visit.
Even though default browser settings allow page caching, the first visit to each page requires a download and construction by the browser. Given that most users don't come back to a site before their cache has expired, they benefit less from caching than from the navigational improvements provided by frames.
For these reasons I have provided both navigation schemes for SwansonSoftware.com. To a great extent the site detects whether or not frames and javascript are available, and provides the correct navigation scheme.
Design and development of SwansonSoftware.com: