23 Nov

Web Quality Standards

Not all guidelines are meant to be restrictive. Quality standards, the guidelines for web development, are meant to establish a semblance of uniformity in all web services delivered.

Issued by W3C, Quality Standards stipulate the various parameters any web development service/product must match up to, to be considered up-to-the-mark The Internet today is a beehive of all sorts of web services. Some are good, some are top-of-the-line, and some are a waste of time.

Quality standards aim to eliminate this discrepancy by promoting researched standards so that all web products and services are user-friendly and make good sense to invest in.

The need for standards

Web designers and developers are humans, which means their work reflects their viewpoints to varying extents. These viewpoints can be broadly classified under:

  • Scripting of Websites

Using XHTML standards

XHTML is an extension of HTML that is cleaner and leaner. It allows websites to be viewed on various devices (mobile phones etc.) which was not easy with HTML.

Using Cascading Style Sheets (CSS) standards

Websites have varying degrees of complexity in their underlying codes. With HTML <font> tag, re-writing or changing the content of the website becomes tedious as it involves extensive re-configuration of the existing code.

To overcome this, W3C Quality Standards stipulate the use of CSS standards. It is a potent way of separating the style of a webpage from its content. In doing so, it enables very easy re- configuration of the page’s content.

Using CSS greatly improves the browser compatibility of a website and also improves its readability, while the lesser development time involved cuts development costs.

  • Readability of websites

Text used in website content varies widely in terms of font size, color, font style(bold, italic), character/line spacing etc. Thus, the same block of text :

“Einstein had bad grades in school.”

can be written as :

Einstein had bad grades in school. or Einstein had bad grades in school.

Reading both the types requires concentrated effort. This hampers easy readability of websites.

Thus, Quality standards decree the use of easier text representation (font, color contrast, spacing etc.) for maximum readability.

  • Website Accessibility

The spectrum of Internet users ranges from the top-end users with the latest technologies at their disposal, to the other end of users with the bare minimum required for browsing.

Clearly, websites designed to hog system resources are viewed best only on high-end systems. Such websites deny accessibility to the rest of the users, which in a way harms the website owners themselves as they lose out on the bulk of the potential visitors.

Quality Standards save the day here by stipulating user-friendly web development guidelines that maximize the website’s accessibility. The more the visitors, the better the business opportunities.

  • Internationalization of Websites

Most modern browsers use the internationally accepted Unicode (UTF-8, UTF-16 etc.) character set. However, not all documents transmitted over the Internet conform to the standards of this set owing to the uniqueness of language scripts used. This results in a discrepancy among the browser being used and the text to be displayed on-screen.

Quality standards thus recommend the labeling of each document used with the character set in use for easier identification and representation.

Also, other commonly experienced discrepancies like which format to use while writing dates is taken care of by W3C guidelines. Thus, the accepted date format is yyyy-mm-dd. (letters with their usual meanings).

Eg. : 04-05-1984 could either mean 4th May 1984 or April 5th 1984.

But with the use of quality standards, 1984-05-04 can only mean May 4th, 1984

Although not exhaustive, this brief overview of the prevailing quality standards in web development is an endeavor to give you a better understanding of the guidelines we, at Vinove, while designing web sites for our clients.

by simran.khanna | Web |  No Comments continue reading

15 Sep

Agile Web Development

Alec, a young sprog in Firm A, hits upon a brilliant concept that could revolutionize the way his firm handles clients. The idea needs extensive web solutions to make sure it takes off and succeeds. He approaches his seniors and gets the nod to go look for a professional firm that’ll give them what they want.

Before leaving, Alec is mildly apprehensive about the idea. Although it looks grand, its details are foggy. “I’d better find someone good who know their craft”, he muses.

Scenario 1:

Firm Acme, well established and reputed in web solutions, accept Alec’s project and promise to deliver within a time-line of 4 months. Acme prides itself on its methodical, no nonsense or deviation approach to completing projects. And they have their stellar record of their past to back them up. So Acme proceeds with the project overflowing with self assurance , convinced it has understood Alec’s concept better than he could ever do himself. Alec is hesitant about voicing his concerns. “They’ve not earned a good name for nothing. Maybe they can grasp the unsaid as well”. “You’ll hear from us in 3 months, Sir” is all he is told.

Weeks later, with the project very close to completion, Alex and his boss are called for a demonstration. Acme wasn’t keen on this, knowing they were good with their work. But company policies stipulated it so they had to.

The demonstration proceeds and progresses well, until Alec’s boss comes up with an innocuous query. Innocuous to him, that is. Acme professionals look flabbergasted. “ Why would you want to do that?” they retort. “Why not ?” goes Alec’s boss. “Well if that’s what it is, you should have told us about this before !” Alec squirms in his seat, uneasiness dripping from his face. “You never even let us talk to you about the project while it was being drafted. You guys were so smug about your abilities you didn’t think it would be advisable to keep us in the loop!” was all he manages, afraid those were the last words he’d get to speak for his firm before being thrown out.

The whole debacle inflicts major financial losses on everyone, and a blow on the head for Acme’s tested work ethics.

Scenario 2:

Alec approaches a relatively inexperienced firm, The Upstarts, a young group of web solution experts. What draws him to them is their willingness to listen to him pour his heart out, allowing him to understand and define his idea even better.

“We’ll see it through in a month , Sir, and we’d like you to be in constant touch with us till we have it ready”. “Okay, that sounds fine” says Alec. “Infact I like it”.

Work at The Upstarts proceeds with gusto, with their small team of developers, designers, managers, technical writers and testers working simultaneously. What Alec notices surprises him. Instead of going for the whole idea at once, The Upstarts fragment his brainchild into small chunks. “We like it small”, they wink. They all sit together, with Alec in the middle, each one voicing his opinions and ideas, until everyone present knows precisely what is wanted and which way the spurt of action is to be directed.

This goes on everyday, with the testers rounding up each day’s produce with a thumbs up or a thumbs down. Thumbs up, they hit the next chunk. Thumbs down, The Upstarts dash back to the drawing board. Finally, with a lot of re-working and intuitive improvisation, the whole project is pieced together, chunk by perfected chunk falling into place. On D-Day, exactly one-month from the start, the project is complete and comes out sparkling. It works flawlessly.

Alec comes up to his boss smelling like roses. Firm A has got its money’s worth (and how !), and hits industry folklore for revolutionizing client management. Needless to say, Alec does not remain a sprog in the firm for much longer.

For all you lesser mortals who haven’t already figured out what made The Upstarts beat Acme, it’s a dynamic web development approach called Agile Web Development.

What makes Agile web development successful is the way it goes about a project. Here are the aspects:

1) Manageable chunks: Agile web development breaks a project into fragments, each small but essential, and works on its every aspect, from designing to development to de-bugging to documentation, until it is fail safe and ready to be a part of the big picture.

2) Multiple Iterations: Each fragment is taken through multiple test sequences to make sure it is fault free. Every time a fault is encountered, it is re-worked, its guidelines altered, and its process of development re-visited to make sure it is improved upon.

3) Constant Interaction with the source: Having the originator of the idea in the loop at all times enables the developers to make sure their progress meets his approval and is headed in the way he’d want it to. This eliminates any last minute surprises and blame gaming, which could potentially cripple a project at the very last stage and ruin weeks of effort.

4) Extreme Flexibility: Rather than walking along a fixed path of pre-agreed steps, the key to Agile Web Development is its constant leeway to improvisation as and when needed. This effectively takes into account any sudden changes that might have to be incorporated into the scheme of things. Without this, crippling setbacks are an ever present threat.

Having arrived on the scenes almost a decade ago in the mid 1990s, Agile web Development has had its fair share of followers who swear by its practicality and resilience. Some of the well known Agile Software Development methods are :

i) Adaptive Software Development (ASD)
ii) Feature Driven Development (FDD)
iii) Agile Unified Process (AUP)
iv) Extreme Programming (XP)
v) Scrum

Criticism about Agile:

Puritans have nonetheless greeted Agile gruffly. Agile for them is equivalent to “Cowboy Coding”, signifying a lack of discipline, and the absence of a systematic, well defined approach to possibly complex assignments. Many argue Agile to be unsuitable for large projects, calling its methodology too shaky to encompass all the aspects of a complex task on the go.

Also, Agile’s minimal documentation, made so by constant actual contact with the client, has also drawn flak.

Conclusion:

Whether arguments put up by skeptics are valid remains to be proved or proved otherwise. But for now, web development solutions have a radical tool to help them along. So as long as Agile delivers, the only complaining will be from the ones who don’t get the contracts.

by parvesh | Web |  3 Comments continue reading

5 Sep

Web 3.0: The Web 2.0 Descendent

Even though it would be prudent to define Web 3.0 in concise terms that exclude uncertainty, it is not possible as yet. Precisely because Web 3.0 is not a definite product or service, or even a spectrum that has structured guidelines.

However, what Web 3.0 essentially is, is the next step in the evolution of the World Wide Web from a mere depository of information on interconnected networks, to the point where that vast repository makes sense to the primary agents that access it, viz., software agents.

Comparison with previous versions:

The World Wide Web when first launched, was just an interface to access data stored on standalone terminals or servers. Web 2.0 (a term whose validity is often debated by industry faithfuls) came out as a phoenix out of the dot com bubble burst. It was purported to be the re-birth of the Internet. However, it only added upon established underlying principles of the World Wide Web (eg: HTML as a base and use of AJAX over and above that).

Even so, Web 2.0’s contribution to the World Wide Web is a slew of services aimed at facilitating collaboration and sharing between users. Most notable in that direction was the advent of social networking sites, blogs, audio/video posts, podcasts, wikis, IMs etc.

It has also seen the rise of powerful search engines that can rip into the guts of a page and extract relevant data. Except that there is a catch to it. Even the most powerful search tool needs the brains and thought process of a human to guide it to the right page, or load it with a generous dose of keywords to empower it to come up with the intended results.

Web 3.0, on the other hand, aims to transfer that thought process directly to a search engine’s/software agent’s mode of operation. It aims at a World Wide Web where all data will be easily understandable by machines, like we humans presently do, thus ushering in the age of Intelligent Computing, and as an extension, Semantic Computing.

Benefits:

1) With Semantic computing as its soul and guiding light, Web 3.0 will open up the astronomical amount of data on the web to intelligent analysis.

E.g.: Let’s suppose that Eric, 22, wants to touch base with an old friend of his, Tracy. The problem is, they were both 8 years old when Tracy left their hometown of Auckland for Geneva. Having lost contact with her after that, Eric is not even sure if she is still there or if she has moved to another country. All he now knows is her age, her last name and the name of her mother, the name of the school they both went to and the year she left for Geneva.

A contemporary search engine employed for the task of looking up Tracy would probably draw a nil if Tarcy’s present information is not explicitly mentioned. Not because it does not have enough data to search with, but because it does not have the inherent capability of putting all of that data to intelligent use. However with Web 3.0, a search tool would co-relate all the data it digs up from school records, family names, immigration records and national/international travel logs, analyze and sift through the promising ones, and hit upon the one trail that will lead it to Tracy, through a maze of seemingly unrelated web content.

2) The second benefit, derived from the first, would be the possibility of delegation of the responsibilities of data searching and collating and analysis to computers themselves. This would leave humans to focus on the big picture, while the data and its logistics will be silently controlled by machines under constant interaction with each other.

3) It would also enable machines operating on and from different databases and platforms to successfully exchange information with one another, primarily because of the underlying artificial intelligence now possible with Web 3.0

4) Automation, as we know it today, is really a series of planned codes that machines are programmed to follow. But with semantical computing, computers will actually be able to take most simple decisions for themselves, and even complex ones if so possible, making commonplace human intervention redundant.

Limitations:

Industry watchers however, are skeptical. Their prime areas of skepticism are based on the following:

1) It is argued that it would be time -consuming for content to be published in two formats: one for humans and the second for machines. Unless a method is devised to automatically generate machine-friendly data formats, this concern is valid and critical.

2) Invasion of privacy and censorship : With an artificially intelligent Web, data creation/modification could easily be traced back to the originator(eg. : tracing of bloggers and webmasters). This could potentially violate individual privacy and may even lead to forced censorship.

3) Although Web 3.0 sounds great and one would expect it to go mainstream soon, how realistic it would really be to expect intelligent behavior from machines, particularly considering the whims and fancies of human expectations, is doubtful, if not entirely impractical.

Conclusion:

With Web 3.0 a real possibility in the evolution of the World Wide Web, one can look forward to a new array of web services, characterized essentially by a degree of artificial intelligence. The fact that the mammoth data archive of the web would be open to analysis across various platforms, would make online services much more resourceful. What does that mean to the common netizen? Lesser exercising of his own intellect in data mining, collation and decision making. In other words, a much faster, intuitive and productive web experience.

by parvesh | Web |  2 Comments continue reading

3 Aug

Zend Framework: PHP + MVC + More!

Zend Framework is an open-source software framework for PHP5. It has a flexible architecture that lets you build interactive web applications and web services effortlessly. One of its strengths is the highly modular Model-View-Controller design, which makes the code more reusable and easier to maintain and lets you focus on the big picture. 

Model-view-controller is an architectural pattern used in software engineering. Complex computer applications present a large amount of data to the user. A developer often wishes to separate data (model) and user interface (view) concerns. This enables him to make changes to the user interface without affecting data handling, and reorganize data without changing the user interface. MVC solves this problem by introducing an intermediate component: the controller. The controller decouples data access and business logic from data presentation and user interaction.

Zend Framework has further enhanced PHP and improved its candidature for use within an enterprise environment. It aims to:

  • Provide a repository of high quality components that are actively supported.
  • Provide a complete system for developing web applications powered by PHP5.
  • Don’t change the PHP – it’s already a great platform.
  • Embrace collaboration and community to further advanced PHP5 programming.
  • Positively contribute to the PHP 5 ecosystem and the PHP collaboration project.

Advantages of Zend Framework include:

§       MVC application framework – Zend Framework’s model-view-controller architecture provides an industry best practice for Web application development. It enables the separation of business logic from user interface design.

§       Database support- Access multiple brands of RDBMS via a database-independent object-oriented interface. Databases supported include IBM DB2, MySQL, Oracle, Microsoft SQL Server, PostgreSQL and SQLite.

§       Internationalization – Zend Framework supports advanced yet simple solutions to develop PHP 5 Web applications for a global audience.

§       Web services – Use classes to publish and consume Web services and feeds in PHP.

§       Foundation Framework services – Zend Framework provides many other classes to make common application development tasks quick and easy. For example, solutions for email, sessions, authentication, logging, caching, filtering input, and others are included.

Built in the true PHP spirit, the Zend Framework delivers ease-of-use and powerful functionality. It implements best practices in connecting the application to databases and networks. And so, it frees the developer to concentrate on user interactions and the business logic behind them.

All in all, Zend Framework provides much required “face-lift” to PHP and facilitates powerful solutions for building modern, robust, and secure websites.

 

by parvesh | Web |  5 Comments continue reading

Best, Smart &
Effective Solutions

Quest for continuous learning, enhancements and establishing long term work relation with our clients has been the mantra of our success.
connect