kolkata developer conference 2012 ebook

18
Date : 26 th May, 2012 Time : 9.00 AM to 6.00 PM Venue : Bharatiya Bhasha Parisad 36A, Shakespeare Sarani, 4th Floor Kolkata - 700017

Upload: kunal-chowdhury

Post on 19-May-2015

575 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Kolkata Developer Conference 2012 eBook

Date : 26th May, 2012

Time : 9.00 AM to 6.00 PM

Venue : Bharatiya Bhasha Parisad

36A, Shakespeare Sarani, 4th Floor

Kolkata - 700017

Page 2: Kolkata Developer Conference 2012 eBook

Editorial Note

Kolkata Geeks user group is a common platform for all developers, Architects, IT professionals in

and around the city to learn, collaborate and discuss. We are thankful to our sponsors and well-wishers.

We are here in Kolkata (West Bengal, India) for around last one year. Initially we started with a plan to

work with arranging conferences, user group meetings and webcasts. We conducted some web casts,

conducted Developer Conference 2011 successfully and did some user group meetings as well. Most

interesting part is that those all are free for its participants.

This year we are trying to expand a lot. This small proceeding is an initiative towards adding

lenience of the entire conference lectures. Some participants gets some common questions like, who is

the speaker, what is his/her profile is, what is the summary of the speech s/he will deliver, if I found that

most relevant, how I can contact that person. To resolve these issues, this year onwards we have started

providing you this small proceeding.

A community cannot grow unless and until you share your views, ideas with us. Your ideas and

views and obviously feedback are important for us to grow and provide you better services. Our humble

request is to put a line or so in our mailbox.

Kolkata Geeks Core Members

http://kolkatageeks.com

Editors:

Abhishek Sur

Sourav Maitra

Page 3: Kolkata Developer Conference 2012 eBook

Message from CSI Kolkata Chapter

I am happy to know that Kolkata Geeks are organizing Developer Conference 2012 for technology professionals at Kolkata interested in learning, connecting and exploring latest Microsoft technologies. My best wishes to Kolkata Geeks for Developer Conference 2012.

I also take this opportunity to let the interested persons know that CSI Kolkata is organizing two

Conferences during end November to early December this year. The first one being the 2012 Third International Conference on Emerging Applications of Information Technology (EAIT-2012) at Kolkata, India during November 30-December 02, 2012. The second one being the 47th National Annual Convention of CSI (CSI-2012) with theme set out as Intelligent Infrastructure during December 1-2, 2012. The event venues for EAIT-2012 and CSI-2012 will be Indian Statistical Institute and Science City

respectively. The websites that reveal further details are given below:

EAIT-2012: http://sites.google.com/site/csieait2012/ CSI-2012: http://csi-2012.org/

Please feel free to contribute paper, register, attend and participate in the forthcoming technology conferences being organized by CSI Kolkata Chapter. To join CSI as a member, you may use the following link to become a proud member of CSI.

http://www.csi-india.org/web/csi/join

With sincere thanks and warm regards, (Dr. Debasish Jana) Fellow – The Institute of Electronics & Telecommunication Engineers (IETE), India

Fellow - Institution of Engineers (India)

Senior Member – ACM (USA), IEEE (USA), IEEE Computer Society(USA), CSI

Program Chair, EAIT 2012

Chairman, CSI Kolkata Chapter

Editor, CSI Communications, Premier Technical magazine for CSI members

Page 4: Kolkata Developer Conference 2012 eBook

Building Hybrid Apps for Businesses with Kendo UI

Speaker: Abhishek Kant

The writing is on the wall is clear with mobile devices becoming mainstream business devices.

In addition to the current workhorse – the PC, consumers

and businesses are adopting internet connected martphones

and tablets in record numbers.

The path for mobile device enablement for businesses is

fragmented and full of challenging decisions. This starts

from mobile application landscape being multi-platform

and multi-resolution. While Android uses Java, iOS uses Objective-C, Windows Phones use

.NET. Natively hitting all of these environments requires one to build multiple versions of an app

and to learn multiple technology platforms. New challenges also open up with the client devices

in deliver visualizations and touch enablement.

How to work with multi-platform challenge

Fortunately there exists a solution to this madness in HTML 5. This stack takes advantage of

browser based technologies and hence can run on all of the major mobile platforms as well as

desktop platforms. However, the problem of “native” looking applications remains. In addition,

we need new frameworks that support these client side development methodologies.

We explore a framework called Kendo UI that takes this pain out. Kendo UI helps developers

build apps and sites for mobile devices that always look and feel native from a single common

code base. On iOS, Kendo UI Mobile widgets look native to iOS. On Android, they look and feel

like Android apps. And on BlackBerry, like BlackBerry Apps.

With Scalable Vector Graphics (SVG) your graphics can scale up and down with ease. This is

important as you try to display charts on mobile devices with limited bandwidth. Kendo UI

leverages the power of HTML5 SVG or VML to deliver animated data visualizations (e.g. Pie,

Line, Bar, Column, and Scatter charts) capable of running in desktop browsers and mobile

devices.

Kendo UI really is an HTML 5 framework that you can use to build modern, interactive,

JavaScript applications that have full support for touchscreen devices, such as the iPad . It

delivers a rich framework for client-side data binding, templating, animation, and drag-and-drop

actions. All delivered in a package so that you can use one set of tools to reach a wide array of

browsers.

Further Reading: Reference:

http://www.kendoui.com

Page 5: Kolkata Developer Conference 2012 eBook

HTML 5, the future of Rich Interactive Web

Speaker: Abhishek Sur Web is the media that runs over internet. It’s a service which has already

grabbed us into its grasp. Literally, if you think of Web, the first thing that

can come into your mind is all about HTML, CSS and javascript. The

browsers are the user agents that are used up to communicate with Web. The

web is there for almost a decade and is used mostly to serve information

about business, communities, social networks and virtually everything that

you can think of. For such a long period of time, users primarily use

websites to see text based content with minimum UI experiences and texts

that can easily be consumed by the search engines. In those websites, everything that the

browsers do is to send a request for a page, and server serves the client with appropriate page

which is later rendered on the browser. But with the introduction to modern htmls, web sites are

gradually adopting interactivity in terms of CSS, AJAX, IFrame, or even using Sandboxed

applications using Silverlight, flash etc. Silverlight and Adobe AIR (flash) are specifically likely

to be used when the requirement is great interactivity and rich clients. They totally look like

desktop applications and interact with the User as much as they can. But the problems with

sandboxed application are that they are very slow and need every browser to install appropriate

plugin before they can actually navigate to the application. They are heavyweight and are not

rendered by the browser engine.

Even though they are so much popular these days, most of the development still employs the

traditional approach of HTML and CSS. Most of the business cannot afford the long loading

waits or even as we move along to the lines of devices, most of these do not support them. The

long term user requirements made it important to take the traditional HTML and CSS further and

ornament it in such a way that these ongoing requirements can easily be solved using traditional

code. HTML5 was introduced by W3C which is drafted on June 2004 is going to be standardized

on 2014 has made most of the things that need desktop or sandboxed plugins to do can be easily

done using HTML, CSS and JavaScript. The long term requirement to have offline web, data

storage, Hardware access or even working with graphics and multimedia is easily possible with

the help of HTML 5 technology. Let us take a look some of the interesting features that made

HTML 5 as the future of Web.

1. Offline Storage

a. Web Storage (Local persistent storage, Session based on per browser tab)

b. Web SQL Database (Relational database for local storage)

c. Indexed Db storage (supports transaction, read locks etc. on storage of Key-value

data store)

d. Application Cache (Client cached content that can be used for offline browsing)

2. Real-time Communication

a. Web Workers (Unique Threading model to run javascript in worker thread)

b. Sockets on Browser (dramatically increasing performance by sending only data

without http headers informations with support of full-duplex data transfer)

c. Realtime Notification from browser (Subscribe to real-time notification added to

the browser)

3. Hardware access

Page 6: Kolkata Developer Conference 2012 eBook

a. Drag / Drop Content (Drag html elements with events like dragenter, dragover,

dragleave, dragend, drop etc.)

b. Desktop drag-in (Drag content directly from desktop to upload using File API and

drag drop events)

c. Desktop drag – out (drag files directly to desktop to download)

d. File System API (full support for reading and writing files on a sandboxed file

system)

e. GPS location tracking directly from browser.

f. Device Orientation

g. Speech Input

4. Markup changes

a. New html tags

b. Better form elements

c. Form types for mobile

5. Graphics and Multimedia

a. Audio and Video controls

b. Canvas 2D

c. Canvas 3D WebGL (still experimental)

d. Scalable vector Graphics images

6. CSS 3

a. Selectors

b. Webfonts

c. Text wrapping

d. Columns

e. Text Stroke, Opacity, Hue/Saturation

f. Rounded Corners

g. Gradient support (Radial, Linear), Shadows

h. Multiple backgrounds, Border Image

i. Transition, Transformation, Animation

7. Javascript enhancements

a. Selectors

b. Dataset, ClassList

8. History API

HTML 5 is going to be standardized on 2014 and will be widely adopted by all the modern

browsers. The implementations may contain additional cross browser complexities but still html5

gives an edge on future web. Moreover, Microsoft has already made sure they are willing to go

with this way by supporting HTML 5 in Visual Studio and also introducing its support to all

modern day applications.

Where to get more information:

www.w3schools.com/html5/default.asp

www.html-5-tutorial.com/

Page 7: Kolkata Developer Conference 2012 eBook

WebSocket – Building Real Time Apps on Web

Speaker: Sankarsan Bose

Today, web is all about being near real-time. We all expect to see the updates we are supposed to

see e.g. what my friends are doing on Facebook, we expect our messages & news will be

refreshed instantly in our web pages. With advent of technologies like AJAX, Comet etc. gone

are the days where we will have to refresh our web pages (using browser refresh button) every

now and then, to see updated data. But all this partial page refreshes are happening using

XmlHttpRequest , iframes or long polling. There was no standardized protocol to handle this and

each of these techniques landed up initiating multiple HTTP connections to the server. So here

comes WebSocket – a new protocol specification from W3C as part of HTML5.

WebSocket is a protocol for two-way communication between client (in most cases you can

assume it will be the browser) and server (a TCP/HTTP server supporting WebSocket) using a

single TCP connection.This will take away the overhead of

Multiple TCP connections

Same/similar header data being transferred each time over the wire

Customized ways to tracking or correlating requests and responses.

The WebSocket specification has two parts one, the WebSocket protocol specification and

another the WebSocket API specification which is the spec for client API used for

communicating to the server. As of now,

Google Chrome natively supports WebSocket API

Mozilla Firefox supports the same with a different interface called

MozWebSocket instead of WebSocket

IE 9 does not support WebSocket API at all but IE 10 will do the same.

The webservers supporting Web Sockets are

Jetty

Node.js with Socket.IO

IIS 8 on Windows 8 ( This is still in a consumer preview and not commercially

released)

Tornado

Where to get more information:

http://www.websocket.org/ http://datatracker.ietf.org/doc/rfc6455/?include_text=1 http://dev.w3.org/html5/websockets/ http://www.paulbatum.com/2011/10/getting-to-know-systemnetwebsockets.html

http://codingndesign.com/blog/?p=267

Page 8: Kolkata Developer Conference 2012 eBook

Introduction to JQuery Speaker: Sourav Maitra

Introduction:

Rapid Application Development is the bottom line. At least your client asks for rapidness. JQuery

is nothing but a library for JavaScript, which can be used for HTML document traversing, event handling,

animating, and Ajax interactions for rapid web development. This lightweight library can be utilized to

ease and fasten your development job. One more flavor of JQuery is that, it is free and open source.

How to Have the Library:

Well, this is a good question and makes sense. You can download JQuery directly from JQuery

project’s website. The Address is http://jquery.com. Here I must mention, there are two versions

available, one is minified version and another one is uncompressed edition. Both can be downloaded.

One more point about downloading. If you do not want to download and you want to use it that is

also possible and is addressed on the next section.

How Can I Use the JQuery Library?

If you have downloaded the library, which contains a single javascript file with js extension, just

copy and paste that file on your project folder and use the approach depicted in Figure 1. Basically, all

you need to do is to add the mark up (given in figure 1) on your html code.

<head>

<script type="text/javascript" src="jquery.js"></script>

</head>

Figure 1: Using JQuery

Page 9: Kolkata Developer Conference 2012 eBook

No. I don’t want to download, but want to use it. Yes. That is also supported. Microsoft and Google have

already given us the ways by hosting JQuery libraries and can be utilized. Add the following mark ups for

Microsoft and Google references respectively.

How Can I learn JQuery quickly?

I will be trying to give you an overview of syntaxes on my speech. Try to follow that firstly. Not

enough? It is not possible, sorry. Follow the next section, Where to get more information?

Where to get more information:

1. JQuery Tutorials: http://docs.jquery.com/Tutorials

2. Microsoft Hosted: http://www.asp.net/ajaxlibrary/cdn.ashx

3. Google Developers: https://developers.google.com/speed/libraries/devguide#jquery

4. Brief and Concise Tutorial: http://w3schools.com/jquery/

<head>

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.js">

</script>

</head>

Figure 3: Referring Microsoft JQuery

<head>

<script type="text/javascript"

src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">

</script>

</head> Figure 2: Referring Google JQuery

Page 10: Kolkata Developer Conference 2012 eBook

Understanding Telerik RAD Diagnostics Component

Speaker: Kunal Chowdhury

Introduction:

Telerik introduces a new component called “RadDiagnostics” in their Q1.2012 release. RadDiagnostics component enables an application developer to receive crash reports and other debugging information from the end user of the application.

As a WP7Dev, you may want to include functionality in your application which will mail you the

stack trace and other debugging information. This post will guide you to implement the same functionality in your Windows Phone app using the Telerik controls.

Know About the API

When our Windows Phone application crashes at runtime and generates exception due to unhandled cases, this is needed by the app developer to know about the exception details with StackTrace so that the

developer can debug that piece of code and fix the issue.

Telerik RadDiagnostics component allows you to integrate an unhandled exception handler which will allow the user of the phone application to send error details to the developer through mail.

RadDiagnostics class is present in the Telerik.Windows.Controls namespace and exposes few properties

to the developer to add error details to the object.

There is a private method called SendErrorReport() inside the RadDiagnostics class which composes the

email message and calls the Show() method to launch the email client to send the email message.

So, what are the information's that gets inserted into the email message? Ok, Telerik component internally

handles those using the private method named ComposeDiagnosticsInfo() which returns a string of

message to the caller.

How to Implement it?

Now it’s time for you to integrate this in your Windows Phone application. At the first step, you have to include the following DLL reference in your project:

Telerik.Windows.Controls.Primitives Telerik.Windows.Core

For simplicity of this Demo, we will create a button in the

MainPage.xaml file and register the button click event. In the button click event, we will throw an Exception from the application. In general this step is not require.

Page 11: Kolkata Developer Conference 2012 eBook

Now open your App.xaml.cs file and navigate to the constructor. At the end of the constructor implementation, add the following code snippet:

var radDiagnostics = new RadDiagnostics

{

EmailTo = EMAIL_ADDRESS_OF_APP_DEVELOPER,

IncludeScreenshot = true,

HandleUnhandledException = true

};

radDiagnostics.Init();

You can add/modify any properties during the object construction in this place. Don’t forget to add the above fields here. Now, navigate to the “Application_Launching” event and add the below code there:

ApplicationUsageHelper.Init("1.0");

ApplicationUsageHelper class is present in the Telerik.Windows.Core assembly and provides data about the application usages. Don’t forget to add this line in the Application_Launching event; otherwise the RadDiagnostics component will not work.

The button click event implementation will have the following line to throw an exception explicitly from the demo application to test it:

throw new Exception("Explicitly throwing Exception to test");

Now when the application throws exception, it will show a message box in the screen asking user to notify the application developer about this error with complete error details by mail.

If the user clicks “yes” to proceed, it will compose the mail and launch the email client in the UI. Clicking “no” will bring the user to the caller page.

This way you can help the end user to notify any errors happened in your application to you so that, you can take proper steps to rectify

the issue and publish a patch to the market place.

Where to get more information:

My Blog: http://www.kunal-chowdhury.com/2012/05/learn-about-raddiagnostics-for.html

Telerik Site: http://telerik.com

Page 12: Kolkata Developer Conference 2012 eBook

Fun with Windows Phone 7 Apps Speaker: Ashish Mohta, Abhishek Sur

Windows Phone 7 after it has been released into market has gained lot of fame already.

Even though Marketplace is still in its adolescent stages, it has already been crowded with tons

of Apps. A smart phone is nothing without apps. Even though windows Phone already comes

with a number of apps preloaded, customers do try Apps from the market place so that they can

maximize their experiences with the Smart Phone. Even though Apple is still holding most of the

market share, but with the increase of Apps in the marketplace for Windows 7 Phones had

already threatened the existing market of Apple. The more and more development and

availability of Apps in the market makes it more and more acceptable to the customers.

The Windows Phone 7 marketplace is open to all. If you are a developer, you can build

and share their own app to the Windows Phone Marketplace and get wide range of customer base

that windows phone marketplace have. The marketplace allows you to specify the price of your

product, the trials, or even show comments of your app. The customer can buy your software

directly from their phone and the money hence collected (if any) will be transferred to your

account.

As I have already told you, Apps makes the market of any smartphone, let us take an

example of few small apps and demonstrate each of the features.

1. GPS Pro APP

Like almost any other smartphone, every windows phone out there is equipped with an

AGPS module. Obtaining location fast and at a minimal power cost opens the sea of

possibilities for application. The App deals with GPS system on your smart phone and

gives you options to calculate the distance between two points, get area of different

points, convert geopoints system, get altitude of current point, compute trips etc. A GPS

Pro App is a must have tool for any consumer using windows phone 7.

2. Battery Status App

The battery is an important part of a phone. Battery status app shows the real time data of

the battery usage of the phone getting data from real time stats directly from the phone.

The app shows the data that is already available in the API in rich interactive charts and

graphs.

3. App Language Translator

Language translator is an important tool for a developer who wants to translate an

existing app into localized resources. The tool helps the developer to easily change the

language of an application into other regional languages.

Page 13: Kolkata Developer Conference 2012 eBook

In spite of numbering a few, there are a large number of interesting apps that has been showcased

in the marketplace which are ready to buy or try for you. Search in marketplace and discover

more apps yourself and continue the fun of using apps with your Windows Phone 7.

Where to get more Information:

Find New Windows Phone Apps: http://www.wpxbox.com/

Recommended Windows Phone Forum: http://forum.xda-

developers.com/filter.php?cat=Windows-Mobile

How GPS Works on Windows Phone: http://lj2.karlson.ru/wp7/gps/about_gps.html

Page 14: Kolkata Developer Conference 2012 eBook

DevCon 2012 Speakers’ Profile

*(According to the sequence of speech on DevCon2012)

Abhishek Kant, Country Manager, Telerik

Abhishek Kant is passionate about solving real world problems with

technology. With over 11 years of experience in IT software industry,

he started his career in offshore services delivery with Satyam

Computers. From 2004 - 2011, he served at Microsoft in various

marketing and business positions. His last role at Microsoft was as

Community Program Manager for South Asia where he was

responsible for the emerging community marketing discipline. He has

worked with diverse technology communities in India including

developers, IT Professionals, Information Workers and Consumers. He

is on the managing committee of the Delhi Technology forum (http://delhitechforum.com). He has

relished the rise of web applications (ASP to ASP.NET), mobile technologies, and cloud computing and

followed them from infancy. Abhishek is a Certified Scrum Master and holds Microsoft Certified

Application Developer certification.

Abhishek holds a BE degree in Chemical Engineering and MBA from NMIMS, Mumbai. In his spare time,

Abhishek likes to trek and get fragging with his XBOX. In 2012 he joined Telerik Corp to help bring up

their business in India as Country Manager. You can follow his tweets at @abhishekkant

Abhishek Sur, Microsoft MVP, User Group Lead

Abhishek is the Kolkata Geek User Group Lead. He is a Microsoft Most

Valuable Professional ( MVP) , Code Project MVP , Mentor, frequent

Speaker and passionate blogger. He has having approx. 4 years of

experiences in wide range of .NET . He majorly focus on WPF, C#

Internals, WCF, Architecture. Abhishek has also been a Codeproject

MVP for last two years, and awarded MVP for DotNetFunda too.

Abhishek blogs at http://www.abhisheksur.com and tweets at

@abhi2434 . Many of his articles published as Article of the day at

http://asp.net and http://windowsclient.net .

Page 15: Kolkata Developer Conference 2012 eBook

Sankarsan Bose

Sankarsan is a programmer with an interest in different programming

languages, how they evolves, changes and helps us talk to a computer in a

better way in order to solve the problem at hand. After completing his BE in

Electrical Engineering he has been working with the Software Services industry

for the past ten years as part of his day job (mostly extending to quite late in

the evening) His coding/programming related thoughts and discussions are kept

at http://sankarsan.wordpress.com and http://codingndesign.com.

Sourav Maitra

A passionate software engineer and trainer by profession Mr. Sourav

Maitra, has bagged up BCA, ADCA and MCA from IGNOU. Apart from

Computer Science he has also done P.G Diploma in Cyber law from Nalsar

University of Law. He is also a Six Sigma Green Belt. Very recently he has

joined Department of Computer Science, University of Burdwan as a

Research Scholar and working with Semantic Web Service and Cloud

Computing. Details about him can be found in his site

http://souravmaitra.com. He has around 10 years of experience in

academic as well as in corporate environment. Sourav helps developers and designers on facebook

@tosmaitra.

Page 16: Kolkata Developer Conference 2012 eBook

Kunal Chowdhury, Microsoft MVP

Kunal Chowdhury is a Microsoft MVP (Silverlight), a Telerik MVP, a

Codeproject MVP & Mentor, Speaker in various Microsoft events,

Author, passionate Blogger and a Software Engineer by profession. He

has a very good skill over XAML, C#, Silverlight, WPF, Windows Phone 7,

LightSwitch and Expression Blend.

He posts his findings in his technical blog. Subscribe to his blog:

http://www.kunal-chowdhury.com for latest Articles, Tutorials and

news. Follow http://www.silverlight-zone.com - An exclusive WebPortal

for Silverlight, Windows Phone community.

Stay tuned with him in Facebook page:

https://www.facebook.com/blog.kunal2383. He also Tweets. You can

reach him @kunal2383.

Kunal is a Platinum Author of CodeProject. He also writes for SilverlightShow portal. Many of his articles

were highlighted as "Article of the Day" in Microsoft sites. Many community portal awarded him for his

contribution towards online/offline activities.

Ashish Mohta

Ashish Mohta : Windows, Windows Phone Geek

Ashish is a Windows & Windows Phone geek who deals with overall

end user exprereince, troubleshooting issues and puts in a lot fo time

to find apps for his readers. He also spends on time on Developer

forums to give feedback on apps being developed. He was a MVP in

Windows Phone consumer Section.

He also does a lot of video review both on Windows and Windows

Phone topics. Find his videos at youtube.com/ashishmohta and

youtube.com/wpxbox.

You can find all his work at technospot.net and wpxbox.com. Get in touch with him at

[email protected]

Page 17: Kolkata Developer Conference 2012 eBook

Thanks to our Sponsors

Page 18: Kolkata Developer Conference 2012 eBook