Welcome to MSDN Blogs Sign in | Join | Help

I've been asked a lot more recently about "Cloud Computing" and especially how Microsoft is playing in this area, I'll link to the articles when they come out.  In the meantime David Chappell has written a nice summary of the current state of cloud computing platforms and describes some of Microsoft's work in this area.  The paper is very focused on the enterprise aspects of cloud computing but remember that Microsoft has a huge array of assets in this area including ones that consumers can use today with the Live offerings and the Mesh platform

Biztalk Services is already available for use and does a great job of managaing identity in the cloud for developers. SQL Server Data Services (SSDS) gives developers on demand storage with the ability to query the stored data, available in beta. There's lots for developers to play with already but look for a lot more exciting developer oriented could computing announcements at PDC this year.

I hosted severl of our customers for an "SOA Day" at Microsoft Dubai today.  It was an interesting discussion focused around SOA that also touched on specific areas where Microsoft has great technology enablers of SOA, Biztalk, WCF, ... .  I'm posting the session slides here for the attendees and anyone who missed today's session.  I'll be doing more of these around the region, if you're interested in attending, drop a comment on the blog or send me an email and I will add you to the invite list.

I held 3 sessions:

1. What is SOA, Why SOA - What is it and why are people interested, what is the value

2. Real World SOA - Microsoft's approach to SOA, not top down and not bottom up, but a hybrid model

3. How do you get there - Methodologies and Tools that can help you start on the road to SOA

 

I just uploaded my 1st video on Community Clips :)  It came from a discussion we had this morning in a meeting as we were previewing some powerpoint slides.  The slide had gotten quite long with a lot of text and we wanted to split it into 2 slides.  One person suggested to simply copy the whole slide and delete the top section in the duplicate copy, making 2 slides.  The other person was certain that there was a command for it as he had done it in the past.  I used the Office Search Commands utility to search for the "split" command but didn't find what we were looking for.  A quick internet search showed the article that describes how to do the split, but since we were searching multiple pages and only scanned the results, it didn't seem like the right answer.  Either way, we used the old copy and delete method and got what we needed.

Once the meeting finished, I had a chance to re-read the instrcutions and actually try them and it works.  So I decided to create a quick Community Clips video to maket it visual and a little more interesting than the simple text description.  So here is my 1st Community Clips video, hope to see some of you creating some for your favorite Office task (or really any other video tips):

 

 

I've been looking for a good, free and easy to use screen capture tool and today I finally found one I like, Community Clips, and it turns out it's from the Microsoft Office team.  It uses Media Encoder underneath and does a good job of compression with little quality loss.  Saves the files as WMV and can even post online for you on Soapbox,  For my use, I'll be doing quick demo videos for screencasts.  Most likely will end up hosting it in Silverlight streaming for the blog entries :) 

I was pointed to an article by John Dvorak on the feasibility of SaaS as a business model given concerns around privacy.  It reads as a bit of an alarmist article to me since its main point seems to be that US based SaaS providers are subject to US Government warrants and possible spying could take place. 

 

That by itself is a valid point and should raise concerns as to the type of data that companies will host with their Software as a Service (SaaS) provider.  But this is not news, as a company you always you have to decide which functions (and therefore data) are mission critical, sensitive or the focus of your business.  These are not good candidates for the hosted model as they should be the differentiators of your company.  Once you choose a hosted (Saas) model for a particular function (eg. Payroll), you’re basically saying this function is a commodity and not something that sets my company apart (basically a cost) and should therefore not be very sensitive (with the exception of email). 

 

Now it’s very true that the EU and Canada have much stricter privacy laws than the US, but this should lead to the conclusion that SaaS companies should be set up outside the US to allay these fears and this is what I'm looking to promote locally.  There is also a lot of discussion on how US laws affect both US companies that deal with international clients and US companies that host their physical servers outside the US; but in summary, no one is really sure

 

The bigger issue, rather than the hypothetical scenario of the US government spying on you, is the breach of security that we see happening all the timeHosted data that is made available over the net (as the business model of SaaS) is much more open to attack than internal data.  What SaaS providers are saying is that they’ll make it secure, because they’re the experts.  This is what every enterprise has to think about.

 

In the article it mentioned both Google and Microsoft as being susceptible to these concerns, I think this is certainly true for pure SaaS providers but it only reinforces Microsoft's S+S strategyAs we always say, some things should be kept on-site (Software) and some hosted (Services); so if you’re concerned about privacy or spying, keep those things in house on Software and only use Services (SaaS) for the commodity things that are purely a cost center or to augment your software.   This should be a lot more of a concern for companies that follow only the SaaS model, everything in the cloud, companies such as Salesforce.com and Google and many others. 

 

I always get asked by our customers about market share of the major programming languages and what percentage of people are programming in .NET vs. Java or PHP or ... .  Technically .NET should be broken into the specific language as the .NET framework supports multiple languages.  There is no perfect way to come up with these numbers, you can do surveys but the pool you choose tends to be biased, you can check the languages used on websites but that only covers one aspect of applications.  One of the ways that is pretty good at estimating (not necessarily market share but trends) is to use books written on each language (and how many copies are sold). 

Oreilly recently published the state of the computer book market, check out the results for yourself.  It's good to see so much interest in Python (and powershell) recently and also interesting to see the trends of Java, .NET languages and C# in particular.

 

Programming Language Heatmap       5 year trends

I'm a big believer in learning more than 1 language and feel that a programmer can pick up a new language pretty quickly (the basics, libraries and the rest will come in time).  It's actually very useful to know multiple languages so that you can choose the right one for each project rather than going with the one you're comfortable with that can be bent to solve the problem.

I had the pleasure of speaking at the 2nd annual Java Developers Conference being held in Cairo (where Microsoft was a gold sponsor) by the Egyptian Java User group.  The session was about interoperability, specifically interoperability at the application layer between Java and .NET and the many ways you can achieve interop, but really the one that stands out is web services.  Most of my work is done around SOA these days and usually we talk about reusability, but it's also about platform and language indepent implementations that are interoperable, all because of webservices and XML.

This session for about 600 Java developers also gave me the chance to change some perceptions of Microsoft and show off some of our cool new technologies where I focused mainly on the web.  After just coming back from MIX, there was no shortage of demos and I only wish I had more time in the session. 

The audience was great and asked some good questions, they were very interested but as happens with people who are not in the "Microsoft world" they were'nt aware of many of the new aspects of .NET and the path that Microsoft is on with our work in open source

Egypt Java Developer's Conference

 Update: In a timely manner, Kirk Allen Evans posts on Java and .NET interoperability from a slightly different angel, pointing out fast infoset and the .NET and Biztalk implementations for JMS.  Incidentally, Kirk's blog was the first place I learned what an Architect Evangelist does at Microsoft even before joining the company myself.

If you liked the Hard Rock demo from MIX, here's how you can easily build something similar yourself with the Deep Zoom Composer.  It's based on the same technology that powers PhotoSynth (SeaDragon) and makes creating these deep zoom applications very simple.  Check out the deep zoom version of the Silverlight 2.0 reference poster with 3 lines of XAML and the composer powertool.

I somehow got a front row seat for the Steve Ballmer keynote; blogging from here right now :)

A funny and interesting keynote session, you have to see it to fully get the title.  The audience questions are, as expected, mainly around the proposed Yahoo acquisition but also covered almost every aspect of Microsoft; it's good to see Steve having a great overview of every area we are in (and there are many). 

As entertainment before the keynote we got to see Vince Mira, the "15 year old Johnny Cash", what an amazing voice for a 15 year old.

 Update: Here is the excerpt from the keynote that spawned the title  (Take a look at Jon Udell's post on how to link to excerpts in video streams or create an excerpt with this nifty online tool)

I attended a session on internationalization and leared some very useful things about what's available in XAML.  The most useful aspect for the typical applications I see was FlowDirection property which lets you easily switch from Left to Right to RtoL.  This means that you can do English and Arabic websites and applications where the look is completely defined in XAML and can be changed to go from one direction to another with a simple property switch.  Watch the session for more details and how double byte is now supported. 

 I know that most of the developers in our region work in both English and Arabic, remember there are lots of resources for internationalization best paractices already:

 

After a long long journey from Dubai, I finally arrived in Las Vegas for the first day of MIX08.  A very exciting day for me to see Microsoft make some big announcements around the future of our technologies on the web.  Check out the official MIX blog recap of the keynote announcements, for me the Beta of Silverlight 2.0 is the biggest thing.  I've been playing around with it for a little while and it's amazing, take a look at ScottGu's 8 part post on Silverlight 2.0, it'll make the power very clear, Silvelight 2.0 = .NET in the browser.

There were some very impressive demos shown in the keynote, the AOL mail client shows how far web applications have come.  For another fun one, check out the Hard Rock Memorabilia demo, if you like your iPhone zooming (by the way is it just me or does every attendee at MIX have an iPhone or what?) you'll like this demo.

 For anyone who couldn't make it to MIX, you can catch the recording of the sessions here: http://sessions.visitmix.com/

MIX08

Microsoft has continued to improve in the area of interoperabillity in the recent past and today is a big day in that regard.  I spend a lot of time talking to our customers about our efforts in interoperablity, fighting some past perceptions of Microsoft.  Most of these discussions are in the SOA space where a set of standards (XML, WSDL, SOAP, WS-*, ...) have played a big part in making interoperability for applciaitons real.  Today, Microsoft announced a major step towards even more interoperablity; see the press release and the interoperablity site for all the details, the highlights for me are below:

  •  ... starting today Microsoft will openly publish on MSDN over 30,000 pages of documentation for Windows client and server protocols that were previously available only under a trade secret license through the Microsoft Work Group Server Protocol Program (WSPP) and the Microsoft Communication Protocol Program (MCPP).
  • To promote user choice among document formats, Microsoft will design new APIs for the Word, Excel and PowerPoint applications in Office 2007 to enable developers to plug in additional document formats and to enable users to set these formats as their default for saving documents.

Both of these are major steps and in the end should help our customers to give them more choice.

For those in Kuwait, mark your calendars for Saturday Februrary 16th.  DotNetBoom and Pro Rangers will be hosting a Community Open Day covering the latest Microsoft technologies.  Amr El Garhy and Anton will be there for sure with the communities, with Anton presenting a session on web testing; check out the full agenda.  I will try my best to make it there as well.  I'm very happy to see a full session on Popfly presented by Fadi, I still think this is the coolest product we make and I recently gave an interview about it to Gulf News

So hopefully I'll see you there.

And don't forget you have a chance to win an Xbox 360 :)

I've been reading a lot and giving talks on SaaS and S+S (Software + Services) but the thing most people don't mention is that if you're building a true SaaS application then the only things your customer will ever see is the web interface the API (webservices, REST, ...) which are most likely XML based at this point.  You'll be running the data center where the application lives and won't have to ever worry about deployment at a customer site.  Now there's lots of IT operations benefits to this but as a developer this means you can really write your program in whatever language you want as long it can create the web interface and the XML webservices.  Now this is true even in true SOA models but with SaaS you're pretty much guaranteed that you control the service at all times and are separated by the internet from your customers (rather than partners or other departments in an enterprise).

I'll quote Paul Graham here:

"... when you're writing software that only has to run on your own servers, you can use any language you want. When you're writing desktop software, there's a strong bias toward writing applications in the same language as the operating system. ... But with Web-based software ... you can use whatever language you want."

This is even more true in the SaaS world.  So, will we see an increase the range of languages used (beyond C#, Java,VB)?  Will the web centric languages (PHP, Pyhton, Perl, ...) be used more for "enterprise" SaaS applications? Will Lisp make a huge comeback ;)


As those who've attended my sessions will know, I really like Popfly, I think it's the future of how people will build applications, and it's also incredibly cool to demo.  It qualified as one of PC World's top 25 most innovative products of the year.

I had some extra time this weekend and built a quick application using Dapper and Popfly.  This basically takes the Sharjah Airport Flight Information available as an HTML table and converts it to XML and RSS (using dapper) and then gives it a user interface and process using Popfly.

It was very simple to build and didn't require any code, you can check out the Popfly project yourself.  I made 2, one is a silverlight based gadget that filters the list for all "Arrived" flights and shows them in a gadget.  The 2nd takes the flight number as user input and returns the status of the flight(s).

 Anyone can sign up for Popfly with a LiveID, my projects are shared so you can take them and improve them. 

P.S. Anyone using Facebook should also check out the Facebook block in Popfly to create very simple facebook applications, I've already built a few to get my pictures out of facebook and embed them on my personal blog and am working on a slightly more complicated one to bring the richness of Silverlight animations to the slideshows.
 

More Posts Next page »
 
Page view tracker