ecomZera Blog

The place where eZians share their thoughts, experiences, knowledge and sow the seeds for ecomZera´s growth.

What's new in Internet Explorer 8

Microsoft has kept development of Internet Explorer 8 pretty quiet, but already the next major version of the most widely-used browser is available for downloading in a beta version.

While the focus of IE 7 was on security and the incorporation of a tabbed interface, version 8's main features centre on stability and usability.

In terms of stability, IE 8's new automatic crash recovery feature is designed to solve one major problem that most IE users know all too well. Today, when an IE window or tab freezes or crashes, other browsers instances or tabs will likely become inoperable as well.

Automatic crash recovery does a better job of isolating instances of the IE browser - or separate tabs within the same browser - so that one stalled browser or tab can be terminated without affecting any other.

If a crash does bring down the entire browser, automatic crash recovery will attempt to restore the browser to its previous state - including all open tabs - the next time you open it.

Greater stability is fine - but ultimately boring. Luckily, that's not all IE 8 has going for it. The new browser's usability features will generate the most buzz - and are likely to tempt lots of folks to give IE 8 a try.

The new Activities feature, for instance, attempts to save you a lot of time by cutting down on the number of separate sites that you have to visit to accomplish a task. In essence, the Activities feature allows you to invoke the essential services offered on separate sites without ever leaving the page you're currently on.

Let's say, for example, that you're reading a web page and you see an address for a restaurant you'd like to visit.

Today, in order to get directions to that address, you would probably go to a mapping site and type or paste the address in and then wait for the service to provide you with a map from, say, your apartment to the restaurant.

The process is time-consuming and involves at least two browser windows and tabs, plus a bit of copying a pasting.

With IE 8's Activities feature, when you select the address, a small Activities button appears next to your mouse cursor. Clicking that Activities button brings up a context-sensitive menu of possible activities, with one of the options being the ability to map the tool using your favourite mapping site.

Selecting that mapping option actually invokes the mapping site in a smaller preview window inside the current browser tab.

Another Activity might pull from a review site of restaurants, allowing you to see what others have said about the restaurant without your having to visit another site.

The Activities feature was also created with a nod toward the growing popularity of social networking sites. Just as you can pull services from other sites, the Activities feature also allows you to push information to popular networking sites such as Facebook and Digg.

If you want to refer a friend to the page from which you got the address for the restaurant, for instance, you can select the Send to Facebook option on the Activities menu, and IE 8 will log you into Facebook, send the URL to Facebook, and present you with the Facebook page that allows you to add an entry.

A set of default Activities comes with the IE 8 browser, but you easily customise the service providers that appear on your Activities list.

Another time-saving feature of IE 8 is called Web Slices, which are designed to allow you to subscribe to frequently-updated portions, or 'slices,' of certain Web sites.

Instead of spending your time visiting three or four Web sites to get updated information from a portion of each of those sites, you would simply use Web Slices to pull that information into a single location in IE 8.

A site such as eBay, for instance, lends itself to the Web Slices feature.

Say, for instance, that you're running or watching several auctions on eBay. Typically, you would visit eBay multiple times per day to check the status of those auctions.

With Web Slices, you can instead simply subscribe to a section of the auction page by clicking a Web Slice icon that appears when you allow your mouse cursor to hover over a portion of a site that is frequently updated.

Clicking the Web Slice icon adds a new button to a Favourites bar that appears above your browser tabs. Clicking the newly-created Web Slice button on the IE 8 Favourites bar will pull the latest data from your subscribed page and show it to you in a preview window.

You can visit the page itself merely by clicking a link within the preview window.

As with Activities, Web Slice-enabled sections of sites must be made available by web site owners themselves. The code for doing so is fairly simple and non-proprietary, however, so it will likely simply be a matter of time before many sites become 'IE 8 aware' and users start seeing the Activities and Web Slices icons as they surf their favourite sites.

Source: Andhra Cafe
Posted by vinay at 6:45 AM in Tech Talk

5 HTML elements you probably never use (but perhaps should)

This is a list of 5 HTML elements that are very poorly represented in most markup on the web today.
Many of these elements offer more semantic value than actual functionality.

Reference: SEOmoz
Posted by apoorv at 12:11 PM in Tech Talk

A Designer's Guide to Prototyping Ajax

By Kevin Hale · Apr 4, 2006

Introduction

Jeffery Zeldman wrote earlier this year in his essay about Web 3.0 that “Wireframing AJAX is a bitch.” And while I can’t deny the statement, I do think there are steps we can take to alleviate the pain. The problem is static XHTML/CSS wireframes are woefully inefficient at the task of communicating and documenting the features available to the new crop of Ajax web sites. Because we’ve been working on a rather intense Ajax project for the last few months, we’ve been developing and refining a number of techniques and guidelines to help our team design for Ajax by moving beyond the traditional forms of functional specs and wireframes to something a bit more appropriate for the dynamic medium—rapid prototyping.

This article in divided into three parts. Click below to access each part:

  1. Introduction
  2. Ajax Wireframing Approaches
  3. JavaScript Basics for Prototyping
Posted by rishi at 7:03 AM in Tech Talk

A Guide to CSS Support in Email: 2007 Edition

Posted by David Greiner on April 19, 2007

It's been just over 12 months since I posted our original Guide to CSS Support in Email and quite a bit has changed since. Sadly, the most significant of these changes was in the wrong direction, with Microsoft's recent decision to use the Word rendering engine instead of Internet Explorer in Outlook 2007. We've written plenty about it already including an explanation of the reasoning behind it. More on its impact on CSS support later.

It hasn't all been doom and gloom though, a number of vendors have maintained or improved their support for CSS, especially in the web-based email environment. The new Yahoo! Mail looks very promising and the old Hotmail will be making way for the new Windows Live Mail in the coming months. Desktop based apps tend to move a little slower and not a great deal has changed on that front, but traditionally they've been the best performers anyway. This year we added Outlook 2007, the new Yahoo! Mail and Mozilla Thunderbird for the Mac to our test suite, and also noticed some subtle changes in others.

So what's changed?
Posted by rishi at 5:12 AM in Tech Talk

In 1985 Codd published a list of rules (which has since been expanded by others) that became a standard way of evaluating a relational system. After publishing the original article Codd stated that there are no systems that will satisfy every rule. Nevertheless the rules represent the relational ideal and remain a goal for relational database designers.
No RDBMS in the present market supports all the 12 rules
Rule 0:The system must qualify as relational, as a database, and as a management system.
Rule 1:The Information Rule
All data should be presented to the user in table form.
Rule 2:Guaranteed Access Rule All data should be accessible without ambiguity. This can be accomplished through a combination of the table name, primary key, and column name
Rule 3:Systematic treatment of null values
The DBMS must allow each field to remain null (or empty). Specifically, it must support a representation of "missing information and inapplicable information" that is systematic, distinct from all regular values (for example, "distinct from zero or any other number," in the case of numeric values), and independent of data type. It is also implied that such representations must be manipulated by the DBMS in a systematic way.
Rule 4/images/emoticons/grin.gifynamic On-Line Catalog Based on the Relational Model
A relational database must provide access to its structure through the same tools that are used to access the data. This is usually accomplished by storing the structure definition within special system tables. That is, you must be able to inquire about a database's meta-data using the same language that you use to inquire about the actual data. What tables are available? What columns do they contain?
Rule 5:Comprehensive Data Sublanguage Rule
The database must support at least one clearly defined language that includes functionality for data definition, data manipulation, data integrity, and database transaction control. All commercial relational databases use forms of the standard SQL (Structured Query Language) as their supported comprehensive language.
Rule 6:View Updating Rule
Data can be presented to the user in different logical combinations, called views. Each view should support the same full range of data manipulation that direct-access to a table has available. In practice, providing update and delete access to logical views is difficult and is not fully supported by any current database.
Rule 7: High-level Insert, Update, and Delete
Data can be retrieved from a relational database in sets constructed of data from multiple rows and/or multiple tables. This rule states that insert, update, and delete operations should be supported for any retrievable set rather than just for a single row in a single table.
Rule 8/images/emoticons/silly.gifhysical Data Independence
The user is isolated from the physical method of storing and retrieving information from the database. Changes can be made to the underlying architecture ( hardware, disk storage methods ) without affecting how the user accesses it.
Rule 9:Logical Data Independence
How a user views data should not change when the logical structure (tables structure) of the database changes. This rule is particularly difficult to satisfy. Most databases rely on strong ties between the user view of the data and the actual structure of the underlying tables.
Rule 10:Integrity Independence
The database language (like SQL) should support constraints on user input that maintain database integrity. This rule is not fully implemented by most major vendors. At a minimum, all databases do preserve two constraints through SQL.
  • Entity integrity :No component of a primary key can have a null value.
  • Referential integrity :If a foreign key is defined in one table, any value in it must exist as a primary key in another table.
Rule 11/images/emoticons/grin.gifistribution Independence
A user should be totally unaware of whether or not the database is distributed (whether parts of the database exist in multiple locations). A variety of reasons make this rule difficult to implement; I will spend time addressing these reasons when we discuss distributed databases.
Rule 12: The nonsubversion rule
If the system provides a low-level (record-at-a-time) interface, then that interface cannot be used to subvert the system, for example, bypassing a relational security or integrity constraint.
Posted by vamsi at 6:16 AM in Tech Talk

AJAX - When to consider as a viable RIA technology

Who should consider AJAX (Asynchronous JavaScript and XML)?

Last month IBM announced how it and 14 other IT companies and Internet businesses formed the first open source community (Open AJAX) devoted to promoting AJAX. The other founding members of the AJAX open source community include BEA, Borland, the Dojo Foundation, Eclipse Foundation, Google, Laszlo Systems, Mozilla Corporation, Novell, Openwave Systems, Oracle, Red Hat, Yahoo, Zend and Zimbra. To ensure that the technologies are easily accessible and predicated on open standards, Zimbra, the Dojo Foundation and IBM are planning on donating software tools and technology to Apache, Mozilla and Eclipse, each respected stewards of open source software.

Read More

Considering Ajax, Part 1: Cut through the hype

Posted by rishi at 11:01 PM in Tech Talk

Adobe PDF Reader can read loud you Document

I am not shure that how many of you know that Adobe PDF reader can read loud your pdf document.

Here are the related commands:

  • To read page only : Shift + Ctrl + V
  • To read full pdf document : Shift + Ctrl + B
  • To Pause reading : Shift + Ctrl + C
  • To Stop reading : Shift + Ctrl + E

These commands can be found in Main menu - View - Read Loud in Adobe PDF reader.

OOps please do not forget to turn on your speakers.

Posted by somdev at 5:52 AM in Tech Talk

Agile Methodologies

Good paper on new approaches to software engineering and their commanalities. http://www.martinfowler.com/articles/newMethodology.html#N401. We may not jump in for any of these approaches right away, but a good "brain-shaker" to begin the thought process with.
Posted by vasanth at 3:27 AM in Tech Talk

Ajax Basics

The term Ajax is used to describe a set of technologies that allow browsers to provide users with a more natural browsing experience. Before Ajax, Web sites forced their users into the submit/wait/redisplay paradigm, where the users' actions were always synchronized with the server's "think time." Ajax provides the ability to communicate with the server asynchronously, thereby freeing the user experience from the request/response cycle. click here for Complete article.
Posted by phani at 10:49 AM in Tech Talk

And the award goes to....

"The eZ Team (All of Us)".

And the name of the award is... "Cowboy Coder of the Millenium"!! which is being rechristened as "Cowbody Coder Team of the Millenium". What exactly does a Cowboy coder do? Get it here. I dont want our team or anybody to get nominated for this award next time on.
Posted by vasanth at 10:14 PM in Tech Talk

Another Y2K in the making?...

No... its not that serious. But as tech-group, we need to be aware of scenarios that could fail what we build. I dont see any immediate effect on any of our projects / applications due to this fact. However, we should be aware of it. Nutshell - "java Timezone calculations /images/emoticons/laugh.gifaylight savings etc.) are prone to time administration within individual countries". Read more at - Set your Java clocks for the new DST
Posted by vasanth at 12:39 AM in Tech Talk

Apache Configuration

The Following are the steps that gives information on Apache Configuration.
Installing Apache on linux box
  • Simple and easy manner to install Apache is to use Synaptic Manager.
  • or
  • Use the apt-get -i for debian package.
Configuration with a Applications running on other application servers like Tomcat.
Download the mod_jk.so file and place it in the modules folder. Add the following lines of Code in apache2.conf / httpd.conf file
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
Then configure the application that we want to run with Apache.
For more information click here
Posted by phani at 11:30 PM in Tech Talk

BEAN SHELL

        BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript .

        BeanShell is small and embeddable, so you can call BeanShell from your Java applications to execute Java code dynamically at run-time or to provide extensibility in your applications. Alternatively, you can use standalone BeanShell scripts to manipulate Java applications; working with Java objects and APIs dynamically.

        Links to get More Information about Beanshell:
http://beanshell.org
http://www.informatik.uni-hamburg.de/RZ/software/emacs/jde/html/bsh-ug/bsh-ug.html

BSF (Bean Scripting Framework) : Bean Scripting Framework (BSF) is a set of Java classes which provides scripting language support within Java applications, and access to Java objects and methods from scripting languages.
To get More Information about Beanshell:
http://jakarta.apache.org/bsf/manual.html

Beanshell in struts :
http://struts.apache.org/struts-action/struts-scripting/user-guide.html
Posted by sandhya at 3:32 AM in Tech Talk

Benchmarking our new Server

Given below is the benchmark result of our new server. Place special attention on the Final Score
==============================================================
BYTE UNIX Benchmarks (Version 4.1-wht)
System -- Linux debian 2.6.8-2-686 #1 Tue Aug 16 13:22:48 UTC 2005 i686 GNU/Linux
/dev/sda1             74312868    388288  70149712   1% /

Start Benchmark Run: Sat May 13 22:24:24 CDT 2006
 22:24:24 up 6 days,  9:53,  1 user,  load average: 0.24, 0.05, 0.02

End Benchmark Run: Sat May 13 22:35:48 CDT 2006
 22:35:48 up 6 days, 10:04,  1 user,  load average: 10.17, 4.82, 2.31


                     INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        376783.7  4350494.4      115.5
Double-Precision Whetstone                      83.1      917.2      110.4
Execl Throughput                               188.3     4001.0      212.5
File Copy 1024 bufsize 2000 maxblocks         2672.0    93653.0      350.5
File Copy 256 bufsize 500 maxblocks           1077.0    27800.0      258.1
File Read 4096 bufsize 8000 maxblocks        15382.0   582534.0      378.7
Pipe-based Context Switching                 15448.6   179852.9      116.4
Pipe Throughput                             111814.6   827568.4       74.0
Process Creation                               569.3    13394.4      235.3
Shell Scripts (8 concurrent)                    44.8      487.7      108.9
System Call Overhead                        114433.5   582854.6       50.9
                                                                 =========
     FINAL SCORE                                                     152.6
Compare this result with the benchmark results performed on our current VPS. Look at the Final Score!!
===============================================
Select 200, RH9, 512MB guaranteed RAM
===============================================
BYTE UNIX Benchmarks (Version 4.1-wht)
System -- Linux select200.floristhome.com 2.4.20-021stab028.3.777-enterprise #1 SMP Wed Feb 2 21:08:59 MSK 2005 i686 i686 i386 GNU/Linux
/dev/vzfs 10485760 1701464 8784296 17% /

Start Benchmark Run: Fri Mar 31 02:28:58 PST 2006
02:28:58 up 47 days, 4:55, 1 user, load average: 0.14, 0.10, 0.22

End Benchmark Run: Fri Mar 31 02:48:47 PST 2006
02:48:47 up 47 days, 5:15, 1 user, load average: 16.32, 7.60, 4.60

INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        376783.7   412302.3       10.9
Double-Precision Whetstone                      83.1      489.4       58.9
Execl Throughput                               188.3      162.3        8.6
File Copy 1024 bufsize 2000 maxblocks         2672.0     1633.0        6.1
File Copy 256 bufsize 500 maxblocks           1077.0      572.0        5.3
File Read 4096 bufsize 8000 maxblocks        15382.0    11941.0        7.8
Pipe Throughput                             111814.6    16038.6        1.4
Pipe-based Context Switching                 15448.6     6053.8        3.9
Process Creation                               569.3      173.1        3.0
Shell Scripts (8 concurrent)                    44.8       16.9        3.8
System Call Overhead                        114433.5     9145.3        0.8
                                                                 =========
     FINAL SCORE                                                       5.2
===========================================================================
Posted by vasanth at 2:02 AM in Tech Talk

Best Practices for Speeding Up Your Web Site

  1. Make Fewer HTTP Requests
  2. Use a Content Delivery Network
  3. Add an Expires Header
  4. Gzip Components
  5. Put Stylesheets at the Top
  6. Put Scripts at the Bottom
  7. Avoid CSS Expressions
  8. Make JavaScript and CSS External
  9. Reduce DNS Lookups
  10. Minify JavaScript
  11. Avoid Redirects
  12. Remove Duplicate Scripts
  13. Configure ETags
  14. Make Ajax Cacheable
Earlier this year, Steve Souders from the Yahoo! Performance team published a series of front-end performance optimization "rules" for optimizing a page.
Posted by rishi at 5:09 AM in Tech Talk