November 9, 2014

Unique axis labels in MS Chart Control using Custom Labels - SharePoint WebPart

Recently i got this task to create a custom Chart control WebPart in SharePoint. The task basically was to plot a graph using some data table values. X & Y axis were based on the columns of the data table. As the Chart type used was a Range Bar, the X & Y axes were reversed.

Basic Data Binding

To bind a chart control with a data table, “DataBindCrossTable” method is used. The below code plots a graph based on the data table values.

Problem with Basic Data Binding

However, there is one big issue when using the above code - Since the column values in the data table ( that maps with X axis) are not unique, X axis labels are also not unique. This means that the maximum value of X axis will be the last row value for the mapped column.


After spending few days searching for a fix, i found that using “Custom Labels” and manipulating "DataPoints" can resolve this issue.


August 2, 2014

Re-size Virtual Machine disk image [Oracle VirtualBox - Windows]

When creating a Virtual Machine, some amount of storage is allocated to it. It can be either dynamic or fixed. Over the course of time, as we add more files and additional software installs to the VM, the free space inside the VM starts to decrease. To resolve this, we need to increase the free space by re-sizing the VM disk. 

Note - 
  • Super Imp - Kindly backup the VM image before re-sizing, in case a rollback is needed.
  • The steps mentioned below are for a VM (with dynamic storage ) created using Oracle Virtual Box. 

To increase the size of a Virtualbox VM with dynamic storage -

  1. Open command prompt as admin.
  2. Change dir to C:\program files\Oracle\VirtualBox.
  3. Type vboxmanage.exe modifyhd “<Full VM path>” -–resize <Size in MB> and click enter. The resizing process will start.
  4. Once resize is completed, verify the storage space in Virtualbox interface.
  5. Start the VM and open Computer Management and Goto Disk Management. You will see the increase space as unallocated. 
  6. Right click on the drive for which the size has to be increased. Click on Extend Volume and add the allocated space and click OK.
  7. Once done, the additional space will be reflected instantly. 

June 26, 2014

Google I/O 2014- Keynote highlights

Google I/O is an annual developer conference held by Google. I/O stands for Input and Output, and Innovation in the Open. The conference starts with a Keynote speech which showcases upcoming hardware and software products from Google, In-depth technical and fireside chat sessions about these products and the latest in web and mobile technologies. The conference ends with a free giveaway of one or many of the products showcased in the event.

Google I/O began in its journey in 2008 with focus on OpenSocial, App Engine, Android and Bionic libc, Google Maps API, and Google Web Toolkit. Since then it has been a wonderful and exciting road for fan boys, technology lovers and developers alike.

Last year's (I/O 2013) main highlights include Google Play Music All Access,Google Play Games, Updated Google Play Services, Google Play for Education, Android Studio development environment, Google+ redesign, Google Hangouts, Redesigned Google Maps for desktop and Android app, and Updated Google Search app for Android.

Google I/O 2014 marks the 7th edition of this conference. The major focus of this year’s event is to provide a seamless connected experience across all platforms and devices such as smartphones, tablets, PCs, Televisions and Auto. So without further delay, lets see what the keynote was all about-

1. Stats
The keynote started with some statistics - One billion 30 day active Android users. 20 billion text messages each day. 93 million selfies each day. Android tablets account for 62% in the tablet market.

2.Android One

A new initiative by Google to reach the next 5 billion users. Its major focus is to make high quality affordable smartphones. It includes a set of hardware referencing platforms, Stock android, Play auto install and automatic updates just like nexus phones. Android One will start its journey from India. Google is partnering with three OEMS in India- Micromax, Karbbon and Spice.

3. A sneak peak into the upcoming L release of Android-

From what i saw, android is becoming more beautiful. A radical approach to UI with unified design across mobile, desktop and beyond. Major highlights include :

Material Design Principle-
App developers can specify an elevation value.
Rich animated touch feedback.
One unified set of design guidelines.

New Features -
As many as 5000 new apis, Enhanced notifications - instant interactive access to the notifications, Headsup notification, Personal unlocking, Easier multi tasking across Mobile Web.

CPU - new ART Runtime with 64 bit compatibility.
GPU - Android extension pack along with PC gaming graphics ability.
Battery life - Project volta  that comprises of features like Battery Historians and Battery Saver.

3, Google Play Services -
Features include better Malware protection, Security patches, Factory Reset protection, and Universal data controls.

4. Android Wear -
Google ventured into wearable technology earlier this year with a preview of Android Wear. Today, Google announced the availability of two wearable devices- LG smart watch and Samsung Gear Live. These devices organizes your information, gives you suggestions as and when required, display interactive notifications that can communicate with your smartphones.

5. Android Auto -
Android Auto provides a connected experience on the road with features such as Map, Music, Voice, Messages and apps. All information displayed on the dashboard without having to touch the phone. Google has partnered with major automobile manufacturers to include Android Auto in their upcoming vehicles so as to make driving experience safe and well connected .

6. Android TV

A complete android experience on your television with features such as - Games, Contextual Voice Search, Built-in Google Cast functionality to cast photos, movies and songs from your tablet or smartphones, Content viewing apps such as Play TV & Movies, Play Music, Netflix and Youtube.

7. Chrome OS improvements
A big addition to the Chrome OS is the availability of Android Apps. While this is still in its early stages, what this means is that your favorite android apps will now be ported to Chrome OS.Other a include better notifications and improved performance.

8. Google Docs improvements
One of the biggest addition to the Google Docs suite was the native editing of MS Office files. Earlier, when you tried to edit an Office file, Docs would convert it to its own document format and then provided you with editing features. This resulted in some formatting issues. This changes from today. Google Docs now offer native editing along with features such as separate editing apps, better encryption, enhanced admin controls, Audit APIs, Unlimited Google Drive storage for work at 10$ user/month.

9 Others
Google also announced improvements to Chromacast, more Google Now cards, carrier billing to tablets, Google Play Games improvements and much more.

Mind blown! rite? :) Well this is just a tip of the iceberg for whats to come from Google in the near future. Hope you had a good read. And for all those who missed the event live, here is the link to full keynote speech.

Additional Reads

Image Credits - GSM Arena, Gizmodo, Android Police

March 8, 2014

Auto email Meeting documents using Google Apps Script and Google Drive

A part of our professional life is occupied by Meetings and Conferences. Managing MoMs, tracking assigned tasks, exchanging notes and etc can be very time consuming at times. This may not only lead to messy and redundant documents, but also reduce one’s efficiency.

Google Docs provide an excellent way to efficiently create and manage meeting notes. For one, all documents will be stored on Cloud, so its easily accessible; Secondly, its allows sharing and simultaneous editing of these docs. Offline capability is also provided for Google Docs.

Once our meeting documents are created, we can use GAS to automate certain tasks. One of these tasks is to send MoM documents. To automate this task, I have created a small script that sends an email once a meeting document is freezed (Starred).

Prerequisites -

The script will do the following -
  • Find the required folder where all meeting related documents are stored.
  • Collect all GDocs that has last modified property as today and are starred as well.
  • Email these docs as PDF attachments along with doc URL to the required team members. This is done by using “Time-Driven Triggers” in GAS.

Note : This script doesn’t code doesn’t include exception handling.

This is just one example. We can use the power of GDrive and GAS to manage and automate myriad tasks.

Additional Reads-

December 14, 2013

Auto backup files on android devices to cloud services using FolderSync

Most of us use cloud storage services on a daily basis. Common ones include Dropbox, Google Drive, SkyDrive, Amazon storage and etc. All these apps provide auto backup option for camera pictures. When this feature is turned on; the moment a picture is taken, it gets synced to our cloud storage instantaneously. 

But what if we want to sync pictures in other folders ( such as Instagram, Whatsapp and etc) on a real time basis. For this we can use third party apps such as DropSync , FolderSync and etc.