Journal Entry 1
Considering that most web sites are designed following an initial set of customer requirements, I am using the requirements in the assignment itself as a starting point. After reviewing the assignment I spent some time sketching out an initial design; I scanned the initial design sketch, and included the image on the home page. I tried to keep the design simple, considering the requirements themselves were very high level.
I have been involved in a variety of software projects using this prescribed methodology. In many cases, the challenges that analysts face are innumerable. They start by correctly interpreting the needs of the business stakeholders, who at times can struggle explaining their needs and desires as they relate to the initial design. An alternate more Agile methodology that I have used in the past involves presenting the user with a software simulation or wireframe that encapsulates the design. This process involves iterating through a set of requirements from a priority perspective while allowing for change following the iteration itself. The idea is that by incrementally building software based on prioritized features, the software your building is more valuable to the stakeholders sooner.
Journal Entry 2
To avoid a "bad" web design I am concentrating on using a design that incorproates simple styles, and navigation. I plan on keeping the fonts and colors in complementary palettes, which should allow the site to remain consistent from a typological perspective.
I am also going to review a variety of other sites I feel follow "good" design, and those that offer advice concerning design techniques. This allows me to stay current with existing trends, while learning along the way.
Journal Entry 3
I plan on incorporating embeded video in the site, most likely using a YouTube Video. The benefit of using YouTube is that they provide the infrastructure and associated technology for making this a simple and cost effective method.
I generally do not use sound on sites, although I could see including a short jingle when user first login. I would incorporate the sound clip on the home page, however I would also pay attention to the lenghth of the clip itself.
In the past I might incorporate animated gif's, but it seems these have fallen out of favor over time. I do like the idea of using css to place images strategically on the site, or implement silverlight or Flash were appropriate.
Journal Entry 4
Being able to manage client side events is essential to making web pages friendly and puposeful. Clientside scripts like Javascript, allow you to either embed or link scripts that do not require a round trip to the server. This in turn allows functionality to stay resident on the web page itself, and tremendously reduces the time it takes for the page to be loaded and presented back to the user
Server side scripts on the other hand such as PHP require that a request be made to the server, and the server does all the work. In this Request/Response scenario, the script is hidden and pages are rendered according to the nature of the script being executed.
Client and Server side scripts perform essential tasks; used in conjuction with one another web developers have a tremendous amount of flexibility when performing repetitive tasks.
I have included some Javascript on the homepage that I wrote. The script assembles a variety of built in Javascript date methods and saves them as variables. The variables are then used is deplaying the Date, and Day. The day is derived by using the getDay() method, and them passed as an array value to display the appropriate day.
Journal Entry 5
Selectors allow you to define an elements style. It is up to the programmer as to the method they want to use when defining specific styles. CSS provides for class and ID styles that give you pinpoint accuracy when you are trying to define a style for one of many similar elements.
There may be times when page wide styles are sufficient or, in some case you may want to define a style for just a banner. Each of these cases require some though on the type of selector to use.
CSS also provides for cascading styles in relation to the document hierarchy either by inheritance or by pseudo-classes. Links are a good example of how and when to use pseudo-classes. Pseudo classes allow you to define different states of an object.
Journal Entry 6
On my class site I use a variety of positioning elements. I wanted a fixed footer that would never move, but would allow text to be scrolled. I also wanted to use a fixed left side bar as a navigation block. I recently added a new ticker which displays dynamic content. I used similar names when setting up the positioned elements such as "leftsidebar" and "footer".
On both the assignments and journal pages I included a right side bar which displays links that are book marked to certain entries on the page. Certainly the advantages are obvious, starting with pinpoint placement of image objects and graphical blocks
Journal Entry 7
There are several ways of defining a web page for printing. The method I used was including a different style sheet for the page being printed. Other ways work in a similar manner. Formatting text on the web page is probably the most important consideration when styling a page for print. I cant tell you the number of time I have tried printing a web page to have the entire left hand side of the page not print.
Other considerations should include font color, banners, footers etc. These all require space and for me toner ink. I like printing pages that give me content that I can read.
For my site I would have probably spaced out some portions closer together, and used a more readable font. I selected to keep the site rather image free. The benefits are simple and fast page loads, and of course simple printing, page by page.
Journal Entry 8
Unlike server-side technologies such as PHP and ASP, JavaScript runs on the client making it very fast and reasonably simple. There are many scripts available on the web today that offer a multitude of feature we have come to expect on web sites such as navigational mouse-overs, pop-ups or displaying a date. One disadvantage is that interpreters across browsers may have an impact of the way JavaScript performs.
Like many other programming languages JavaScript allows you as a developer to create variables, methods, functions and of course objects. There are many different kinds of variables, probably two of the most common are strings and integers. Functions and methods allow you to either encapsulate specific functionality or produce a result like adding 2 numbers together. Objects are more complex, they can both describe something in addition to taking specific actions regarding how an object may change.
.Journal Entry 9
RSS ("Real Simple Syndication") feeds are a way for websites to distribute their content to subscribers. Typically feeds are formated in XML, and aggregated into feed sources. Feeds also make it possible for site content to be packaged into "widgets," "gadgets" and mobile devices. There are a variety of ways to subscribe and read RSS feeds, I use Microsoft Outlook for a few of mine, and I also look over feedburner for others.
Services such as feedburner allow you to create a feed for your websites content. Although RSS feeds are very popular, ATOM feeds are also used quite widely.Both formats have their boosters, and it doesn't appear that consolidation toward a single standard is imminent. However, most feed subscribers simply want fresh content and don't care at all about the underlying protocol.
Most mainstream news and information sites publish RSS feeds, and more are being added every day. Part of the popularity of weblogs, or blogs, is that the software that creates them have RSS capability, which allows friends and other people to subscribe and share content. I do not intend on having an RSS feed on my final project site however, I do maintain a blog that does provide for an RSS feed.
Journal Entry 10
The 3 server side scripting languages I have used are ASP, PHP and Java. ASP uses server-side scripting to dynamically produce web pages that are not affected by the type of browser the web site visitor is using. ASP.Net has since superseded classic ASP. Advantages: Great Tools! ASP has been around for a long time so it has a tremendous support base. Code behind forms can either be VB or C#. Disadvantages: Although .Net is feature rich, your cornered into using MS technologies.
PHP stands for Hypertext Preprocessor and is a server-side language. This means that when a visitor opens the page, the server processes the PHP commands and then sends the results to the visitor's browser, just as with ASP. However, PHP is Open Source and cross-platform. Advantages: Free and Open Source. PHP and MySql are a powerful combination. Disadvantage: The language and syntax may be hard to learn, and at times it may seem like you can program the same thing 100 different ways.
Java Server Pages (.jsp) are loaded in the server and operated from a structured special installed Java server packet called a Java EE Web Application. JSP syntax is a fluid mix of two basic content forms: scriptlet elements and markup.Advantages: Industrial strength web pages. Disadvantages: Learning Java.
Open-Source software like PHP, is community supported and freely distributable. To qualify as Open-Source anyone must be allowed to modify the source code, modified versions can be redistributed and the license must not require the exclusion of other software or interfere with the operation of other software.
Of the 3 Server side technologies I would prefer to use PHP. Considering that PHP is Open Source there are no costs associated with the use of the programming language, as well as many of the tools developed to work with PHP. Other Open Source technologies such as MySQL work well with PHP, and again are free and widely used. Lastly, PHP is a powerful language and very well documented and supported by the community.
Journal Entry 11
Like many fledgling technologies you have to start somewhere when developing a standard, the web was no different. Standard Generalized Markup Language (SGML) can be consider the initial web standard to structuring data and content for the web. HTML is actually a subset of SGML allowing for a common class of simple office style reports, with headings, paragraphs, lists, illustrations, etc., and some provision for hypertext and multimedia.
Since the popularity of SGML was fading (less browser support), and given the fact that documents and data required structure, XML was created. XML (Extensible Markup Language) was developed by the XML working group (known as the SGML Editorial Review Board) formed under the auspices of the World Wide Web Consortium (W3C) in 1996.
Dynamic HTML, or DHTML, is an umbrella term for a collection of technologies used together to create interactive and animated web sites by using a combination of a static markup language (such as HTML), a client-side scripting language (such as JavaScript), a presentation definition language (such as CSS), and the Document Object Model.
Journal Entry 12
Dreamweaver is one of the many products Adobe makes available to web developers either as a standalone product or as part of one of their software suites. Dreamweaver is laden with the tools web developers need at their fingertips while developing websites. It provides for all the basic necessities including the ability to design in code, or visually. Dreamweaver's biggest benefit is that it works seamlessly with other Adobe products such as Fireworks, BrowserLab and Flash. Of course the downside is cost, which can run into the 1000's of dollars depending on the products and or suite of products you choose. The upside for students is that Adobe does offer "student pricing" which I took advantage of when purchasing Fireworks.
from the original manufacturer. Since then FrontPage has grown tremendously. Like Dreamweaver, FrontPage allows developers to either produce site in code or visually, but I would say it's strengths from a design perspective is its simplicity of designing site visually. FrontPage does make connecting to a database very easy, and works well with other MS products. The cost associated with FrontPage is very reasonable, and for the average person easy to learn.
Well, I was going to focus my next analysis on Adobe's GoLive product, but it appears Adobe is abandoning GoLive in favor of focusing on Dreamweaver (another one bites the dust).
NetObjects Fusion 11 is a web development tool that says it is "The complete do-it-yourself website design software." The products UI looks rather impressive, and according to their website the application appears to provide for all the bells and whistles web developers have grown to expect such as; database connectivity, flash template libraries, web templates, wizards, photo galleries and of course CSS controls. The cost appears to be very reasonable at $199.00.
Although the cost is high, but given that I could get a student discount I would probably select Dreamweaver; primarily because it has become the standard across the development community and I like Adobe's products.
Journal Entry 13
Meta tags help allow Internet search engines display web pages more appropriately. Because the abuse of incorrectly describing a web page through meta tags, many search engines are no longer utilizing meta tags. Below is an example of some commonly used meta tags and their description. These lines of code would be placed between the head tags
- meta http-equiv="Computer Hope" content="no-cache" : Used to tell the browser being used to not cache the page. This allows for the most latest information to be used on the browser. It is only recommended that this tag be used on a page that is frequently updated as it will be a slow download each time it is visited.
- meta name="audience" content="all" : Used to for parental control to let software and robots know that all ages of viewers can visit the page.
- meta name="author" content="www.computerhope.com" :Description of the author of the page.
- meta name="Content-Language" content="english" : Language the page is written in, in this case English.
- meta name="description" content="Helping you with ALL your computer questions" : Description of the page for search engines to display. It is highly recommended that all pages contain this.
- meta name="GENERATOR" content="Microsoft FrontPage 4.0" : Type of software used to generate the web page.
- meta name="keywords" content="computer, technical, free, help, support" : Keywords used by a search engine to locate your web page, when a user is searching the Internet. Again, it is highly recommended that all pages contain this.
- meta name="page-topic" content="Free Computer help" : Topic of the page, used by some search engines. Not all pages need this.
- meta name="page-type" content="Technical Support" : Type of page, used by some search engines. Not all pages need this.
- meta name="ProgId" content="FrontPage.Editor.Document" : Type of program used to edit the file. Similar to the generator.
Journal Entry 14
Web accessibility means that people with disabilities can use the Web. More specifically, Web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the Web, and that they can contribute to the Web. Web accessibility also benefits others, including older people with changing abilities due to aging.
- Select two or three important or frequently viewed pages from your site such as your homepage, product page, or goals and objectives.
- Check to make sure that all the graphics you're using have pertinent text descriptions (ALT Tags) that explain the image. If not, that's strike one.
- Check to see if you can select all the items on the page without the mouse. People who cannot use a mouse will use the keyboard to navigate the site.
- If you have a video, or have linked to one, or any multimedia file, there must be a captioned or spoken version available that either describes or narrates the presentation.
- Also check to see if your fonts are easily readable and that the colors don't blend with the background, and more so, if they can be increased in size. Most browsers increase fonts very simply by using the control + buttons.
Journal Entry 15
In a world where web sites are the calling cards of most companies, localizing web content for your international audience is the key. Part of localization involves translating your website into the language of your target market.
People want to feel like you understand them. Using terms that they can’t relate to makes them feel alienated. A good international website will not only speak the language of the target audience, but use analogies that the customer is familiar with.
Journal Entry 16
A privacy policy is one of the most important documents on any website. It details your company's views and procedures on the information collected from visitors.
Although a privacy policy is technically a legal document, great effort should be made to craft a document that is both accurate and easy to understand, obscuring hidden clauses in reams of text is not acceptable.
The main sections are as follows:
Introduction: This section can tell your visitor a little about your organization, and any special information or functions that your website has. If your website has special conditions for collecting information from children (under 16 etc), you should state them clearly in this section.
Information Collected: Visitors have a right to know what information you are collecting. It may be obvious that you are collecting personal details by asking them to complete a form, but you should make it clear. You should also include information logged by your servers, such as hostnames and IP addresses.
Method of Collection: This details the methods you use to collect the information. Is it all automated? Do the forms visitors fill in collect other information, such as the original referrer? All of these questions will help you build a detailed description of how you collect information.
Storage of Information: How is the information stored? If you store information in a database and are located in the UK you may need to register with the government regarding the data protection act. If your servers are in the EU you will need to ask permission to transmit data outside the union, even if it stays within your company. Visitors have a right to know that you will make every effort to store their personal information in a safe and secure environment.
Contact details: Its important to be as transparent as possible, and allow users to contact you if they have a query. You should feature both an email address (or online form), as well as a real world address where a user can write to.