NOTE:

NOTE: Of late, I have been getting requests for very trivial problems that many of you are facing in your day-to-day work. This blog is not to solve your "project" problems - surely not a "Support" site.
I just love to share my knowledge in my spare time and would appreciate any questions or feedback on the articles and code I have shared. I also do appreciate thought-provoking questions that would lead me to write more articles and share.
But please do not put your day-to-day trivial problems here. Even if you do, you most probably would not get a response here.
Thanks

Search This Blog

x

Thursday, 13 March 2008

Tips for High Performance Websites

Steve Souders in his website has given 15 tips - some very fundamental ones for creating high performance websites, along with demonstrations of what he says. Very Interesting and useful.

The list is here. Visit his
website to actually see the demos.

• Rule 1 - Make Fewer HTTP Requests

• Rule 2 - Use a Content Delivery Network
• Rule 3 - Add an Expires Header
• Rule 4 - Gzip Components
• Rule 5 - Put Stylesheets at the Top
• Rule 6 - Put Scripts at the Bottom
• Rule 7 - Avoid CSS Expressions
• Rule 8 - Make JavaScript and CSS External
• Rule 9 - Reduce DNS Lookups
• Rule 10 - Minify JavaScript
• Rule 11 - Avoid Redirects
• Rule 12 - Remove Duplicate Scripts
• Rule 13 - Configure ETags
• Rule 14 - Make AJAX Cacheable
• Rule 15 - Use Iframes Wisely

He even talks about tools that he has used for some of these tasks, ex. JSmin to minify a script, Dojo compressor to obfuscate a script, etc.

Interestingly he also points that most of the optimization for better performing websites seems to be a front end problem more than a back end one. He has learnt this when he was the chief performance Yahoo! and has published a book "High Performance Web Sites: Essential Knowledge for Front-End Engineers " on the same.

Monday, 18 February 2008

Android - Technically, What Is It?

Android - Technically what is it?
    (an overivew of what is Android and its uniqueness is discussed in another post below)

    1. It is an operating system for mobile
    2. Interestingly, it is not yet another OS, but component based
      OS
    3. It has an integrated Java Virtual Machine
    4. System interfaces are exposed only through Java libraries
    5. It is based on the Linux Kernel
    6. An Android SDK is provided to let developers build applications on top of the OS but not extend the OS itself
    7. The SDK includes

      • Android packages
      • sample files
      • Documentation
      • A Simulator
The offical site of Android broadly classfies the technical parts of the OS as
consisting of
  1. Linux Kernel
  2. Android Runtime
  3. Libraries
  4. Application Framework
over which the core applications run as well as the applications developed by anyone using this framework