# Tuesday, July 13, 2010

Thursday, July 15, 2010
Distributed .NET in Action: End-to-End Application Architecture Illustrated

Subject: 
You must register at https://www.clicktoattend.com/invitation.aspx?code=147966 in order to be admitted to the building and attend.
C’mon, admit it: you are a bit overwhelmed - by all these technologies, approaches, patterns, do's and dont's? In this session Christian Weyer will show you a realistic (though not real) services-based distributed .NET application leveraging technologies like .NET Fx, WCF, WF, WIF, data access, different UI stacks including recent mobile platforms) and more. Come and see techniques like data mapping, duplex communication, large data transfer, caching or claims-based security. All applied in a reasonable manner, in an end-to-end fashion. Be prepared for a slightly different user group session.

Speaker: 
Christian Weyer is co-founder of thinktecture, a company providing in-depth technical consulting and training services for software architects and developers. Christian has been focusing on the ideas and concepts of service-orientation and their practical translation in customer projects in the past years, with Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Cloud Computing being the main areas and technologies applied recently. He tries to focus on the end-to-end aspects of distributed application architecture, design and implementation. This obviously includes mobile client technologies like the iPhone and Windows Phone platforms.
The national and international developer and architect community knows Christian from his weblog, webcasts, forums activities, user group talks and conference performances. He was selected as one of the Microsoft MVPs for Connected Systems and is an independent Microsoft Regional Director for Germany. Get in touch with him at christian.weyer@thinktecture.com
http://weblogs.thinktecture.com/cweyer/
http://www.thinktecture.com/

Date: 
Thursday, July 15, 2010

Time: 
Reception 6:00 PM , Program 6:30 PM

Location:  
Microsoft , 1290 Avenue of the Americas (the AXA building - bet. 51st/52nd Sts.) , 6th floor

Directions:
B/D/F/V to 47th-50th Sts./Rockefeller Ctr
1 to 50th St./Bway
N/R/W to 49th St./7th Ave.

posted on Tuesday, July 13, 2010 2:52:23 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, July 12, 2010

Want to learn about TFS 2010 by doing nine application lifecycle (ALM) labs? You can download a Virtual Machine from Microsoft that has a full version of Windows and Visual Studio 2010 Team Foundation Server including nine labs. You can download it as Hyber-V, Windows 7 VPC or regular “old school” VPC. The VPC will not expire until Dec 31, 2010, but Microsoft promises to release another one before then.

Check out this  blog for more details.

posted on Monday, July 12, 2010 10:19:57 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, July 9, 2010

I reported the other day in my blog that Android overtook Apple’s market share of smart phones in the US in Q1 2010. I got my data from the NPD Group. You can read the report here, it states that in the first quarter 2010 (Jan, Feb, and March) RIM was at 36%, Android 28%, and iPhone 21%.

I have some new, and somewhat conflicting data. Yesterday comScore reported Android in 4th place, not second place. comScore’s data covers a three month moving average, ending in May 2010, so comScore and NDP are not completely comparing apples to apples. comScore states that Android is the only platform to gain from the last report, a gain of 4%. This data is before the release of the iPhone 4 and Droid X, so for a better comparison, we should revisit these figures in a few months.

Here is the data from their press release:

image

posted on Friday, July 9, 2010 7:43:52 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Thursday, July 8, 2010

Tuesday Microsoft released WebMatrix.  WebMatrix and its supporting technologies (IIS Express, SQL CE and the new ASP.NET “Razor”) is a new free tool from Microsoft for web development.  It is a lightweight IDE (not Visual Studio) that provides coding and database support. You can use WebMatrix to select from an open source web application gallery (WordPress, CRM, e-Commerce platforms, etc) to start your application template from. Lastly, WebMatrix makes it easy to publish web sites to web hosting providers (or even help you find one if you don’t have one).

Microsoft is not targeting me, or most of you (professional developers) with this new product. Clearly Microsoft is targeting the students, hackers, hobbyists, and Facebook application developers. The issue is that today most of these developers are using the LAMP (Linux, Apache, MySQL, and PhP) stack. WebMatrix is an attempt to lower that price barrier (all of WebMatrix is free) and level the playing field. The question is will it work?

Ten years or so ago, I would say no, this would not work, Microsoft was the bad guy. Today the perception has changed and Microsoft is perceived as “big corporate” but not the bad guy. Developers look for cost and innovation when deciding what platform to use. LAMP has a huge head start, but Razor makes coding .NET for WebMatrix pretty easy and the template engine allows you to base your application off another’s API, a huge head start when building something custom.

Will Microsoft succeed in winning over mindshare from the LAMP stack? I don’t know, but now they have a fighting chance.

posted on Thursday, July 8, 2010 11:27:45 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] Trackback
# Wednesday, July 7, 2010

Companies that had market dominance always had a golden era: a time when everything went right, market share did nothing but grow, its stock soared, and the company had nothing but awesome coverage in the media. The first half of the last decade belonged to Google and the second half obviously belonged to Apple. That said, Apple’s golden era is now over.

While Apple is still strong and selling well, it is no longer the darling of the media. In the past it was taboo to knock on Apple in the media. Now that line has been crossed and there is no going back.  Microsoft lost the media in the late 90s with the IE fight and anti-trust battle, Google lost its halo with its on again, off again do no evil in China policy over the past few years. This year Apple seems to have stumbled with the kicking down the doors of a journalist’s source demanding the lost iPhone back.  Someone should remind Steve Jobs that an attack on one journalist is an attack on them all and that some journalists went to jail to protect a source just a few years ago under a Bush administration crackdown. If journalists are willing to stand up to the full force of the US Federal Government, they will stand up to Steve Jobs.

This led to bad blood with the media and the media jumped on the iPhone 4.0 antenna problem with glee. Business week even mocked Steve Jobs’ claim that the iPhone 4 was the most successful product launch in Apple’s history. Remember Jon Stewart’s AppHoles? The rock star treatment of Apple in the media is over.   That will make Apple spend more time and energy on its image. (Something it is good at, BTW.)

The media is not the only reason why Apple’s golden era is over. The second reason is the government. Last summer’s blocking of Google Voice by the AppStore led to the first threat of FCC and DOJ investigations. Now there are grumblings in Washington DC about more investigations (which I don’t think are necessary, but obviously the government has less important things to do.) Once DC opens up a case, expect the EU to follow suit. Government investigations and suits distract companies and they never fully recover. Just ask IBM and Microsoft. Apple will not only be distracted by these potential governmental probes, but will also have to devote more resources to its legal and government affairs issues, resources that should be going to products.

The third reason why the golden ear is over is increased competition and the “second mover advantage”. Apple was the first mover in the uber cool app driven web integrated smart phone category: they created a new category and reaped the rewards for years in both market share and mindshare. As with all first movers, Apple spent a lot of time and money educating the consumer base, telling them that they want this new product category. As what always happens with a new category, second movers then come in and free ride on that education and offer similar and sometimes superior products. The second movers get the second mover advantage and start to eat away at the first mover’s margins and market share. This is what is happening with Google’s Android. Android is growing faster than the iPhone and overtook the iPhone’s market share in the United States for smart phones in the first quarter of this year. A year ago Android was a rounding error, now it is a dominate player and formidable competitor to Apple. Second mover advantage at work.

I also won’t count out Microsoft. While I am not confident that they can create a better offering than the iPhone or Android out of the gate, they are masters at the second mover advantage game. (Remember how the Mac created the PC revolution, Netscape created the Internet revolution, etc.) Microsoft is flush with cash coming off its 150 million Windows 7 sales this year and motivated. Apple will face massive competition in the form of two tech industry giants: Google and Microsoft. In addition you can’t expect Samsung’s Galaxy, RIM/Blackberry and Nokia to roll over and die either. So five giants on Apple’s heels, as well as any startups that emerge.

Don’t get me wrong, Apple will still be strong and successful. The golden age is just over. Welcome to the rest of us Apple.

posted on Wednesday, July 7, 2010 8:02:43 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [3] Trackback
# Tuesday, July 6, 2010

I recently read Essential C# 4.0 by Mark Michaelis and highly recommend it.

This is a book about the fundamentals and advanced features of the C# language. Mark does a great job laying out the concepts in a clear and concise way, with great examples and engaging prose. If you are new to C# you should make this the first book you read and read it cover to cover. If you are an advanced programmer, or even an old timer like me who has been using C# for 10 years since the beta, reading it will make you a better programmer.

The book is not just a rehash of the user manuals and new features of C# 4.0, rather is it a well thought out guide to using the language. That said, I learned much more about the new features of C# 4.0 here than anywhere else. By reading this book I now understand the underlying structure of dynamic typing and parallel programming much better. I highly recommend it to both beginner and experienced developers.

posted on Tuesday, July 6, 2010 6:44:00 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, July 2, 2010

I am not the number one fan of patent law, I tend to think that most of the law is outdated and needs review for the 21st century, but I do think that patents play a key role in fostering innovation. Without patents, we will have less innovation.

It gave me great pleasure to see the US Supreme Court rule against expanding patent law to so called “business method claims.” In the case, Bilski v. Kappos, Bilski tried to patent a “business process.” He did not invent anything, just a creative way to hedge commodities. Luckily for us, the court’s finding this week was that Bilski’s patent was not valid.

Some will say that the court has to “get with the 21st century” and in some issues that criticism is correct, however, in Bilski v. Kappos, the court made the right decision. For example I could go and patent my implementation of Scrum since it is a business process and then turn around an sue all of you since I think you are using it. Clearly, we did not need this.

Score one for the legal system protecting innovation.

posted on Friday, July 2, 2010 11:58:02 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, July 1, 2010

With the Q1 release of Telerik OpenAccess ORM, Telerik released a brand new LINQ Implementation and supporting Visual Entity Designer. I have shown in this blog how to connect to SQL Server, MySQL, and how to use the new LINQ with RIA Services. Today I will show you how to connect to SQL Azrue.

To get started, we have to create a new Telerik Domain Model in the server (ASP.NET) project. We’ll create a new Domain Model by right clicking on the server project and selecting “Add” and choosing the Telerik Domain Model from the menu.

In the dialog presented by OpenAccess select the database you want to connect to, for this project choose Microsoft SQL Azure. You also have to manually put in the connection string to SQL Azure in the format of:

Server=tcp:yourSQLAzureDatabaseServer;Database=YourDatabaseName;USER=YourUserID, Password=YourPassword;

clip_image001

Next you have to map your tables to entities. The easiest thing to do is just map all of your tables by selecting the checkbox next to “Tables” in the Choose Database Items dialog and pressing the Finish button.

clip_image002

Visual Studio adds a new Telerik Domain Model to your project.

clip_image003

Now you are free to use the LINQ implementation to build your application. For simplicity, I will drag a gridView control onto the form and then use LINQ to bind all the customers in Germany. The code is here:

 

   1:  protected void Page_Load(object sender, EventArgs e)
   2:  {
   3:      if (IsPostBack==false)
   4:      {
   5:       //data context
   6:       NorthwindEntityDiagrams dat = new NorthwindEntityDiagrams();
   7:       //LINQ Statement
   8:       var result = from c in dat.Customers
   9:                           where c.Country == "Germany"
  10:                           orderby c.CustomerID
  11:                           select c;
  12:      //Databind to the ASP.NET GridView
  13:      GridView1.DataSource = result;
  14:      GridView1.DataBind();
  15:      }
  16:  }
  17:   

The results are show here.

clip_image005

Enjoy!

posted on Thursday, July 1, 2010 2:50:27 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback