ASP.NET Column based Profile Provider

Some of my colleagues are often reluctant to use ASP.NET 2.0 profile provider to store profile data for their web applications. The main reason for this is the fact that the default SqlProfileProvider that ships with ASP.NET 2.0 “blobicizes” Profile data using string, XML or binary serialization prior to storing information in SQL Server. This obviously puts a rather large overhead when you need to query your profile data.

What most developers aren’t aware though is that you can build your own custom profile provider to store Profile data “in the clear” in the database so that the data is available for querying and use in stored procedures.

As a matter of fact Microsoft provides an SqlTableProfileProvider sample implementation which stores each Profile property in a separate database column without serializing it, which means that the Profile property can be easily queried (of course the profile property type needs to be compatible with the target database column).

There is also a second sample provider, SqlStoredProcedureProfileProvider, which maps each Profile property to a parameter on a custom stored procedure. Like the table based provider, this provider expects that each Profile property is of a type that is compatible with its corresponding stored procedure parameter. The powerful aspect of the stored procedure based provider is that other than the requirement to implement some stored procedures with a specific set of parameters, you can implement whatever business logic you need in the stored procedures to map the Profile data to your own database schema and database logic.

You can learn more about these profile providers here.

Silverlight Out Of Browser Presentation Source code

Back from my holidays and straight to work.

Reading through my emails though, I came by one where one of my friends have noticed that I’ve neglected to post my Silverlight Out Of Browser Applications presentation content. 

So with my deepest apologies here it is.

WebMatrix is here

I’ve been involved for quite some time now with a new Microsoft project codenamed “WebMatrix” but couldn’t say anything about it since all the info was under NDA. Today though, the public availability of the Microsoft WebMatrix Beta was announced, so I guess I’m no longer bound by the NDA agreement and can let you in on a few things.

So first let me clarify a few things, and to do that I’m going to use an excellent explanation from David Ebbo’s blog.

WebMatrix: a stack and a tool

Let’s start with WebMatrix.  The term is actually used is two ways

  1. The WebMatrix stack contains a number of things that you get when you install it via WebPI:
    • The new ASP.NET Web Pages framework
    • The Razor templating engine
    • The WebMatrix tool (see #2)
    • IIS Express
    • SQL CE 4
  2. The WebMatrix tool, which lets you perform various tasks:
    • Create web apps that use the Web Pages framework and the Razor templating engine
    • Install existing sites from the Web Gallery.  Note that those sites don’t have to use the Web Pages framework, and in fact most don’t (e.g. ScrewTurn wiki, Subtext)
    • Manage IIS express
    • Manage SQL CE 4 databases

Key point: the WebMatrix tool is not by any mean the only way to create Web Pages apps.  In fact, the Web Pages framework was designed to be very notepad friendly.  On the other end of the tooling spectrum, it will later be fully supported by Visual Studio.

You can find more info on WebMatrix in ScottGu’s blog:

Silverlytics

clip_image001_2 Since I’ve started talking about Sliverlight and analytics yesterday I thought this is probably the best opportunity to mention Silverlytics (Silverlight + Analytics).

Built by Location3 Media an interactive marketing company, Silverlytics is a multitenant Windows Azure-based analytics service that uses Microsoft Live Labs Pivot for its data visualization.  All of its data is collected from Service Oriented Analytics behaviors in Silverlight applications. 

The Windows Azure platform is perfect for web analytics because of its scalability and global reach while Pivot provides a very cool way to slice, dice, and understand the data.  Location3 Media is the company behind this and is looking for people who are interested in beta testing the service.  Go to the site to learn more and try it out.

The most exciting aspect of this though, is that the Pivot control will be available for Silverlight this summerso any website could use Pivot in their Silverlight application.  To see the potential of Pivot, take a look at Gary Flake’s TED talk from earlier this year.

Microsoft Silverlight Analytics Framework

A common misunderstanding and argument I get, for not building web applications using Silverlight technology, is often, the lack of a way to keep stats of your application traffic. So I thought this worth a blog post in order to put a few things right and let people know that there is actually a solution they could use. This solution is Microsoft Silverlight Analytics Framework.

Microsoft Silverlight Analytics Framework is a codeplex based open source Extensible Web Analytics Framework for Microsoft Silverlight Applications. It addresses the challenges of tracking Silverlight applications by enabling it in a number of scenarios like the out-of-browser and offline application ones. It supports the usage of multiple analytics services

simultaneously without impacting the application performance. What’s more you can use Expression Blend to visually implement tracking of your application and do A/B testing. Last but not least the framework supports a number of components built by various analytics and control vendors in Web, video and rich client scenarios such as ComponenentOne, Telerik, RadControls, Smooth Streaming Media Element, and Microsoft Silverlight Media Framework Player 1.0.

If you want to find out more about the project visit the project home page and see a video of the framework presentation from the Mix 2010 conference in Las Vegas where the framework was introduced and released on March 15, 2010.

Visual Studio 2010 Launch Event

On May 14 Microsoft Hellas is going to celebrate the release of Visual Studio 2010 in an event different from the other, in a party. So there won’t be long tiring tech sessions, just music, people, Pizzas, Beer and Visual Studio. So if you haven’t registered yet click now…

LaunchEvent

I will be there answering question about life… ehmm I meant code  so come see me and have a beer with me.

P.S. Inside sources report that there will be a draw for a present you won’t believe… can’t tell more, just be there!

C# 4.0 Parallel programming live meeting

Last Thursday I was given the opportunity to present my first live meeting. It was part 2 of a live meeting series organized by Microsoft to get people familiar with Visual Studio 2010 and .Net framework 4.0. I spoke about C# 4.0 and Parallel computing.

Things I covered included

  • C# 4.0 Language and compiler features
    Dynamic support, Named and optional parameters, Variance (CoVariants, ContraVariants), Office Programmability
  • Visual C# IDE featues
    Call Hierarchy, NavigateTo, Reference Highlighting, Generate from usage, Intellisence suggestion mode, Live Semantic Errors
  • and Parallel programming in Visual studio 2010
    Parallel API, Parallel Profiling, Parallel debugger, Concurrency visualizer in VS2010

It was a whole different experience from other events I’ve presented since the lack of live audience (they were online) kept me focused to the topics I wanted to present. Overall I think it went very well as people seemed to be very interested and stayed online to listen till the end of the meeting.

As usual I’m posting the slide deck and source code I’ve used in the presentation so that everyone can have a look and play with the new technologies. By the way the meeting was recoded and will be published shortly at www.techdays.gr, so if you missed it, visit the site.

CEE MVP Summit 2010

Last week I had the pleasure to attend the CEE MVP summit which was hosted this year hear at Athens. Having the experience of the MVP summit I knew that I was going to have a great time and was proven right. I had a great time talking with my fellow MVPs listening to their experiences and socializing with them.

I guess that's one of the benefits of being an MVP , you get the chance to know and speak with a lot of people. For those of you that are still skeptical I hope the next gallery will show you all the fun you'll have by becoming an MVP.

For those that don’t know what an MVP really means, check out the MVP Program site and then read my interview at Alessandro’s (my MVP lead) blog as well as my interview at MicrosoftFeed hope these will clear things out for you.

Photos

Talking at MediaCampAthens

This weekend I got the chance to speak about IE8 and the future (the next version IE9) in a different event from the ones I’m used to speak, MediaCampAthens.

mediacamp3

MediaCampAthens intends to bring together new media enthusiasts, explorers and professionals to share the current state and their visions for the future of the web, arts, new media, interactive advertising and marketing throughout one day. MediaCampAthens hopes to unlock the potential of new opportunities within the new media industry in Athens. Topics may include - but are not limited to – Web 2.0, entrepreneurship, design, interactive advertising, wi-fi, mobile media, business/marketing perspectives etc.

The event has more likely an open space format in a way that the attendees decide what they want to hear and discuss.

Although the attendees didn’t come from the Microsoft camp (if you get my drift :D) they seemed pretty interested, un-bias, and eager to learn how they can promote their sites and services using IE8 features, like web slices, accelerators and Search providers as well as see what’s new on IE9 with the IE 9 platform preview.

For those of you that didn’t get the chance to be there here is my slide deck.

MVP Re-Awarded

Great news arrived last week. I was re-awarded with the MVP title for the fourth consecutive year. It feels so great being part of this community not only because of the benefits (which are great too :D) but also because you get the chance to actually reach out and help other people.

As I promised last year and the year before that I will try to engage more in the community through my blogging, speaking, and writing on Software and web development and hope that I will meet MVP program’s high entrance standards next year as well :D.

Stay tuned… more is coming…

P.S. For those that don’t know what an MVP really means, check out the MVP Program site and then read my interview at Alessandro’s (my MVP lead) blog as well as my interview at MicrosoftFeed.

Facebook IE8 web slice goes live!

A few months back I’ve started working with Giorgio Sardo on a Facebook IE8 Web Slice.

In fact there were a few people that already were aware of that and have been bugging me for the download link ;-) since my TechEd 2009 interview and my IE8 talk at Microsoft Dev Days where I’ve shown just a glimpse of it.

Well your wait is over, yesterday Microsoft officially released a set of very useful IE8 addons that target Facebook at the IE addons site that include the Facebook Web Slice.

WebSlice

I can’t tell you how excited and happy I am to see this going live. I hope you’ll enjoy it as much as I do!

An important choice to make: your browser

I’ve just rebooted from a Windows update only to find at my startup screen the following window.

Browser windows 7 

And I am wondering do other OSes have something similar …

DevDay10 All about Azure

Last week I had the chance to talk about strating up with SQL Azure on a Microsoft’s Developers Day event. The things I’ve talked about included: How to create your database on the cloud, querying data, migrating Databases to SQL Azure. Tips and Tricks: SQL Azure firewall through API, Managing connections, Logging sessionId's, Throttling and latency, Transactions, Supportability.

Overall the event (I think) went great, people seemed excited about this new technology and had a lot of questions (which is always nice as it shows interest).

For all of you that didn’t have the opportunity to come listen about windows Azure live, the content has been uploaded on the TechDays site. You can find about SQL Azure and download my Slide deck and sample code from here

Interviewed by Microsoftfeed.com

Last week I was asked by http://microsoftfeed.com to give an interview about the MVP program.

Microsoftfeed.com is a Microsoft community blog focused mainly in the middle east region. It contains lots of valuable information and they’re currently running a section called “Interview with Microsoft Most Valuable professionals” which features a lot of interesting people. So when asked to participate I jumped to the opportunity, even though things have been pretty hectic lately (starting your own business can be really time consuming, believe me).

The interview was published the day before yesterday and you can find it here, I think you’ll find it interesting, especially if you’re interested in joining the program ;-).

Data Connection Dialog Source Code released on Code Gallery!

1_thumb The data connection builder dialog is a database tool component that’s included in Visual Studio and helps you build a connection string to a database.

Last week though the standalone source code was published at http://code.msdn.microsoft.com/Connection/, so that anyone can use it to build a data con2_2nections independently of Visual Studio. According to the license, you can integrate and redistribute the source code with your application.

With the data connection dialog, you can perform following tasks:

  • Build/Modify connection strings.
  • Customize the data connection dialog.
  • Write your own custom data providers.

Nice!