Microsoft just unveiled the new Windows Live Essentials and the role it plays in completing the Windows experience. Essentials is a suite of free software and services which includes Messenger, Mail, Writer, Photo Gallery, and Movie Maker – as well as Sync and Family Safety.
We all take a lot of photos and videos that we love to share. Windows Live Photo Gallery and Movie Maker now comes with intuitive tools for organizing photos and movies, in addition to providing consumers with the tools to polish and then share their content online. Some of my favorites include:
- Photo Fuse. Allowing you to take the best parts of similar photos and fuse them together into one “perfect” photo
- Retouch. A great new feature which allows you to get rid of blemishes, scratches, bruises and stains on photos in a few clicks
- Precision Video and Audio Editing. Make it so simple for you to find the sweet spot for each video or audio clip
- High-Definition Formats (720p and 1080p). Now you can make your movies look even more polished and professional
Finally, a new tool introduced in the Windows Live Essentials family, Windows Live Sync. With Sync, you can access your files and folders on the web – even if your PC is offline.
Learn more about the new Windows Live Essentials at http://www.windowslivepreview.com
7
Understanding Windows Server AppFabric – 5 Important Questions …Answered
8 Comments · Posted by Hammad Rajjoub in Uncategorized
I am super excited about the public beta 2 release of Windows Server AppFabric. I am also hoping that you are also (if not more, than almost as) excited about this extremely useful and game changing offering from Microsoft.
However if you are one of those people who are still wondering what’s this ‘Windows Server AppFabric’ and why is it important for you then you have come to the right place. In the last few weeks I have been asked few recurring questions on Windows AppFabric Fabric and it made a perfect sense for me to write a blog post (or perhaps a couple of them) on this topic.
At the moment I am thinking about making this a 3 part series which we will cover following areas:-
1- Try to answer some of the common questions around Windows Server AppFabric
2- Discuss business use cases that require use of Windows Server AppFabric
3- Discuss Windows Server AppFabric Architecture and its extensibility points
In this first post I will solely try to outline the technology side of the story and try to answer following common set of questions:-
Q: What is Windows Server AppFabric:
Let’s see what MSDN has to say:
Windows Server AppFabric is a set of integrated technologies that make it easier to build, scale and manage Web and composite applications that run on IIS.
In a nut shell, AppFabric
- is an ApplicationServer that allows you to build composite (WCF and WF) services that can horizontally scale out.
- offers enterprise scale distributed in-memory caching (that can, again, scale out horizontally)
- makes managing and monitoring services extremely easy through streamlined dashboards (via IIS) and Windows Power Shell Cmdlets
So, the key words are Services, Composite, Scalability, Distributed, In-Memory Caching, and ease of Management.
Q: Why/When should I use AppFabric?
We are not going to talk about business use-case in this post but surely we can discuss AppFabric’s technical features that are extremely useful for developing composite service oriented applications.
You should definitely consider using AppFabric, when among other things, you… :-
- need your services to be scalable i.e the ability to expand from one node to hundreds and thousands nodes
- want to use application level in-memory caching that is highly available, performant and distributed across number of nodes
- want to be able to monitor your hosted services
- want the ability to manage your services using IIS as well as Windows Power Shell Cmdlets
Q: But… hold on…what happened with Oslo, Dublin and Velocity?
As a matter of fact, simply put mathematically, Windows Server AppFabric = Dublin + Velocity.
These days Oslo is more focused on data modelling and you find more details on Oslo here
Q: What are the key features of AppFabric:
Some key features of AppFabric include:-
- Hosting with message based activation i.e. Auto-magic lifecycle management based on incoming messages (more on hosting here)
- Streamlined configuration and monitoring via a centralized IIS Management console and Windows Power Shell Cmdlets (more on management tools here)
- Distributed, high performing, highly available, in-memory application caching (more on caching here)
- Seamless integration with IIS, WCF and WF (more on development here)
Q: How can I develop applications that can leverage AppFabric functionality?
Very simple! Fortunately, one of the good things about AppFabric is that any WCF/WF application/service built using following Visual Studio template leverage AppFabric feature-set.
- WCF Service Application
- WCF Workflow Service Application
- WCF Service
In fact, AppFabric (goes an extra mile and) looks for services created using these templates and applies default configurations for persistence and monitoring.
I believe that’s it for now and in the next post, we will try to cover common use cases where we can run our services on AppFabric add utilize its feature-set to build scalable, composite and robust services and platforms.
No tags
2
Combating Software Entrop with Design Patters and Pricnicples at Tech-Ed Middle East
2 Comments · Posted by Hammad Rajjoub in Architecture, Dubai, Microsoft, Tech-Ed, UAE
Here is the slide deck from my yesterday’s presentationat TechEd.
No tags
28
3 Important Questions on Software Complexity
1 Comment · Posted by Hammad Rajjoub in Architecture, Tech-Ed
3 Questions that I am going to cover tomorrow in my talk:
- Why is software complex?
- What is bad design?
- How to fix it?
See you tomorrow at TechEd
No tags
23
Why is it important to attend my ‘Combating Software Entropy Session’ at Tech-Ed Middle East 2010
1 Comment · Posted by Hammad Rajjoub in 2010, Architecture, Dubai, Microsoft, Tech-Ed
I just quickly wanted to write down a brief introduction to my ‘Combating Software Entropy‘ at Tech-Ed Middle East 2010
No tags
18
DotNetME Podcasts are live!
No comments · Posted by Hammad Rajjoub in Agile, Architecture, Podcast
I am pleased to announce that DotNetME Podcasts are live now !!!
To start with we have published our first episode that talks about SOLID principles. In this episode my good friend Ron is asking me about the desing principles around
- OCP : Open Close Principle
- SRP: Single Responsiblity Principle
- DI: Dependency Inversion
- LSP: Liskov Substitution Principle
The show was recorded way back in October 2009. Its a bit late but I’d say its all worth it. So download it, listen to it and let us know yor feedback.
No tags
18
Attending MVP Summit 2010
No comments · Posted by Hammad Rajjoub in AppFabric, Azure, Dublin, Velocity, WCF
A quick update, I am in Seattle, attending MVP Summit 2010 these days.
Its a wonderful experience to sit with all the CSD folks here at Microsoft Campus. A lot of discussion has been around with the v next of the platform, which is absolutely exciting.
I will definitely try and build some content around some key technologies that we are discussing here (obviously only covering the public information). So stay tuned for bunch of posts around Windows Server AppFabric, Microsoft Dublin , Microsoft Velocity, WCF4 and Windows Azure
No tags
Following is my top 11 programming books (in no particular order):-
1 – Code Complete 2
3 – Agile Software Development, Principles, Patterns, and Practices
9- Becoming a Technical Leader
11- Enterprise Integration Patterns
Take a look at Jeff Atwood’s list here.
Also, worth looking at is the list by Joel (of ‘Joel on Software’ fame) here.
I will share the complete list of books that i own some other day
Let me know which ones do you like and which ones you dont…
No tags
11
Agile Best Practices : Refactoring
No comments · Posted by Hammad Rajjoub in Agile, Dubai, User group, dotNet
Yesterday, 10th Feb 2010, i was invited to speak at a Techies UG event, here in Dubai, UAE.
I started off the discussion with defining the practice of refactoring and i quoted Martin Fowler’s blog as following
•Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.
•Its heart is a series of small behavior preserving transformations.
•Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring.
After this we moved on to the best practices for refactoring classes. Following is a list that we discussed:-
- Comments
- Long Method
- Long Parameter List
- Duplicate Code
- Large Class
- Type Embedded In Name
- Un Communicative Names
- Inconsistent Names
- Speculative Generality
The session was very intense with everyone chipping in with their comments and i thoroughly enjoyed hosting it. Towards the end Anton and I wrote couple of code snippets to check the Andrew idea of using Interfaces (more on it later on). Rolf also chipped in with his comments and critiques. Notable absentees were Ron and Zubair and it would have been much more fun had they attended the event.
ps: watch out this post for snaps from the event.
Edit#1: Rolf’s blog post on the event is live http://techiesleaders.spaces.live.com/Blog/cns!50531D3D6442376A!214.entry
No tags
11
Agile Best Practices : Refactoring
1 Comment · Posted by Hammad Rajjoub in Agile, Dubai, User group, dotNet
Yesterday, 10th Feb 2010, i was invited to speak at a Techies UG event, here in Dubai, UAE.
I started off the discussion with defining the practice of refactoring and i quoted Martin Fowler’s blog as following
•Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.
•Its heart is a series of small behavior preserving transformations.
•Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring.
After this we moved on to the best practices for refactoring classes. Following is a list that we discussed:-
- Comments
- Long Method
- Long Parameter List
- Duplicate Code
- Large Class
- Type Embedded In Name
- Un Communicative Names
- Inconsistent Names
- Speculative Generality
The session was very intense with everyone chipping in with their comments and i thoroughly enjoyed hosting it. Towards the end Anton and I wrote couple of code snippets to check the Andrew idea of using Interfaces (more on it later on). Rolf also chipped in with his comments and critiques. Notable absentees were Ron and Zubair and it would have been much more fun had they attended the event.
ps: watch out this post for snaps from the event.
No tags
