Wednesday, June 04, 2014

How To Open Mobile Version Of Any Website From Desktop

When browsing the web, you must have come across some sites with a link to “switch to mobile site.” Viewing the mobile version of such sites is easy, but what if you want to view a mobile version of a site that does not offers any such link. Even though there is no such option, many sites automatically switch to mobile site when viewed from a mobile device like smartphones and tablets. Its possible to open mobile websites from your desktop browser using a desktop extension. Let’s take a look at this process in detail.

Installing User Agent Switcher Extension

If you want to view mobile websites on your desktop browser, then the most easiest way to do this is to use a browser extension.

Changing Mobile User Agent

To change your user agent on Firefox, press Alt to view the menu bar, go to Tools > Default User Agent and then select a mobile user agent as per your wish. For example; iPhone.


Alternatively, you can also add the User Agent Switcher icon to Firefox’s toolbar, by right-clicking on the toolbar, selecting Customize, and then drag and drop the User Agent icon to the Firefox’s toolbar.
Now all you need to do is to visit the site or refresh the current site that you are on. You can access the mobile website for any site that you wish to, including our ownValueWalk site. Here’s how the mobile version of Wikipedia looks like on desktop.
Once you are done, simply switch back to the “Default User Agent” by again navigating to the same location, or from its icon on the toolbar.
If you want to add more user agents, then you can do so from its options. For example; there’s no option to switch to iPad’s user agent and for that you’ll need to manually add this user agent.
You can download additional user agents by going to Tools > Default User Agent > Edit User Agent. From here, click on “Download lists of user agents to import.” From the web page, you will be able to download more user agents. You can also add a user agent string directly by clicking on “New” button.
So that’s how you can easily switch browser user agent to view the mobile site. This is very useful for testing purposes or to the view light-weight version of any site.
Tip: One more advantage of this method is that you can avoid Flash and instead view the HTML5 website, for example on YouTube, etc sites.

Evernote Tips: The 11 Amazing Features That Make Using Evernote So Freaking Awesome

3 Gmail Add-Ons You Need to Use!

Sunday, August 23, 2009

Why I am excited about Azure Platform's .Net Service Bus?

Basically, the following statement:

"...Full-duplex, connection-oriented peer-to-peer sessions with network-boundary traversal create direct end-to-end connectivity through NAT"

That's awesome... because any developer that has ever tried to create a real-time, Peer-to-Peer application, he/she knows what hell it is to penetrate firewalls specially Symmetric NATs. Click here to learn about NATs

The Service Bus enables secure, loosely-coupled connectivity between services and applications to navigate firewalls or network boundaries, using a variety of communication patterns. The Access Control service provides an enterprise-class mechanism for federated authorization across organizations and protocols.

In the same way that Microsoft® .NET Framework provides higher-level libraries to make developers more productive, .NET Services help developers focus on their application logic rather than deploying and managing their own cloud-based infrastructure."

Azure's .Net Service Bus enables developers to build applications for the cloud and offers a scalable hosted infrastructure for deploying and managing these applications and their data stores combined with a workflow engine and a security infrastructure. The Azure Service platform is the new OS for internet scaled applications.

Lower Barriers to Building Composite Applications

Using the Service Bus, an application or service can expose and access endpoints that would otherwise be hard or impossible to reach. For example, the endpoints may be located behind network address translation (NAT) boundaries or bound to frequently changing, dynamically assigned IP addresses.
  • Exposes Service Endpoints Easily

    -- Users can access a global hierarchical namespace that is DNS- and transport- independent

    -- Services can be located through a stable, Internet-accessible URL, irrespective of location.

  • Offers Multiple Connection Options

    -- One-way messaging between sender and listener supports unicast and multicast datagram distribution

    -- Full-duplex connection-oriented sessions between sender and listener support bi-directional communication

    --  Full-duplex, connection-oriented peer-to-peer sessions with network-boundary traversal create direct end-to-end connectivity through NAT

  • Supports Publish and Subscribe for Multicasting

    The simple publish/subscribe model lets multiple publishers and multiple subscribers simultaneously use the service’s topic management and event distribution system.

Learn more:

WCF Hosting

Windows Communication Foundation (WCF) Services can be hosted with Internet Information Services (IIS); with the new Windows Activation Service (WAS) installed with IIS 7.0; or with any managed application process including console, Windows Forms, Windows Presentation Foundation (WPF), or managed Windows service applications.

Selecting the right hosting environment for your services is a choice driven largely by deployment requirements related to transport protocol and operating platform.

A summary of hosting options and supported features:

Feature Self-Hosting IIS Hosting WAS Hosting
Executable Process/ App Domain Yes Yes Yes
Configuration App.config Web.config Web.config
Activation Manual at startup Message-based Message-based
Idle-Time Management No Yes Yes
Health Monitoring No Yes Yes
Process Recycling No Yes Yes
Management Tools No Yes Yes

A summary of hosting options based on operating platform and communication protocol:

Operating Platform Protocol Hosting Options
Windows XP/SP2 HTTP IIS 5.1 or self-host
Named Pipes, TCP, MSMQ Self-host
Windows Vista HTTP, Named Pipes, TCP, MSMQ WAS or self-host
Windows Server 2003 HTTP IIS 6.0
Named Pipes, TCP, MSMQ Self-host
Windows Longhorn Server HTTP, Named Pipes, TCP, MSMQ IIS 7.0/WAS or self-host

Memories of our band: Tatva - The Element

I was going through some Audio CDs while cleaning my office and stumbled upon a CD from our Band - Tatva - The Element.

Tatva's music can be described as: "rustic Indian folk transposed into western, popular rock rythms..."

Check out our music and please let us know what you think about it.

Facebook and Flex: Rock On!!!

I've been incredibly motivated and enthusiastic about Flex since I first started working with it back in early 2007. I have created Flex based interfaces for desktop apps (C++ container) and medium and large web-based apps. I have always loved Flex for the ease of use and the power it gives to developers.

Flex is, hands down, the best RIA technology available today. Flex is fast becoming the primary technology for building Rich Internet Applications.

Facebook, on the other hand, is the best, most powerful and the fastest growing social networking platform. The real power of facebook is not because of "social" (there's LinkedIn and other websites for that!)... the power is in the "platform". If you don't agree with me, just look at what Apple did with its Application platform! It's making much more money after it opened its platform to developers. Facebook would be nothing but a better and clearner looking LinkedIn, if it wasn't for the applicaiton platform.

Most of my friends use Facebook for the applications. They probably spend 10-20% of their time managing their profile and friends (social graph) and the rest on apps like iLike, Zombies, Mafia War etc etc. Good or bad, these apps have an audience - A global, over 200 million large audience. So, if you have an apps, that costs, say $1, and appeals to only 1% of the audience - you have the potential to make $2 million!!!! THAT'S THE REAL POWER!!!!!

Facebook's Ad Platform is not as good as Google's AdSense, but that is another area that can generate a lot of money for not just Facebook, but the application developers. Under Facebook's COO, Sheryl Sandberg's guidance that will likely change. Check out this Forbes article.

So, if you combine the best RIA technology (FLEX) with the best Social, Application platform (FACEBOOK), you can make a killing!!! You can deliver rich, social experiences on the web.

This is what Adobe Developer Connection website has to say:

The Adobe Flash Platform and Facebook Platform provide the ideal solution for building rich, social experiences on the web. Flash is available on more than 98% of Internet-connected PCs, so people can immediately access the applications, content, and video that enable social interactions. The Facebook Platform is used by millions of people everyday to connect and share with the people in their lives. Together, both platforms allow you to:

  • Share: Create rich interactions for users to share with friends.
  • Have fun: Make games social; let users compete against their friends.
  • Connect: Let users connect to your RIAs with Facebook Connect.
  • Solve problems: Build RIAs that harness the power of community.
  • Reach people: Reach millions of Facebook users through social distribution.

The new ActionScript 3.0 Client Library for Facebook Platform API, fully supported by Facebook and Adobe, makes it easy to build applications that combine the strengths of the Flash Platform and Facebook Platform.

I am back...

I am back to my personal blog after a long break. While I was away, I got married, switched jobs and started some new projects. I'm excited to be back to my personal blog.

Monday, March 02, 2009

Know your Customer :)

A disappointed salesman of Coca Cola returns from his Middle East assignment. A friend asked, "Why weren't you successful with the Arabs?" 

The salesman explained, "When I got posted in the Middle East, I was very confident that I would make a good sales pitch as Cola is virtually unknown there. But, I had a problem I didn't know to speak Arabic. So, I planned to convey the message through three posters... 

First poster 
- A man lying in the hot desert sand...totally exhausted and fainting.

Second poster - man is drinking our Cola.

Third poster- Our man is now totally refreshed.

Then these posters were pasted all over the place

"That should have worked," said the friend.




The salesman replied "I also didn't realize that Arabs read from right to left"

Develop Web services clients with Macromedia Flex

Flex the power of Web services by learning how to easily leverage them within a Rich Internet Application (RIA) using Macromedia Flex for a more complex, engaging, and interactive client-side experience. RIAs are an evolution of the traditional Web page based model for Web applications. A big part of the attraction in using Flex for RIA development is the speed and ease with which you can leverage Web services in your applications. The authors walk you through several examples and simplify how sometimes confusing WSDL constructs map to Flex declarations.

Selecting the Right Flex Application Framework

So you’ve decided to use Flex for your web application development. It’s easy to follow the online tutorials and prototype an application, but deciding on an application framework for your major production Flex application is more difficult. The Flex community is divided between Adobe’s Cairngorm and Cliff Hall’s PureMVC, with strong arguments from both sides. However, your answer may just lie in the “it depends” space.

This post aims to help you make that decision. It includes analysis of CairngormPureMVC, and the new kid on the block, asfusion’s Mate.


Cairngorm (pronounced \kern-gorm\) is a lightweight micro-architecture for Rich Internet Applications for Flex or AIR applications. It is not only a framework, but also an approach to organizing and packaging code, components, and a method to achieve separation of concerns (i.e. model-view-controller).

Compared to other frameworks, Cairngorm requires the most components, but it is the most straightforward.

Cairngorm Framework
Figure 1 Cairngorm Framework

  • Advocated by Adobe Consulting and is part of the Adobe Engagement Platform.
  • Broadest adoption for a Flex MVC framework, making it the de facto standard for Flex developers
  • Well-documented with great tutorials.
  • Designed expressly for Flex and thus, takes advantage of Flex features.
  • Simple, straightforward MVC framework
  • Tightly couples the MVC layers.
  • Components can either be too large or too many, resulting in the application becoming too unwieldy from the development and maintenance perspective.

Tips and Tricks

  • Use packaging, sub-classing, or helper classes to prevent unwieldy model locators and controllers.
  • Use Adobe Consulting’s Observe Utility to prevent tight coupling between the view and the model locator.
  • Minimize direct references to the model locator from the view, by passing data references between parent and child components.

Recommended When:

  • The team and/or the organization are new to application development, ActionScript and/or Flex. It is good for new Flex developers to learn Cairngorm before other frameworks first. Management will also be more comfortable with an Adobe-backed framework.
  • You need a quick prototype.


PureMVC is also a lightweight framework for creating applications based on the classic MVC concept. PureMVC is not specific to Adobe Flex and is being ported to other languages. Many Flex developers consider the framework to be the best Flex framework out there, but accept that it does not take advantage of Flex features.

PureMVC Framework
Figure 2 PureMVC Framework

  • Provides flexibility to easily support complex workflows, e.g. command chaining.
  • Promotes code reuse.
  • Cleaner architecture and implementation, i.e. layers are more loosely coupled.
  • Well-documented, but not many tutorials.
  • Not designed expressly for Flex, and thus, has been criticized for not taking advantage of basic Flex features, such as data binding.

Tips and Tricks

  • Since the framework is language-agnostic, it cannot rely on data binding innately. But this doesn’t mean binding can’t be implemented in PureMVC Flex applications. Use the mediator to bind the data from the proxy to the view component.
  • Use a proxy for a service locator.
  • Reuse mediators for multiple view components.

Recommended When:

  • The application has complex logic and/or repeated logic.
  • If you need an MVC framework that cuts across the different languages of your application, e.g. Java and Flex. However, some of the PureMVC language ports are still in alpha.


Mate (pronounced \mah-teh\) is the newest Flex application framework. It is also designed expressly for Flex. Its main differentiator from Cairngorm is that it uses dependency injection to hook the event handlers to controller entities and view properties to the data model (via injectors). Thus, it requires the least number of components of all of the frameworks.

Mate Framework
Figure 3 Mate Framework

  • Provides flexibility to easily support complex workflows, e.g. method invoker chaining.
  • View can be simple and uncluttered, i.e. injectors can enable the view to not even reference Mate components, except for within the application MXML.
  • Promotes code reuse, e.g. invoked or referenced custom entities do not need to extend any base classes or interfaces.
  • Well-documented, including tutorials, examples and best practices.
  • Nullifies the power of AS3 compile-time type checking with the EventMap MXML.

Tips and Tricks

  • Flex events thrown must have its bubbling setting set to true.
  • Use multiple event maps to break down event type concerns.
  • Take special care in structuring and designing the controller entities.

Recommended When:

  • You need a really quick prototype.
  • The application has complex logic and/or repeated logic.
  • Your team has designers or component developers, not responsible for integrating the UI with the business services.
  • You have an existing Flex application that needs a framework refresh. You can quickly reuse the AS classes that have already been created and string them up using the event maps.


  • Slide is Peter Joel’s work in progress. It has been released, but there is still a lot of work being done on it, and thus, little documentation is available. Its concept of view states by URIs and acknowledgement of data and navigation to drive view states is interesting though.
  • ARP (Ariaware RIA Platform) is Aral Balkan’s effort, borne from Flash 5. Its latest version finally supports Flex. It’s very similar to the Cairngorm framework with the inclusion of base classes for commands, controllers and forms. It also makes a distinction between system and view events. However, it doesn’t present a strong compelling differentiation from the Cairngorm framework, but seems to be a viable solution as well.
  • Foundry is another application framework, built for ActionScript and based on the MVC pattern, by Servebox. It is also very similar to Cairngorm, but heavily advocates the use of view helpers. Like ARP, the framework doesn’t provide a strong differentiation from Cairngorm, but seems to also be a simple, viable framework to use.
  • Guasax is a Flex application framework, but is not based on the MVC pattern. Like Struts, it uses configuration files to set up actions invoking business objects and setting up interceptors for those actions. At first blush, the framework seemed too complex, and examples online are not commented in English.
  • Flest is a Flex application framework that uses model, view, and controller components, but does not claim to be an MVC framework. The suggested use of the provided components is to tightly couple them within the application (e.g. commands are closures to the controller). Thus, it didn’t appear to be an ideal framework in easing maintenance of the application.
  • MVCS is an architectural blueprint for Flex applications, based on the MVC pattern. Joe Berkovitz’s article on Adobe Developer Connection is definitely worth the read. The concepts in the article are helpful when designing your application. But MVCS is not packaged as a reusable framework.