Value Search

Saturday, November 21, 2009

Win 7: Taskbar and Thumbnail Enhancements


We delve deeper into the new Taskbar features by writing code that can enhance the thumbnail experience that users shall get for your application

Last month we checked the Windows API Code Pack for .NET ? an open source release from Microsoft that lets you add Windows 7 features into your .NET applications with ease. This month we continue from where we left and add a few more features into the mix. So let's jump right in for the code.
Customizing the thumbnail
One of the coolest new features of Windows 7 is the new interactive thumbnails shown for each running application. Not only can you perform an 'Aero Peek' into the window by simply hovering your pointer over a particular thumbnail, but you can also click it to switch, close the window, view tabbed or child windows and more. All these features are available to your application running on Windows 7 for 'free' ? that is, you don't need to add any code to get them. However, there are a number of other features that you can use to make your app look even better by simply adding a few lines of code.
Thumbnail toolbars
The first new feature is the ability to add a toolbar on the thumbnail that contains buttons for users to click and have it interact with the main window. You can see an example of this in the new Windows Media Player that adds buttons allowing skipping, pausing and playing of content. To do this yourself you will need to add a little bit of code. So let's try this out by using the Windows Forms application we created last month and continue to build upon it.

Thumbnail Clipping
One thing you will notice when you run the above code is that the entire application is shown in the thumbnail, since by default, Windows 7 captures the entire client area of the window for it. However, you might want to show only a (more relevant) part of the window in the thumbnail. In this sample, you might want to only show the image that is shown in the picture box in the thumbnail without all the other trimmings around it. For this, you will need to use a feature called thumbnail clipping. Using this feature, you can decide on a relevant part of your application's main window that you wish to highlight in the thumbnail and get the bounding rectangle for that and display it.

As you can see, customizing what your users see in the thumbnail of your application is quite easy. You can really enhance their producitivty in using your application by simply adding a few lines of code. Till next time, have fun.

Google Chrome OS



Google demonstrated Google Chrome OS for the first time on Thursday in Mountain View:

Google Chrome OS is an open source, lightweight operating system that will initially be targeted at netbooks. Later this year we will open-source its code, and netbooks running Google Chrome OS will be available for consumers in the second half of 2010. Because we’re already talking to partners about the project, and we’ll soon be working with the open source community, we wanted to share our vision now so everyone understands what we are trying to achieve.
 


Speed, simplicity and security are the key aspects of Google Chrome OS. We’re designing the OS to be fast and lightweight, to start up and get you onto the web in a few seconds. The user interface is minimal to stay out of your way, and most of the user experience takes place on the web. And as we did for the Google Chrome browser, we are going back to the basics and completely redesigning the underlying security architecture of the OS so that users don’t have to deal with viruses, malware and security updates. It should just work.

Friday, November 20, 2009

Microsoft to launch Azure cloud service next year


  Azure, which provides an online platform for software developers to create their own programs, and space for customers to store data, was rolled out for experimentation a year ago. 


Microsoft Corp said on Tuesday it will launch its long-awaited Windows Azure cloud computing system on Jan 1, as it looks to take advantage of the growing interest in internet-based software and services.
 
Azure, which provides an online platform for software developers to create their own programs, and space for customers to store data, was rolled out for experimentation a year ago.

The service will go fully live at the beginning of next year, Microsoft's chief software architect Ray Ozzie told the company's annual software developers conference on Tuesday.

The first month of the service will be free, and billing will start in February, said Ozzie.

Microsoft is expected to be a big player in the cloud computing market -- broadly the trend toward running software in remote data centers and accessing it over the Internet -- but has lagged behind pioneering rivals such as Amazon.com Inc, which already sells cloud-based storage, and Google Inc, which offers a range of free, online software.

Microsoft's Ozzie unveils invisible cloud



Windows Azure service, set to be launched on Jan. 1, will run customers' applications on its servers and provide capacity through its massive datacenters,


Microsoft Corp's venture into cloud computing will be successful if most people don't even know it is there, the executive in charge of the initiative said on Tuesday.
The software company's new Windows Azure service, set to be launched on Jan. 1, will run customers' applications on its servers and provide capacity through its massive datacenters, helping websites stay up through spikes in demand which might otherwise paralyze them.

IBM jumps on cloud computing bandwagon

"For consumers, the best result of cloud computing is that they don't notice it," Ray Ozzie, Microsoft's chief software architect, said in an interview at the company's annual developers conference.
"Companies that are not in IT -- like retailers and manufacturing companies -- still deal with their customers on the web," said Ozzie. "Azure allows us to do the hard work of figuring out how to build those really high-scale systems that deal with all the consumers, and it lets businesses focus on what they are good at."
The Monday after Thanksgiving -- often the busiest Internet shopping day of the year -- is an example of when a company may suddenly need more servers to deal with purchases on its website, but can't afford to maintain those servers all year round.

Confusion mars cloud computing adoption

"From a consumer's perspective, when they hit the shopping cart online, they'll be able to complete the transaction," said Ozzie. "They won't lose that shopping cart and they won't have to hit that back button, and wonder 'Did the transaction go through?'"
Health scares or disasters could be other times when website operators suddenly need more capacity to deal with demand.
"What this cloud computing allows IT departments to do, is to just buy computing as you need it," said Ozzie. "If you have an application that you'd like to run and just try it a little, you only end up paying a little , and if your demand gets greater and greater, then we just turn up the dial and we give you more and more."
NEW DIRECTION
This new approach -- giving developers a platform to write online applications, and renting out space in datacenters -- sounds like a radical departure for Microsoft, which has relied on selling packaged software for customers to install on their own machines for much of its growth.
But Ozzie says the focus on software, not how it is delivered, is the connecting strand.
"What made Microsoft what it is today is software," said Ozzie. "I don't think that there's some dramatic shift here in terms of value. Software at its core is what we are."
Ozzie, 53, took over the chief software architect role in June 2006, when Chairman Bill Gates stepped back from day-to-day involvement in the company he co-founded.
The creator of the Lotus Notes e-mail application, regarded as one of the software industry's pantheon of pioneers, Ozzie has been the central force pushing Microsoft in the direction of cloud computing.
His employees understand the need to change, but change itself has not been easy, said Ozzie.
"Change management is tough, always, in any industry, when you go from one generation of capabilities to another," said Ozzie. "The great thing about this transformation is that because we all use the web, we all use the Internet at home, people can understand it, pretty much every employee can understand why things are different now." 
That was not always the case, said Ozzie, who remembers the days when it was not obvious that computing devices would become so central to communication.
"Of course there's risk," in the shift to new technology models, said Ozzie, but the change won't be abrupt or wholesale.
"Customers are very pragmatic, they figure out the right way to connect the old with the new," he said. "For every given application, a camera, a phone, there's some good combination of software in the device and in the cloud. Making them work together is what we are trying to do."

PDC 2009: Can clouds solve big issues?


 Be it clouds, agile genre, open source, or managed solutions; every geek at PDC 2009 has a different take


Agile is edgy, but I can't use it. Open source is not a Microsoft antithesis. Clouds I doubt will solve big real issues.

A walk around PDC 2009, helps you pick up these and many more real geek peeks into the so-called hot trends today.

The big fence, for instance, between OS and MS isn't that thick you may conclude.

Both have their own upsides and vice versa, says a Florida-based network administrator, from a test publishing company.

"Each has its own advantages and I wouldn't trade anything else for a better product," he stresses.

For him, and his IT team, it's more about having the right product, rather than a cheap one. His company is using both Microsoft and Open Source products in different areas.

He opines that going for something that has initial cost value but that leads him explaining the ballooned costs at the year end to his boss, won't just work.

A sentiment that Ganesh Gopalan shares as well.

The software engineer from Oregon State University attributes his preference for Microsoft products to its depth and tech support.

"Open source could be a problem when you have to step up and make it substantial. And where do you find answers to your questions?" he says adding that there is the other side of 'paying the price for it' though.

Veer the conversations towards the sunny topic of today - Clouds, and it's interesting to see that developers are not as rose-eyed on that yet.

For a Washington DC based developer working for a government entity, the more important question is beyond all the glam and buzz around clouds, as she asks, "Can it solve bigger problems, or would it be just a back up answer?"

She is also not very comfortable taking Agile Development back at the workstation, despite all its high points and cool factor.

"In a government organization, it could make others feel insecure. So no matter how cutting-edge a technology is, you can't just hop on to it. It has to be slow and steady."

The network administrator from Florida falls in the same 'not-so-gung-ho' category when it comes to clouds.

In his opinion, it could be a good call for a company that cannot afford enough capital spend and in-house IT expertise, but not otherwise.

"We can afford to spend, so we would bet on something that gives us more control and more conviction on the downtime issues. After all, for thousands of customers on a cloud at a time, there are chances of downtime for a hundred of them at some instant, and we can never afford to take the risk of being one of those hundred."

His point also includes the reliability factor that comes with Internet.

"If the Internet goes off, I don't want to have all my stuff go off with that too. Besides, managed solutions haven't been a good experience for us so far."

Accountability and responsibility add up to the issues of security and control.

Big boys still haven't grown up enough when it comes to clouds. "You can't do it all right, if you want to do everything," he says.

Still, open and excited to listen, learn and pick more, he is here like many other developers in this annual rendezvous where sessions and chats around many new and upcoming areas are running at full pace.

PDC -2009


Connecting apps in one's own environment with new ones in public cloud environments was the main highlight, apart from talk on platform convergence.

At the annual developer Mecca by Microsoft, PDC 2009, future is the center of all attention.
 
While the company is giving some peeks up its sleeve with some announcements on its future roadmap; many developers that have flocked to PDC 2009 are looking forward to Microsoft's pulling out new rabbits out of the hat and Visual Studio 10 tops that list.

The PDC 2009 is unwrapping some of the future flavors here from the Redmond's giant's kitchen.
Kick starting the view ahead, Bob Muglia, president, Servers and Tools Business, talked and showed how application evolution will take centre stage in the new cloud world.
"We are learning from you developers on how to take the existing applications forward. We have begun to evolve the applications and take advantage of clouds."

He dwelt upon some next generation attributes that will become significant in this context and relevant to apps. Elasticity, scalability, unfailing availability, multi tenancy, federated environments, model-driven bases, staged production, self-service etc. are some of them.

Don Box then followed with a demo on changes to Windows Azure and SQL Azure platform.
Connecting apps in one's own environment with new ones in public cloud environments was the main highlight, apart from talk on platform convergence.

"Next year we will develop Project Sydney that will be all about connections between existing services inside data centers with services in Windows Azure." said Bob who also added how in 2010 Virtual Machine's role will improve.

"We will allow you to create your own image, and helping easily move existing applications to cloud. We will deliver this next year. In 2010, one of the things coming is the ability to refine databases in a model way."

He also promised that there would be a lot more to explore in .Net4 and Visual Studio 10, while Windows Server Application Fabric and ASP.NET MVC are in Beta.
Later on, Microsoft showed in detail the new sandboxed features of Silverlight 4 today.
In a practical demo of these, was a Facebook application by a Microsoft expert on tools.
Punctuated constantly with applause from developer audience, this illustrated how Facebook apps, using public APIs, with the new Silverlight features can make FB environment more quick, fun and exciting.

Stuff like using MS Office alongside with individual tags, or ability to drag and drop photos instead of adding it in the standard format, ability to click and upload pics and videos in real time, padding up status updates with more than text i.e. with live photos etc., were some examples shown live here at the PDC 2009.

It also announced how SharePoint will find greater applicability in social networking environments, with sites like LinkedIn.

Scott Guthrie, corporate vice president of the .Net Developer Platform, talked about rich cross-platform experiences that power three screens as he announced the public beta of Silverlight 4. "It provides developers with a full suite of capabilities to rapidly build quality, secure and engaging apps, on the Web or beyond the browser."

Kurt DelBene, senior VP, Office Business Productivity Group also announced release of public betas of Microsoft Office 2010. Microsoft SharePoint Server 2010, Microsoft Visio 2010, Microsoft Office Mobile 2010 etc.

These announcements are simultaneously escorted by special developer sessions like Windows Server 2008 R2 Kernel changes, MS .Net Micro Framework, Windows Azure monitoring, logging and Management APIs, ASP.NET MVC 2, Microsoft project code name 'Velocity', building administration GUI over Windows PowerShell, Windows  Presentation Foundation 4 Plumbing and Internals etc.

Microsoft has also invited developers to test new beta versions of Microsoft Silverlight 4, Microsoft Office 2010, and Microsoft SharePoint Server 2010.

Tuesday, November 17, 2009

Microsoft issues advisory on Windows 7 security bug




Microsoft has released a security advisory to help users mitigate a bug affecting Windows 7 and Windows Server 2008 Release 2.

The security vulnerability was reported last week by researcher Laurent Gaffie and can be exploited to remotely trigger a denial-of-service condition in Windows 7 and Windows Server 2008 R2. Gaffie posted proof-of-concept code to the Full Disclosure mailing list and his personal blog last week.

The bug he uncovered lies within the Server Message Block (SMB) protocol and affects SMB versions 1 and 2, the advisory states. SMB is the file-sharing protocol used by default on Windows-based computers.

According to Microsoft, users can block TCP ports 139 and 445 at the firewall to defend themselves against exploits. Instructions on how to do that are contained within the advisory. Several Windows services use the affected ports, so blocking connectivity to the ports may cause various applications or services to stop functioning, Microsoft warned.

"Microsoft is aware of public, detailed exploit code that would cause a system to stop functioning or become unreliable," Dave Forstrom, group manager of public relations for Microsoft Trustworthy Computing, said in a statement. "If exploited, this DoS vulnerability would not allow an attacker to take control of, or install malware on, the customer's system but could cause the affected system to stop responding until manually restarted. It is important to note that the default firewall settings on Windows 7 will help block attempts to exploit this issue."

Adobe releases AIR 2 and Flash Player 10.1 Beta


New Flash platform runtimes set stage for contextual applications across devices
  
Adobe Systems Incorporated, today announced that beta versions of Adobe AIR 2 and Adobe Flash Player 10.1 software are now available from Adobe Labs for Windows, Mac and Linux operating systems.
 
Flash Player 10.1 is also available for x86-based netbooks, and expected to be available across a broad spectrum of smartphones and other Internet-connected devices in 2010, said a press release.

Adobe AIR 2 and Flash Player 10.1 can be updated across all supported platforms to help ensure rapid adoption of new innovations that move the Web forward.

With Adobe AIR 2, developers can create more reliable and feature-rich applications in the desktop context, and they can easily add AIR 2 functionality to update current AIR 1.0 applications. New AIR 2 features include enhanced support for mass storage devices and native application processes, as well as peer-to-peer and UDP networking.
Flash Player 10.1 takes advantage of new media delivery options using HTTP streaming coupled with content protection powered by Adobe Flash Access 2.0. Additionally, it also leverages hardware decoding of H.264 video on Windows PCs, netbooks and mobile devices where available, to conserve battery life and deliver an exceptional video playback experience.

"With the beta availability of Adobe AIR 2 and Flash Player 10.1 today, we are taking an important step toward realizing the Open Screen Project vision to enable rich Internet experiences across any device, anywhere," said David Wadhwani, general manager and vice president, Platform Business Unit at Adobe.

He further added that content creators will provide multi-screen experiences with un-compromised Web browsing and standalone applications across desktops and netbooks, and in the near future across a wide range of mobile devices."

MS announces open source .NET Micro Framework 4.0




Announces the launch of .NET Micro Framework 4.0 with source code available for most of its components under the Apache 2.0 license

Microsoft on Monday at the Professional Developer Conference (PDC) in Los Angeles, announced that it has released the 4.0 version of .NET Micro Framework as well as open sourced it and made it available under the Apache 2.0 license.

While making this announcement, Peter Galli, open source community manager for Microsoft's Platform Strategy Group wrote in his blog, " The .NET Micro Framework,a development and execution environment for resource-constrained devices, was initially developed inside the Microsoft Startup Business Accelerator, but recently moved to the Developer Division so as to be more closely aligned with the overall direction of Microsoft development efforts."

"The result of this is that the .NET Micro Framework has become a seamless development experience, bringing a single programming model and tool chain for the breadth of developer solutions, all the way from small intelligent devices, to servers and the cloud. There are also no more time-limited versions," he added.

The new .NET framework features include, HTTP and HTTPs, support for Multi-touch, Versioning,  Emulator support for SSL and HTTPS, Native XML Parser etc.
This version also includes source code for most of its components under the Apache 2.0 license, excluding the TCP/IP stack and Cryptography libraries.

"We do not include the source code for these libraries for several reasons – the TCP/IP stack is licensed from EBSNet and the Crypto libraries are used in other products besides the .NET Micro Framework.," said another blog post by Colin at their MSDN website.

Microsoft also intends to start a community of interested and involved members to help shape the future direction of the product as an open-source technology. The community would have a codebase, which could be shared by the Microsoft and external developers from which they will release versions.

Galli's blog further added that there will be a core technology team that is composed of Microsoft and external developers, and people will be encouraged to propose projects, which will be vetted before they are accepted. The site will also support people building extensions that exist alongside the platform rather than being integrated into it.

Monday, November 16, 2009

Imagine Cup 2010



"I wish there had been an Imagine Cup when I was growing up. It gets people involved in seeing that software is changing the world."

- Bill Gates                     
Chairman, Microsoft Corp.

Everything that the world may become "someday" lies in the hands of young people today. As they look at the road ahead, their close relationship with technology enables them to dream in ways we never have before. Put the two together, and you have young minds holding the tools that can make their vision a reality.

This is the recipe that inspired Microsoft to create the Imagine Cup. What begins with a burst of inspiration and a lot of hard work can become a future software breakthrough, a future career, or a flourishing new industry. The Imagine Cup encourages young people to apply their imagination, their passion and their creativity to technology innovations that can make a difference in the world – today. Now in its eighth year, the Imagine Cup has grown to be a truly global competition focused on finding solutions to real world issues. Take a minute to learn more about the Imagine Cup's 2010 Theme.

Open to students around the world, the Imagine Cup is a serious challenge that draws serious talent, and the competition is intense. The contest spans a year, beginning with local, regional and online contests whose winners go on to attend the global finals held in a different location every year.  The intensity of the work brings students together, and motivates the competitors to give it their all. The bonds formed here often last well beyond the competition itself.

SO REGISTER YOUR SELF NOW:

Sunday, November 15, 2009

Go: new open source programming language from Google


 
a systems programming language 
expressive, concurrent, garbage-collected

Go offers an expressive type system, fast compilation, good performance, and built-in language features that simplify threaded programming and concurrency. The language has been under development for roughly two years. It started out as a 20 percent project—time that Google's engineers are given to use as they choose for undirected experimentation—and evolved into a serious full-time undertaking. Google is releasing the source code under the BSD license with the hope that a community will emerge around the new programming language and participate in the effort to make it a compelling choice for software development.

The native Go compilers, called 6g and 8g (for 64-bit and x86), are designed to be extremely fast. There is also an alternative compiler called Gccgo that is based on the GNU Compiler Collection (GCC). The GCC-based compiler isn't as fast but is said to generate more efficient code. I was initially a bit surprised that Google chose not to use the Low-Level Virtual Machine (LLVM) compiler framework—it has a lot of LLVM expertise internally and is using it extensively for their awesome Python optimization effort. Pike says that LLVM was considered during the early stages of the Go project, but its compile-time performance was judged to be inadequate.
The compiled executables are completely native binaries, so it's not like a managed code language where the compiler generates bytecode for a virtual machine. Go does, however, have some runtime components that get embedded in the executables. Actual execution performance is said to be comparable to that of native C.
Some of Google's sample Go code reveals that the syntax is C-like and encourages a conventional imperative programming style. There are functions, "for" loops, standard conditional expressions, and many other features that you'd expect to find in a C-like language, but with a handful of nice twists. For example, there is a shorthand syntax for variable assignment that supports simple type inference. It also has anonymous function syntax that lets you use real closures. There are some Python-like features too, including array slices and a map type with constructor syntax that looks like Python's dictionary concept. The following code snippet is an example from Google's documentation:
  1. func sum(a []int) int { // returns an int
  2. s := 0;
  3. for i := 0; i < len(a); i++ {
  4. s += a[i]
  5. }
  6. return s
  7. }

  8. s := sum(&[3]int{1,2,3}); // a slice of the array is passed to sum
One of the distinguishing characteristics of Go is its unusual type system. It eschews some typical object-oriented programming concepts such as inheritance. You can define struct types and then create methods for operating on them. You can also define interfaces, much like you can in Java. In Go, however, you don't manually specify which interface a class implements. Pike explained to me that the interface mechanism gives developers some of the flexibility of duck-typing, but it goes further by providing the advantages of compile-time checking.
Parallelism is emphasized in Go's design. The language introduces the concept of "goroutines" which are executed concurrently. Any function can be executed as a goroutine by prefixing the function call with the "go" keyword. The language provides a "channel" mechanism that can be used to safely pass data in and out of goroutines.


For more details, check out the project's official website.

READ MORE