Microsoft Releases New Facebook SDK Version (v 3.0)

imageMicrosoft has released a new Facebook SDK Version 3.0 (other than their old not-so-great one) and it looks to have not just updated APIs but also wide range of features supported in many application types.

Quoting a related blog post from c|net “The web services report” blog:

Microsoft on Monday released a software development kit for Facebook that allows developers to create Facebook applications for Silverlight and Windows Presentation Foundation. This should expand the reach of Facebook in third-party applications as well as make Silverlight and WPF more viable platforms for developers looking to build social applications.


A screenshot showing off the NewsFeed control for WPF.

(Credit: The Silverlight Team Blog)

The SDK comes complete with samples and tools to develop Facebook applications in ASP.NET, Silverlight, WPF, and WinForms. It also features the source code for the API, components, controls, and samples.

There are currently other libraries available that allow Facebook developers to develop with other technologies, such as JavaScript, PHP, ActionScript, and the iPhone. There are a variety of others as well, which can be seen here, but these are the ones that Facebook officially provides support for.

Microsoft, as you may remember, invested $240 million in Facebook back in October 2007. Many called this move more of a strategic play to keep Google and Yahoo from getting a stake in the company. The release of this SDK is a part of Facebook and Microsoft’s ongoing partnership.

If you’re interested in taking a look, you can download the SDK here.


Check out the SDK Overview at:


Quoting from homepage:

The toolkit is comprised of the following core assemblies:

  • Facebook.dll: This is the main assembly that will be used by all applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications (Silverlight and WPF) to enhance the Facebook platform to make databinding and data caching easier.
  • Facebook.Silverlight.dll: This is the Silverlight version of the main assembly that will be used by all Silverlight applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications to enhance the Facebook platform to make databinding and data caching easier. The REST API in this assembly is Asynchronous only.
  • Facebook.Web.dll: This assembly should be used by Canvas applications. The main functionality supported in this assembly is to encapsulate the handshake between the Facebook application and a canvas application (both FBML and IFrame)
  • Facebook.Web.Mvc.dll: Provide a support building canvas applications using ASP.NET MVC. Separated from Facebook.Web.dll to avoid all developers from needing to install the MVC bits.
  • Facebook.Winforms.dll: This assembly provides support for writing Facebook applications using Winform technology. This provides a Component that wraps the API to make it easier to use from Winforms. This also contains some user controls to help display Facebook data easily.

To get started we recommend you download the SDK and refer to the "How to" guides and the Facebook Developer Wiki to get familiar with these new resources.

  1. Download the SDK.
  2. Refer to the detailed instructions on the Facebook Developer Wiki. Here are some important links to use as a starting point.

Facebook SDK Version 3.0 Notes

ASP.NET Development
ToolKit Content Folder
Facebook Platform
Other Platforms

Have fun,


Arabic SharePoint Resources and Screencasts


Some cool guys (all working in ITWorx I guess, one of the biggest Egyptian Software houses) have created a new website:

The website, as the name implies, is dedicated for ARABIC resources related to SharePoint.

It originally contained the technical blogs of the site founders (Founders’ Blogs) which are very useful for posts about SharePoint, then very recently they have also lunched Screencasts (Also in Arabic) that start from the very beginning until further advanced stuff.

I think you’ll enjoy them!

I hope you like them,

[Link List]Microsoft Application Architecture Guide, 2nd Edition is now complete (Ebook, Print)


Microsoft has released a final version of its book “Microsoft Application Architecture Guide, 2nd Edition”.
The book is described as:

imageThis guide is available online here in the MSDN Library and will be available in the Fall of 2009 as a Microsoft Press book, ISBN# 9780735627109, that you can purchase through local and online booksellers.

The guide is intended to help developers and solution architects design and build effective, high quality applications using the Microsoft platform and the .NET Framework more quickly and with less risk; it provides guidance for using architecture principles, design principles, and patterns that are tried and trusted. The guidance is presented in sections that correspond to major architecture and design focus points. It is designed to be used as a reference resource or to be read from beginning to end.

The guide helps you to:

  • Understand the underlying architecture and design principles and patterns for developing successful solutions on the Microsoft platform and the .NET Framework.
  • Identify appropriate strategies and design patterns that will help you design your solution’s layers, components, and services.
  • Identify and address the key engineering decision points for your solution.
  • Identify and address the key quality attributes and crosscutting concerns for your solution.
  • Create a candidate baseline architecture for your solution.
  • Choose the right technologies for your solution.
  • Identify patterns & practices solution assets and further guidance that will help you to implement your solution.

More information about the book in this blog post:

The book is:

Available for online reading at:

Available for free download (PDF Format) at:

Available in print (to buy hard copy) from Amazon at:

Have fun reading,

On the arrival of Mr. Adam Meligy

Image007000 - Copy

Today (technically yesterday, since it’s 3:26 AM already while I’m starting this), Mr. Adam Mohamed Meligy finally arrived home, after staying 9.5 days in nursery. This –dear audience- given Mr. Adam arrived to our world only in October 5, 2009, a date that the entire world will (sooner or later) always remember!

Mr. Adam is now taking a personal cover, pretending to be a normal baby, while he is pretty professional, he cannot sometimes hide his special natures, being relatively quiet compared to normal babies, and highly responsive to touches and (believe it or not) spoken notes/requests.

These are things that the world will remember once Mr. Adam finishes his first big achievement in the field he will take up for living (God Willing). Some other small details matter more to the family, both his grandparents –for example- note him as their first grandchild. I –personally- recognize him as my extra chance in life! If I fail to manage to be another Anders Hejlsberg/Martin Fowler, Scott Guthrie/Brad Abrams, or Scott Hanselman/Rob Conery/Phil Haack (still trying), Mr. Adam has a bigger chance; else wise, he’ll be digging his road as a notable figure in some different field (God Willing).

I feel that I was blessed with not just two more legs and hands, one more tongue and a couple of stronger eyes, extra more years to live, but also with an extra brain and superpowers. You can always upgrade your thinking methodologies, even reinvent the way you think completely, but you are always limited to your physical brain constraints that -although can be always stretched more and more- have their limits. Now I have an extra brain that can do pair thinking with me and reinvent the way things happen by the experiences he will be having on his own (God Willing).

So, this is to log that Mr. Adam (temporarily until he decides to replace that with “Eng.”, “Dr.”, and/or “Prof.”) has just finished implementing phase zero,  coming to existence!

Few More Facts About Mr. Adam’s Arrival

  • The exact time of arrival to world is October 5, 2009, 10:30 AM Abu Dhabi Time, that’s 8:30 AM Cairo Local Time (CLT), 6:30 GMT.
  • Although born in Kornesh Hospital, Abu Dhabi, UAE, Mr. Adam holds the Egyptian nationality, just like his parents. He also inherits the Islam religion, which he will be (God Willing) discussed about as soon as starts making conversations, so that he practices it for the sake of belief, not inheritance!
  • Mr. Adam reached our world after hiding in a secret cafe for slightly less than 35 weeks, reaching our world at the weight of 2.25 Kg.
  • Mr. Adam has his email, Facebook and twitter accounts created on the day of arrival and moderated by parents. Soon (God Willing) he will be running those himself, and creating his own LinkedIn account on his own once he finishes his first school and starts a professional expert career simultaneously.
  • Mr. Adam has come with the message to make the world a a better place to live for humans, not to dominate the entire world ;-).
  • Since arrival, the protocol requires using the prefix “Mr.” when mentioning Mr. Adam’s name in conversations. Only tweets/categories, etc… are allowed exceptions due to technical/official nature. This prefix is temporary as per the relevant note above.

On behalf of the family, I congratulate the world on having Mr. Adam with us. I’ll be following up with his significant news until he starts blogging (hopefully soon, God Willing).

I changed my twitter username to @Meligy

Yesterday I changed my twitter username from @Mohamed_Meligy to just @Meligy.



I have been thinking about this step for a long time, as my tweets are relatively long, and when I want to to allow people to re-tweet. With my old username, I used to have to write at max 120 characters per tweet to allow re-tweet (leaving 20 characters out of the real 140 characters limit to “RT @Mohamed_Meligy: ”). With my new twitter username I can use up to 128 characters (leaving 12 for “RT @Meligy: ”). I know I ‘m a person who can make nice use of those 8 extra characters, but is this worth doing? For sometime I thought: No.


My old username has some nice features. First, it includes my full name, so, that’s nice for people who don’t know me very well. Second, it has been around for over a year and over ~2390 tweets! That’s something!! People got used to using this twitter username when replying to me (mentioning me) and I did my best to put it everywhere in my Google and Facebook profile and blog and everywhere, and also used it with many twitter applications that require entering username/password.


Few days ago, one of my friends brought up the topic and encouraged me to do the change. I tweeted asking my friends whether they would promote the change, and encouraged me even more, so, I switched twitter username to @Meligy.



Some friends may wonder, how did I change my twitter username and still kept all my previous followers and reserved the old username also still on twitter. What part of it is a feature of twitter, and what part is something I did?

So, here is the story:

  1. I created a new twitter account with username @Meligy, and same password.
  2. I changed the @Meligy username to @Mohamed_Meligy2.
  3. In another browser I went to my old @Mohamed_Meligy account, changed username to @Meligy. Now I have @Meligy and @Mohamed_Meligy2.
    I noticed When I go to twitter replies in twitter website, it shows all replies that came to me, even those including @Mohamed_Meligy. This is good.
    The bad part is that when I click on @Mohamed_Meligy link in those replies/mentions, it goes to @Mohamed_Meligy not @Meligy.
  4. I changed the new account @Mohamed_Meligy2 back to @Mohamed_Meligy.
  5. I deleted the old @Mohamed_Meligy account from tweetdeck, and added both @Mohamed_Meligy and @Meligy (as default).
    I couldn’t just add the @Meligy account even with same password in both – I had to delete the old one.
  6. I used tweetdeck to tweet from both accounts “Changed twitter username from @Mohamed_Meligy to @Meligy. Followers needn’t change anything except using @Meligy in future replies/mentions”.
  7. I started trying to remember all the websites and applications I logged with the old twitter username and change it to @Meligy.
    Having the same password on the other @Mohamed_Meligy account, I’ll be monitoring it for a while in case I forget some application or so.

Note that any link to previous tweets (in the format:{username}/status/{tweetID}) before changing username will still be broken.


Follow Me!

If you already followed me back with the old username, you should still be able to receive my updates.

If not, follow me on twitter via @Meligy.


Google Chrome Frame: Use Chrome Inside IE

Some of you who use Firefox (FF) might know about a Firefox plug-in called “IE Tab” which allows you to view a page/tab using the Internet Explorer (IE) rendering engine INSIDE Firefox (so, if some page displays better in IE, you don’t have to leave FF and go open an IE window).


Now, Google is doing something similar, but the other way around!

Google has recently released “Google Chrome Frame”, a plug-in for IE that allows you to view a page/tab using the Google Browser “Google Chrome” rendering engine INSIDE Internet Explorer.


This is interesting in two ways, first, it may decrease IE problems with crashes and such, and second, that Google maybe later will drop support for IE rendering engine in its products (like Google Mail, Reader, Video, Youtube, etc..), so that you have to use Firefox, Safari or Google Chrome (or Google chrome Frame) to use these applications.

Interesting enough, this is the case already with one of Google’s new products, called Google Wave!

They say the reason is supporting IE6!! They did much effort to get it to work with it but it didn’t. Of course the Chrome Frame plug-in is supported under IE 6, so, is supposedly solves their problem!


Google Chrome Frame Homepage:

Related News:

Google’s Plan to Kill Internet Explorer? Google Wave

Google Has A Solution For Internet Explorer: Turn It Into Chrome


Firefox IE Tab Extension:


Listen to me talking about ORM in Arabic – DotNetArabi Podcast

Emad Ashi (@splashup on twitter) interviewed me in the 5th episode of his first Arabic podcast series DotNetArabi to talk about Object Relational Mapping in .NET in Arabic.
السلام عليكم
أصدقائي العرب ممن يتابعون هذه المدونة.. يسعدني أن أعلن عن أول حديث لي على الانترنت – و كذلك أول حديث لي على الانترنت بالعربية، عن الـ Object Relational Mappers – ORMs
شكرا جزيلا لـ “عماد العشي” (splashup@ على تويتر) على استضافته لي في موقع “دوت نت عربي DotNetArabi”، و هو موقع عربي يتضمن لقاءات صوتية مع العديد من المطورين في مجال الدوت نت، تماما على غرار DotNetRocks ، HanselMinutes و سواها، و هو في حد ذاته فخر لي أن أكون ضيفا للحلقة الخامسة في برنامج كهذا، خاصة عندما يكون ضيف أولى الحلقات هو عمر قعدان (omarq@ على تويتر).

الحلقة 5: محمد مليجي يتكلم عن الـ ORM (Object Relational Mapping)

وصف الحلقة من دوت نت عربي:
محمد مليجي تكلم عن الـ ORM (Object Relational Mapping) و هي برامج مساعدة تستطيع من خلالها نقل المعلومات و تحويلها من طبيعة قاعدة البيانات إلى طبيعة البرامج المبنية بأسلوب الـ Object Oriented. حلقة غنية بالتفاصيل و المعلومات القيمة جدا.
Listen to the episode now (in Arabic):
الشكر خاص جدا لعماد الذي أتى لي في وقت قل فيه اتصالي بمجتمع المطورين في مصر، و اقتصر نشاطي في مجتمع المطورين بصفة عامة على بعض المحاضرات خارج نطاق الالتزامات الرسمية في شركتي الحالية، و مشاركات قليلة في المنتديات و المجموعات البريدية خاصة ALT.NET و مدونتي هذه، (و هو ما يقل مع الوقت) و متابعة أخبار المجتمعات العربية على تويتر كـ Mohamed_Meligy@ و على Google Reader.

Related Links:

Reading Arabic & Unicode Tweets in TweetDeck

The reason I’m writing this is because every other day I see someone twitter statuses like: “TweetDeck does not support Arabic”, “Cannot view Arabic tweets in TweetDeck” or similar notes, so that I can just guide people to this post rather than write the same tweet reply!

TweetDeck supports Arabic and other complex script languages. I guess any Unicode language. It’s just not enabled by default.

A picture is worth 210 words. Here is what you need to enable it:


 Update for the current version of TweetDeck (August 7, 2011):

Yet, one thing I don’t understand is: why it’s not the default in TweetDeck ???



If you wonder why I care so much; this is because I believe TweetDeck is the best twitter client ever.


How to Change Your Firefox Search Provider to Microsoft Bing

  1. Go to ( Update: This is the only official provider made by Microsoft itself)
    This is the URL I originally posted (from which the below screenshots come): – Of course you are recommended to go to the official URL above.
  2. Check “Let me install this experimental add-on” and click “Add to FireFox”
    Now the add-in is there.
  3. In the search bar, click the little triangle at the left and choose Bing.
  4. In your browser it may not the first item nor bold as in the pic here. Click “Manage Search Engines…”.
  5. Click “Move Up” to have it the first item
  6. If you have Google Toolbar, you need to check more settings:
  1. Go to Google Settings. In the “Layout” tab, make sure to choose “Classic Toolbar Layout”. Save that.
    image image
  2. In Firefox address bar, type:
    without “http://” or anything, and click the button that appears then.
  3. In the “Filter” field type: “”
  4. Double click the only result that will show, you get a message box where you should  enter text. Replace the existing text “Google” with “Bing” instead, and click OK.
  5. Close the window. Your default provider is set.

Have fun :-)


Quick Hint: is Live (Microsoft New Search/Decision Engine)

If you are not on Twitter, let me spread this by @bing:

Ladies and Gentlemen, is live. :) (rollouts will continue however to partners and other mkts, more to come) ^betsy

Bing, if you don’t know, is Microsoft’s new search engine, also known as “Decision Engine” since it has features that help answer what you are wondering about rather than just display links.

For those wondering about Live Search. I think I read somewhere that both search engines will remain there for a while, then Live will be brought out to Bing. Nothing to confirm yet though. In Bing homepage you read “Live Search is Evolving. Welcome to Bing”.


For quick video of what Bing can give to you, check this.

For an official introduction about what Bing is, check this.