Sunday, February 09, 2014

How we built EventNook to provide a scable event software platform

What's EventNook?

EventNook is an online software as a service (SAAS) platform which provides a self-service online event registration and event ticketing platform for event organizers to easily create an event website, registration form and ticketing in minutes and launch event ticketing site immediately.

First, Microsoft Bizspark is an awesome program which helps us tremendously for software and cloud services we need by offering them FREE!

We build our platform on Microsoft stack ASP.NET MVC!

Cloud Services we use

Cloud Hosting
Azure Cloud Services - provides load balanced virtual web servers which allows you to scale up and down as and when you need!

Backend Database & Storage
SQL Azure
Azure Table
Azure Blob
Amazon S3
Dropbox

Scheduler
Azure Scheduler - backend scheduler processes

Email Services
SendGrid - SMTP/API email service

Analytics Tool
Google Analytics - website analytic tool for traffic & online marketing analysis





Wednesday, May 29, 2013

Google Apps Developer Blog: 4 ways to do Mail Merge using Google Apps Script

Google Apps Developer Blog: 4 ways to do Mail Merge using Google Apps Script: Editor’s Note: This blog post is co-authored by James, Steve and Romain who are Google Apps Script top contributors. -- Ryan Boyd The Goog...

Saturday, May 19, 2012

Future of Education

Internet is changing everything in our life. Now, everything we want to know, we can find any information at our fingertip. The changes are happening faster than ever. That also means things we learned and our skills are becoming outdated faster than ever. In future, 4 years learning period in University will be too long to equip students with skills required by the market out there. By the time they graduated, their skills will be more or less outdated.

On the other hand, we can learn almost anything in internet at our fingertip with interactive multimedia such as video, slides, interactive tutorials, etc on any subjects in Youtube, iTune, Vimeo, eBooks, Learnign app on smart devices, etc. Obviously, the habits of self-study and adoption play more and more important roles for our survival or to keep ourself useful in society.

It starts happening now that we can learn things from the best teachers in the world in anywhere at any time, of course FREE EDUCATION too.

Here is one of the best example: http://www.khanacademy.org/
Here is the discussions about future of education by game changers
http://www.eventnook.com/video/v/92/Microsoft-CEO-Summit-Innovation-in-Education
http://www.eventnook.com/video/v/90/Rethinking-Learning-with-Salman-Khan

Tuesday, December 27, 2011

oEmbed format makes content in your site easy to share

oEmbed is a format for allowing an embedded representation of a URL on third party sites.

What does it mean?
For example, if you are sharing the youtube in Facebook status, you simply copy and paste the  youtube Url and Facebook app knows how to embed it nicely with preview picture and video description.

What does it mean for developer?
You can apply it for two things.
1> If you are trying to make sharing the contents in your site easy for users to allow them to share and embed in other sites, you can implement oEmbed API service interface for others sites to consume it.
2> If you are trying to allow users to embed contents in other sites like Youtube, Flickr, etc in your site, you can consume API interface of those sites which provides the oEmbed data for you to nicely present them in your site.

To find out more:
http://www.oembed.com
http://engineering.twitter.com/2010/09/tech-behind-new-twittercom.html

Sunday, July 31, 2011

DLL missing with .RDLC ReportViewer deployment on Microsoft Azure hosting

I hit problem deploying my asp.net web app using .rdlc ReportViewer when I deployed it to azure cloud hosting.
The problem was because of the three missing dependency dlls  required by ReportViewer which doesn’t exist in Azure host Global assembly cache(GAC).
  1. Microsoft.ReportViewer.WebForms.dll 
  2. Microsoft.ReportViewer.Common.dll
  3. Microsoft.ReportViewer.ProcessingObjectModel.dll

So, make sure the ReportViewer assemblies are available locally for your application. You can do this by "Add Reference" in your project and configure them to be copied locally into bin folder (Copy Local = True).

But for the 3rd dll (Microsoft.ReportViewer.ProcessingObjectModel.dll), you will not be able to find it from assemblies list in Visual Studio add reference. You will need to browse it in C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel and add reference

Here is reference I got from MSDN

Monday, November 16, 2009

Think Different

Apple "Think Different" advertising slogan! It's pretty inspiring.

Friday, October 03, 2008

ASP.NET 2.0 Membership provider

ASP.NET 2.0 membership provider have been for more than 2 years and initially, I thought it’s just a show off feature of ASP.NET 2.0 and that would not be practically useful before I explored it into detail.

From time to time, every asp.net web application requires membership, authentication, authorization, etc, it’s a waste of time that we don’t have reusable model for those even though every web application requires those functions. So, I started exploring what’s available in built in ASP.NET Microsoft model and how others people do in terms of reusable model or provider for this.

Then, I found out that ASP.NET membership is really good design even though it may not be 100% perfect. It's really customizable, robust, extendable, easily pluggable and also easier to integrate into the project without much efforts. I’m not sure whether it’s good enough for enterprise level website for millions of users but it’s pretty good enough for SME or normal web application.

This really saves 20% to 30 % of small and medium side web application development and the code is modular and reusable. I really loves it.

This can be easily integrated with Menu SiteMap navigation based on dynamic user roles, User Roles provider, Personalization and the provider can be plugged & play with custom own provider by just configuring in web.config.

Currently, I'm just using built in SqlMembershipProvider and I handle my own Users information table for extended fields of users. The drawback with this is I need to duplicate user record in my own user table whenever new record in membership table is created.

You can also create your own custom membership provider by deriving from MembershipProvider class and override methods.

Microsoft also provides the source code and it can be learned how their code is. By learning this, you can probably design better than what it has and which suits to your requirement as well.

The following links would be useful for getting started.

http://weblogs.asp.net/scottgu/archive/2006/02/24/ASP.NET-2.0-Membership_2C00_-Roles_2C00_-Forms-Authentication_2C00_-and-Security-Resources-.aspx

Providers Source code download

http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx

http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi

ASP.NET Provider Detail Explanation

http://msdn.microsoft.com/en-us/library/aa478948.aspx

ASP.NET Provider book

http://download.microsoft.com/download/d/d/b/ddb5a94d-b398-44b5-bbb9-a71808879d79/Microsoft%20ASP.NET%20Providers.pdf