Thursday, 7 April 2011

Top 5 best selling Android Phones in 2010

And finally we built the list of world best selling Android phones of 2010. Android is the world most stylish phone so far. There are many reasons why Android phone is first choice. Some of them are Usability, Flexibility, One Button vs Many, Customizations, App Integration, Notifications, Multitasking, Cloud, Search, Flash Player etc. Android Operating system footing the cell phone companies like Samsung, Motorola and Nokia to plane new Android phones for next generation. We are making easy for customer to choose top best selling Android phone which are currently available in the market. Lets compere top 5 best selling Android phones of 2010.
You may Free Download Android, iPhone and Blackberry apps.
List of top 5 best Android phones of 2010
htc-hero-top-android
HTC Hero:

HTC hero is one of the best selling Android phone of 2010 with such a stunning features. HTC sense interface is one of the best Android interface. HTC hero boost 3.2 inch capacitive touchscreen with Teflon coated body. This great touchscreen support multi-touch gestures. You can use two fingers to zoom in and out on web page, photographs just like Palm pre and iPhone 3GS.
motorola-droid-top-android
Motorola Droid:

Motorola Droid is struggling very hard to boost up their Droid market. Recently Motorola get the tittle of world thinnest phone with slide out QWERTY keyboard. This thinnest phone loaded a high screen resolution of 3.7 inch touch screen. Motorola Droid is most popular Android company in U.S.
google-nexus-one
Google Nexus One:
Nexus One is the fastest Android phone of the world running on Android OS 2.1 with boasting 800×480 pixel screen resolution. Some of the great features of Nexus One which edge over other Androids are 1 GHz processor, 3-D graphics accelerator and HD video support.
samsung-moment-top-android
Samsung Moment:
The full keyboard and bright display gave this phone the specs that you cannot easily ignore. The phone lacks the extra features of the Motorola CLIQ and HTC Hero on Sprint, but with some research and digging through the Android App Market, you can find almost all the missing features, often for free.
motorola-backflip-top-android
Motorola Backflip:
This unique Android model from Motorola hit the AT&T mobile this spring. Motorola Backflip attract the customers who are tired from Apple iPhone that never changing look. Some of the cool features of Motorola Backflip are 3.1 inch touchscreen with 480×320 pixels.

Texas Instruments 20 Megapixel camera phone technology

New OMAP-DM5x coprocessors from Texas Instruments bring 20 megapixel imaging and 720p high-definition camcorder capabilities to mobile phones. Further addressing consumer expectations for mobile phones that deliver performance equivalent to stand-alone consumer devices, Texas Instruments Incorporated announced two new members of its OMAP-DM5x family of coprocessors, which deliver the industry's highest megapixel capability, with up to 20 Megapixel still imaging capabilities, as well as 720p high-definition (HD) camcorder functionality. With this new technology, manufactures are able to produce 20 Megapixel camera phones.

20 Megapixel camera phone

20 Megapixel camera phone technology
The Texas Instruments OMAP-DM515 and OMAP-DM525 coprocessors accelerate imaging and video performance, giving handset manufacturers an easy way to upgrade existing camera phone designs to get to market quickly with cutting-edge multimedia capabilities.

Tuesday, 5 April 2011

YouTube co-founders may team on new start-up


Chad Hurley greets audience members at the Cooper-Hewitt National Design Museum last night.
(Credit: Greg Sandoval/CNET)
NEW YORK--YouTube co-founders Chad Hurley and Steve Chen are considering ideas for a new start-up.
Six years after the pair and Jawed Karim founded the phenomenon video-sharing site, Hurley and Chen are "dabbling with new ideas" for a start-up, Hurley said last night during a discussion he participated in at the Cooper-Hewitt National Design Museum in Manhattan.
Asked by a member of the audience what the two might be planning, Hurley, 34, was naturally secretive but said they're looking at what might be done with the "basic components that every Web site needs to get off the ground." Another idea he said he has toyed with for some time has to do with indexing videos.
Silicon Valley venture capitalists are probably reaching for their checkbooks. YouTube is one of the Valley's best-known success stories. The service has become rooted in our culture. Once dismissed by critics as a place for funny pet videos, YouTube is now a video archive, teaching tool, digital soap box where politicians go to stump, a means to expose criminals and police wrongdoing, a popular jukebox, and a vital news source for people all over the world.
In October 2006, Google acquired YouTube for $1.65 billion. Hurley, who reportedly pocketed more than $340 million from the sale, was YouTube's CEO up until last fall, when he moved into an advisory role. Salar Kamangar, a former Google vice president of Web applications, is now YouTube's chief.
Hurley was at Cooper-Hewitt to discuss design, which he studied in college. He designed YouTube's original logo as well as the logo his first employer, PayPal, used for many years. He also designs wallets, shirts, and jackets for Hlaska, a fashion company he co-founded.
If he and Chen start another company together, he'll probably do that logo too and you can bet it will be simple, free of pretense, and accessible to anyone.
"That's what I like about Google and Craigslist," Hurley said. "Your product has to say that anyone can be part of it."

Monday, 4 April 2011

What is the difference between managed and unmanaged code?

  • Managed Code

    Managed code is code that is written to target the services of the managed runtime execution environment (like Common Language Runtime in .NET Framework). The managed code is always executed by a managed runtime execution environment rather than the operating system directly. Managed refers to a method of exchanging information between the program and the runtime environment. Because the execution of code is governed by the runtime environment, the environment can guarantee what the code is going to do and provide the necessary security checks before executing any piece of code. Because of the same reason the managed code also gets different services from the runtime environment like Garbage Collection, type checking, exception handling, bounds checking, etc. This way managed code does not have to worry about memory allocations, type safety, etc. Applications written in Java, C#, VB.NET, etc target a runtime environment which manages the execution and the code written using these types of languages is known as Managed Code. Managed code is always compiled into an Intermediate Language (MSIL in case of .NET Framework). The compiler used by .NET framework to compile managed code compiles it into Intermediate Language and generates the necessary metadata, symbolic information that describes all of the entry points and the constructs exposed in the Intermediate Language (e.g., methods, properties) and their characteristics. The Common Language Infrastructure (CLI) Standard describes how the information is to be encoded, and programming languages that target the runtime emit the correct encoding.

    In .NET Framework Managed Code runs within the .Net Framework’s CLR and benefits from the services provided by the CLR. When we compile the managed code, the code gets compiled to an intermediate language (MSIL) and an executable is created. When a user runs the executable the Just In Time Compiler of CLR compiles the intermediate language into native code specific to the underlying architecture. Since this translation happens by the managed execution environment (CLR), the managed execution environment can make guarantees about what the code is going to do, because it can actually reason about it. It can insert traps and sort of protection around, if it's running in a sandboxed environment, it can insert all the appropriate garbage collection hooks, exception handling, type safety, array bounce, index checking and so forth.

    Managed code also provides platform independence. As the managed code is first compiled to intermediate language, the CLR’s JIT Compiler takes care of compiling this intermediate language into the architecture specific instructions.



  • Unmanaged Code

    Code that is directly executed by the Operating System is known as un-managed code. Typically applications written in VB 6.0, C++, C, etc are all examples of unmanaged code. Unmanaged code typically targets the processor architecture and is always dependent on the computer architecture. Unmanaged code is always compiled to target a specific architecture and will only run on the intended platform. This means that if you want to run the same code on different architecture then you will have to recompile the code using that particular architecture. Unmanaged code is always compiled to the native code which is architecture specific. When we compile unmanaged code it gets compiled into a binary X86 image. And this image always depends on the platform on which the code was compiled and cannot be executed on the other platforms that are different that the one on which the code was compiled. Unmanaged code does not get any services from the managed execution environment.

    In unmanaged code the memory allocation, type safety, security, etc needs to be taken care of by the developer. This makes unmanaged code prone to memory leaks like buffer overruns and pointer overrides and so forth.

    Unmanaged executable files are basically a binary image, x86 code, loaded into memory. The program counter gets put there and that’s the last the Operating System knows. There are protections in place around memory management and port I/O and so forth, but the system doesn’t actually know what the application is doing.

Differences between ASP.NET and ASP

Process Isolation
ASP is run under the inetinfo.exe(IIS) process space and hence susceptible to application crashes as a result the IIS needs to be stopped or restarted. ASP is related to the process isolation setting in IIS. But, ASP.Net
The ASP.NET worker process is a distinct worker process, aspnet_wp.exe, separate from inetinfo.exe ( IIS process), and the process model in ASP.NET is unrelated to process isolation settings in IIS.
Note :- IIS is still the entry point to a ASP.NET application

Non-MS Platform Support

Classical ASP had no mechanism of running itself on non- Microsoft technology platforms like the 'The Apache Web Server'
But, ASP.NET
ASP.NET could be run on non-Microsoft Platforms also. Cassini is a sample Web server produced by Microsoft which, among other projects, has been used to host ASP.NET with Apache.

Multi Language Support in WebPage


In ASP only two languages were available for scripting VBScript and Jscript/Javascript. But in ASP.NET We are no longer constrained to the two scripting languages available in traditional ASP: Any fully compliant .NET language can now be used with ASP.NET, including C# and VB.NET.

Note :- (C# and VB.Net are both server Side languages.)

Interpretation Vs Compilation

In ASP, ASP engine executes server-side code, which is always through an interpreter (JScript or VBScript). When a traditional ASP page is requested, the text of that page is parsed linearly. All content that is not server-side script is rendered as is back to the response. All server-side script in the page is first run through the appropriate interpreter (JScript or VBScript), the output of which is then rendered back to the response. This architecture affects the efficiency of page rendering in several ways. First, interpreting the server-side script on the fly.As a side effect, one common optimization for ASP applications is to
move a lot of server-side script into precompiled COM components to improve response times. A second efficiency concern is that intermingling server-side evaluation blocks with static HTML is less efficient than evaluating a single server-side script block, because the interpreter has to be invoked over and over again. Thus, to improve efficiency of rendering, many ASP developers resort to large blocks of server-side script, replacing static HTML elements with Response.Write() invocations instead. Finally, this ASP model actually allows different blocks of script within a page to be written in different script languages. While this may be appealing in some ways, it also degrades performance by requiring that a particular page load both scripting engines to
process a request, which takes more time and memory than using just one language. But in ASP.NET, In contrast, ASP.NET pages are always compiled into .NET classes housed within assemblies. This class includes all of the server-side code and the static HTML, so once a page is accessed for the first time (or any page within a particular directory is accessed), subsequent rendering of that page is serviced by executing compiled code. This eliminates all the inefficiencies of the scripting model of traditional ASP. There is no longer any performance difference between compiled components and server-side code embedded within a page they are now both compiled components. There is also no performance difference between interspersing server-side code blocks among static HTML elements, and writing large blocks of server-side code and using
Response.Write() for static HTML content. Also, because the .aspx file is parsed into a single code file and compiled, it is not possible to use multiple server-side languages within a single .aspx file.
Debugging benefits
In classic ASP it was very difficult for us to debug the application. ASP developers had time to debug application due to limited support due to the interpreted model.
But in ASP.NET In addition to improved performance over the interpreted model, pages that are compiled into classes can be debugged using the same debugging tools available to desktop applications or component developers. Errors with pages are generated as compiler errors, and there is a good chance that most errors will be found at compilation time instead of runtime, because VB.NET and C# are both strongly typed languages. Plus, all the tools available to the .NET developer are applicable to the .aspx developer.
Server-Side code placement Web Page 
class=docText>Especially if you are using ASP pages it is possible to include executable code outside the scope of a function within a script block marked as runat=server, and , it is possible to define a function within a pair of server-side script tags.
But in ASP.NET, In ASP.NET it is no longer possible to include executable code outside the scope of a function within a script block marked as runat=server, and conversely, it is no longer possible to define a function within a pair of server-side script tags.


    Note also that the generated class definition provides a default constructor for you, and if you try to define your own default constructor within your page, it will cause a compiler error. This can be somewhat frustrating if you are trying to properly initialize elements of your class (such as filling up our array of values or subscribing to events). Fortunately, an alternative technique gives you more complete control over the class definition while separating the layout from the page logic. This technique is called code-behind.

Deployment Strategies
In traditional ASP applications, components used by pages and deployed in this fashion were notoriously difficult to update or replace. Whenever the application was up and running, it held a reference to the component file so to replace that file, you had to shut down IIS (temporarily taking your Web server offline), replace the file, and restart IIS.
But in ASP.NET, The goals of ASP.NET was to eliminate the need to stop the running Web application whenever components of that application need to be updated or replaced that is, updating an application should be as simple as using xcopy to replace the components on the Web server with the new updated versions. To achieve this xcopy deployment capability, the designers of ASP.NET had to ensure two things: first, that the running application not hold a reference to the component file and second, that whenever the component file was replaced with a new version, that new version was picked up with any subsequent requests made to the application. Both of these goals are achieved by using the shadow copy mechanism provided by the Common Language Runtime (CLR).
Shadow copying of assemblies is something you can configure when you create a new application domain in .NET. The AppDomainSetup class (used to initialize an AppDomain) exposes a Boolean property called ShadowCopyFiles and a string property called CachePath, and the AppDomain class exposes a method called SetShadowCopyPath() to enable shadow copying for a particular application domain. The Boolean property turns the mechanism on for a particular application domain, the CachePath specifies the base directory where the shadowed copies should be placed, and the SetShadowCopyPath() method specifies which directories should have shadow copying enabled.
ASP.NET creates a distinct application domain for each application it hosts in its worker process and for each application domain, it enables shadow copying of all assemblies referenced in the /bin directory. Instead of loading assemblies directly from the /bin directory, the assembly loader physically copies the referenced assembly to a separate directory (also indicated in the configuration settings for that application domain) and loads it from there. This mechanism also keeps track of where the assembly came from, so if a new version of that assembly is ever placed in the original /bin directory, it will be recopied into the Noteshadow" directory and newly referenced from there.
In addition to shadow copying of assemblies, ASP.NET needs the ability to create and load assemblies on the fly. The first time an .aspx page is referenced, as we have seen, it is compiled into an assembly and loaded by ASP.NET. What we haven't seen is where those assemblies are located once they are compiled. Application domains also support the concept of a "dynamic directory" specified through the DynamicBase property of the AppDomainSetup class, which is a directory designed for dynamically generated assemblies that can then be referenced by the assembly loader. ASP.NET sets the dynamic directory of each application it houses to a subdirectory under the system Temporary ASP.NET Files directory with the name of the virtual directory of that application.
One consequence of both dynamic assembly generation and shadow copying is that many assemblies are copied during the lifetime of an ASP.NET application. The assemblies that are no longer being referenced should be cleaned up so that disk space usage doesn't become a limiting factor in application growth. In ASP.NET shadow copied assemblies are removed as soon as possible after a new version of that assembly is copied, and dynamically generated assemblies that are no longer used are cleaned up the next time the ASP.NET worker process is bounced and the particular application associated with the dynamic assemblies is run again. In general, this means that you shouldn't have to worry about unused assemblies generated by ASP.NET wasting space on your machine for very long.

New Page Directives
In ASP you must place all directives on the first line of a page within the same delimiting block. For example:
<%LANGUAGE="VBSCRIPT" CODEPAGE="932"%>

But in ASP.NET, you are now required to place the Language directive with a Page directive, as follows:
<%@Page Language="VB" CodePage="932"%> <%@QutputCache Duration="60" VaryByParam="none" %>

You can have as many lines of directives as you need. Directives may be located anywhere in your .apsx file but standard practice is to place them at the beginning of the file. Several new directives have been added in ASP.NET. I encourage you to look these up in the ASP.NET documentation to see how they may benefit your application.


Threading Issues
The threading model of COM object created using VB within a web-based application is STA. ASP worker thread resides in its own STA and hence the compatability is fine in this case with a little performance hit.
But in ASP.NET, The ASP.NET threading model is the Multiple Threaded Apartment (MTA). What this means is that components that you are using that were created for the Single Threaded Apartment (STA) will no longer perform or function reliably without taking some extra precautions in ASP.NET. This includes, but is not limited to, all COM components that have been created using Visual Basic 6.0 and earlier versions. You will be glad to hear that you can still use these STA components without having to change any code. What you need to do is include the compatibility attribute aspcompat=true in a <%@Page> tag on the ASP.NET page. For example, <%@Page aspcompat=true Language=VB%>. Using this attribute will force your page to execute in STA mode, thus ensuring your component will continue to function correctly. If you attempt to use an STA component without specifying this tag, the run time will throw an exception. Setting this attribute to true will also allow your page to call COM+ 1.0 components that require access to the unmanaged ASP built-in objects. These are accessible via the ObjectContext object. If you set this tag to true, your performance will degrade slightly. I suggest doing this only if you absolutely need to.

Validation & Browser scripting capabilities
  • ASP has no inbuilt facility for Validation of controls.i.e, checking whether a textbox is left blank or not or a combo is selected or not or if a phone number does not fit a particular pattern for a area and many such examples.
  • The user had to write the client side Javascript code for all these kind of validations.
  • Client and server side validation both were the headache of the of the developer.
  • Javascript code to fit a particular Browser was also the developer's burden. He had to write specific code so that it could fit a set of browsers. It took lot of the developers time.
But in ASP.NET, In built validation controls are provided which are as easy to implement and the developer has to worry the least.
The features provided by ASP.NET validation controls is :-
  • Browser Independent coding :- Developer does not have to worry about the browser how the controls would render to.
  • Client-Side or Server-Side :- The Validation Controls manage the code checking if the client side code is disabled the validation is done on the server side.

Rich Validation set :- There are 6 types of validation which cater to the needs of the validation requirements:
  • RequiredFieldValidation Control - Requires that the control not be left blank.
  • CompareValidator Control - Used to compare Data in Two Controls
  • RangeValidator Control - Used to check for Range validation.(also supports various data Type - Date , string etc..)
  • RegularExpressionValidator Control - Used to check the complicated patterns in the user input.
  • CustomValidator Control- The final control we have included in ASP.NET is one that adds great flexibility to our validation abilities. We have a custom validator where we get to write out own functions and pass the control value to this function.
This control also provides Client side and server side validation of which the Server side validation could be a different function altogether.
  • Validation Summary - The validation summary control will collect all the error messages of all the non-valid controls and put them in a tidy list. The list can be either shown on the web page (as shown in the example above) or with a popup box