Friday, December 31, 2010

Happy New Year 2011

Wishing you and your family a very happy and prosperous new year 2011. :)

 Happy new year 2011

-- Varun

Thursday, December 30, 2010

[How to] Change the boot screen animation on Android

Smartphones are getting smarter day-by-day with cool new features. Still the best part of any Smartphone is its support for personalization. Android allows you to personalize almost anything and everything on your device. Boot screen animation is no exception. If you are bored with the default boot screen animation on your Android device, you can change it to the one you like. Here is a short tutorial to create new animations or use your favorite video as a boot screen animation. Android boot animation is stored as a zip file (uncompressed) containing the sequence of images used for the animation and a text file containing the meta-information.

 Boot screen animation Sample desc file - desc.txt

Steps to create boot screen animation

  • Preparing the image sequence. Create the animation using multimedia software like Flash. Turn the animation into a sequence of images and name them as “boot_0001.png”, “boot_0002.png”, etc. Flash has the capability to generate image sequence for the animation. To use a video sequence as animation, extract the image sequence from the scene using tools like FFmpeg for windows.
  • Place the images in two directories – part1, part2. The sequence copied inside part1 will be played only once where the one in part2 will be played on a loop until the booting is complete. (This is the commonly used configuration and can be altered via the meta data file)
  • Preparing the meta data. Create a text file and name it as “desc.txt”. This file contains two or more lines of information.
    • First line contains three numbers - width, height and the frames per second. Ex: 480 800 32
    • All the lines except the first one will start with the letter “p” indicating that it is a part of the animation. The line contains three items – count (number of times this part is repeated), pause (number of ms to pause after the last frame of this part), and the path to the directory. Ex: p 1 0 part1. Sample description file is shown in the screenshot above.
  • Packaging & installing the animation. Now that the images and meta-info file are ready, we need to package them into a zip file named “bootanimation.zip”. Note: There must be no compression. Once the zip file is ready, push the file to /data/local/. “adb push bootanimation.zip /data/local/.”. Reboot your device to see the new animation.

-- Varun

[via @xda-developers]

Wednesday, December 29, 2010

[Tech] Insight into Google Instant Previews

Google has launched Instant Previews few days ago – a feature which adds screenshot preview of the page along with the search results. The feature does not seem to add much of value addition to search results (as they claim). Nevertheless, the implementation of the feature is rich enough to add huge value for a web developer. Google has employed some neat techniques to ensure that the performance of the search remains the same with this new feature. If you are a web developer or a person interested in learning cool things, you can continue reading rest of the post. And, if you are frustrated with the previews, you can use this script to turn off the feature.

Techniques involved in Google Instant Previews

JavaScript Compilation. Like any other Google products, Google search also uses a lot of JavaScript. JavaScript is minified and crunched using Google’s Closure Compiler. The JavaScript on the results page is loaded lazily so that it does not interfere with the page load. Also, JavaScript is cached very aggressively on the client-side.

On-demand JSONP.  The result previews are loaded only on-demand whenever the user activates it. The browser needs to make asynchronous call to Google servers to get the previews and render it on the screen. Modern browsers have a restriction on the number of concurrent requests the page can send to any host. To overcome this, Google uses a separate domain for hosting the result previews. (Ex: client1.google.com, client2.google.com). Data can be loaded in different ways using JavaScript:

  • Simple AJAX call (XmlHttpRequestXHR) to the server. XHR gives you good control and error handling becomes easy with it. However, XHR does not allow cross-domain access. Only same-origin requests are permitted (Modern browsers have started to support cross-domain access using cross-origin resource sharing). In the case of Instant Previews, the previews need to be fetched from a different sub-domain “client1.google.com”.
  • JSONP. JSONP is another technique where in the requested script returns the desired data as a JSON object wrapped in a JavaScript callback function. Error handling with JSONP is a bit harder to do than XHR but it is not subject to same-origin restrictions. Read this Wiki article to know about the implementation details of JSONP. Google uses this technique to get the result previews. Things to consider while using JSONP:
    1. If you are adding the script tag directly to the page, some of the browsers may show the page loading icon. To avoid that, wrap the DOM call to insert the script in window.setTimeout() – This will be executed in a separate context.
    2. After your requests come back and the processing is done, set the source of the script tag to null and remove the tag. This will prevent the browser from slowing down because of too many script tags. 

Data URIs. The previews shown are not just plain images streamed from the Google server. The data received from the JSONP calls is actually the image data being sent as set of data URIs. (I have used the same technique in VComment – Visual Comment Engine). Data URIs are base64 encodings of image data, that modern browsers can use to display images, instead of loading them from a server as usual. If you have noticed the previews closely, a bounding box will be added to the preview. The usage of data URIs over static images has made this highlighting easier. Data URIs are gzip-compressed to make them comparable in size to the original JPEGs. Data URIs are also aggressively cached on the client-side. 

More information about these techniques can be found here.

Note: This post was originally written in the last week of November 2010. Just realized that it was sitting on my drafts itself.  Well, better late than never. 

-- Varun

Tuesday, December 28, 2010

Start menu for Google Chrome

Most of you would have been already aware of the fact that Google has launched its Chrome web store recently. If you are using the latest versions of Chrome, you can install apps on your Chrome from the web store. Once the app is installed, you can launch it from the popular “New Tab” page of Chrome. A new section titled “Apps” has been added to the “New Tab” page. This section will show the icons of all the installed apps as Thumbnails. Clicking on the app icon will launch the app. If you have a big list of apps installed on your Chrome, it will become difficult to search for the app and launch it from here. To make it simple, Google has built an extension “App Launcher” which will act as a Windows Start Menu for Chrome.

Apps section of "New Tab" page

App Launcher for Chrome

App Launcher for Chrome is an extension built by Google for launching the apps installed on Chrome. Install the extension from here. The extension will add a browser action icon clicking on the same will show a list of installed apps. From there, you can launch an app by either clicking on it in the list, or using arrow keys to select it and then pressing enter. The search box on top of the list is quite handy. (However, you have to use only lower cases while searching. Looks like a bug). With this extension, you can launch an app from any page without having to open the “New Tab” page.

App Launcher

-- Varun

[via @labnol]

Sunday, December 26, 2010

Know about Windows Phone 7 Internals

Earlier I have posted an article titled “Intro to WebSockets” from the Chennai Geeks Techmeet-3. This is another topic discussed at the meet – Windows Phone 7 Internals. The talk was delivered by Balaji Damodaran from Thoughtworks. He gave an overview about the internals of Windows Phone 7 and some of the interesting facts about WP7. Note: This post is not properly structured. Posting the contents from the talk as it was delivered for the benefit of all.

Windows Phone 7

Windows Phone 7 (WP7) Facts

  • WP7 applications are developed using Microsoft XNA & Silverlight. Microsoft XNA is a set of tools provided by Microsoft for Xbox game development. Silverlight is a framework for building rich internet applications. WP7 supports Silverlight 3.
  • WP7 phones will have three buttons – Back, Home, Search. (Apart from Power, Volume Up / Down)
  • WP7 features a new user interface with its design language named Metro. All applications should follow Metro design and typeface.
  • WP7 phones allow customizing themes to a greater extent. Another interesting feature is its “Live Tiles”.
  • WP7 applications can use Panorama & Pivot controls. With Panorama control, your application can have multiple screens spanned across a single background. If you are an Android user, you can compare this with the home screen of your Android with wallpaper & multiple pages. Pivot control is used for creating tabbed style applications. More about these controls here.
  • WP7 does not have any local data store.(Android users can use SQLLite for storing the user data). All the user data can be stored on local files or on store it on the cloud and stream it via web service. If you want to store settings data, you can store them on the local file system.
    This is a major drawback when compared to Android.
  • Silverlight has good support of Web Services. Few notable things regarding web services are: 1. Web service calls are always asynchronous. 2. Proxy can not be generated on the fly. 3. Custom bindings are not supported. However, Silverlight’s competitor Adobe Flex offers dynamic proxy creation and custom binding.
  • Silverlight supports three modes of data Binding – One Time, One Way, Two Way. More about it here.
  • Application Bar can have a maximum of four buttons and all the buttons should follow Metro UI theme.
  • Application Lifecycle.
    • No multi-tasking. (This is quite weird as the previous versions of Windows mobile used to support multi-tasking).  If you are getting a phone call while you are using an application, your application will not run in the background. The application will be deactivated and the phone call will be activated. This process is called Tombstoning. Its the responsibility of the app developers to save the state of the application whenever the application is tombstoned.
    • Launchers & Choosers can be used to launch other applications from your application. Launcher will not return back anything from the launched app. Ex: Call. If you want to make a call from your application, use launcher. Chooser will return back a handle to the application. Ex: Camera. You can launch the camera app from your application and get back the photo taken.
    • To get a complete understanding the application lifecycle, execution model, etc, refer to this: Part1, Part2, Part3.
  • WP7 provides location services using Bing maps.
  • WP7 has support for Push Notifications.
  • To avoid the popular fragmentation problem, Microsoft has chosen to take complete control over the OS updates and the device requirements.
  • Finally, Windows Phone 7 is considered to be a competitor for Android and not iPhone. iPhone operates on a different model with single hardware. “The WP7 OS isn’t perfect but aside from the lack of apps, it’s competitive today” - AnandTech.

Impressed with the features of Windows Phone 7? What are you waiting for? Download the SDK (its free) and start playing around with it. No support for Mac dev yet.

-- Varun

Nancy Reagan Art Car Billboard

uploaded by ehoyer.Here is an art car with a giant photo of Nancy Reagan on a van totally protected from towing, wheel booting and vandalism. Its in San Francisco so I guess it needs all that, but I am not sure the purpose of it all.

Friday, December 24, 2010

The 12 Days of Christmas Art Cars

The Internet would not be complete without the the 12 days of Art Cars song to commemorate this Christmas Eve. So here is my attempt at creative art car song writing.On the first day of Christmas, my true love gave to me...A Truck with Christmas Lights. 2 Santa's Cruising3 Volvo's Glowing4 NASCARS Racing5 Snowy Hills6 Jeeps a Glowing7 Bugs-a-Crawling8 Trucks-a-Hauling9 Bikers Bicking10

Merry Christmas!!

Wishing you and your family a Merry Christmas and may this festival bring abundant joy and happiness in your life!! :-)

Merry Christmas

-- Varun

Facebook’s Analytics Tool - Insights

In the era of internet and social media, even the person running a small business is going behind Facebook to promote his / her  business. You can create a Facebook page / application to promote your business on Facebook. To make your campaign a successful one on Facebook, you may want to know who is accessing the page and the effectiveness of your engagement, etc. Facebook has built an analytics tool called “Insights” and it is live for about six months now.  Facebook Insights give an insight into some of the key performance indicators like Monthly fan size growth, The average number of likes and comments, Unlikes and attrition rate, Demographics, etc.

Facebook Insights

“Facebook Insights provides Facebook Page owners and Facebook Platform developers with metrics around their content. By understanding and analyzing trends within user growth and demographics, consumption of content, and creation of content, Page owners and Platform developers are better equipped to improve their business with Facebook.” – Facebook

 Domain Insights  Insights Dashboard - SharingInsights Dashboard - Demographics

Insights dashboard is the single source for all your Facebook analytics needs for:

  • Websites: Fully-integrated sites and those that use social plugins, or add a non-integrated domain in one easy step
  • Applications: Including canvas, mobile, device, and desktop applications
  • Facebook Pages: Including Pages created on Facebook.com and those that are part of the Open Graph protocol

Facebook has been continuously improving the dashboard with new metrics and making it easy for the admins to monitor. Apart from viewing the metrics on the Insights dashboard, you can also export the data as an excel sheet(xls) or Comma-separated file(csv). The accuracy of the count and external referrers for the page has been improved recently. Access Insights dashboard here. More information can be found here.

-- Varun

Thursday, December 23, 2010

The Making of Stellabelle Art Car - Video

Here is an art car from one of my facebook friend named Leah Stella called Stellabelle a 99 Toyota with Almost 200,000 miles on it. The outside depicts worms, lights and Dr. Suess style things and was painted using exterior house paint. Stella is a videographer, composer, graphic artist and Youtube director with a very interesting video of the making of her art car and if you like this there is

Wednesday, December 22, 2010

Intro to WebSockets

Last week I had the opportunity to meet up with some of the geeks from Chennai at the Chennai Geeks Techmeet-3. Chennai is really a happening place for technology-minded folks – Lots of tech meets, technology user groups, barcamps, etc. Having missed the first two editions of Techmeet, I desperately wanted to attend the third one. The third edition was organized at Thoughtworks on Dec 18, 2010. One of the topics for this edition was “Intro to WebSockets” by Gaurav Oberoi. He gave an overview about WebSockets, need for WebSockets and its limitations. In short, WebSockets is a HTML5 feature which lets you stream data to and from web browsers. Google Wave (now Apache Wave) uses WebSockets technology for its real-time communication layer. Attaching the slides from Gaurav’s talk on WebSockets.

-- Varun

Voice Search in Google Chrome

If you are a smart phone user, you would have definitely tried any one of the “Voice Search” applications. Voice Search provides a method  to search by speaking to your device. I use “Voice actions” on my Android quite extensively and it is very useful to me. Now, there is a Chrome extension to get the same functionality on Google Chrome browser as well. The extension is still under development and you can’t expect it to be 100% perfect.

Voice Search Chrome extension Voice Search Options

Voice Search icon on Google search box  

Voice Search Chrome extension

  • Install “Voice Search” extension by pointing your Chrome to this URL.
  • If you are using Chrome 9 or higher, you may need to explicitly enable speech input. To do so, start your Chrome instance by setting the flag “--enable-speech-input”. It will be enabled by default on Windows. If you are on Mac or Linux, you can use this flag to enable speech input.
  • Whenever you visit any of the popular services, you will find a small microphone (like the one shown in the screenshot above) in the search box. Default services: Google, Wikipedia, YouTube, Bing, Yahoo, DuckDuckGo, WolframAlpha. It also works with any website using HTML5 search boxes.
  • Click on the microphone icon and start speaking. The extension will recognize the search terms and will populate the search box. Note: The extension is still under development. So, don’t be surprised if it gives out totally irrelevant text.
  • You can enable voice search on your favorite site by adding the same from the options page.

-- Varun

Saturday, December 18, 2010

[How to] Setup a mobile version for your blogger blog

Google is taking its battle with Wordpress to the next level with the introduction of mobile optimized blogs. Undoubtedly Wordpress is the supreme full-featured blogging platform when compared to Google’s Blogger but Blogger is closing that gap by adding lots of features this year. Some of the cool features introduced this year include static pages, real-time stats, dynamic template, spam filtering, etc. The latest addition to that pack is Mobile templates (Available only in Beta). Enabling this feature will offer a mobile optimized version of your blog.

How to enable mobile templates

  • Open http://blogger.com from your browser. Go to the dashboard. It will list all your blogs.
  • A popup will appear asking you to enable Mobile templates. Click on “Turn on mobile templates”
  • Alternately, you can click on the “Settings” option of the blog and go to the tab “Email & Mobile” to enable / disable the mobile templates.
  • You can access the mobile version by pointing your mobile browser to “<blog_address>/?m=1” (Ex: http://blog.varunkumar.me/?m=1). QR code for the same will be shown as soon as you enable the mobile templates.

Blogger Mobile Template

Blogger Mobile Template

How to setup a custom sub-domain

  • After enabling the mobile template, you may want to setup a custom sub-domain to point to the mobile version. Most of the sites use m. as the sub-domain.
  • You can achieve this by setting up an URL forwarding from your domain manager. If you have bought the domain from godaddy.com, you can follow the instructions here.
  • Add sub-domain ‘m’ and forward it to your mobile blog address.
  • Now, share this mobile address with your readers.

Forwarding Sub-domain-- Varun

Tuesday, December 14, 2010

Dickens 44 Bascom Art Car Mystery

Dickens44 and Girlfriend with Bascom Art CarThis mosaic Ford Falcon art car was created by artist and former curator for the Unknown Museum Dickens 44 Bascom on facebook a mystery worth investigating.At first all I found was that Bascom 44 was born on the 44th day of 1944 at 44 minutes past 4:00 am. I am guessing that's were the "44" part of his name came from.With the help of my friend Amanda

Monday, December 13, 2010

The Vochol VW Art Car Covered in 2000 Beads

The Volkswagen Beetle with its long association with Mexico, has been used in a unique project initiated by the Museo de Arte Popular (MAP), and turned into a colorful art car represented with the art of the indigenous Huichol. “Vochol” (from the slang word for the car – Vocho – and the word “Huichol”) was created by two indigenous families over a period of seven months.This VW art car is covered

Monday, December 6, 2010

Android 2.3 GingerBread – Quick Preview

Google has recently announced the launch of its new Android Phone Nexus S along with the next version of Android which is 2.3 (code named as GingerBread). I had a quick look at the new and exciting features added in this version. There are lots of exciting things for a developer than for an end user. Not many user features have been added. Many features have been added under-the-hood to increase the performance on Android 2.3.

The first thing I want to tell you guys is that GingerBread is not the major UI refactoring (as we thought). May be the next version Android 3.0 (codenamed HoneyComb) will feature a fully revamped UI. However, there are UI refinements for simplicity and speed in GingerBread. Google’s new phone Nexus S will be the first device to get GingerBread and it will be on sales from Dec 16 in the U.S. Nexus One owners will eventually get OTA update in the next few weeks.

Highlights

  • User facing features (Check out the screenshots below)
    • UI refinements and speed.
    • Improved Android keyboard.
    • One touch Copy / Paste
    • Improved power management
    • Internet calling. Yes, its available. :)
    • Download manager
  • Developer features
    • Performance improvements for gaming
    • Gyroscope and other new sensors
    • Write native code in your Android app
    • Near Field Communication.
    • Support for new media formats – VP8 and WebM support

Apart from the above mentioned improvements, there are improvements to the platform itself. Linux Kernel has been upgraded to 2.6.35. Dalvik VM has been upgraded to support concurrent garbage collection, JIT optimizations, etc. Some of the core libraries have also been upgraded to enhance the performance. Read the complete platform highlights here.

Android 2.3 GingerBread running on an emulator Android 2.3 GingerBread running on an emulator

New icons and notification bar in GingerBread 

New icons and notification bar in GingerBread

Android KeyBoard on GingerBread & One-touch copy/paste

Android Keyboard on GingerBread and One-touch Copy/Paste

Download Manager

Download Manager

Flat buttons on GingerBread

Flat buttons on GingerBread

-- Varun

Google eBooks for Android

We know this has been coming and Google eBooks Store is finally here. The store which is currently available only in the U.S. hosts over 3 million Google eBooks. The best thing about Google eBooks is that its open and supports many devices. You can read it on the web, or your tablet, or your smartphone. Native apps for Android and Apple devices are also available. Font, font size, day/night reading mode and line spacing are all configurable. You can discover and buy the new eBooks from Google eBooks Store or from any of the partners.

Google eBooks for Android

The free application is already available in the market. If you are not finding the application in the market, you can get the .apk from here. I tried out the app and the interface is pretty neat. I have not used Kindle or any other book readers but the usability of the Google eBooks is just awesome. Google is definitely getting better on its mobile user interfaces.

Google eBooks for AndroidGoogle eBooks - Contents  Google eBooks - Chapter Google eBooks - Original copy Google eBooks Settings

-- Varun

Sunday, December 5, 2010

How to sell an Art Car by Bizarro

Comic by BizarroAnyone who has ever had an Art Car for sale will tell you that convincing someone to look past all the paint and glued objects can be tough. This Bizarro comic depicting a father attempting to get the buyer to look past all the barbies glued on his daughters 2001 Mercedes S430 sedan says it all.

Saturday, December 4, 2010

Rogaine for Cars Commercial - Hairy Art Cars are all the rage

This weird commercial of a hairy car driven by a bald man was sent in by Martin just now. Not sure what the commercial is all about but it is pretty funny seeing a car completely covered in human hair blowing in the wind. It could be a hair club for men commercial who knows, anyone? Rogaine for cars maybe?

Tesla Art Car For Sale - Tesla Motors finally gets it

Tesla Art Car - (Credit: Tesla Motors)Tesla Motors finally got in the art car game by commissioning their very own Tesla Roadster art car created by digital media pioneer Laurence Gartel, whose commercial work includes glossy magazine advertisements for Absolut vodka. The car is for sale for only $109,000, but because it features a vinyl car wrap, the buyer will have to pony up a few more bucks

Thursday, December 2, 2010

McDonald's Toy Art Car

This is exactly what you do with all those McDonald's toys that are now banned in San Fransisco. You glue them all over your Mazda art car and then you go for a joy ride through San Fransisco, for spite. No happy meal for you, I guess they are call them sad meals in SF.

Wednesday, December 1, 2010

Google Reader for Android

Google has released an official app for Google Reader for Android phones. We have been waiting for this for years and it has finally arrived. The free app supports all the basic features like subscribing to a feed, sharing, liking, starring, friends, etc. Multiple accounts are also supported by the app. The app can be downloaded from the market.

Google Reader on Android Market

Reading articles on Google Reader

Send item via third party apps

Highlights

  • Neat interface without ads. Rendering is quite good as well.
  • Multiple accounts.
  • Synced preferences.
  • Search.
  • Ease of sharing. The article can be shared via email, facebook, twitter, etc.

Lowlights

  • Articles can not be synced to your device for offline reading.

I have been using NewsRob to read my Google Reader articles on mobile. I will continue to use that till Google adds support for offline reading.

-- Varun

Monday, November 29, 2010

[How to] Lock applications on your Android device

Smartphones are getting smarter day-by-day with cool new features but the major concern with them is the privacy. From your smart phone, you might want to access your personal mail accounts, bank accounts. etc. Are they safe? Though Android supports different ways of screen locking security options (Pattern, Pin, Password), they work as a master key for the entire device. ES Security Manager is a free app which helps you to keep your private data and apps safe.

ES Security Manager

ES Security Manager - Pattern

Steps to password protect your app

  • Install ES Security Manager from the Android market. If you use App Brain for managing your applications, install it from here.
  • Open the application. It offers three services:
    • Application Protector – Adds password to protect app privacy.
    • Threat Detector – Detects if there are any threats on your system.
    • Remote Locker – When phone is lost, lock it remotely, get its location,contacts,SIM card info,SMS back.
  • Click on ‘Application Protector’. You can either use a password or a pattern to lock your application. Choose a password or pattern.
  • Lock the applications you wanted to protect. Whenever someone opens the locked application, he / she will be prompted to enter the password.
  • ES Security Manager helps you to keep your private data and apps safe.

-- Varun

Sunday, November 28, 2010

SPARSH - Touch to copy, Touch to paste

SPARSH is a research project worked upon by Pranav Mistry of the MIT Fluid Interfaces group. The project SPARSH explores a novel interaction method to transfer data from one digital device to another device in a real fun way using the underlying cloud. Touch to copy the data and touch on another device to paste the saved content. "Touch whatever you want to copy. Now it is saved conceptually in you. Next, touch the device you want to paste/pass the saved content." Technical details and the timeline of this project are not yet available.


-- Varun

[Review] IP Webcam – Turn your phone into a network camera

Earlier, I have reviewed two applications “USB Webcam” and “DroidCam Wireless Webcam” for turning your phone into a web cam. “IP Webcam” is another application which does almost the same but in a better way. The best thing about this app is its support for multiple view options. You can view the video feeds of your phone from a browser or stream it on your favorite media player.

IP Webcam

Multiple View options in IP Webcam

Steps to setup IP Webcam

  • Install the app from Android market. If you use App Brain for managing your applications, install it from here.
  • Open the app from your device.It will open the settings page.
  • Specify an user name and password if you want to password protect your video feeds.
  • Choose the desired image size and frame rate.
  • Choose the TCP port (Default: 8080). Don’t change this field if you are not sure about what you are doing. (IP Webcam will start a server on your device and listen to this specified port)
  • Click on ‘Start server’. This will start the server on the specified port and will start streaming your video feed.
  • The server information will be shown at the bottom of the page after it is started. Visit the page from your browser to view the video feed and other viewing options.

Highlights

  • Multiple view options.
    • Stream it on your favorite media player like VLC
    • Use Java browser plug-in and view it on browser
    • Use JavaScript to update frames in browser
    • Use browser’s built-in viewer
    • Connect to PC for use with Skype and other video chats
    • Take immediate photo.
  • No need to setup server on your laptop.
  • Easy to setup the Windows driver.
  • Ability to change the image size and the frame rate.

Lowlights

  • The app drains more battery if you allow it to stay awake. (But, its quite acceptable though)

In short, IP Webcam is an excellent piece of work by the developer Pas. Really appreciate it. If you like this app, please rate the app from the Android market.

-- Varun

Tuesday, November 23, 2010

Crochet Doily Art Car

Its been a while but this Crochet Doily Art Car was found Prague and its an old Skoda Octavia Combi was well worth the wait.via

Monday, November 22, 2010

Nexus One OTA – Android 2.2.1 FRG83D build Part 1

I received an OTA update this morning. The update is the first one of a two-part System update. This part is required to prepare the device to receive the new Android System. The second update containing the new Android System will be received soon after. This confirms that Android 2.3 GingerBread is coming to Nexus One soon. :) Update: This has turned out to be yet another disappointment for Nexus One owners who are waiting for Android 2.3 code named as GingerBread. Both the updates are related to Android 2.2.1 FRG83D build. People who have got the second update confirmed the same. Thanks to @sreekanthnaga for the info. Apologies for the misleading information. I wish Google sends out more technical details in the OTA updates. I originally thought that the first update was for FRG83D and the next one for Android 2.3.

Android 2.3 GingerBread OTA Part 1 for Nexus One
-- Varun

Sunday, November 21, 2010

[How to] Install Android market on Emulator

Android Emulator is a virtual mobile that is packaged along with the Android SDK. It runs on your computer and can be used to prototype, develop and test applications without having to buy a physical device. Almost all of the hardware and software features of a typical mobile device are mimicked in the Android emulator. However, if you want to try out some apps from the Android market, you can’t do that with the emulator as it does not include ‘Android market’. Here is a step-by-step guide to enable Android market in the emulator.
Steps to enable Android market in the emulator
1. Download and install the latest Android SDK (Android 2.2, API 8, revision 2) from here. This comes up with all the tools needed for development and testing of your application. Make sure the driver ‘ADB interface’ is installed on your machine. In most of the cases, the driver will be installed directly once you plug-in the device. [The SDK installation location will be referred to as SDK_LOCATION in the rest of the article]
Android SDK Setup2. Next step is to create a Android Virtual Device. Select ‘Virtual Devices’ from the left pane of the Android SDK and AVD Manager. Create a new virtual device with the details mentioned in the screenshot below. The screen might be frozen for few minutes while the virtual device is being created. Android Virtual DevicesAndroid Virtual Device3. After the device is created, go to the location ‘%userprofile%/.android/avd’. You will find a folder named ‘DemoDevice.avd’. Copy the system image ‘system,img’ from ‘SDK_LOCATION/platforms/android-8/images’ to the folder 'DemoDevices.avd’.
4. Start the emulator specifying the partition size. From cmd: emulator –avd DemoDevice –partition-size 100. (100 MB will be allotted for user space). Emulator opens up and it looks like the one below. Note: If the command emulator is not recognized, add SDK_LOCATION/tools to the PATH variable.
Android Emulator 5. From cmd, execute ‘adb pull /system/build.prop .’. This will copy the file build.prop to your current working directory. Open it with your favorite text editor and change the property ‘ro.config.nocheckin=yes’. This is needed to fix the freezing of market downloads. Related article.
6. Now, we have to push back the modified build.prop. This is not as easy as pulling it out. First, you have to mount the /system partition in read-write mode. Check out this to know how to do that. After the partition is remounted, execute the adb push command to push back the build.prop ‘adb push build.prop /system/.
7. The next thing is to install the Market application. Download ‘Vending.apk’ from this thread. Google Services framework is a pre-requisite for Android market. To get ‘GoogleServicesFramework.apk’, download upload.zip from here and extract the zip to find the .apk file inside /system/app. Download 'GoogleServcesFramework.apk' from here. Push both these .apk to the device. ‘adb push Vending.apk /system/app/.’ ‘adb push GoogleServicesFramework.apk /system/app/.’. Also, delete the  SdkSetup.apk from the device. ‘adb shell rm /system/app/SdkSetup.apk’. Make sure the SdkSetup.apk is deleted otherwise the emulator will be reverted back to its original stage.
8. Close the emulator. Delete the images userdata.img, userdata-qemu.img and cache.img from ‘%userprofile%/.android/avd/DemoDevice.avd’. Start the emulator again from Android SDK and AVD Manager. Android Market will be available on the emulator now. On opening the market, you will be prompted to connect with your Google account. Connect with your Google account and install your favorite apps on the emulator.
Android emulator with Android MarketConnecting to Android market with Google AccountAndroid Market Terms of ServiceTop free games on Android marketSolitaire installed from Android Market
Note: Installation of apps from Android market seems to be very slow in the emulator. Market app crashed couple of times before I get the chance to install the apps. Also, I could not find the most popular Android game ‘Angry Birds’ in the market. Installing the same from its .apk didn’t work either. I am trying to tweak the emulator to make it work smoothly with Android Market. If you have any tips for the same, please post them as comments here.
Update: Uttam Hoode has tried this approach with Android 2.3 SDK and it worked fine.
-- Varun

Saturday, November 20, 2010

Use ‘GreaseFire’ to discover GreaseMonkey scripts

If you find a feature to be missing on your favorite site, you can request for the same from site admin / service provider. But, the process may take some time before you get the feature. GreaseMonkey is the way to go if you want to get it yourself quickly.

GreaseMonkey

GreaseMonkey allows you to customize any website to your taste. It was originally written as a Firefox add-on by Aaron Boodman (@aboodman) (currently working with Google). Eventually, Chrome 4 added support for GreaseMonkey scripts. A GreaseMonkey (popularly known as GM or user scripts) script is a JavaScript which executes on top of the original site with few security restrictions. It is easy to get started with GM scripts with minimal JavaScript knowledge. To get started on GM, check out this community documentation “GreasePot”. There is also a community to share the user scripts written by users all across the globe. Check it out here. http://userscripts.org

GreaseFire

Userscripts.org has thousands of scripts for different websites. So, before authoring a new script, check if the script exists already there. ‘GreaseFire’ is a tool to discover user scripts applicable for the current page. It is available as Firefox add-on and also as a Chrome extension. When ever you visit a site, GreaseFire will search the Userscripts.org directories and list down the users scripts which can be installed on that page. GreaseFire uses a ranking system to rank the scripts before listing them to you.

  • Firefox. Firefox users can download the add-on from here. The add-on is around 3 MB in size. After installing the add-on, it will add a icon in the Firefox status bar. Clicking on it will list down the user scripts available for the current site.

GreaseFire Firefox add-on GreaseFire - Firefox Add-on

  • Chrome. Chrome users can download the Chrome extension from here. The extension is around 13 MB in size. After installing the extension, a new icon will appear on the address bar indicating if the site has any user scripts. Click on the icon to see the available user scripts. 

GreaseFire - Chrome extension-- Varun

Friday, November 19, 2010

Auto-Tweet your Google Reader Shared Items without using any third-party services

Google Reader is one of the most popular Atom and RSS feed aggregator service from Google. It allows you to share the articles you like with your friends (followers). You may want to link your Twitter account with Google Reader so that whenever you share something, the same will be shared on your Twitter stream as well. I wrote a script back in Jan 2009 to semi-automate the same. But, the script has stopped working as Twitter supports only OAuth authentication now. There are lots of third-party apps / plugins available to do the same. But, you will have to connect to those services with your Google / Twitter credentials. Here is a simple way to auto-tweet your Google Reader Shared Items without using any third party service.

Steps to Auto-Tweet your Google Reader Shared Items

1. Feed Discovery. Whenever you share items on Google Reader, you will have a Public atom feed associated with your account. To know your feed URL, go to “Your stuff” > “Shared Items”. “Your Shared Items” page will open up. Click on the “show details” link at the right top corner. Details will show the Feed URL associated with your shared items. Note: Make sure your items are public. Click on the “sharing settings” to change the settings of your shared items.

Feed Discovery Feed Discovery

2. Burning your Feed. The next step is to burn your feed. You can use Google’s FeedBurner. Go to http://feedburner.google.com. Copy / Paste the Feed URL (from step#1) in the ‘Burn a feed right this instant’ text box. Click on ‘Next’. In the next screen, FeedBurner will ask you to provide the feed title and an address for the feed. After providing the details, click on ‘Next’. FeedBurner will burn the feed for you. It will show a screen to setup FeedBurner stats. You can do it later. Click on ‘Skip directly to feed management’.

Burning the feedFeed Title & Address

3. Linking with your Twitter Account.  The last step is to link your Twitter to the feed which is just burnt. Go to the ‘Publicize’ tab and select ‘Socialize’ option from the sidebar. Click on ‘Add a Twitter account’ button. This will open the Twitter page asking you to sign in to Twitter if you have not signed in already. Then, it will ask you to authorize access to your Twitter account for Google. Allow access to Google. After adding the Twitter account, you can configure few settings like formatting options, item count, items filtering, etc. After choosing the desired setting, click on ‘Activate’ to activate the service. That’s all. FeedBurner will periodically check for new feeds from Google Reader shared items and post them on Twitter stream automatically. Note: Your twitter account is linked directly with the Google account without having to use any third-party service. FeedBurner - Socialize Settings

This is what I would recommend – Read it on Reader, Share it on Twitter. Enjoying reading and happy sharing.

-- Varun

google-site-verification: googlea4d68ed16ed2eea6.html