Saturday, July 2

Interesting feautures of Firefox5

Recently released Firefox5 has some very useful, amazing and cool features. Lets take a sneak peak at some of them below:

APP TABS: 
App Tabs allow you to pin any website to the left side of the tab bar so that it's always available. This is particularly useful for popular sites like gmail, facebook which keep on updating every few secs and keep notifying us.

How to make an App Tab?
Right-click on the tab you want to turn into an App Tab and select Pin as App Tab from the menu.
Similarly if  you Wanna remove it , just right click on AppTab and select UnPin Tab from the menu.

Advantages of  AppTabs:
  • App Tabs don't have a close button so you can't accidentally close them.
  • App Tabs notify you with a blue highlight when they change.If you have Gmail set as an App Tab, for example, and you are using a different tab when a new email  is received, your Gmail tab will glow.
  • All of the App Tabs you have set when you close Firefox will open as App Tabs when you start Firefox again.
  • Links to other websites open in a new tab so that your App Tab doesn't change.Many web apps, like Facebook, already do this but an App Tab will make this happen even when the website isn't set to do it.

TAB GROUPS:
Tab Groups (also known as Panorama) are an easy way to organize a lot of tabs. With Tab Groups you can visually group related tabs, switch between groups and quickly search through all of your tabs.


How to create a Tab Groups
Enter the Tab Groups view by clicking the List All Tabs button at the far right side of the tab strip and selecting Tab Groups.  Or can use  keyboard shortcuts: Ctrl + Shift+E.
When you enter the Tab Groups view for the first time, you'll see thumbnail previews of all of your tabs in one group. To make a new group, simply drag one tab out of the group and then drag a second one on top of it. A box will be drawn around them.

When you are done, just click on a tab to exit the view. You will be returned to Firefox, the tab you clicked on will be active and only the tabs in that group will be visible.


If you wanna switch between tabs, just Click the Tab Group button at the far right side of the tab strip(or  Ctrl + Shift + E), and then Click on a tab in the group you want to switch to and you'll exit the view and be returned to Firefox. The tab you clicked on will be active and only the tabs in that group will be visible.

If you wanna search for a particular tab group, just do Ctrl + Shift + E  and  start typing the name of the tab group, the tabs that match your search will be highlighted. Just click on a tab to select it and be returned to Firefox.


Resizing Tab Groups – Click and drag the resize handle at the bottom-right corner of a group to make it bigger or smaller. As you resize the group the tabs will get bigger and smaller accordingly.

Rearranging Tab Groups – Click and drag on an empty area along the sides or bottom of a group to move it around the screen. 

Naming Tab Groups – Click next to the pencil icon at the top of a group and type in a name for it. Then just hit Enter or click on some other area of the window. 

Closing Tab Groups – Each tab group has a close button in the upper-right corner. Clicking it will close that group and all of its tabs.

App Tabs in Tab Groups
When you are using App Tabs with Tab Groups, they will be represented by their site's icon on the right side of each tab group.

AWESOME BAR
Get to your favorite sites quickly – even if you don’t remember the URLs. Type your term into the location bar (aka the Awesome Bar) and the autocomplete function will include possible matches from your browsing history, bookmarked sites and open tabs.
The Awesome Bar learns as you use it—over time, it adapts to your preferences and offers better-fitting matches. We’ve tweaked it to give you greater control over the results (including privacy settings) and increased performance so you find what you need even faster.

STAY IN SYNC
Sync seamlessly connects your desktop and mobile Firefoxes, so you can access your browsing history, passwords, bookmarks and even open tabs no matter which device you use. Access years of desktop browsing the first day you fire up your mobile, and use saved passwords from your desktop to fill out forms on your phone.
Now you can surf the Web on your desktop, get up in the middle of browsing and have your open tabs ready and waiting on your mobile, just as you left them.




For more details on how to use sync feature, check out here

It has many more amazing features  such as:
  • High performance
  • Advanced security 
  • Improved interface
  • powerful personalization

More on these features can be found at firefox site

Wednesday, June 8

Best way to learn a new technology on your own

When you start learning a new technology,you might get lot questions and there might be lot of uncertainty about many things such as
Where to start?
How to proceed ahead?
what are the things you should do right?
what you should not do?
Here are my thoughts on it.

Identifying the right book/material
Collect the required materials/books. Go through the chapter which attempts to give an overview of that technology from those materilas/books. This will give you a fair idea on which book you could understand easily, stick to that book till you get a little grip on the technology.

Software installation
Get the required softwares for learning the technology. While installing the softwares, maintain an excel sheet to keep track of the issues you have faced during installation. this will help you a lot in the longer run when you are trying to replicate the setup elsewhere, this would b your troubleshooting guide.

Prepare a feasible Plan for learning
Once you have the required softwares, make a plan as to how u can go ahead with the learning process. Always remember 'Rome is not built in one day". Learning a new technology needs a fair amount of productive time. Dont expect wonders to happen in day, dont be over anxious. be patient and dedicated towards the task.

Analise, how many hours in a day you can dedicate towards this learning. Out of this time, keep some time for reading and some time for practicing what you have learnt. Espeacially, learning technical things; say for example a programming language, the more you practice the deeper it gets into ur mind, the more chances you will remember in the longer run. So plan your time accordingly. Initially, you need to have more time to read to get a hang on the subject, dont be hesitant to spend few more hours on reading. once you have got the basic understanding, start practicing. The key here is to practice/implement what you have understood.

Maintain a Troubleshooting Doc
When you are trying to learn a new technology, you can be sure that you will come across many errors or exceptions in a programmatic terms. Again, maintian an excel sheet with the exceptions/errors you have faced and what you have done to resolve them.
The sheet should contain the following details:
Type of exception/error
what caused this exception,
The resolution
If you maintain this, this becomes your treasure chest which will save lot of your time later on. Initially you would have spent few mins/hrs to resolve a particular error to find a solution for a particular problem/exception. If you encounter the same error again later on, u don't have to waste the same amount of time again if you have maintained it in a doc/xl sheet.

Implement the concepts
One you have understood the concepts in the new technology, best way is to start applying them or implementing them through examples. You will gain confidence by this practical application of the concepts into concrete programs.

Dont indulge in too many things at a time
Its often, people become more ambitious and put their foot in many things simultaneously and try to learn so many things at time. This is not a good idea because, it not only leads to confusion but also wont let a single thing you are learning to sink in. You wont be able to concentrate on anything properly.

Join the technology Forums
Join the respective technical forums. Now a days for almost all the fields/technologies you have forums where in experts in that field are very eager to help you with the problems you have faced, or to guide you in your learning process. So register in the forums and be active in reading what the members are posting. This helps you/ gives you an idea of what kind of errors you can get, whats the latest happenings in that technology, what kind of people are working on that technology.

Google to see the real-time application of this technology
Once, you have learnt fair amount of the technology, do a bit of google search to find out what real-time applications developed using that technology. you will get to know the different functional domains this technology is being used, the challenges involved in applying this technology in those domains.

Orient yourself in applying the concepts where ever possible
Refer more books to get the broader n wide range of knowledge on the same subject. Always be active and keep thinking in the perspective of where this concepts you have learnt could be used ex:- in your day to day work.

Friday, March 11

Webdevelopment made simple and easy?!

The greatest challenge that today's Web-designing/development facing is the cross browser compatibility. i.e. the Cascading style sheets(CSS), javascript which are used extensively in web development may not work as expected in all the different browsers. To overcome this problem, one has to develop different CSS, javascript specific to each browser, which is a very tedious job. With the dawn of web2.0, Ajax, there is a demand to develop websites which are simple, more user-friendly, and which give rich user experience. In this case, the cross browser compatibility becomes a major setback in modern web designing.

To address this problem, there two very good technologies available in the industry. Google's GWT framework, and Adobe's Flex. GWT uses the Java language, and flex uses actionScript which is almost similar to java. Especially for java developers, adapting to these two technologies becomes a cakewalk!

Google Web Toolkit(GWT)

Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. Its goal is to enable productive development of high-performance web applications without the developer having to be an expert in browser quirks, XMLHttpRequest, and JavaScript. It uses the java language for developing the code. Once the Java code is finished, the GWT compiler translates the Java code into HTML and Javascript. The compiler creates browser specific HTML and JavaScript to support all the major browsers correctly. GWT supports a standard set of UI widgets, has build in support for the browser back button and a JUnit based test framework.

It saves the user from learning javascript, css and allows the java developers to easily build rich user interfaces using java.

Flex

Flex is a developer toolkit for building Rich Internet Applications. Its almost similar in principle to java applets which needs JRE plugin(Java virtual machine which executes the bytecode(.class)) to be installed in browser to run them. A Flex application runs in the Flash Player which is typically installed as a browser plug-in. A major piece of Flash Player is the ActionScript Virtual Machine that executes the Flash bytecodes(.swf) to which a Flex application is compiled.

The Flex programming model includes:

  • ActionScript - an ECMAScript-compliant, object-oriented programming language. With some syntactical differences, ActionScript looks and feels similar to Java, and supports the same object-oriented constructs: packages, classes, inheritance, interfaces, strong (but also dynamic) typing, and so on.
  • MXML - MXML is an XML markup language that you use to lay out user interface components. Like HTML, MXML provides tags that define user interfaces. MXML will seem very familiar if you have worked with HTML. However, MXML is more structured than HTML, and it provides a much richer tag set. MXML includes tags for visual components such as data grids, trees, tab navigators, accordions, and menus, as well as nonvisual components that provide web service connections, data binding, and animation effects. You can also extend MXML with custom components that you reference as MXML tags.

Flex enables the developers to develop simple, rich and interactive user interfaces very easily without much development effort.