Wednesday, November 17, 2010

Twitter Analytics

It is so good to hear about the

Twitter Analytics

  will be available very very soon. I heard about it while browsing Mashable.

The news is about twitter already started inviting some people to test Twitter Analytics, as it is expected to be released by the end of 2010 as mentioned before by a Twitter executive earlier this year.

With Twitter Analytics, users will be able to see plenty of data about their account; for example, information about which tweets are most successful, which tweets caused people to unfollow, and who the most influential users are that reply and retweet their messages.

Mashable thinks that there is no doubt as this will come as a blow to the third-party vendors that are already providing similar tools, we’re hearing that the product will be free and that Twitter has no immediate plans to charge.



Acer Laptop - My Personal Experience

Today it came into my mind that i share something for those people willing to buy Acer laptops. You ask me why right?

The true reason is that i bought an

Acer Aspire 6920

 about 2.5 years ago. It is actually a good laptop when it came into speed and how comfy you are while working on it. As a matter of fact the laptop was amazing for playing games, working on graphics, development, browsing internet and anything i wanted was so cool and nice.

I faced two problems while working on it though, and btw, this is not only me. Everyone i knew had an Acer, got almost the same issues they were:
  1. The battery is not good. after about a year of its usage the battery can only hold now for 20 minutes which is actually caused me many problems. although my IBM R50e ThinkPad battery lasts over 2.5 hours and i bought it 5 years ago or even more.
  2. You will notice that if you play a game contains nice graphics and animations that the laptop heat goes crazy, i can remember dozens of times that i was playing games and hoooooop, the laptop shuts down. after some investigations and monitoring the temperature i found that the temperature escalates to be up to 100 C degree !! and i really could not find any solution for this problem so far.
So, an advice for everyone wants to buy Acer laptops, just consider the above hints.

Website Performance Tuning Checklist

TODO: Performance Tuning Your Website



Great Website Performance
Every website i make or participate into at some stage will go to the production environment. suddenly, many developers got shocked when they see the very slow performance of their sites after they upload it to the production environment.

Here i will share some of the ideas and techniques that i used to speed up things in my recent projects. knowing that this is not a complete list of everything you will need to do on your site, but i will help you greatly as it did with me.

First of all, i recommend that you use a very nice online tool that i used which gives you full report about your site. it is WebPageTest, which is a tool that was originally developed by AOL for use internally and was open-sourced in 2008. The online version is an industry collaboration with various companies providing the testing infrastructure for testing your site from across the globe. using this tool will allow you to indicate the parts that really need your attention, or those the might need enhancements.

I also, use YSlow, and Google Page Speed during development. i am pretty sure that if you pay your attention to recommendations of such tools you will be very happy and so your boss :)

The following are the checklist that i actually perform and it actually quite simple and it should not take more than couple of days to apply if your site is well organized and well maintained.

Performance Checklist
- If you are using jQuery Custom UI Library, make sure you only got the package includes only what you need, if you don't have dragging features inside your site, why you include it. personally i gained about 125k only by downloading only what i need in the Custom UI Library.

- Optimize the JavaScript code inside your pages. try to avoid big loops especially those containing string manipulations. if you can do something on the server side then do it on the server side, try to minimize the processing time that a client browser will need to complete what your page wants to achieve.

- Only include the CSS and JS files that you need. during development, many developers tend to test plug-ins and libraries for testing purposes so make sure you remove them. also, make sure that you include the JS library exactly inside the pages that will use them, no need to include all the JS Code inside a contact us page for example.

- Try merge the JS files into the smallest number possible or even 1 JS file. and the same applies to the CSS files too. Having too many requests will slow the response time of your page and will greatly affect those users with lower speed internet connections. I use JAWR to merge the JS and CSS files on the fly without the need to merge them manually, you will like it.

- Try to minify your JS code, not only truncate the spaces and line breaks. but also, changing variable names to shorter ones. personally i like Google Closure and it has 3 levels of compression that i am sure you will find efficient for your needs.

- Try to isolate the JS code inside your HTML pages inside a JS file, so it can be cached by the browsers and of course enable compression to them as indicated above.

- Always serve your content gzipped, this is actually a performance simple step that could change your life. you can gain up to 50% or even more boost to your web site performance by gzipping the css, images, and js files.

- Try not to use multiple frameworks unless it is a must which i doubt really. using for example both jQuery and Prototype inside the same application is just a big waste of your time, bandwidth and investment. 

- Always optimize your images, you can view optimized versions of your images from your page speed plug-in. i gained about 25% reduction of the total bytes downloaded only by this technique.

- Use CSS Sprites to reduce the amount of requests the page will make to load the images. 2 of the nice utilities i use are Sprite Me and CSS Sprite Generator.

- Make sure you specify expiration headers for your JS, CSS, Images, and any other resource you find it will not be updated too soon. may be a week or more is a good idea.

That's it, i wish you guys can give me your thoughts and ideas or comments as the optimization has no limits.

FancyBox & IE Nightmare

Hey Tech Folks, I would like to share something with whom interested in jQuery and FancyBox.

Recently, i was working on a project Mubasher in which i used FancyBox which is a jQuery plugin for displaying images, html content and multi-media in a Mac-style "lightbox" that floats overtop of web page. I really liked the style and how easy it was for me to make pop-ups, transition effects, handling events, etc.

After successfully launching the web site, lots of people complained that on all IE versions the site hangs for about 2-3 seconds which results in:
  • Pissing off most the visitors because most of them are using IE (Unfortunately).
  • Decrease the rank of the site as the site performance is bad.
  • We didn't get the right conversion and in-site transitions as we expected as the home page was pretty slow.
After many hours of investigations i figured out what is the problem. The problem was that inside the FancyBox CSS code, there are some styles for IE which uses the "AlphaImageLoader" the trick here is that, the paths you specify inside the image loader is relative to the root of your website, not relative to the style sheet.

So, when the user opens the site, the "AlphaImageLoader" tried to relatively load the images i specified in there, but it couldn't which for a 12 images to be loaded this way will take the 2-3 seconds (the time the requests returns 404).

The resolution of this issue is simple, either you use an absolute paths inside the "AlphaImageLoader" or get rid of the it at all if you don't use transparent and round corners of your pop-ups(this is my case) or take away the css from the style sheet file, and put it inside your dynamic page (JSP for example) and build the path of the images dynamically using "<c:url>".

I wish this will help someone someday saving lots of time getting wasted.

Tuesday, November 16, 2010

Lord Of The Rings Online (LOTRO) - MMORPG

LOTRO FREE !!


To be Honest i was so happy getting to know that LOTRO is now a free to play game. Since they first announced the game on April 2007, i liked the nice graphics and game play and how i can interact with the players, the world, even the monsters.

Across the wide lands of Middle-earth, the Free Peoples must face the threatening Shadow growing in the East. All of Mordor is stirring as Sauron dispatches the Nazgûl to hunt for the Ring. The rumor of war brings forth many eager adventurers who will find their place among the great events of the Third Age. High deeds call to the willing, for their time is at hand. Hundreds of thousands of people will enter the perpetual world of Middle-earth for the very first time. Prepare yourself to choose a path amongst the likes of Elves, Dwarves, and Humans. Will you choose to fight for the things that bring peace to the land or will you add to the corruption of Middle-earth as the forces of Sauron move swiftly to extinguish all that is good?
LOTRO brings you into the timeline of the events of The Lord of the Rings, assisting elsewhere while the events of the novels occur, the game mixes established Tolkien tales with new material for the game. Explore the lands, train your character in levels and three-pronged professions, or even learn the innovative music system. The storyline is constantly updated free by Turbine in installments called "books". An expansion pack: LOTRO: Mines of Moria, was released in 2008. MMORPG




I started playing LOTRO 2 weeks ago, and i really like it, i am level 20 now as i don't play much (lots of work). if you are a fan of online gaming, i think you must try LOTRO.




The bad part of the story is that, many in game items that you will need needs turbine coins (a special kind of money you can buy using real money) like trait slots, horse riding skill, travel bags, etc. The good part is that you can win some good points by completing some quests and deeds which is really cool.

The Beatles. Now on iTunes.


The Beatles. Now on iTunes.



Recently Apple announced that all of the studio albums and collection of the amazing Beatles is now available on iTunes. Each album comes with iTunes LP, lyrics, photos and much much more. you can also download the digital box that includes the band's entire catalog, documentary features for each album and videos.


Free and Super Easy Online Photo Editing

Today, i was in a need to edit my profile photo, i needed a quick and easy

online photo editing tool

 that will do the job in a few minutes.

Lucky me, i found this site BeFunky which is really cool, quick and easy.
BeFunky simplifies photo editing and effects for everyday people. You can choose from their constantly growing library of photo effects to turn your ordinary photos into extraordinary art with virtually no effort.

It is free to use for some of the features and effects, but if you like the premium effects you should subscribe their. I found what i need with the free available tools and i think most of you guys will find it useful too.

They Feature:
  • Get Creative with 190 easy-to-use photo effects in 30 different categories.
  • Adjust: contrast, brightness, exposure, hue, saturation and colors while you create.
  • Add goodies, shapes, and other digital creations.
  • Fix common photo problems, bad lighting, digital noise, fuzzy colors and details.
  • Add text, speech bubbles with more than 30 available fonts.
  • Unlimited photo storage.
Examples: