kolkata developer conference 2012 ebook
Post on 19-May-2015
575 Views
Preview:
TRANSCRIPT
Date : 26th May, 2012
Time : 9.00 AM to 6.00 PM
Venue : Bharatiya Bhasha Parisad
36A, Shakespeare Sarani, 4th Floor
Kolkata - 700017
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
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
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
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
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/
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
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
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
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.
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
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.
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
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 .
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.
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
ashish@wpxbox.com
Thanks to our Sponsors
top related