Monday, April 25, 2022

Vegan / Vegetarian Food here in Bay area!

Vegetarian and Vegan Restaurants in SF Bay Area
Vegetarianism is not just good for the body and soul but also for the environment!! Moving away from animal-based food helps us reduce our carbon footprint and animal cruelty. Sustaining a vegetarian or vegan restaurant is really hard. So I have composed a list of pure vegetarian / vegan food places here in SF Bay area, for all of us to show our support and make sure they stay in business. Plant-powered! Vishal

Tuesday, February 18, 2020

Genomic Revolution

20-25 years ago the internet revolution had started, at that time no one would believe that 5-6 internet tech companies would control the majority of internet revolution market share. With Genomic (read more here) we are nearly in the same state as the internet revolution started 20-25 years ago. These are some of the top companies that are leading the innovation here, which could mean investing in Google, Facebook, Amazon, Netflix etc in early IPO days.

I recently spent some time researching these companies, and I have built a motif ETF, which everyone can take benefit from investing.

Motif invitation will get you 3 months of free motif blue (free trades) ;)

 

Friday, July 15, 2011

MMA 2011 - Mobile Targeting RCR Wireless

I was speakers at MMA NYC 2011 Conference on Mobile Ad Targeting & Mobile Recommendations. Speaking on how Mobile is going to influence the mobile Advertising and mobile e-commerce industry.

Here is one of the videos:

Saturday, May 7, 2011

My Scuba Diving Experince

My first scuba diving. Yesterday spent couple of hours learning how to breath under water. This morning went for scuba diving for 2hrs or so.
Here is the video, have fun

cheers
Vishal

Sunday, April 10, 2011

All My Live Streaming will be on this link. Bookmark it guys:

Friday, February 25, 2011

The Future of Mobile Carriers: Basic Utility or Major Player

I wrote this blog behalf of Openwave for Technorati.

In gist the blog talks what role can Mobile operators play to become relevant to the mobile internet, if they decide not to play what their role in the world would be.

To read the compelete post please go to following link: http://technorati.com/technology/article/the-future-of-mobile-carriers-basic/

Cheers!
Vishal
@vishalchordia

Sunday, January 2, 2011

Wish you a Very Happy New Year 2011 - Looking back to 2010

The Year 2010 was very interesting for Darshana, me, AppKettle and Birth of DealOnPune.com. Let's rewind back.

In February 2010 I took-up a new position at Openwave as a Sr.Product Manager for their Mobile Analytics & Advertisement Platform, to help change the world of mobile adverting for good. Its been fun working here, and love the challenge of solving complex problems and building a system to handle Peta bytes of data on daily basis.

Mid 2010, Darshana also tookup a new opportunity as an Database Software Engineer at ADP, where she building the next generation processes & technology for inventory processing system in Automobile Industry, as the mobile is changing the whole behavior of the world.

As for AppKettle, its been a quite nice year, not as rocking as 2009.



We launched GRE App on Android, helping people to learn quickly easily on their GRE Vocabulary. This App has takes all the great features of top GRE apps out in market and all best features are into this app, thus making one of great GRE Vocab apps on the market place. Special thanks to Darshana to build the app & Samtha Chordia for Graphic Designs.

With Access Bollywood App, we crossed nearly half million downloads of the Apps (Combine iPhone, Android), this year. Until the mid 2010 the app download growth was really slow, but the later half 2010 we saw good growth. With this promising growth, we have decided to push new updates to Access Bollywood App early this year.

Coming to Indian Railway Schedule, the app download growth has been really slow, until late this year, just because Android sales just started picking-up in India. The App was selected by the Telecom News as one of the Top 5 Apps for Indian users and also have been covered by couple of other bloggers. Thanks ton for all your support.
We are planning to bring more railway features to this app, by March of this year.


Late last year in December it was the birth of DealOnPune.com, a website focused on bringing best local deals to puneites to enable everyone to enjoy the city at affordable cost. The site has been launched in beta, and we are getting feedback from users and ironing out small details.

So how does it work? We work with local business to great discounts deals like 50% to 90% for people of Pune. For e.g you are looking for a great hair-cut and facial, you can right now logon to the website and buy the highly discount coupon at really low cost and can use the coupon when you visit the Saloon/Spa, thus saving 70%. Isn't that great. In short we say "Savings Made Simple"

Special thanks to Rahul Bafna who is running the show on the grounds and Samtha Chordia for awesome creative designs, banners and logos, you guys rock!!

Like DealOnPune

Well 2010 has been a hell of ride for us, and we are excited about 2011 for us, AppKettle and DealOnPune.

Once again thank you all AppKettle fans for your special support in 2010!! Appreciate it!

Happy New Year! Wish you achieve great success this year!

Cheers!!
Vishal

Tuesday, December 7, 2010

Too Much subscriber data - unable to drive key actionable insights?

I wrote this post for Openwave couple of weeks back, just posting here.

Marketers have an unquenchable thirst for data. They are always on the prowl for more and more sources of data with which to gain insights into consumer behavior. These insights are the spun gold of the marketing world, as they enable more precise targeting and higher ROI for the entire advertising ecosystem.

The better the marketing team, the better their ability to piece together valuable insights from whatever data is available. But even the best marketing gurus will benefit from more information about their target audience. The biggest challenge is accounting for the holes, or blind spots, that incomplete or unavailable data create. The constant battle to get closer to consumers requires a variety of tools and techniques like web analytics, behavioral targeting, multivariate testing, Nielsen/ComScore, CRM systems, and most important, a way to integrate all these systems.

A New Kind of Challenge
Mobile operators have the enviable problem of too much information about their customers. Operators sit on a goldmine of data like billing and location information, mobile transactions, online behavior and network conditions, but the sheer volume of data makes it incredibly unwieldy. A tier-one operator has millions of subscribers which yield billions of transactions per day – close to a Petabyte of data (that’s one million gigabytes). The problem is only getting more complex with the growing demand for data services -- subscriber data consumption is growing over 93% CAGR year over year.

A New Kind of Solution
Obviously, the right solution for today’s Big Data challenges must be able to process billions of transactions – or a Petabyte of data – on a daily basis at near real-time without a large investment of in hardware to processes this data. Key ways to solve these issues:

  • Intelligent aggregation methods enable analyst, marketers to quickly generate multiple high-level insights.
  • Pre-processing data into multiple streams to accommodate operational, internal marketers, advertisers, external marketers and content providers reporting and analysis needs.
  • A flexible database architecture gives you the capability to integrate new and multiple feeds for a 360-degree view across multiple platforms.
  • Smart sampling maintains granularity at a segment level and profile level, thus making the solution very economical.
  • A flexible reporting environment allows ad hoc reporting, empowering marketers, operational teams, analysts and adversities to fill in the holes which arise from pre-defined reports without relying on IT resources.

Openwave® Analytics is a smarter approach to leveraging the incredible amount of data available to mobile operators. Besides drastically reducing the storage and processing costs of such large data sets, Openwave Analytics delivers all the capabilities marketing and operations teams need to manage and monetize their network.

Tuesday, November 9, 2010

Role Mobile Carriers could play on the Internet in near future

According to CISCO Visual Networking Index, Mobile Data is growing at 108% YOY from 2009to 2014 Worldwide. This doesn’t mean that mobile operators’ revenue is growing at same rate. According to ABI research mobile data revenue is growing at around 18% CARG in North America. With data usage growing so rapidly carrier’s biggest challenge is falling margins on the data network and are seeking ways to keep their maintain their margins.

Let’s fast-forward five years to 2015. The mobile Internet would become default channel to access the Internet. With my glasses I see two kinds of scenarios (there would a mix of these, just to make it simple, let’s consider these two cases)

(a) Carriers deliver only data

(b) Carriers play a major role in the Mobile internet eco-system.

Scenario (a),

Carriers have invested more into their network capabilities and believe that their business model is charging on data flowing on network and don’t want to get involved mediating their data traffic or have decided to sell their no PII data to some 3rd party vendor, who sells this data to Ad-networks, publishers and enterprises.

Carriers will have a fast network and huge bandwidth. All the operators would also start dealing with high pricing pressure and/or struggling to maintain their high profit margins. Most of carriers now become like a Big Fat Pipe, just like Electric companies. People really don’t care who the provider of their electricity is, they do care about the fixtures, lights, and gadgets. Consumers wouldn’t really care who their wireless providers is, they would care about their phones, OS and Apps they are using. Everyone would start taking wireless internet connection as basic utility.

Now if operators want to move up the value chain to becomes more relevant to the internet, it becomes really hard for operators as they have been cut-off by their value chain for new from Apple, Google, Microsoft and others players.

Furthermore it would be hard for operators to even sell their data directly as they haven’t built their customer profiles and analytics capabilities, also they now don’t have direct relationships, technology integrations as their 3rd party vendor have with Ad-Networks, Publishers and Enterprises and have continuously evolved their products over past five years.

Scenario (b)

Mobile operators have invested in their data assets to become more relevant to internet and have realized that their data they are sitting on is goldmine and are changing the internet for good. Major mobile operators built partnership, where they bring customers data together to give complete true insights on what’s happening on the internet without revealing PII information.

Operators truly have the ability to understand what you consume, what your likes, what your friends consume and can provide recommendation on Apps, Contents and Deals making your discovery easy on the internet. Furthermore, ad-networks, enterprises, and publishers are dipping into this no PII data assets to personalize ads, campaigns and deals to better server each profile & segment for higher ROI. With this Operator earns over the top revenues in multiple streams and playing a major role in evolutions of the internet.

Does this sound scary to all those privacy people out there? Oh yes. This would be just like big internet companies currently do; subscribers will have opt-out options, so that they don’t get any targeted information. But upside of these personalized and targeted ads, offers and content recommendation will make most of the subscriber to opt-in so that they don’t have spend time searching on internet as discovery is just becoming harder and harder.

Well for scenario (b) to happen, mobile carriers need to make transformation that they are just not pipe and they need to become a data driven company just like other web2.0 companies and to take advantage of the current situation. I personally want scenario b to play out so that power is distributed; it’s not just couple of big software and web2.0 companies control everything.

Sunday, November 7, 2010

Future of Parking in Cities

I had written this paper while I was pursuing my MS in Electrical and Computer Engineering at Carnegie Mellon University in 2006. I also received PASCAI Grant for this letter; here is the link - http://www.ini.cmu.edu/news/2005/01/omnipark.html

The paper is about solving day to day trouble of thousands and millions of people spend quite a lot of time to park their car. This paper focuses how to automate the processes of finding a parking spot, reserving the spot and have it automatically paid to the meters with help of wireless technology and sensors.

Here is the link to research paper in PDF format which talks how this problem can be solved using technology.



Tuesday, October 26, 2010

Palaces i want to go

Well i always wanted to share where all in the world i wanted to go. Its funny that i started using a Facebook App "Where i have been" and totally forgot about it. Suddenly today it poped-up in news feed and realized, long time back i had updated.

Just embedding the Map-

Wednesday, July 7, 2010

Multi-Channel Messaging is the Future of Email Marketing

I wrote this blog for Lyris sometime in Jan 2010, when i was contracting for them so just publishing here on my blog post here.

In marketing we talk endlessly about the best approach to reach prospects and how to convert them into customers. The email marketing industry has come a long way and we have become experts at optimizing email campaigns using advanced segmentation, trigger email, A/B and multivariate testing, and optimizing our email send time for maximum conversion.


However, email marketing is no longer just about sending emails. Marketers are thinking of creative approaches to engage their customers with email marketing by personalizing a lot more and integrating campaigns across multiple channels.

Over the past three months, I have been connecting with our customers to understand their current challenges, areas of focus for the near future, and how they think email marketing is evolving in their business.

Here are four key ways I have learned that marketers are hoping to use email marketing in the coming years.

1) Mobile friendly email marketing


With smartphone adoption sky rocketing, marketers want email service providers to automatically detect what kind of phone it is and render the email to meet the device specifications. Furthermore, marketers would love to dynamically localize email content based on the location of the phone. For example if Apple sends out an email marketing campaign for the latest Tablet, and you open that email on your iPhone, the email would show an offer related to your area and the address of the nearest Apple Store based on your current location, with a small map.

2) Video streaming in the email inbox


Social video sites are becoming more popular compared to TV among some generations for viewing their favorite shows on demand. With more than a billion video views on YouTube every day, now more than ever marketers want to reach their customers using video messaging. Marketers are looking for an email solution that can accommodate standard YouTube embedded code and video so that email recipients can view video streams as soon as they open their email. Let’s hope all the internet services providers catch up with this technology to render video streaming. Furthermore, marketers are wishing for video email to be friendly for major mobile email clients too.

3) Email that is social media inbox friendly


There are over 350 million Facebook users, 50M+ LinkedIn professionals,100M+ MySpace users, and millions of users on other social sites - and still astonishing social networking growth is occurring. Furthermore, consumers are spending more time on social networks than ever before, making it the perfect place for marketers to send personalized messages via the social site inbox. Marketers can’t wait to send targeted messages to all their Facebook fans right into their Facebook inboxes and watch those messages go viral.

4) Email integration with online optimization products


Email is no longer a single channel; rather it is multi-channel messaging over the Internet, so marketers are seeking dynamic content and targeting as well as multivariate testing of dynamic content across all the channels. Marketers are seeking tight integration with market leading online optimization products such as Omniture Test & Target, Google Web Optimizer and SiteSpect.

Wow that’s a dream come true for any marketer! I don’t foresee all of this happening in 2010, but with the evolution of mobile, social media and online optimization there’s no doubt that the email marketing industry will continue to evolve and grow well into the future.


Friday, January 1, 2010

Wish you a very Happy New Year from AppKettle Team!!

AppKettle wishes all our App users Very Happy and Prosperous New Year 2010!! and Thank you for your continual support, we really appreciate it!!

2009 was the year when AppKettle was born. On its first year AppKettle launched five applications on Android, three on Facebook and one on the iPhone. Darshana and I are pretty impressed with our outcome on first year. All credit goes to our Software Engineers (Arin, Gopal and Arun), Graphic Designer (Samtha) and Product coordinator (Nishant) who have been working really hard to get these application out. Thank you for all your support!!



Looking back at our first Application Shouldi - A polling app among friends, it had a pretty concept but with ok UI. As we built this App and launched, we learnt a lot what app users are looking for? what they like and started listening more closely. We got number of request from south American countries that they need this application in Spanish. So we built second app Deberia.


Deberia - Same polling app like shouldi in Spanish, catering to all Spanish speaking users. However, the adoption of the app was not as great we expected. So looking back what went wrong? Well status message, Twitter, FriendFeed and Facebook was way users get their friends comment on the questions or anything. So lesson learnt was unique value to user, which they cant get from other places and it should be really really simple and easy.


Learning from our first two application we built our third application on Android "
Indian Railway Schedule". There was no App which was catering to indian train commuters. Furthermore, India has thousands of railway stations and hundreds of trains, that it just made lot harder to build the mobile App. We took-up this challenge to build a mobile App, which will allow android users to "very quickly and easily find the status of train arrival and departure". We built the app on this key principle and published it on Android Market. We got a great reception on the adoption of the App and the App has 5 star rating. We have received tons of great reviews on the App.

Special thanks goes to Darshana for building this App!!


As Darshana and I love Bollywood movies, we were using quite a number of bollywood apps on our iPhone and Android to know what latest movies, gossip and news in the bollywood world. We realized that we had to use two or three apps to get information. We found this fustrating, so we decided to build a bollywood app "Access Bollywood".


The key thing we wanted the app to do
(1) Get all bollywood information from movies, to gossip all at one place.
(2) Should be fun and intuitive to read bollywood gossip.
(3) Should be very simple
(4) Should have pictures rather than text.

We built the App on the key principles and launched the App on iPhone AppStore, Android Market and Facebook on Thanksgiving. Just over a month since we launched the App, the App has been well received by the bollywood fans. We got ton of Feedback on what more Access Bollywood users want in their app. I really want to Thank you for your Feedback and i want to tell you that we are working on the request and in next coming months you would see your most requested features implemented.

It was very nice year for AppKettle and we are very thankful for your support.

So what's coming in 2010. A lot more new apps for user and also enhancements to existing apps.

We wish you all a very Happy New Year!!


Vishal


Follow us on Twitter

@AppKettle
@vishalchordia

Saturday, December 12, 2009

MS SQL Server Managerment Objects (MS-SMO) - Using SMO

The SMO namespace is implemented as a .NET assembly using which you can include all SMO functionality in your .NET application. The SMO namespace is Microsoft.SqlServer.SMO and is located by default in “C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies” directory. It is installed with the client tools of SQL Server 2005 and requires Common Language Runtime (CLR) to be installed as well. The assemblies required to work with SMO in managed environment are:
  • Microsoft.SqlServer.ConnectionInfo
  • Microsoft.SqlServer.Smo
  • Microsoft.SqlServer.SmoEnum
  • Microsoft.SqlServer.SqlEnum
Other assemblies present in SMO can be used as and when required.

SMO can be used even in an unmanaged environment, as there exist the COM wrappers around the SMO classes. The SQLSMO.dll and SQLSMO.tlb files enable the SMO to be used with unmanaged code.

SMO Classes

The SMO Object Model Contains two types of classes: Instance Classes and Utility Classes. Each of them is discussed below in details.

Instance Classes

SMO Instance Classes contains the SMO Objects in a hierarchy that matches the hierarchy of a database server. At the top of the hierarchy is the Server Instance class that represents a SQL Server instance, and under it there are other classes in hierarchy representing the other objects of the database such as databases, tables, columns, indexes, stored procedures, etc.

A sample hierarchy of Instance Classes is depicted in the figure below:


Utility Classes

SMO Utility Classes are meant for performing some specific task, being independent of the SQL Server Instance. Lists of tasks, which can be performed using these utility classes, are:

  • Generate Database Scripts
  • Backup / Restore Databases
  • Transfer Database Schema between database instances
  • Administering the Database Mail subsystem
  • Administering the SQL server Agent
  • Administering the Service Broker
  • Administering the Notification Services

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.