Friday, December 4, 2009

Thank you iPhone & Android Access Bollywood users!!


It’s been nearly a week since we launched the Bollywood gossip app “Access Bollywood” on iPhone and Google Android. Darshana and I are pretty impressed with the adoption of the app in the market place. Thanks for downloading the app!!

During such short time we also received quite a number of feedback on the app with request for new features/ enchantments. Thank you iPhone and Android users for such an awesome feedback. Please keep giving us feedback to make the app to better meet your needs. We are working hard to get the requested features out; hopefully the app is approved quickly ;)

Special Thanks to AndoridHD who made a really cool video of Access Bollywood.



Thanks for your support guys!

Stay tuned with us on Twitter

@A
ppKettle
@vishalchordia

Monday, November 30, 2009

Access Bollywood for all Bollywood Lovers

Last Thursday on Thanksgiving, we launched our Bollywood Gossip App “Access Bollywood” on iPhone, Android and Facebook platforms.

Access Bollywood is an app for all those Bollywood fans who love to know about the latest gossips going around the Indian Film Industry. The app enables users to peek into their favorite Bollywood Actors and Actresses stories. Apart from News it also gives updated information on the Box Office and New & Upcoming Releases of Bollywood.

With Access Bollywood, we tried to provide users with an elegant interface to browse through the latest stories, movies and Pictures of their favorite celebrities. In brief, main features of the app include:


  • Access latest Bollywood Gossip and easily share with your friends over social networks
  • Know the latest movie releases, upcoming movies and box office list
  • Browse thousands of Bollywood celebrities pictures and download your favorite pictures right on to your phone
  • Read the latest Bollywood News in quick to read news format



If you are a Bollywood fan and want to be updated with all Bollywood happenings it's the right app for you to download.

For all iPhone lovers you can download the App at AppStore or by searching “Access Bollywood” on AppStore.


For all Android lovers you can download the App at Android Market by searching “Access Bollywood”.



For all Social Media freaks, download the Facebook app “Access Bollywood”.

I hope you enjoy the app!!

Thursday, October 29, 2009

MS SQL Server Managerment Objects (MS-SMO) Introduction

Microsoft has introduced Server Management Objects (SMO) with SQL Server 2005 that enhances the capability of Distributed Management Objects (DMO) of the earlier version of SQL Server. In SQL Server 2005, DMO is abandoned in favour of SMO. It allows managing the database server programmatically, and is compatible with the earlier versions of SQL Server (2000 and 7.0). However, SMO cannot be used to manage databases with compatibility level 60 and 65. The only functionality that SMO doesn’t offer as compared to DMO is that, replication objects are not included in SMO. Instead, there is separate Replication Management Objects (RMO) that exists for replication in SQL Server 2005.

To enlist few of the tasks that you can do with SMO are:
  • Connect to Database Server
  • Create Database
  • Drop Database
  • Backup Database
  • Attach / Detach Database
  • Copy Database Objects
  • Create / Edit / Drop Objects (Tables / Views / Indexes / Stored Procedures / etc.)
  • Create / Edit / Drop Relationship between tables
  • Generate Scripts
  • Handle HTTP and SOAP requests using EndPoints objects
The list still goes on. It’s almost everything that you can do in a Server; you can do it through SMO. In addition, the Capture Execution feature in SMO is an interesting new feature that allows capturing scripts for later execution. For example, suppose you have a section of your code that creates a database or table, adds an index, populates data, for example, in an installation routine. After testing, you can actually use SMO to capture this as a script for later execution, or on a separate server.

continued...

Monday, August 24, 2009

Naming Conventions for SQL Server 2005

Simple rules for naming Objects in SQL Server 2005:
  1. Do not use any spaces in object names: With SQL Server it is possible to have such names by enclosing these in square brackets [and], but are not recommend as you may miss them out and end up in failure quite often.
  2. Avoid using reserved words: Even if the word you use doesn't cause an error, it will still cause confusion when someone is editing code and Query Analyzer applies color highlighting to table or column names.
  3. Start object names with a letter: Several applications like Enterprise Manager, Query Analyzer, DTS, VBScript, Visual Studio may cause problems when accessing objects with name starting from numbers.
  4. Keep names short but meaningful: This is self-explanatory and fairly logical, as there may be table name either ridiculously long, making it cumbersome both to type and to commit to memory, or abbreviated to the point of utter confusion. "SlQ" is too short. "SalesFiguresForCompanyByFiscalQuarter" is just silly.
  5. Avoid Hungarian notation*: The name of the object should make it pretty obvious what type of data it contains, and if for some reason it does not, then there is always the metadata tables and/or the documentation you should have written when designing the system. Using datatype-style prefixes for columns like IContactID (integer) and VEmail (varchar) not only make the column names harder to read, they also make them less flexible.
  6. Use CamelCasing instead**: Using a standard convention like CameCase for naming all the objects can help in maintaining consistency in object names.
  7. Use the dbo. Prefix: When you are logged in as a non-dbo user, and you create a table without giving it an owner prefix, other users won't see it, because it is stored in the system as you.objectName instead of dbo.objectName. If you consistently use the dbo. prefix, you will eliminate the possibility of creating the same object name twice, with different owner names.

*Hungarian notation:
Hungarian notation is a naming convention in computer programming, in which the name of a variable indicates its type or intended use. In Hungarian notation, a variable name starts with one or more lower-case letters which are mnemonics for the type or purpose of that variable, followed by whatever the name the programmer has chosen

**CamelCasing:

CamelCase is a writing convention in which words are combined by taking out the spacing in between and capitalizing the first letter of each word, such as CamelCase. The name is derived from the idea of the capital letters being reminiscent of humps on a camel's back. The CamelCase convention is used in computer systems in which naming require words to be contiguous. With CamelCase, words are readily distinguished and names more easily read.

Naming Conventions for SQL 2005:


*Do not use prefix sp_ for stored procedures. SQL Server searches for system stored procedures first when it encounters the sp_ prefix. Another reason- if Microsoft decides to rename all system stored procedures using the prefix to identify the system stored procedures, yours too would get renamed (since it has the same prefix) causing your application to fail.

Saturday, August 22, 2009

Setting-up T-Mobile Data Service on iPhone

Today i was trying to get my t-mobile data service on iPhone. Well let me tell you it is small processes. I called up t-mobile and told them that i need to get data service on iPhone. The representative transferred me to special technical support.

The special technical support rep Jacie Ross, told me that data service will cost $24.99 on iPhone. Once i accepted the fees, she went through the below steps and there my data service was switched on right away. Also with this data service i can now access any T-mobile hot-spots on my phone and laptop for free. isnt that awesome. its definitely has value.

  1. From the Main Menu, tap Settings.
  2. Verify that Wi-Fi is set to Off or Disabled -- this will ensure that no wi-fi signals are interfering with your Internet access. To take advantage of local wi-fi at a later time, feel free to go back and turn this setting On; just make sure to turn it Off again when you are done using the wi-fi network.
  3. Tap General Settings, then tap Network.
  4. Turn Data Roaming On -- this will allow your iPhone to locate T-Mobile’s data network.
  5. If you see a setting for 3G, turn it Off -- the iPhone cannot currently connect to T-Mobile’s 3G network, and this setting will interfere with its attempt to connect to our EDGE network for service.
  6. Tap Cellular Data Network (this setting may be labeled EDGE instead).
  7. In the APN field, enter internet2.voicestream.com -- this tells T-Mobile which version of our Internet network you want to connect to.
  8. Leave the Username and Password fields blank -- T-Mobile will assign this information based on your SIM card information.
  9. Return to the Main Menu and open Safari to browse the Internet.

Note: if you are taking you sim card from a blackberry (with data service) and insert into the iPhone, the data service will not work. You need to get the $24.99 plan, and t-mobile will close your blackberry/other data service plan. Your log-in info for t-mobile hot-spot: your ten digit number and password: last 4 of your social.

Thanks to T-mobile Support representative Jaice Ross, she was very kind, very helpful and made me valuable for being a t-mobile customer. I like t-mobile customer support!

Tuesday, August 18, 2009

Connecting to .NET web service from Android

If you are having trouble using .NET Web Services with the Android Platform, you have probably reached to the solution here.

I am here demonstrating the steps using which you can consume data from the .NET web service in your android app. In order to use .Net web Service from your android application you need to first download the ksoap2 android API. Follow the link to download ksoap2 API for android.

After downloading the API, extract the zip file to the file system. Open your Android Project and navigate to the Project Properties. In the project properties go to Java Build Path and say Add External JARs.

Add the reference to the extracted ksoap2-j2se-full-2.1.2.jar file from the downloaded API. You are now ready to use ksoap2 to connect to the .NET web service via Android.

Let’s assume a .NET web service with two methods “Hello World” that returns a string and “Add” that accepts two numbers and returns their sum. Following is the WSDL file of the web service.

From the above WSDL file we get the following Information about the web service:
  • NameSpace: http://localhost/TestWebService/
  • Web Service URl: http://TestServer/Test/Service.asmx
  • Method “Hello World” SoapAction URL: http://localhost/TestWebService/HelloWorld
  • Method “Hello World” Output Type: String
  • Method “Add” SoapAction URL: http://localhost/TestWebService/Add
  • Method Hello World Input Type: Int, Int
  • Method Hello World Output Type: Int
In order to use this Web Service with our android app:
  1. Open the java file from where you would like to access the Web Service

  2. Include the class library for ksoap2

    import org.ksoap2.*;
    import org.ksoap2.serialization.*;
    import org.ksoap2.transport.*;
    import org.w3c.dom.Text;


  3. Define Web Service Properties in the class

    private static final String NAMESPACE = "http://localhost/TestWebService/" ;
    private static final String URL = " http://TestServer/Test/service.asmx";
    private static final String HelloWorld_SOAP_ACTION = "http://localhost/TestWebService/HelloWorld";
    private static final String METHOD_NAME1 = "HelloWorld";
    private static final String Add_SOAP_ACTION = "http://localhost/TestWebService/Add";
    private static final String METHOD_NAME2 = "Add";


  4. Add methods to call the web service methods and retrieve the results

    public void GetHelloWorld() {

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);
    SoapSerializationEnvelope envelope =
    new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try
    {
    androidHttpTransport.call(HelloWorld_SOAP_ACTION, envelope);
    java.lang.String receivedString = (String)envelope.getResponse();

    }
    catch(Exception e)
    {
    }

    }
    public void GetAdd() {

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME2);

    PropertyInfo num1 = new PropertyInfo();
    num1.setName("a");
    num1.setValue(5);
    request.addProperty(num1);

    PropertyInfo num2 = new PropertyInfo();
    num2.setName("b");
    num2.setValue(9);
    request.addProperty(num2);

    SoapSerializationEnvelope envelope =
    new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try
    {
    androidHttpTransport.call(Add_SOAP_ACTION, envelope);
    java.lang.Integer receivedInt = (Integer)envelope.getResponse();

    }
    catch(Exception e)
    {
    }

    }


  5. If you app require access to an array, you can use the following code:

    ArrayList<String> a = new ArrayList<String>();
    try
    {
    androidHttpTransport.call(SOAP_ACTION, envelope);
    java.util.Vector<Object> receivedStrings = (java.util.Vector<Object>)envelope.getResponse();
    if(receivedStrings != null)
    {
    for(Object curStrings : receivedStrings)
    {
    a.add(curStrings.toString());
    }
    }
    }
    catch(Exception e)
    {
    }

I hope the above steps helps you if this is what you are looking for.

Monday, June 1, 2009

Facebook Application Measurement and Analytics

FYI- I had written this post for Omniture last week. Re-posting it here:

Facebook has drastically changed how people interact on web and how they consume information. Currently Facebook has over 200 million users and more than 70% of their users engage with one or more of the 52,000+ Facebook Apps. Marketers are now building interactive Facebook applications to reach out to and engage new customers. With that comes challenge of measuring and tracking the effectiveness of Facebook Applications.

On May 28, 2009, Omniture announced
App Measurement for Facebook, enabling marketers to track and measure their Facebook apps within the SiteCatalyst reporting interface.

Implementation

Once you have downloaded the App Measurement for Facebook tag, you will find that the tag is similar to SiteCatalyst JS tag.


A common request of online marketers is to better understand and target social users with the right message. Many would be interested in reporting on app users’ information like “Network,” “Gender,” “City,”, “# of Friends,” “Interests,” etc. This information can be easily reported with the help of Facebook APIs and
populating the API call value into SiteCatalyst variable tags.

Once you have figured out the metrics you want to measure, now simply just populate those in SiteCatalyst variables (eVars and sProps) and paste the code into app pages. Yes, it is that simple.

Key Answers every Facebook App De
veloper is looking for:


SiteCatalyst helps online marketers uncover key questions like: How is the app performing, what is the adoption rate of the app, how viral is the app, which user segments are adopting the most, what kind of social activity app users are performing, how many app invites users have sent to their friends, what kind of content app users interact most with, and how is the app impacting web events like conversions.


Adoption Rate and Social Activity: Online marketers can segment users by number of friends they have and categorize these segments by the social activity performed to better understand adoption rate.


App virality: Measure the number of users who have invited their friends to add an app enables marketers to understand how viral the app is amongst users.


App Content being engaged: Understand the features that Facebook app users are spending the most time with and identify potential improvements for these sections of the app.


Conversion/Web events: Understand how Facebook app users are converting, enabling online marketers to improve conversions.


Full documentation on the App Measurement for Facebook code is available within SiteCatalyst by going to Help > Help Home, then selecting Supporting Docs > Manuals from the left navigation menu.

Omniture SiteCatalyst is leading the way in innovation with social media measurement and you may be surprised with the marketing channels you can now measure with SiteCatalyst. Find out more by talking to your Omniture account manager or Client Care agent.

Find me on twitter: @vishalchordia