Thursday, September 9, 2010

The Importance of Web Standards

Web standards are guidelines adopted from industry best practices. Industry leaders such as Microsoft, Apple, and Google have all contributed to the flourishing of web standards. However, these companies don't always adhere to standardization. Notably, Microsoft has in the past deviated from web standardization and promoted their own web agenda. But now, the importance of web standards has been realized by the entire web community including the industry leaders.

All browsers are different. The DOM, element renderings, and other characteristics of browser are constantly being updated for performance, compatibility, and other factors that constitute an upgrade.   Web standards enforce consistent behavior amongst browsers. HTML/CSS, DOM, and some BOM aspects are all characteristics of browsers that web standards seek to make commonplace.

What's to be gained by web standards dictating the rendering of markup, the selection of elements, or bubbling of events? Answer, unified behavior amongst browsers and, by the same token clarity, for developers. What's the difficulty? You,  developer, will have to forfeit your stance on a matter if it's contrary to the standard. Although their multiple ways of completing a task only the standard way is correct.

Thursday, September 2, 2010

3-Tier Information Architectures

Wikipedia defines an information architecture as, "the art of expressing a model or concept of information used in activities that require explicit details of complex systems. Among these activities are library systems, Content Management Systems, web development, user interactions, database development, programming, technical writing, enterprise architecture, and critical system software design." The idea is to blueprint a software system and manage the realization of that system ensuring that the conception translates into a solution. By this definition Software Engineers and Information Architects are interchangeable.

Web application solutions typically consist of three-tiers; web, middle, and database. The web-tier houses UI components such as images, web copy, and forms. JSPs, ASPs, and PHPs all ask browsers to render these components using HTML/CSS, JavaScript, and other client-side technologies. Specialty UI components called Widgets encapsulate their state, rendering, and remoting. However, UI components, especially widgets, have bottlenecks that information architects must circumvent. The web-tier blueprint page must determine what information needs to remoted and how many UI components need to be one a page at one time.

If you ever need processing power the middle tier is where it's at. An information architect will certainly place the solution's highest demands here. Authentication, authorization, business logic, Entity classes, web services, and other functionality should be organized and packaged here. Should, writ large because information architecture may overlook the importance of file management. Placing entities in web service packages or lumping functionality into classes haphazardly introduces an overhead that the information architecture may easily avoid with proper project organization practices.

Information architects need to store all sorts of data and see to most efficient processing of that data. Databases and other file systems persistently store information common in web experiences such as images, videos, and form data. For example, your Facebook profile information, picture, social links, and so on are persisted until you edit or remove your account. If this information was removed without your consent, you and other users may discontinue application usage resulting in fewer hits and perhaps negative publicity. The information architect may prevent this during planning by using data warehousing practices and backing up member profiles. Having the data properly warehousing helps in the overall performance of the application and backup plans ensure that corrupted or missing data is mitigated. Kudos to information architect that can discriminate information, allowing for optimal application execution and minimum space allocation while maintaining best practices.

In summation, information architects understand bottlenecks throughout the three-tiers and have the discipline to either avoid or reduce the burden.  If the file management of a project is awkward to begin with, the added overhead of another team member re-factoring blueprints may cause the project to be run over time and cost constraints.

Wednesday, August 25, 2010

MIST 7540 - The Art of Web Writing

Art forms grant their respected artists the utmost craftsmanship, thought, and expression. Miles Davis pleasantly surprises his audience with his impromptu play of horn and acoustics. Pablo Picasso captures emotion content with his unique use of shapes, lines, and color.. These people are well-known artists, do web writers have a place amongst them?

Assuming that web writing is an art form, how do we determine if a web copy is a work art? In "Interact with Web Standards" Erin Anderson gives us rules for creating web copy.

Web copy should not be:
  • "Overwritten..."
  • "Lazy about spelling and grammar."
  • "Scattered"
  • "Hard to act upon"
  • "Full of marketing jargon and unnecessarily complicated terminology"
  • "All about the company and not enough about the user."
Following the rules does not make our web copy a work of art alone. As earlier mentioned, the utmost craftsmanship (User experience, information architecture, ...), thought ( creativity, propositions, narrative, ...), and ability to invoke emotion ( enthusiasm, motivation, discouragement, ...) are necessary in discriminating poor or ordinary work from works of art. Erin Anderson gives us guidelines for writing good web copy:

  • "Love the inverted pyramid" (Start with the conclusion and end with details)
  • "Believe less is (almost always) more"
  • "Avoid sounding like an infomercial"
  • "Make your copy easy to scan"
  • "Write killer headings"
  • "Lead with active words"
  • "Use simple sentences"
  • "Keep your promises"
  • "Set up a review process"
  • And finally, "Steal from good websites (sort of)"


These guidelines are resilient and tackle problems web writers face daily such as search engine optimization, canvas limitations, and adopting a site taxonomy. However, they don't encompass the complete range of client and customer demands, which may require one to query the art form's fundamental principles in order to design web copy anew. 

Because rules and guidelines dictated by art forms are trivial, they give artists enough space for individual expression: one must use paint to create a painting, an instrument to create music, and web artifacts to create web copy. The ways one may use tools to create art are infinite. In order for artist not to get carried with freedom they typically hone their own rules and guidelines. This means ample practice and experimenting with craftsmanship, thought, and expression. Erin writes, "...web writers need a sense of adventure..." This sense of knowing what's outside the box and pursuing that knowledge is an everlasting feat shared by artists.

Monday, April 19, 2010

Remote Facades give Directions the Old-Fashioned Way

What do software engineers and architects have in common? In terms of there independent disciplines, the commonality is dictated by their desire to build things.  Beautiful things, shiny things, delicate things, all-in-all lively things.

Christopher Alexander talks about structures having life and gives us an apparatus for measuring the quality of this life. And on the other hand, he warns us about anti-patterns such as concrete repetition and maladaptive posturing that fundamentally reduces the quality of life. Life, does this concept apply to software systems? If so, may Christopher Alexander's apparatus be employed to determine the system's quality?

If anti-patterns reduce the quality of life then patterns must enhance or facilitate it. This concept of patterns is similar to Platonic forms - abstract and persistent in nature.  In software engineering, singletons, mvcs, remote facades, and proxies are prevalent and in themselves enforce a disciplined systemic behavior.



The figure above illustrates a Remote Facade design pattern. We can see the pattern's actors and behaviors but we cannot see it's quality. However, we might employ Alexander's apparatus in determining the quality of this system by reflecting on it's emotional or personal content. The brilliant mobile device consults a terminal for directions. The terminal consults a map, prepares information, and then relays this information to the mobile device.  This pattern is pretty personal - one asks for directions instead of directly consulting a map. The former communication flow implies articulation, buffering, and a preparedness of information rather than the latter, which offers a raw document of information.

We merely touched on Alexander's personalization of architectural/software architectural ideas. The quality of life being a personal reflection on it's relation to the world. However, software engineers have developed more practical paradigms of quality with testing, benchmarks, and merit analysis. The difference between the categories and Alexander's rubric is that the latter is personal and implies a subjectivity and surreality that people are perhaps oblivious of or indifferent to.

Wednesday, November 11, 2009

Data Compression: Is it net neutral?

When debating Net Neutrality regulation, both opponents and proponents of net neutrality advocate innovation. Proponents claim that net neutrality drives innovation by allowing government regulate the cost of, essentially, the internet. Whilst opponents believe that net neutrality hinders innovation because it doesn't give incentives for best practices. I want to discuss one best practice, data compression.

Data compression is first and for most, a fascinating field in Electrical/Computer Engineering. MP3, AVI, ACC, WMA, ZIP, JAR, and may more use data compression for a wide range of uses. Some of these compression techniques have to be perfect (lossless) others yield lesser quality (lossy). A java application (JAR) has to be perfect for obvious reasons and an audio file (mp3) may suffer in quality for the upshot of storing an abundance of them on my mp3 player. Rock on.

In putting a meter on data - the incentive is to use less data and convey the same meaning to your audience. Telcoms charging extra for those sending more data across the wire would suggest companies to invest in data compression. We are approaching the limits of bandwidth but are we approaching the limit of these compression techniques? This data compression wikipedia articles list several data compression techniques ( HTTP compression, Video compression, etc..). Feel free to research more and comment on this blog.

Wednesday, October 28, 2009

Video on the Web: Written by Tony B. and Ali W.

Producing and distributing video on the Web

With the spread of fast Internet broadband connection, video clips have become very popular online. And it’s getting to the point where those businesses that don’t have it on their web site are lacking a critical element to attract and retain visitors. According to comScore -- Americans watched 14.5 billion videos online in March. The First thing you need to consider is the goal or purpose of creating the Video; secondly, you need have a target audience. The next stage is the production and distribution. You basically need a video camera, microphone and a computer.
The Distribution stage is the most interesting; you need to decide how you will distribute the video. There are two options; one is to host it yourself through a server, where the file will be pulled whenever a user clicks on the video. The other option is to use the services of a hosting company like Youtube, Metacafe or Dailymotion.

Advantages of Using Web portals like YouTube.

*
It does not require skills to use the service; anyone can upload and distribute video.
*
You save on bandwidth cost; the hosting company will pay for it.
*
The biggest advantage to distributing video to Web portals like YouTube is their popularity with video viewers.

YouTube delivered nearly 5.6 billion streams to nearly 85 million unique visitors in November and Hulu,
served up about 221 million streams to about 7.5 million unique visitors last month

Best Formats for Uploading

YouTube accepts almost any video format for upload like .AVI, .WMV, .MOV, .MKV, MPEG, .MP4, or DivX, but recommends the following settings to give the best results.

§ Video Format: H.264, MPEG-2 or MPEG-4 preferred

§ Aspect Ratio: Native aspect ratio without letterboxing (examples: 4:3, 16:9)

§ Resolution: 640x360 (16:9) or 480x360 (4:3) recommended

§ Audio Format: MP3 or AAC preferred


Content ratings and time constraints

Web sites that display explicit content must seek the approval of their users. This has negative impacts on usability. One, users will have to enter their date of birth and usually check a checkbox-acknowledging a waiver. Two, content allegedly explicit will be under scrutiny. For example, YouTube doesn't allow users to post and keep content on their web application if users, then Youtube, find the content offensive. With Youtube, users have the ability to flag "offensive" content. Then, YouTube reviews these submissions and makes judgements on whether the claims constitute an offense and if the content reflects the users claims. Just as YouTube has the ability to remove content and block users, effectively terminating usability for removed or blacklisted users, other web applications may do the same.

Web videos have a variety of lengths. Webisodes such as "Quarterlife" are about 15 minutes each while news videoes are about 5 minutes each. How long should your content be? Here, I'll apply the principle that "less is more." If you have a video that is an hour long, edit it into four 15 minutes webisodes. Piecemealing your videos indexes your content for users who may want to get away from the computer and eat dinner or go bike riding. Hulu.com takes a different approach focusing on episodes and movie clips streamed through the web with the highest video quality. However, videos from Hulu.com have commercials and Hulu.com will soon require a subscription fee. Youtube, Google video, CNN.com and other video aggragates don't require a subscription fee but their is either of poor quality or not labeled as entertainment.

Search Engine Optimization for video on the Web

The same SEO principles for web pages apply here: meta tags, linking, and optimized HTML. RDF, as discussed by So, the SEO ranking of a video is on a web page is approximately the the web page ranking. Why isn't the search ranking of the video equal to the search ranking of the web page? Well, Video File Nomenclature adds search engine visibility to rich media. The name of the rich media file makes a difference. Proper nouns like "Britney Spears" and "Anthony Brothers" will optimize search engine rankings. Make the file name as long as possible and include any information that one may search for - "BritneySpearsToxicAlbumCoverBaldCrazyMickeyMouseClubOopsWomanizer.gif".

Thursday, October 15, 2009

Web Analytics: Midterm essay

Here is my midterm exam. I focus more on website attractiveness than applying web analytics to my blog. I hope you all enjoy.

Your blogger,
Tony