TV over Internet !

After the boom of internet...., to make your internet connection more packaged and in the trend of providing more services with a single attachment with the customer, operators are providing IPTV service.

IPTV is the acronym for Internet Protocol TeleVision.

It is basically a technology that delivers video or TV broadcasts over the Internet.

Instead of receiving television or video over the broadcast waves, cable lines or through a satellite TV service, your TV is attached directly into a broadband Internet router and receives digital signal directly over the Internet.

For example, you use your Telephone line (e.g. MTNL/BSNL landlines) for calls , internet surfing and of course for watching your favourite TV channels.

The Brighter Side:
  • One of the advantages of IPTV is the ability for digital video recorders (DVRs) to record multiple broadcasts at once.
  • However, the real advantage of IPTV is that it uses Internet protocols to provide two-way communication for interactive television. One application might be in game shows in which the studio audience is asked to participate by helping a contestant choose between answers.
  • One can also receive Web service notifications while watching IPTV for things such as incoming email and instant messages.


The Darker Side:

  • Packet LossDue to the use of Internet Protocol,one may experience time to time a packet loss or delays.
  • Most of the IPTV systems currently do not support HDTV(High Definition TVs) broadcasts. However, technology is improving and it will be corrected in the near future.

Definig a blog

Oh!! i am on a blog. But i dont really know what a blog is?


What is a blog?


Blog !! who is it?


Ammmmmm a blog is...............???


These are the queries that most of internet users must be having.
So lets understand this technical very often used term.

BLOG or a Web-blog, is basically an online book/diary/journal etc.

You can write or post about whatever you like: updates of your life, political opinions, a great holiday, favorite recipes, what music you're listening to -- anything that strikes your fancy.
This could be a mixture of words, photos, or both. You decide how private or public to make your blog by setting your permission preferences.


Blogs are usually composed of one or more blog entries called posts.Each entry can have its own title and always says the date and time you published it.


Blogs show the last entry first (by default), and you can scroll down to read earlier entries. So it's like a reverse diary.Readers can comment on each post and authors can reply to that.This conversation can be read by all readers.


You can easily add a photo to your blog entry if you want. You can also make bold text, change colors and backgrounds, format your text, or add emoticons and even web links. If you know HTML, you can make even more changes, if you want.

People who write or manage their own blogs or are involved in these activities for some other blogs are called Bloggers.


Some websites which provide you to host your blog on their servers are:

> www.blogger.com

> www.wordpress.com

> www.ibibo.com

Garbage Collection

Welcome again readers!! Now our authors are back from the examination-season, and here Ms. Asha Bora presents an insight on Garbage collection in C# or rather in .NET Framework.

In C#, we can never destroy an object our selves. But, ever we thought why the C# designer’s did not give us this “RIGHT”? There are many good reasons for this .

Suppose we have given the responsibility to destroy an object then, there are chances that:
· We’d forget to destroy the object: then the object destructor would not run, leading to memory crises.
· We’d try to destroy an Active object, but what if suppose a class held a reference to this active object???.....then it would be a problematic situation.
· We’d try to destroy the same object more than once, but this can be disastrous, depending on the destructor’s code.
These problems are unacceptable in C#. Thus garbage collector is responsible for destroying the object.


Therefore, Garbage Collection is a process which automatically frees the memory of an object. It is a service which is provided by one of the most essential component of .NET Framework known as CLR(Common Language Runtime).
It occurs when an object is no longer needed, but it’s not necessary that it occurs immediately .Then runtime collects the garbage only when required i.e. when memory crises occur (low memory) and at that time it does as much as it can.

The garbage collection guarantees the followings:
· Each object will be destroyed and its destructor will run. When a program ends, all outstanding objects will be destroyed.
· Each object is destroyed only when it becomes unreachable i.e. when no reference refers to the object.
· Each object is destroyed only once.

Conclusion: thus we can say that garbage collection (GC) is tremendously useful and it frees the programmer from the tedious house keeping chores that are easy to get wrong and allow the programmer to concentrate on the logic of the program.

Advantages and Disadvantages of AJAX

Now Mr. Pravin presents reasons to use and why not to use AJAX.
To help you decide whether AJAX is for you or not, here are some of the advantages it has over classic web development techniques:

1. The interface is much more responsive, as explained before, because only a small part of the page is transferred at a time. The user has the feeling that changes are instantaneous.

2. Waiting time is reduced – when the visitor submits a form, they no longer have to wait for the entire page to be rebuilt and re-transmitted by the server. Instead, only the relevant content changes, and in non-critical cases, the visitor can still work while the data is being submitted.

3. If a page section encounters an error, other sections are not affected (if not logically linked) and the data already entered by the user is not lost. This way, the application fails graciously, without causing head-aches for the users.

4. Traffic to and from the server is reduced considerably – because you do not have to send the entire page content (CSS, images, static sections), the bandwidth usage is most likely to decrease.

5. Real-Time Form Data Validation: Form data such as user IDs, serial numbers, postal codes, or even special coupon codes that require server-side validation can be validated in a form before the user submits a form.

6. Auto completion: A specific portion of form data such as an email address, name, or city name may be auto completed as the user types.

The Disadvantages of AJAX
As with most new web development techniques, AJAX has its critics. There are a couple of disadvantages that need to be considered before considering an AJAX-based solution:
1. Building an AJAX-powered application can increase development time and costs. It is usually considered more difficult than building a classic web application, because of the mixture of technologies and the special concern about everything going smoothly. However, because it is dealing with relatively known technologies, AJAX is not rocket science.
2. Although AJAX relies on existing and mature technologies like JavaScript, HTML and CSS, the available frameworks and components still need to completely mature. Tools like the Dojo toolkit or the Rico framework are just a milestone on this long road.
3. Using AJAX to asynchronously load bits of content into an existing page conflicts with the way we are used to navigate and create bookmarks in modern browsers. Because viewing some part of the page information no longer corresponds to a newly loaded page, the browser history and bookmarks will not be able to restore the exact page state. Also, clicking the Back button in a browser might not have any effect, since the URL was unchanged (even if parts of the page were changed). To overcome these problems you must implement a way to save the current page state so that it can be restored later on, when called from a bookmark or from the browser history.
4. AJAX is not meant to be used in every application. One of the main reasons for this stays in the fact that Google cannot index it. "Suppose you are building an e-commerce site. A complete AJAX application would be a mistake because search engines won't be able to index it. And without a search engine, a site won't be able to sell products." Keeping this in mind, a much better idea than creating complete AJAX applications would be to scatter AJAX features within the application.
5. The biggest concern with AJAX is accessibility. This is because not all browsers (especially older ones) have complete support for JavaScript or the XMLHttpRequest object. Some of the visitors do have browsers with the required features, but they choose or have to turn off JavaScript support. When you design the application you must make sure that a fail-safe solution exists for those users, so it can be accessed by anyone.
Furthermore, the way to access and use the XMLHttpRequest object in Internet Explorer and other browsers is different, which leads to a fork in the code and the need to treat each case separately.
6. Debugging: AJAX applications are also difficult to debug because the processing logic is embedded both in the client and on the server.
7. Viewable Source: The client-side JavaScript technology may be viewed simply by selecting View Source from an AJAX-enabled HTML page. A poorly designed AJAX-based application could open itself up to hackers or plagiarism (illegal use or stealing or copying).
8. The last disadvantage lies in the actual XMLHttpRequest object itself. Due to security constraints, you can only use it to access information from the host that served the initial page. If you need to display information from another server, it is not possible within the AJAX paradigm.
Given these advantages and disadvantages of AJAX, you have to decide whether you need to use it or not before you start the design and implementation of your next project
The AJAX approach to building web applications shed a new light on the web and help close the gap between web applications and desktop applications in terms of usability and responsiveness. As the technique approaches maturity, many benefits and pitfalls will be uncovered, but the overall principles promise to revolutionize the web as we know it.

Who Is Using AJAX?

Lets see what Mr. Pravin has to share today.

AJAX is already widely used in web development. One of the most important players on the AJAX scene is Google. With Gmail, Google Groups, Google Suggest or Google Maps, AJAX is being put to good use by millions of visitors every day. The user interfaces respond quickly and are pretty intuitive, leaving no time for users to admire a blank screen.

AJAX is used in Meebo to allow users to connect to multiple instant messaging networks from a web-based application, and in Flickr, to allow photo sharing and tagging.
KTML is an online visual HTML editor that emulates the familiar Microsoft Word. You can use it for web content authoring just as you would use any other desktop-based text editor.
MX Query Builder is a visual tool for creating and managing SQL queries. It runs in a browser window, but can be launched from Macromedia Dreamweaver. Its many panels allow asynchronous interaction with your database. When you're done, you can save your query and use it in Dreamweaver as a regular record set.

These projects demonstrate that Ajax is not only technically sound, but also practical for real-world applications. This isn’t another technology that only works in a laboratory. In addition, Ajax applications can be any size, from the very simple, single-function Google Suggest to the very complex and sophisticated Google Maps.

How Does AJAX Works?

Classic Web Application:
The classic web application model works like this: Most user actions in the interface triggers an HTTP request back to a web server. The server does some processing — retrieving data, crunching numbers, talking to various legacy systems — and then returns an HTML page to the client.
This approach makes a lot of technical sense, but it doesn’t make for a great user experience. While the server is doing its thing, what’s the user doing? That’s right, waiting. And at every step in a task, the user waits some more.
Obviously, if we were designing the Web from scratch for applications, we wouldn’t make users wait around. Once an interface is loaded, why should the user interaction come to a halt every time the application needs something from the server? In fact, why should the user see the application go to the server at all?

AJAX Web Application:
An Ajax application eliminates the start-stop-start-stop nature of interaction on the Web by introducing an intermediary — an Ajax engine — between the user’s interface and the server. It seems like adding a layer to the application would make it less responsive, but the opposite is true. Instead of loading a webpage, at the start of the session, the browser loads an Ajax engine — written in JavaScript and usually tucked away in a hidden frame. This engine is responsible for both rendering the interface the user sees and communicating with the server on the user’s behalf. The Ajax engine allows the user’s interaction with the application to happen asynchronously — independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something.

Working


Classic:

When the visitor requests a page, the server will send the full HTML and CSS code at once. After the visitor fills in a form and submits it, the server processes the information and rebuilds the page. It then sends the full page back to the client. And so on.

AJAX:
When using AJAX, the page is loaded entirely only once, the first time it is requested. Besides the HTML and CSS code that make up the page, some JavaScript files are also downloaded: the AJAX engine. All requests for data to the sever will then be sent as JavaScript calls to this engine. The AJAX engine then requests information from the web server asynchronously. Thus, only small page bits are requested and sent to the browser, as they are needed by the user. The engine then displays the information without reloading the entire page. This leads to a much more responsive interface, because only the necessary information is passed between the client and server, not the whole page. This produces the feeling that information is displayed immediately, which brings web applications closer to their desktop relatives.
In AJAX-powered applications, HTTP requests for data can be made completely in the background, without the user experiencing any interruptions. This means the user can continue working and using the application, while the necessary page sections are received from the server.

References: Refernces remains the same as for previous articles by Mr. Pravin K. Dubey on AJAX. We wish him luck for providing his knowledge and sharing it.

Defining AJAX

Now, this one is in continuation of the AJAX research compiled by Mr. Praving K. Dubey.

Read it !! Get informed and leave your valuable comments for us.

I heard many people saying that AJAX is a new technology used in web development. But in fact AJAX is neither new, nor a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways to build a friendlier web. Ajax incorporates:
• Standards-based presentation using XHTML and Cascading Style Sheet (CSS).
• Dynamic display and interaction using the Document Object Model (DOM).
• Data interchange and manipulation using Extensible Markup Language (XML) and XSLT
• Asynchronous data retrieval using XMLHttpRequest and JavaScript binding everything together.

XML is used to store and move information between the client and server, HTML and CSS to format the output and JavaScript to bind all of these elements together in a dynamic manner.
Role of Each Terminology
HTML and CSS is used to display the information in the browser. To present information to the client, you still need to use the language that browsers understand: HTML for content and CSS for layout and formatting.
In the age of dynamic websites, displaying content is not enough. You have to first retrieve it from a dynamic data source, and process it for final output. This is where XML and XSLT come into play.

Getting the information from the server and in the user's browser is the next step. The XMLHttpRequest JavaScript object is used for this part.
Once the information is displayed, you need to modify it dynamically. For this, you will use the Document Object Model (or DOM, for short). To provide dynamics to a static HTML page, DOM manipulation is used to alter the properties of already created page elements. It is done through JavaScript and allows (for example) a div element to become visible, or a button to gray-out when a certain selection has been made.

The glue that holds all these elements together is JavaScript. This allows retrieving dynamic information, displaying and modifying the page elements. JavaScript is a lightweight programming language used to perform various tasks on the web client.
The notion AJAX has come to define a development framework, which aims to improve web page usability.

As you can see from the list above, none of the technologies used within AJAX are new. What is new is the way these technologies are used together to create new types of web applications that are much more responsive and intuitive than the existing ones. To illustrate this, just have a look at Gmail and Google Maps. The user interfaces are quick in providing the user with the desired information, by performing the minimum of page reload possible.
This new approach to user interaction and application responsiveness is part of a wider technology trend, aimed at making the Internet friendlier and faster.

Generics in Java : An introduction

You are working with your team of developers and you have created a List to hold some values in it.
The other day a new team-member joins the team and starts working on the code.
He uses the List created by you to add items of different data-types (say string, long, Human etc.)
The code compiles sucessfuly, but will give a run-time error when you process the List at some point of time (e.g. sum-up all the numbers stored in the List).
Then there comes Generics to rescue you.

Lets see how as explained by Ms. Sindhu Kumari.

Generics are possibly the most talked about feature of Java 5. It sounds scary, but actually it is simply an enhancement to java programming language for compile-time type safety.
Lets understand the need for introducing generics.
Arrays in Java have always been type safe—an array declared as type String (string[]) can't accept Integers (or ints), Humans, or anything other than Strings. But what about the collection classes such as List, Map, Set, Vector and so on….

Observe this:
List myList = new ArrayList(); // can't declare a type
myList.add("Fred"); // OK, it will hold Strings
myList.add(new Human()); // and it will hold Humans too
myList.add(new Integer(42)); // and Integers...

A non-generic collection can hold any kind of object! A non-generic collection is quite happy to hold anything that is NOT a primitive.
This meant that all the care has to be taken by the programmer, because there was no way to guarantee the collection type. Usually, If we try to assign an int to a boolean reference or a String to a Horse reference, you get a compilation error by the java compiler, but with collections,the door is always open for all kind of objects.
And since a collection could hold anything, the methods that get objects out of the collection could have only one kind of return type—java.lang.Object. That meant that even for taking a String out of a list that is meant to hold String objects only, we need to do a cast :
String s = (String) myList.get(0);
And since you couldn't guarantee that what was coming out really was a String (since you were allowed to put anything in the list), the cast could fail at runtime, giving you a ClassCastException.
So, generics takes care of both ends (the putting in and getting out) by enforcing the type of your collections. Let's update the String list:

List myList = new ArrayList();
myList.add("Fred"); // OK, it will hold Strings
myList.add(new Human()); // compiler error!!


Perfect. That's exactly what we want. By using generics syntax—which means putting the type in angle brackets , we're telling the compiler that this collection can hold only String objects. The type in angle brackets is referred to as either the "parameterized type," "type parameter," or of course just old-fashioned "type."
So, now that what you put IN is guaranteed, you can also guarantee what comes OUT, and that means you can get rid of the cast when you get something from the collection. Instead of
String s = (String)myList.get(0); // pre-generics, when a
// String wasn't guaranteed
we can now just say
String s = myList.get(0);


And of course you can declare a type parameter for a method argument, which then makes the argument a type safe reference:
void takeListOfstrings(List strings) {
strings.add("foo"); // no problem adding a String
}


Return types can obviously be declared type safe as well:
public Set getStudentList()
Set students = new HashSet();
// more code to insert students
return students;
}

Conclusion:
Among all the features introduced in Java 5, generics is the most powerful one. Java developers need a little time to get used to generics. But when they start using it, they surely will save time and efforts...by writing easier and more robust code.

References :

Inheritence in C#

Multiple inheritence is not supproted by C#. But there is a solution to this using interfaces. Lets see how as explained by Ms. Asha Bora.

We know inheriting from a class is a powerful mechanism, but the real power of inheritance comes from inheriting from an interface.
Interface allows you to truly separate the "what" from "how". The interface tells what the name is, return type and parameter of the method are. Exactly how the method is implemented is not a concern of the interface. It represent how you want an object to be represent rather then how it happens to be implemented in a particular moment.

Syntax to declare interface: To declare the interface we use the interface keyword.
Eg:
interface IComparable
{
int xyz();
}


Points to be noted about Interface:
  • Interface should not contain any variable.
  • Interface should not have any constructor. Since a constructor contains the statements to initialize the variable of an object, but interface does not contain any variable.
  • A Destructor is also not allowed in an interface. Since it contain the statement to destroy the object instance.
  • No need to supply the access specifier to the methods. Since all the methods are public by default in an interface.
  • We cannot nest any types like enums , class, structs, interfaces, delegates inside an interface.
  • A class which implements an interface needs to implements all the members of the interface.

A class can inherit from a single class but can implement from multiple interfaces. An interface can inherit multiple interfaces. So we say that in C# multiple inheritance is applicable only through Interfaces, but not via classes.
A class or structure that implements an interface also implements the base interface of its inherited interface.
A class can extend another class and implement an interface at the same time. The base class is named first followed by a comma, followed by the interface.
eg:
class Defaultclass
{

}
class XYZ: Defaultclass, IComparable
{
...
}


Inheriting interface: we have declared an interface in the above example called IComparable, the below examples shows how a interface inherit another interface…
interface IOrder : IComparable
{
void abc();
}

3g / GPRS / EDGE

:-) -I have a 3G phone !!
:-I -They have an EDGE phone !!
:-( -You have a GPRS phone !!

These days everyone is conversing like above; and in INDIA even if these terms are not technically meant to people but everybody is aware that these two technologies influence the choices of their mobile phone. Lets know about these technologies in brief.

Both are the telecommunication technologies to transfer data.

3G:
from wikipedia :: is the third generation of mobile phone standards and technology, superseding 2G, and preceding 4G.
3G technologies enable network operators to offer users a wider range of more advanced services while achieving greater network capacity through improved spectral efficiency. It is often suggested by industry sources that 3G can be expected to provide 384 kbit/s at or below pedestrian speeds, but only 128 kbit/s in a moving car.

GPRS:
from wikipedia :: General Packet Radio Service (GPRS) is a packet oriented Mobile Data Service available to users of Global System for Mobile Communications (GSM). It provides data rates from 56 up to 114 kbit/s.

There is one more technology that is talked about many times with 3G is EDGE.

EDGE:
from wikipedia :: Enhanced Data rates for GSM Evolution (EDGE), Enhanced GPRS (EGPRS) is a digital mobile phone technology that allows increased data transmission rates and improved data transmission reliability. It comes somewhere between 2G and 3G techonologies of data transfer and communication.

Params Array in C#

Worried about Overloading a method due to unpredictable inputs!!
Here is a solution to this provided by C# and explained by Ms. Asha Bora.

Param arrays are very useful if you want to write methods that can take variable numbers of arguments, possibly of different types as parameter. If any one is familiar with OOPS then, he must be grinding his teeth in frustration at this sentence…Since in OOPS you use overloaded methods for this problem.

Overloading is the technical term for declaring two or more methods with the same name in the same scope. Overloading handles a situation where type and number of parameters vary. Where as param array can handle the situation if the types of parameter do not vary. While declaring a method suppose you are not sure about the number of arguments passed as a parameter, then we can use the param array.

How to declare Params array:
class A
{
public static int Array_Min(params int [] paramList)
{
//code
}
}


The effect of params keyword is that it allows you to call it by using any number of integer arguments. For example to find the minimum of 2 integer values, we would write it as:
int min=A.Array_Min(1,2);

The compiler translates this call into code similar to this:
int []array=new int[2];
array [0]=1;
array [1]=2;
int min=A.Array_Min(array);
similarly to find the minimum of 3 integer values,we would write the code as: int min=A.Array_Min(1,2,3);


Points to be noted about params arrays:
· You can use params keyword on only one dimensional arrays.
· You can’t overload a method based solely on the params keyword. The params keyword does not form part if a method’s signature, for example:
//compile time error: duplication declaration
public static int Min(int[]paramList)…
public static int Min(params int[]paramList)…
· You are not allowed ref or out params arrays, for example:
//compile-time errors
Public static int Min(ref params int[]paramList)…
Public static int Min(out params int[]paramList)…
· A params array must be the last parameter i.e. You can have only one params array per method.

A params int array is very useful since it allows any number of int arguments in a method call. you can use a param object array to declare a method that accepts any number of arguments of objects, allowing the arguments to be passed of any type.
· you can even pass it no arguments at all,
· you can also call it by passing the null as the argument,
· you can pass it an actual array ,
· you can pass any other arguments of different types and these arguments will automatically be wrapped inside an object array.


Enterprise Resource Panning (ERP)

Nowadays everyone is talking about ERP everywhere in the corporate world.

ERP is being implemented very rapidly in whether it is a large scale or medium scale enterprises.

The benefits of implementing ERP have proven to be making effective use resources and using them.

TechYoddha team is also working hard in the direction of developing Business Software Solutions to be implemented by ERP or through ERP.
Contact : info@techyoddha.com


Lets look at the definition of ERP?

by Tech-Faq.com >> ERP stands for Enterprise Resource Planning. ERP is a way to integrate the data and processes of an organization into one single system. Usually ERP systems will have many components including hardware and software, in order to achieve integration, most ERP systems use a unified database to store data for various functions found throughout the organization.

by Wikipedia >> Enterprise resource planning (ERP) systems attempt to integrate several data sources and processes of an organization into a unified system. A typical ERP system will use multiple components of computer software and hardware to achieve the integration. A key ingredient of most ERP systems is the use of a unified database to store data for the various system modules.

The two key components of an ERP system are a common database and a modular software design. A common database is the system that allows every department of a company to store and retrieve information in real-time. Using a common database allows information to be more reliable, accessible, and easily shared. Furthermore, a modular software design is a variety of programs that can be added on an individual basis to improve the efficiency of the business. This improves the business by adding functionality, mixing and matching programs from different vendors, and allowing the company to choose which modules to implement. These modular software designs link into the common database, so that all of the information between the departments is accessible in real time.

Bots have arrived...

Sun Microsystems co–founder Bill Joy’s now well–known article in wired, titled ‘Why the future doesn’t need us’, begun with the subheading: “Our most powerful 21st century technologies–robotics, genetics engineering, and nanotech–are threatening to make humans an endangered species.” Joy went on to express his fears about the new technologies, saying, for example, that robot might be dangerous because they might replicate; that we may not survive our encounter with the new species, and so on.

Everyone has a point of view and something to say about this–some say Joy is exaggerating, some share his concern. But there’s no doubting the fact that robotics has come of age; it’s only a matter of time before we relegate more and more of our duties to the machines.

The ‘new species‘– humanoid, bot, part-human-part-bot, whatever– has already been born.


This article is courtsey Mr. Pravin K. Dubey.

FAQs for AJAX

01. Did Adaptive Path invent Ajax? Did Google? Did Adaptive Path help build Google’s Ajax applications?
Ans. Neither Adaptive Path nor Google invented Ajax. Google’s recent products are simply the highest-profile examples of Ajax applications. Adaptive Path was not involved in the development of Google’s Ajax applications.

02. Is Adaptive Path selling Ajax components or trade marking the name? Where can I download it?
Ans. Ajax isn’t something you can download. It’s an approach — a way of thinking about the architecture of web applications using certain technologies. Neither the Ajax name nor the approaches are proprietary to Adaptive Path.

03. Is Ajax just another name for XMLHttpRequest?
Ans. No. XMLHttpRequest is only part of the Ajax equation. XMLHttpRequest is the technical component that makes the asynchronous server communication possible; Ajax is a name for the overall approach described in my earlier articles, which relies not only on XMLHttpRequest, but on CSS, DOM, and other technologies.

04. Techniques for asynchronous serve communication have been around for years. What makes Ajax a "new" approach?
Ans. What’s new is the prominent use of these techniques in real-world applications to change the fundamental interaction model of the Web. Ajax is taking hold now because these technologies and the industry understand of how to deploy them most effectively have taken time to develop.

05. Is Ajax a technology platform or is it an architectural style?
Ans. It’s both. Ajax is a set of technologies being used together in a particular way.

06. What kinds of applications is Ajax best suited for?
Ans. I don’t know yet. Because this is a relatively new approach, my understanding of where Ajax can best be applied is still in its infancy. Sometimes the traditional web application model is the most appropriate solution to a problem.

07. Does this mean Adaptive Path is anti-Flash?
Ans. Not at all. Macromedia is an Adaptive Path client. As Ajax matures, I expect that sometimes Ajax will be the better solution to a particular problem, and sometimes Flash will be the better solution. I’m also interested in exploring ways the technologies can be mixed (as in the case of Flickr, which uses both).

08. Does Ajax have significant accessibility or browser compatibility limitations? Do Ajax applications break the back button? Is Ajax compatible with REST? Are there security considerations with Ajax development? Can Ajax applications be made to work for users who have JavaScript turned off?
Ans. The answer to all of these questions is "maybe". Many developers are already working on ways to address these concerns. I think there’s more work to be done to determine all the limitations of Ajax, and I expect the Ajax development community to uncover more issues like these along the way.

09. Some of the Google examples you cite don’t use XML at all. Do I have to use XML and/or XSLT in an Ajax application?
Ans. No. XML is the most fully-developed means of getting data in and out of an Ajax client, but there’s no reason you couldn’t accomplish the same effects using a technology like JavaScript Object Notation or any similar means of structuring data for interchange.

10. Are Ajax applications easier to develop than traditional web applications?
Ans. Not necessarily. Ajax applications inevitably involve running complex JavaScript code on the client. Making that complex code efficient and bug-free is not a task to be taken lightly, and better development tools and frameworks will be needed to help us meet that challenge.

11. Do Ajax applications always deliver a better experience than traditional web applications?
Ans. Not necessarily. Ajax gives interaction designers more flexibility. However, the more power we have, the more caution we must use in exercising it. We must be careful to use Ajax to enhance the user experience of our applications, not degrade it.


These FAQs are a compilation of Mr. Pravin Kumar Dubey from below references.
We are proud to have a member like him, and thank him for keeping the blog live.


References:
  • www.ajaxian.com
  • www.ajaxreview.com
  • java.sun.com
  • www.crockford.com
  • www.informationweek.com

Introducing AJAX

This article is researched and presented to us by Mr. Pravin Kumar Dubey.


If anything about current interaction design can be called "glamorous", it’s creating Web applications. After all, when was the last time you heard someone rave about the interaction design of a product that wasn’t on the Web? (Okay, besides the iPod.) All the cool, innovative new projects are online.
Despite this, desktop applications have a richness and responsiveness that has seemed out of reach on the Web. The same simplicity that enabled the Web’s rapid proliferation also creates a gap between the experiences web application can provide and the experiences users can get from a desktop application.
That gap between the web application and the desktop application is closing. Take a look at Google Suggest. Watch the way the suggested terms update as you type, almost instantly. Now look at Google Maps zoom in. Use your cursor to grab the map and scroll around a bit. Again, everything happens almost instantly, with no waiting for pages to reload.
Google Suggest and Google Maps are two examples of a new approach to web applications that the people at Adaptive Path have been calling AJAX. The name is shorthand for Asynchronous JavaScript and XML, and it represents a fundamental shift in what’s possible on the Web.

References:

Java Web Start

Ms. Sindhu Kumari, a TechYoddha member has done some readings on this topic. Below are her summarizations.

Java Web Start, introduced in Java 2, is a framework developed by Sun Microsystems that allows running the applications for the Java Platform over the Web by clicking a link on a website, and on a desktop icon thereafter……….

Important Web Start features include:

1) The ability to automatically download and install a JRE in the case where the user does not have Java installed, and for programmers to specify which JRE version is needed to run a given program.

2) The user does not have to remain connected to the Internet to execute the downloaded programs, because they execute from a locally-maintained cache.

3) Finally, automatic updates of the software from the Web are available when the user is connected to the Internet, thus easing the burden of deployment.

This technology offers a nice compromise between the ease of distribution provided by Java applets and the power of Java applications.

Version 1.0 of Web Start was introduced by Sun in March 2001. Since J2SE version 1.4 it has been included by default with the Java Runtime Environment (JRE) and does not have to be installed separately.

JNLP is free; developers are not required to pay a license fee in order to use it in programs.


Java Web Start is similar to Click Once in the .NET framework.


From user’s point of view, this technology is amazing, coz it frees the user from downloading, installing and keeping track of latest version of the application. For him everything is happening automatically...on just a single click at a link on their web browser. But for a developer, it is quite a headache. Because web start maintains the cache of the application at some place, it renames all the resource files and keeps them all at different- different locations. And all this information is maintained by web start only. So while developing the application, a lot of care needs to be taken.

To conclude, Java Web Start is a very useful technology, if implemented carefully.

References:

http://java.sun.com/products/javawebstart/developers.html

http://en.wikipedia.org/wiki/Java_Web_Start

http://articles.techrepublic.com.com/5100-10878_11-1049931.html?tag=rbxccnbtr1

About Us....

We are a team of trained professionals from NIIT through an Industry Endorsed Curriculum 'GNIIT' which is as per the industry standards and requirements.

We have got the best skilled team members who have been the excellent performers at their training period.





Contact Us : info@techyoddha.com