Silverlight and Windows 8

by Ciprian Jichici 16. September 2011 02:34

Another highly speculated subject in the past few months refers to the future of Silverlight in the context of Windows 8’s release. The reality is that there’s genuine concern out there, as there are significant investments in SL, especially for Line-of-Business applications. The reminder of this post focuses on the this particular scenario: moving forward in a Windows 8 world with SL-based LOB apps.

Now that we could get Windows 8 in our hands, some things are becoming more clear. First of all, Silverlight continues to be a first class citizen in Windows 8 desktop apps. The desktop version of IE 10 fully supports Silverlight and your apps will run the normal way. More than that, Microsoft continues to make significant efforts with Silverlight (version 5 has just reached the Release Candidate milestone). So, from this point of view, your SL investment is more than safe.

The story changes when it comes to Metro apps. Turns out that the Metro version of IE 10 does not currently support plug-ins (no SL, no Flash). So you won’t be able to run your SL app in Metro mode. At first sight, this sounds like a bummer. After a more detailed analysis, things start to make some sense.

First of all, I’m not sure you really want to run a SL app as-is, in the Metro browser. Mostly because you designed your SL app from the ground up to work in a keyboard-mouse environment. Which is great in a desktop environment. But sucks in a touch environment. Sucks to the point of being close to unusable.

Closely related to the above is productivity. I’m not sure the tablet environment will ever be extensively used for productivity apps. I just don’t buy into that. In a LOB app, there is nothing yet to replace the good old keyboard and the mouse. You don’t believe me, use only a tablet for a couple of months for productivity apps. It just gets on your nerves. So, most probably, you will want to provide just a portion of the user experience in a Metro app. Which means that you need to write code anyway.

Another point to take is that there are patters like MVVM that make o good work of making changes in the View less painful.

Finally, you must take into consideration that Windows 8 Metro apps have native support for XAML. The XAML syntax is virtually unchanged, so in theory you can port your SL XAML to Metro XAML. Again, I don’t see much value in it (due to usability issues in a touch environment), but it’s possible.

In a nutshell, the story goes like this:

  • You will run your SL LOB apps unchanged in Windows 8 in desktop mode
  • Should you need to provide a Metro version of your SL app, you will probably have to redesign anyway (because of design and productivity issues)
  • Patterns like MVVM and native XAML support in Windows 8 Metro apps can make the implementation of the Metro version of your SL app less painful

Tags: ,

Silverlight | Windows

.NET Gets a New Lease of Life

by Ciprian Jichici 16. September 2011 01:51

For the past few months, there has been a somewhat heated debate over the future of .NET on the new Windows 8 platform. Folks were concerned about the possibility of having to abandon their 10+ years of investment and being forced to move towards other things like C++ or JavaScript. Don’t get me wrong, both C++ and JavaScript are amazing technologies, but for a hardcore .NET developer, they represent alien worlds.

With the new release of Windows 8, the obvious was officially confirmed. Not only .NET is here to stay, but it gets even more important. On one hand, it gets tons of new features for server-side development. On the other hand, it remains a first class citizen on the client too. I’ll leave the server side for a future post and I’m going to focus in the reminder of this post on the client story.

The first thing you need to understand is that Windows 8 comes with the full version of .NET 4.5. Here’s the proof for that:

image

The version of clr.dll (located in C:\Windows\Microsoft.NET\Framework64\v4.0.30319) indicates 4.0.30319.17020 (as opposed to the latest .NET 4.0 version which is 4.0.30319.225 if my memory serves me well).

The second important thing to understand is the way in which apps are run on Windows 8. There are basically two major categories of apps: desktop apps and Metro apps. The following picture shows the high level architecture of this approach:

clip_image001

A desktop app is the type of app we’re all used to from previous versions of the OS. When it comes to .NET, this is a full .NET client application, with all the stuff in it. Obviously, old apps will run without a problem. Whether they are WPF apps (like Visual Studio for example Smile ), Silverlight, or any other type, they will just run. I want to be crystal clear on this: DESKTOP APPS ARE NOT SECOND CLASS CITIZENS IN WINDOWS 8. They continue to represent an extremely important part of the platform.

A Metro app is they new type of application that uses the new interface style introduced by Windows 8. In a nutshell, this type of interface is based on the Metro UI concepts, and it’s optimized to be used in both touch and keyboard-mouse scenarios. The important thing to understand here is that these apps are run in a protected environment. Which makes a lot of sense since this is the “tablet” world where you’re interested in providing an environment for secure and safe applications that can be downloaded and installed in a very easy way from an app store. The protected environment is provided by an AppContainer (a new concept introduced by Windows 8). In this protected environment, the app will be allowed to do only certain things. Simply put, it’s a locked down medium where you have to play by the rules.

As you can see in the picture above, among the types of Metro apps you have the C#/VB apps (aka the .NET apps). Now this is where things are becoming interesting. You might have noticed that they run on top of something called the WinRT (Windows RunTime). WinRT is basically a set of native APIs, highly optimized, that run on top of the OS kernel itself. Understanding the role of WinRT is key to understanding this whole new model of app development.

WinRT inherits a lot from .NET. To name just a few things:

  • Metadata (Because native code does not support metadata embedded into it, the metadata is stored in separate files with an WINMD extension. These files are located in C:\Windows\System32\WinMetadata. The cool thing is that the format used is the .NET format – with some minor additions. This means you can even ILDASM these files. Although it’s a .NET format, the metadata approach in WinRT is unversal, meaning that it is available across all languages)
  • .NET style namespaces
  • .NET compatible base types
  • Native support for XAML

So, as you can see, .NET had a fundamental influence on WinRT. BUT WINRT IS NOT .NET. It’s a set of native APIs available for all Metro languages (C#,VB, C++, JavaScript). To clarify even more:

  • WinRT is the API used for Metro apps – it is not available for desktop apps
  • Win 32 is the API used for desktop apps – it is not available for Metro apps

But WinRT also introduces some fundamental new approaches:

  • Asynchronous calls are used exclusively in lots of places (as opposed to previous approaches where the developer had a choice between synchronous and asynchronous – this just emphasizes the laser focus on performance in Windows 8)
  • No message loop (believe it or not, it’s not there Smile)
  • No GDI stuff, all graphics goes via Direct X (it’s not yet very clear what is the current position of XNA in this, we’ll have to wait and see)

Now that we are clear about the context, let’s get into the details of Metro apps developed in .NET. When you use the C# or VB Metro app template, you are basically developing against a .NET framework profile named .NET Framework Core 4.5. This means that there are only certain things from the full version of .NET 4.5 that you can use in your app (much like we had in previous versions with the Client Profile). In addition, there is only one AppDomain (the Default). But don’t worry, all the cool things are there: generics, LINQ, and so on. The new thing is that you can also use WinRT namespaces as first class citizens in your .NET app. This is possible because of the metadata model I described above.

What you get when you compile you code is plain old MSIL which runs inside the .NET CLR. The interesting part here is that when your code gets JIT-ed or NGEN-ed, based on the WinRT metadata that you refer to, the WinRT metadata references are transformed into v-table calls into the native libraries.

In a nutshell this is the story with C#/VB Metro apps:

  • They run in the CLR as all .NET apps do
  • You get the power of .NET 4.5 (except for constrains imposed by the Core profile)
  • You consume transparently WinRT libraries (via the new metadata model introduced by WinRT)
  • Your execution environment is further constrained by the OS (via the AppContainer)
  • Your UI is based on XAML which has native support in Windows 8 Metro apps

Well that’s about it. Obviously, all info in this post is based on information available right now, which might change. It could also be that I misinterpreted some of the info and had drawn some inaccurate conclusions. But the big picture is clear beyond any doubt: .NET is here to stay in Windows 8. You can use it either for desktop apps which benefit from the full power of the OS and the .NET Framework, or you can use it to develop Metro apps which benefit from the CLR and the native, high performance, layer of WinRT.

To paraphrase a classic: “the rumors of .NET’s death are greatly exaggerated”. Not only it’s present in Windows 8, but it’s even taken to a whole new level, and some of it’s key concepts have been broadened and made available throughout the entire OS, as native implementations.

Stay tuned for more great stuff coming from //BUILD.

Tags: , , ,

Windows

The Verdict Is Out: It's the Phoenix

by Ciprian Jichici 14. September 2011 09:39
Wow!!!!!

I have just attended what was perhaps one of the coolest keynotes ever at a Microsoft conference. And to tell you the truth, I have never been in my entire career as enthusiastic as I am right now! Those who know me personally know that it takes quite a lot to make me say wow and that I have a tendency to be critical rather than supportive. But the Windows 8 story I saw today is one of those rare things that felt like being the right thing from the very first moment. You know the feeling? Everything just clicks in and seems to be the right thing, at the right time, in the right place. I think I just fall in love with Windows 8 today.

As an overall note regarding the keynote, not only it was sharp and cool, but it benefited from one of the best deliveries I've seen for a long time. A relaxed and confident Sinofsky put up an excellent performance. I've been writing about this previously, and it seems to get better and better. I'm talking about a sense of coolness projected by Microsoft. Seeing the Windows big boss wearing snickers and jeans, talking about the bold decisions taken in order to re-invent the OS was very refreshing.

It's hard to decide where to start, so I'll just stick with my first love: the developer story. As you probably already know, a very heated debate is going on for quite some time regarding the Windows 8 developer story. Folks were concerned about the future of .NET, Silverlight, and XAML. It took Sinofsky one slide to clear things: XAML over C#, VB, and C++, and HTML + JavaScript. End of story. Windows 8 supports both. An amazing demo showed a Silverlight app taken from ScottGu's blog, recompiled, and run on Windows 8. It's what I've been expecting to hear and it was confirmed today.

The hardware story is equally amazing. First of all, Windows 8 will run on x86, x64, and ARM. It will run on every imaginable form factor out there. And the boot time, oh yes... We all know that boot times were one of the things which attracted lots of criticism. Well, that's history. We've seen today systems running Windows 8 booting faster than the time you need to open the lid. But that's just part of the story. Tremendous efforts have been put into optimizing the performance of the OS, and this really shows. Sinofsky showed one of his old netbooks with 1Gb of RAM and an Atom proc, running Windows 8 with impressive results. More than that, things like hardware acceleration are becoming standard in every aspect of the UI.

But perhaps the most amazing thing about Windows 8 its the UI. Simply put, it's just fantastic. Being based on the Metro concepts, it's fast, responsive, and just feels good. After what we've seen today, even the most skeptical attendees were convinced that Windows 8 is excellent for portable devices, especially for tablets. It was about time to have this change, and I believe Microsoft met and even exceeded expectations regarding the new Metro style UI.

It's been proven once again that under immense pressure, Microsoft is able to create amazing stuff. For me, it's beyond any doubt now that Microsoft is set on a course to dominate the consumer space once again. They basically re-imagined Windows from chipset to experience on all major areas: capabilities, scenarios, and form factors. What they got is an amazing OS which, at least for me, is everything I hoped for and a lot more. I just can't wait for the next months and years of developing great solutions!

Well, that's it for now. Time to get into the details. Stay tuned for lots of interesting things to come...

Tags:

Windows

Microsoft's Ground Zero

by Ciprian Jichici 13. September 2011 17:40

For years, Microsoft's dominance in the world of client operating systems was sort of undisputed and taken for granted. Windows, Office, and Internet Explorer were THE choices out there. Windows Mobile was THE choice when  it came to smart phones. Even more ahead of it's time, the Tablet PC made Star Trek look more science fact than science fiction. All in all, the dominance was obvious, strong, and, at times, crushing for the competition.

With the strong grip on the client side of things, Microsoft turned its attention to the enterprise, where at that time it was merely an underdog. Playing on the strengths of Windows and Office, the folks from Redmond paved the way for the spectacular rise of SQL Server, SharePoint, BizTalk and of course, .NET. After years of painstaking work and tremendous efforts from the product teams, it looked like Microsoft was finally on the course to become a major enterprise player.

But then something happened along the way. Something that, for me, represents the essence of information technology. It's the thing that makes me love this field, the thing that justifies the airports, the long flights, and all the other prices I have to pay to be an actor in it. That thing is innovation.

In a blink of an eye, the tide shifted. Windows Vista was an OS that even a Microsoft technology fan like me disliked profoundly. Windows Mobile was sent to oblivion by iOS and Android. Internet Explorer started to feel real heat from FireFox, Chrome, Safari, and Opera. Despite the rivers of digital ink flown in debates over what happened, the root cause of the shift was rather simple. Blinded by the enterprise wars and the relative warmth of the client world top dog position, Microsoft lost the consumer world. In this world, it moved from pedal-to-the-metal innovation mode into don't-need-to-do-anything-yet mode. It choose to fight the iPhone with Windows Mobile and the iPad with Windows 7 running on slates. To me, those were the times that qualify as a genuine Ground Zero for Microsoft. Not because of sales, those continued to be stellar. Not because of Windows and Office licenses, those went on and on in the hundreds of millions. But because of the apparent loosing of touch when it came to innovation in the consumer space.

Many were quick to announce the end of the Microsoft era, and there were even voices that went as far as predicting Microsoft's end as a software company. I think those persons and those voices were and still are very, very wrong.  Why? Because the same thing (innovation) happened again, this time, on Microsoft's side.  The signs quickly added up. The  phenomenal success of XBOX and it's Kinect sensor, the high quality of Windows 7, Windows Azure, and Windows Phone were just a few of them. Proving able to learn the new rules of the consumer game, Microsoft looks now to be set on a course to re-conquer the consumer space of the 21st century. It won't be as easy as the first time, but it's definitely possible.

I'm writing this post from 40000 feet above Europe, while flying to Anaheim, CA, for the BUILD conference. All signs indicate that this week will prove to be crucial for the long-term future of Microsoft's position in the consumer space. The bar is set vey high and expectations are skyrocketing. Everybody wants to see whether Microsoft is able to re-invent Windows and make it a player in the post-PC era. According to many, Windows 8 will prove to be either the Phoenix or the Nemesis of Microsoft. In my mind, there is absolutely no doubt on how things will go. I believe this will be the week when the game changes, the week when Windows will shine once again. It will mark a turning point defined by Microsoft adding the final and most important piece to the grand scheme of rebuilding its consumer Ground Zero.

Stay tuned for some fantastic news!

Tags:

Windows

Windows. The Next Generation

by Ciprian Jichici 3. June 2011 03:33

Let me start with a quote from a previous post:

“[…] And I’ve also asked myself why doesn’t Microsoft consider Windows Phone 7’s OS the obvious candidate to fight the tablet wars? After all, given the circumstances, it’s doing a good job in the smart phone space. After spending a fair amount of time thinking about this, I realized that throwing in the battle at this moment a WP7 based tablet (or tablets for that matter) would really qualify in the “rush in with a fix” category of moves. Let me explain why.

The most important reason is that Microsoft and Windows own the (desktop, laptop, netbook) space. It would be fundamentally wrong to ignore this fact when developing strategies for the smart phone and tablet wars. And it would force Microsoft to fight the war without its most powerful weapon. I’ve said above at some point that I think the fundamental weakness of the tablet today is the fact it runs OSs initially developed for smart phones. Combine that with the form factor, and eventually you will find out after a while that it’s quite hard to perform productive work on the tablet. Pressure is high for a compelling Windows tablet, no doubt about it. Android and iOS are gaining more and more traction every day, including in the enterprise. Yet more and more tablet owners admit that after the initial enthusiasm of owning a tablet they end up back to the (desktop, laptop, netbook) for productive work. The fact is, neither the smart phone nor the tablet are yet in a position to kill the (desktop, laptop, netbook). It’s likely that for a few years at least, these worlds will coexist. Actually, I think this gives Microsoft a bit of space to think, prepare, and make the right move. Finally, it’s pretty obvious that both the smart phone and the tablet markets are in their infancy. There is a lot of room for growth, and, while the early players have a clear advantage, there’s always going to be room for quality products.

What should be Microsoft’s next move? I now believe it has to be Windows centered. Not Windows 7 because, despite it’s awesome qualities, Windows 7 is not really suitable for touch devices. Microsoft’s next move also needs to capitalize on the strengths of Windows vs. the weaknesses of today’s tablets. In a nutshell, Microsoft needs to deliver a new Windows that’s ready for the next killer device. What’s that device? I dare to predict it’s the one that will combine the efficiency of the laptop with the mobility of the tablet. Many say the smart phone and/or the tablet are today’s new PCs. Turns out they are not. At least not yet. But the day is coming, there’s no doubt about it. “

A short while ago we’ve seen the first public demos of Windows 8. Personally, I’m way more enthusiastic than I thought I would be. In fact, to be honest, the last time I was this impressed was when I made first contact with .NET. It’s not because of the METRO UI approach (although I like it very much). It’s not because of the fresh look and perfect match of the experience with the slate/tablet format (although I’ve expected this for such a long time). It’s probably because I’ve always been fascinated by a good chess game. It’s really amazing how some players, when they are under immense pressure, find the resources to avoid the “quick fix” move, opting for the more painful longer-term fix. Which is usually the only one that can lead to a strong end game. For me, this is the difference between great chess players and amateurs.

And that’s exactly what Microsoft is doing with Windows 8. By the looks of it, it’s going to be an amazing OS. True, there is still a huge amount of work to be done in order to harness and deliver the full potential of the new W8 concept. But it’s a real good feeling to see the guys in Redmond are indeed making the right moves towards ensuring that the platform so many of us love reinvents itself and rises to the challenges of the decade.

Let me finish by restating what I’ve said in another blog post: Microsoft looks more and more like a really COOL company.

I guess that says it all.

Tags:

Windows

Is There A Future For The (Microsoft, PC) Binom?

by Ciprian Jichici 4. March 2011 23:46

5 years ago, anyone asking this question would have been deemed as a lunatic. Today, after several years of iPhones, iPads, and Androids the question seems almost an obvious one. Almost from nowhere, two worlds emerged in the consumer space: smart phones and slates/tablets (let’s call them tablets). Well, emerged is perhaps not the right word. Boomed is a better one. That’s because those worlds existed before, but they were small compared to their present size.

In order to get to the answer of my question, I’m limiting my analysis to the following markets:

  • Desktop PCs
  • Laptops
  • Netbooks
  • Smartphones
  • Tablets
  • Gaming consoles

Although there are obviously other markets which are important (media players, regular phones, TVs, servers, and others), I consider them secondary from the point of view of my question. First of all, let’s take a look at the current status of the ones I enumerated above.

The desktop PC is still one of the workhorses of today’s IT effort in the world. People use it at the office and at home. It’s still interesting for many reasons like sheer power, multiple (and large) display support, and flexible hardware configuration (to name just a few). Hundreds of millions are in use as we speak. Then we have laptops (and their derivatives, the netbooks) which became quite some time ago valid replacements for desktop PCs. Their main advantage over the desktop? The ability of being moved. Some are a breeze to carry, some are heavy, but still, they can be moved. Some of the lightest configurations one can find today are down to several hundreds of grams (usually around 800, give or take). At the other end of the scale, some of the most powerful ones can easily compete even with server hardware or high-end gaming desktops. What do desktops, laptops, and netbooks have in common? They all have highly productive keyboards and pointing devices. Might seem that I ‘m stating the obvious here, but I think this little detail is an important one.

Now we get to smart phones, which some call the new PC. The amount of power packed in such a tiny space is truly amazing. Functions like media playing and gaming are now in the realm of reality (Angry Birds anybody?). Combine this with touch and you do get killer devices. Despite all of this, the size factor is the ceiling here. Despite its power and capabilities, a smart phone cannot exceed a give size. On the other hand, there are things that you cannot do (at least not in a productive and easy way) unless you reach a certain size (I’m thinking here about keyboards and screen space, for example). That’s why the tablet has become such a popular choice. Extending those limits to values that fall between the ones specific to smart phones and the ones specific to netbooks/laptops makes things like browsing, media playing, and even typing move into the realm of acceptable/enjoyable. What do smart phones and tablets have in common? Obviously, they don’t have highly productive keyboards or pointing devices. Also, they are way more mobile than desktops and even than laptops. And there is one more very important thing: the most popular ones, the ones that have the largest market shares today, are all running OS's initially developed for smart phones. I dare to say, this is the Achile’s heal of most of today’s tablets. Despite of this, tablets might be the one thing that has the potential of making the PC as we know it history.

Finally, we do have the gaming consoles. Building on our almost unlimited need and desire for games, these are devices that had a fabulous evolution throughout the past 10 years. Today, they aim to become almost complete entertainment devices that bring together the game, the media, and the social.

Now that we have the 10000 feet view of the matter, let’s zoom in on Microsoft. Where is the Redmond giant in these games? Let’s start with the easy ones. They own the desktop PC. They own the laptop game too (to a slightly lesser degree, due to the notable exception of the Mac laptops). Interestingly enough, they also have a firm grasp on netbooks too, despite all the analysts who were predicting the death of Windows by the hand of the netbook. Due to the fantastic work Microsoft did with Windows 7, they are still well ahead in the game.

Things get more interesting in the gaming console’s area. Three main contenders, Microsoft, Sony, and Nintendo are fighting the war here. Which is perfect if you ask me. Why? The answer is quite simple: if things were to be different, things like the Wii or Kinect would have probably not been invented yet. Competition is tough, but if and when the gaming consoles will start to be a real threat to the (Microsoft, PC) binom, Microsoft is perfectly positioned to defend the castle. As we’ll see in a moment, this doesn’t automatically mean they will be successful in doing that.

Finally, let’s talk about the hard ones, smart phones and tablets. There is no doubt here, Microsoft is lagging behind. iOS and Android are the pacemakers today when it comes to both smart phones and tablets. And they are hugely successful. Their success is so big that some are wondering whether this is the moment when (Microsoft, PC) will get its coup de grace. I admit, this is by far the most important threat faced so far by Windows as we know it and Microsoft as we know it. There are many reasons for this, and I’m not going to analyze them because it’s written history already. Let me just note that Microsoft was among the early inventers of both concepts (remember Windows Mobile and Tablet PC?), and then it simply failed to bring the game to the next level. It’s also common knowledge that the smart phones train was missed because of Microsoft being paralyzed in Windows Mobile. The tablet train was missed probably because nobody really believed in the potential of such a market. Looking back, one can clearly see what happens when there’s no threat on the horizon. Even powerful giants fall asleep.

So, there is no surprise that many are expecting today no less than the death of (Microsoft, PC). The threat is clear and present, no doubt about it. And it’s amplified (mainly in perception) by the fact that Microsoft is not announcing loudly a clear strategy to fight the tablet war. Makes some people think that folks in Redmond are living in a dream world and lost their sense of reality. Well, I somehow do not buy into this.

My perception is that, on the contrary, the chess is well played now. One of the greatest chess players the world has ever seen used to say that the worst thing you can do after a bad move is to rush in with a fix. Most of the time, it will get you in an even deeper hole. It’s a fact, Microsoft did miss the smart phone train. Because of that, missed the tablet one too. Combined, these are now gaining huge momentum and are sieging Microsoft’s position. Where is the Windows Tablet? Why are they insisting with Windows 7 as a choice for the tablet form factor? These are some of the questions people ask me a lot these days.

I have to admit I asked myself those questions at some point. And I’ve also asked myself why doesn’t Microsoft consider Windows Phone 7’s OS the obvious candidate to fight the tablet wars? After all, given the circumstances, it’s doing a good job in the smart phone space. After spending a fair amount of time thinking about this, I realized that throwing in the battle at this moment a WP7 based tablet (or tablets for that matter) would really qualify in the “rush in with a fix” category of moves. Let me explain why.

The most important reason is that Microsoft and Windows own the (desktop, laptop, netbook) space. It would be fundamentally wrong to ignore this fact when developing strategies for the smart phone and tablet wars. And it would force Microsoft to fight the war without its most powerful weapon. I’ve said above at some point that I think the fundamental weakness of the tablet today is the fact it runs OSs initially developed for smart phones. Combine that with the form factor, and eventually you will find out after a while that it’s quite hard to perform productive work on the tablet. Pressure is high for a compelling Windows tablet, no doubt about it. Android and iOS are gaining more and more traction every day, including in the enterprise. Yet more and more tablet owners admit that after the initial enthusiasm of owning a tablet they end up back to the (desktop, laptop, netbook) for productive work. The fact is, neither the smart phone nor the tablet are yet in a position to kill the (desktop, laptop, netbook). It’s likely that for a few years at least, these worlds will coexist. Actually, I think this gives Microsoft a bit of space to think, prepare, and make the right move. Finally, it’s pretty obvious that both the smart phone and the tablet markets are in their infancy. There is a lot of room for growth, and, while the early players have a clear advantage, there’s always going to be room for quality products.

What should be Microsoft’s next move? I now believe it has to be Windows centered. Not Windows 7 because, despite it’s awesome qualities, Windows 7 is not really suitable for touch devices. Microsoft’s next move also needs to capitalize on the strengths of Windows vs. the weaknesses of today’s tablets. In a nutshell, Microsoft needs to deliver a new Windows that’s ready for the next killer device. What’s that device? I dare to predict it’s the one that will combine the efficiency of the laptop with the mobility of the tablet. Many say the smart phone and/or the tablet are today’s new PCs. Turns out they are not. At least not yet. But the day is coming, there’s no doubt about it.

My vision is about a device that can act as a regular PC when needed (keyboard, mouse, power, and so on) and as a tablet in the mean time. Think how you’d feel if you could just detach you laptop’s screen and make it a tablet. The intelligent OS that powers your device knows how to adapt to context. When the screen is docked, it works like a regular PC. When the screen is loose, it changes the user experience to one that is better suited for touch. It also detects proximity, so when you’re around the main body of your device, you can still take advantage of it’s computing power, storage capabilities and even it’s internet connection. Ironically, seems to me the perfect name for this next killer device is Tablet PC. The power of the PC combined with the flexibility of the tablet.

Well, it might take a while until my vision turns into reality. But it’s quite obvious to me that the next big thing waiting around the corner is the merge between the tablet and laptop/netbook concepts. As long as Microsoft is capable of delivering in a reasonable amount of time a Windows OS that materializes the promise of this new killer device, (Microsoft, Windows) remains on solid ground for the foreseeable future. From what I’ve seen in the past 12 months, despite the pressure and bad moves from the past, Microsoft is preparing the right move.

Tags: , , ,

Windows Phone | Windows | Consumer | Gaming

Microsoft’s Best Friends: Linux, iPhone, Safari, Firefox, and Google

by Ciprian Jichici 17. March 2010 07:17

It’s been so far a fantastic experience for me attending MIX10. Apart from the fact it’s held in Las Vegas, Nevada :), it’s been very interesting for me since this is my first MIX ever. Being a regular attendee at traditional developer conferences like TechEd and PDC, MIX strikes me as an amazing combination of developers, designers, and media-connected persons. Not the usual gang I was used to meet at Microsoft conferences. On top of that, I have to admit I’ve never seen such an abundance of Macs per square meter :) at a Microsoft conference.

Besides the obvious differences I’ve noticed, and perhaps in an unexpected kind of way, one thing strikes me more than ever: a sense of freshness in the air. Being seriously involved with Microsoft technologies via the Microsoft Regional Director Program, I dare to say I’m more or less in the loop with most developments originating from the Redmond giant. This enabled me during the last say 5 years to have a front-row seat to Microsoft’s change in terms of corporate culture and technological vision. These days, seeing stuff like Windows Phone with its amazing user experience and free (yes, no mistake here) developer tools, Silverlight 4, OData, and many more, I fully realized this is not the Microsoft I’ve used to know for decades anymore. The company that used to do things like implementing proprietary protocols when ubiquitous and proven ones were available or hiding God knows what kind of knowledge behind binary, proprietary file formats in Office, is now a thing of the past. Today’s Microsoft is and plays a whole different ball game. It’s open, capable of leaving hypocrisy aside, and what’s the most important thing for me, more innovative than ever. So the question popped up in my mind: what was the catalyst of this amazing transformation?

The answer became apparent and obvious to me during a meeting that we, Regional Directors, had yesterday with Bill Buxton, Principal Researcher at Microsoft Research. On a personal note, meeting Bill was one of the few enlightening experiences I’ve ever had during my professional career. The guy is plain and simple, nothing short of amazing. But let me get back to the point. We discussed a lot about how amazing technologies like the mouse, multi-touch, and many others went below the radar for many years until surfacing as life-changing “novelties”. It’s amazing how the most important, ground-breaking products we’ve seen in past years express nothing more than innovative ways of putting together existing (sometimes already mature) technologies. The first thing that comes to my mind is the iPhone. Well, I digress … again …

Windows Phone is fantastic. It’s very very very late, true. But it manages to zero out all the competitive advantage held by its competitors, iPhone and Android. On top of that, it comes with a truly amazing developer experience unfolding within the boundaries of free developer tools. Windows 7 is the embodiment of what I’ve always wanted an operating system to be. Yes, it comes after that thing we called Vista :), but still, it just rocks. Silverlight is by far the brightest star on the horizon. And the list goes on with Bing, Visual Studio, XBOX, and many more.

So, back to my question. Windows 7, Windows Phone, Silverlight, Bing, Visual Studio 2010, and XBOX are all technologies that are not just good, they are truly inspiring. Some of them are already proven and some have yet to prove their potential. Some might even fail on the long run. Still, how come Microsoft did manage to stay or get into all these games? There is only one word in the answer: competition. Without Linux being what it is, i dare to say we wouldn’t have today Windows 7. We’d still be stuck with the cozy and rather mediocre user experience of Windows Mobile had the iPhone never been invented. Probably no Silverlight without Flash, no Bing without Google, no XBOX Project Natal without Wii, and so on. Every single time, Microsoft proved this amazing capability of either leading the game, or getting back in the game with a vengeance.

The amazing part is that pressure from Linux, iPhone, Safari, Firefox, and Google (and others obviously) had a spectacular side-effect: not only did they change Microsoft’s products, but they did change Microsoft itself. And that’s never been so obvious as these days at MIX10.

This why I honestly think that, besides being some its most fierce competitors, Linux, iPhone, Safari, Firefox, and Google prove to be also Microsoft’s best friends. Long live competition!

Tags: ,

Windows | Windows Phone

Windows Server AppFabric: The Architectural Point of View

by Ciprian Jichici 2. February 2010 20:53

Most complex applications will rely on certain types of functionalities that are not tied to a certain layer or tier. Since they affect entire applications it is highly desirable to place these functionalities in a centralized location in code in order to avoid unnecessary duplication. The certain advantage you gain with this approach has its own Achilles' heel: you’ve just created the perfect location for high-impact design mistakes. Because of these interesting characteristics these functionalities are commonly referred among software architects as crosscutting concerns. Some of the most common crosscutting concerns are:

  • Authentication and authorization
  • Caching
  • Communication
  • Configuration management
  • Exception Management
  • Logging and instrumentation
  • State management
  • Validation

The 2nd edition of the Microsoft Application Architecture Guide has an excellent discussion about crosscutting concerns.

Since they are so common among software applications, it’s no surprise that every single application deals with (hopefully all of) them in its own way. Fortunately, most application platforms offer support to architects and developers in order to address the crosscutting concerns. The .NET Framework 4 in particular and the Microsoft Application Platform in general are no exception. But there’s a catch here: at the core level there is no integrated approach. Take .NET configuration files for services for instance. There are tons of things that you can do with configuration files in the development environment but there’s not much out-of-the-box functionality to handle them once they are deployed.

From the point of view of software architecture, one of the very interesting developments in Windows Server is the Application Server role. Indeed, Windows Server has come a very long way from being a platform providing fundamental APIs to being a true application server. At the heart of this journey there are two fundamental parts: the Microsoft .NET Framework and the Internet Information Services. Today, .NET Framework 4 provides all the necessary building blocks for the development of robust and scalable distributed solutions. IIS on the other hand evolved from a HTTP-based web server to a multi-purpose, multi-protocol, secure and robust hosting environment for application services. Add WAS (Windows Process Activation Service) to the mix and what you get is a pretty strong and scalable application server.

Building on  top of the existing functions in .NET Framework 4 and the WAS/IIS environment, Windows Server AppFabric brings the Application Server to the next level. And by next level I mean that in addition to existing fundamental APIs and hosting environment the AppFabric brings out-of-the-box, robust, and scalable solutions for the following crosscutting concerns:

  • Caching
  • Communication
  • Configuration management
  • Logging and instrumentation
  • State management

These concerns are addressed via the following categories of functionalities:

  • Better deployment, management, and configuration for WCF and WF services hosted in WAS
  • Persistence management for workflows
  • Tracking profiles (together with dedicated, queryable storage)
  • Monitoring of hosted services
  • PowerShell integration (custom management scripts)
  • Caching of any serializable CLR object and caching APIs at enterprise scale
  • Caching available as a service
  • High availability and automatic load balancing

It is very important to understand that Windows Server AppFabric will not provide comprehensive solutions to the concerns mentioned above. Nevertheless, it is an excellent and powerful piece of the puzzle that software architects can take into consideration when designing software solutions.

For more details about Windows Server AppFabric you can check the dedicated section from the Windows Server Developer Center.

Tags: , ,

.NET | Architecture | Microsoft Application Platform | Windows

Windows 7 Is Now On A Straight Line To RTM!

by Ciprian Jichici 5. June 2009 11:18

More good news for the ones (quite many, I have to admit) who are already Windows 7 RC fans. Windows 7 will RTM sometimes in the second half of July and it will be in stores beginning October the 22nd. Around the same time frame, the RTM code for Windows Server 2008 R2 will be available to Microsoft partners.

I’ve already talked about my experience so far using some beta builds of Windows 7 as well as the latest RC release. Still, it doesn’t cease to amaze me. Most probably, the main reason for this is the fact that it really looks to be light years away from the Vista experience (although I have to admit that post-service packs Vista is much better than the original RTM).

To be honest, it is the first time in my career that I feel really enthusiastic about an OS from Microsoft. Don’t get me wrong, I do like Microsoft operating systems, but I never felt like “this is the one I’ve been waiting for”. You know what I mean? Every time there were some things that made me say “yeah… this is ok, but I hope they will fix/improve this or that in the next service pack or version”.

Obviously, Windows 7 is not perfect. But it makes me feel like it’s the OS I’ve been waiting for for a long time.

Tags:

Windows

Windows 7 RC Rocks!

by Ciprian Jichici 8. May 2009 06:11

Today I just had one of my best experiences so far as an operating system user. I’m talking about in-place upgrade to Windows 7 Release Candidate (build 7100). Being very enthusiastic about the sheer performance and slickness of the new Windows 7, I started to use it for quite some time by installing one of the early builds (6800 and something).

Although I am known as one of the Romanian public speakers who does enjoy the occasional ‘head shot’ (can’t help it, I’m still an UT player :D) to MSFT (of course only when they really deserve it), I have to admit, it is the very first time when I am genuinely impressed by an OS produced by the Redmond giant.

So far, I never had the guts to use for more than 6 months, on my primary machine, a Windows version that was not even a Release Candidate. This time, I did it, and it turned out to be a good decision. On top of that, having a spare moment today, I decided to upgrade my shack to the RC version. Guess what, it went on perfectly, without a glitch and all my stuff is working like a charm (and believe me, I have lots of stuff on my machine).

All I can say is that Win7 RC really rocks! Can’t wait to get the final bits…

Tags:

Windows