Archive for September 2nd, 2008

Moments of Fun

Tuesday, September 2nd, 2008

Moments of Fun

If being a developer isn’t one of the best jobs in the world, at least it has its moments. Sometimes you create your own moments, perhaps with an Easter egg, or maybe by writing small games, Web sites or utilities that have no real commercial use, yet satisfy a creative need or give you a chance to master a new technology.

Sometimes you get help in creating those moments of fun. One of those moments is when you first discover Microsoft Popfly. This site uses Microsoft’s new Silverlight rich interactive application technology to create and present a community for building and using innovative Web-based apps. You can find it at popfly.com.

There’s a great deal that can be done on Popfly without writing code, by piecing together different components and pages. However, that rapidly becomes less relevant to the developer, so you can download the Popfly Explorer, a Visual Studio (2005 and 2008) add-in, and create and browse Popfly projects from within Visual Studio. Just like the built-in Solution Explorer, you can look at the project structure, view the files that compose the project, and open and edit individual files.

Now Popfly starts to become more interesting. One thing you can do with the Popfly Explorer is create projects to build games, mashups and Web sites.

Games? They can be fun to write as a diversion, but rarely for productive use. At best, they can provide a demonstration of new technology. The Web already has plenty of tools for creating sophisticated and visually attractive sites, so Popfly isn’t likely to add a great deal of value for the Web development community.

But mashups? Here’s where Popfly starts to become potentially useful for serious apps. Using existing blocks for maps, data, display, news, tools of all types and many others, you can assemble your first mashup in just a few minutes.

Getting Visual Studio Involved
You can also create new blocks, or components, from within Visual Studio. Blocks can be collections of data, how to get at data locally or on the Web, and what you do with that data in the block. If you think object, without the inheritance or polymorphism, you can probably grasp the use and extent of the block structure.

Creating new blocks can be done by loading the stub for the block structure into Visual Studio and simply filling it in (see The XML Framework for Creating New Popfly Blocks for an illustration of a stub). Note a couple of things about it. First, it consists entirely of XML. It uses XML to define a class, inputs, set of operations and outputs. While you don’t really need Visual Studio to do that, the Popfly Explorer makes it easy to create new files and manage the structure of the project.

From within Popfly, you can use data and code from other Web sites, or anything that can be presented as a Uniform Resource Indicator. The site uses a representational state transfer (REST) approach to cross-domain calls from JavaScript. Specifically, it uses a custom JavaScript class named environment, which abstracts the cross-domain calls. It exposes two methods for retrieving data: getXml(url) and getText(url).

Click to view the code for the XML framework for creating new Popfly blocks

New Dev Style
The grand purpose of Popfly isn’t entirely clear. Microsoft claims that it serves as the online community for non-professional games, Web sites and apps, but there’s also the ability to create commercial applications, accessible over the Web (but tellingly requiring a Microsoft Live membership). And developers can create blocks that can be used by others in the Popfly community to build their own applications.

This sounds like the beginning of a new style of commercial development to me. Developers contribute new tools to the community, some of which may be free, and others commercial. Developers and interested end users will build applications; developers especially may use Visual Studio to combine aspects of the Popfly online experience with data and code from other locations to create some really compelling mashups.

So I don’t think that Popfly represents yet another attempt to make programmers out of nonprogrammers. Right now, I think Microsoft is trying to form a community of both programmers and interested end users who will start building and sharing more applications and components, hoping it will grow into a center for developer and user interaction centered on building a new wave of apps.

Source: reddevnews.com

CollabNet ups ALM Ante

Tuesday, September 2nd, 2008

CollabNet ups ALM Ante

CollabNet Corp.’s integration of the technologies it acquired last year from VA Software continues apace.

The Brisbane, Calif.-based maker of software lifecycle management tools recently released a new version of its SourceForge Enterprise application lifecycle management (ALM) system. The company also introduced a new desktop-configuration tool. Among other things, CollabNet’s new offerings sport a single interface to Microsoft’s Visual Studio and Eclipse IDEs.

CollabNet’s core platform is designed to connect geographically distributed software development teams and provide them with integrated tools. It’s also the corporate backer to the popular Subversion build- and change-management package.

The company has been integrating its core products with its assets acquired last year, says Rob Cheng, CollabNet’s director of product marketing. The result is SourceForge Enterprise 5.0, which offers a Web-based tool suite for software configuration management (SCM), issue tracking (which CollabNet calls artifact tracking), collaboration and product management.

Essentially, the suite centralizes the management of users, projects, processes and assets, Cheng says, with the aim of providing a high level of transparency that bumps up productivity and cuts costs. Because it’s all linked together, you have this very clear visibility and traceability into each release, Cheng says.

ALM Focus
There are two key improvements in SourceForge Enterprise 5.0 emphasizing ALM. The first is customizable project pages, which are designed to allow dev teams to capture and share workflows, best practices and other project content, the company says.

Project pages are flexible, portal-style project homepages where anybody who has access can create rich, nested Web pages that have within them portlet-like components that give you real-time data on the status of your project, Cheng explains.

The second ALM-focused feature in the system is the new product templates.

Once you’ve created these project pages that model what you want to do as a group, Cheng adds, you can capture that and save that entire structure — including the content, components that you want to deliver real-time data from, and the customized workflows and fields — all that information is captured as a template, which can then be used as a blueprint in future projects.

This enhanced project-templating functionality standardizes dev processes by capturing and re-using both the structure and the content of existing projects, Cheng says, from project pages and discussion forums to custom issue-tracker fields, saved searches and workflow definitions.

Source: reddevnews.com

SQL Server 2008 Is Here

Tuesday, September 2nd, 2008

SQL Server 2008 Is Here

It’s official: Microsoft has released SQL Server 2008, the culmination of a series of new tools and server product launches by the company this year, including Visual Studio and Windows Server.

Microsoft also released the first Service Pack (SP) of Visual Studio and of .NET Framework 3.5 (see the Aug. 15, 2008, news story, Visual Studio 2008 Facelift Is Ready). SP1 includes, among other things, the ADO.NET Entity Framework (EF), Redmond’s latest data-access technology for building data-driven applications.

While EF is designed for multiple database platforms, Microsoft says developers will get the most mileage out if its features with SQL Server 2008. Microsoft officials held a conference call last month to hail the new database release.

Key Features

Among the key new features of SQL Server 2008 touted by Microsoft officials: Policy management, improved use of data encryption, the ability to store and query spatial data, a new report builder and improved support for analysis, reporting and administration. The update also boasts new data-compression capability, which the company said makes better use of storage and provides faster queries.

For developers, key features of SQL Server 2008 center around T-SQL and its support for Table Valued Parameters and the new MERGE syntax; support for new data types including date and time, hierarchyID and filestream (storage method); and encryption, in addition to support for the ADO.NET EF and LINQ.

Redmond officials belabored the point that organizations can upgrade from SQL Server 2005 without having to modify their software. Customers can adopt these enhancements and features without making changes to their applications, said Ted Kummert, corporate vice president of Microsoft’s Data and Storage Platform division.

But that raises another question: Will Microsoft’s cloud-based incarnation of its forthcoming database platform, dubbed SQL Server Data Services, or SSDS, be just as seamless to developers or will they require new interfaces or development methodologies?

As we move things forward I think you’ll see things change, Kummert said. Our focus today is on SQL server 2008, I think in the next year, you’ll see a lot of clarity emerge around SSDS, and how SSDS relates to our overall data platform. But the overall commitment is clear, that we’re spanning this data platform vision to the cloud and we will provide a consistent application model across all tiers — that’s the edge, the data center and the cloud.

Source: reddevnews.com

Shine on Silverlight and Windows with XAML

Tuesday, September 2nd, 2008

Shine on Silverlight and Windows with XAML

Web bling tone Extensible Application Markup Language, or XAML, lies at the heart of Microsoft’s rich-client strategy. The user interface for both Windows Presentation Foundation (WPF) and Silverlight, which is mostly a subset of WPF, is typically defined in XAML.

It is, therefore, something Windows developers will have to get to grips with if they want to stay in tune with Microsoft’s latest and – arguably – most ambitious technology roadmap. Even if WPF itself never really takes off, Silverlight is almost certainly going to be big in Microsoft circles.

But what is XAML? It is easy to call it an XML language for defining a graphical user interface (GUI), but that is not quite right. Microsoft calls it “a system for representing structured information,” which is about as generic as you can get, and reveals in its document XAML Object Mapping Specification 2006, here, that although XML is “a common format for XAML… any physical representation may be used.”

It is also important to distinguish the XAML system from specific XAML vocabularies, such as WPF. Microsoft also uses XAML for Windows Workflow Foundation (WWF), using a different vocabulary that has nothing to do with GUIs. A better stab at defining XAML is to call it a declarative programming language for .NET, or a means of representing a graph of .NET objects.

It turns out that XAML has an uneasy relationship with XML. All the XAML documents you are likely to see are valid XML, but validating them as XAML is not easy. Microsoft explained back in 2006 why it could not develop a satisfactory XML schema for WPF.

The problem is not the core XAML, usually the namespace with an “X” prefix in a XAML document, but the WPF vocabulary, usually the default namespace. Visual Studio 2005 used a huge XamlPresentation2006.xsd that worked mostly but not always. Visual Studio 2008 replaced this with a language service like that used to support IntelliSense for C# and Visual Basic. While this works better, it is unfortunate for anyone wishing to use other XML tools for XAML editing.

XAML has features that simplify the way it maps to the .NET API. Several of these relate to setting property values. Typically XML does this with attributes, but this is awkward when a property is a complex object. XAML supports property elements, which use dot syntax to define objects that are properties of the containing object. Here is an example:





It so happens that in this case you can do the same thing with a conventional attribute:

How does the XAML parser know that the string “Gold” must be converted to a SolidColorBrush? This is done through a Type Converter, a class that in this example converts a string to a new SolidColorBrush object.

Type Converters extend the number of properties that can be set as attributes, but do not deal with every possibility. In this example, if you wanted to use a different kind of brush, you would have to use the verbose property element syntax, or possibly a Markup Extension.

Source: theregister.co.uk

F# Update: MonoDevelop, a New Book, and a New CTP

Tuesday, September 2nd, 2008

F# Update: MonoDevelop, a New Book, and a New CTP

Though still officially just a research project, the excitement over F# continues unabated. In today’s roundup, we take a brief look at what’s new for F#.

First up is a new F# IDE plug-in for MonoDevelop 2.0. This version of MonoDevelop is still in a preview state and some F# features such as syntax highlighting won’t work unless you recompile MonoDevelop from sources.

Next up is “F# for Scientists”. Don Syme writes,

I haven’t got my hardcopy just yet, but I read a draft of this book, and was really very impressed. The 3D visualization chapter is stunning in its simplicity and power, the parallel programming techniques presented are simple and powerful, and the examples of interoperating with Mathematica, MATLAB and using web databases opened gateways to the crucial information sources and tools that form a significant part of modern science.

In an Amazon review, Jamie Bernardin wrote,

I wish more books were written at this level of quality. While this book can be used by anybody that wants to get up to speed with F#, it’s also well suited for use as a text book for an undergraduate course in applied math or computer science (or reference for a graduate course). It’s well organized, well written, and draws from classic examples in mathematical computing.

It’s not easy material, and deserves to be read slowly and perhaps a couple times – much like any sophisticated treatise on a difficult but powerful subject. Don’t loose patience if you don’t get it at first glance. If you enjoy this type of stuff, it’s an absolutely pleasure to read – logical in flow and well articulated.

Probably the biggest problem for F# is that it is a moving target. Though the tools and books keep on coming, so do the new versions. Not even in beta yet, F# continues to evolve.

The September 2008 F# CTP targets Visual Studio 2008. IDE features include a scripting mode for quick experiments, a project mode for application development, and improved Intellisense via a new language service.

Incredibly useful for anyone doing scientific or engineering work, this CTP also adds support for Units of Measure. While any freshman science major knows you cannot multiply “50 meters per second” by “30 seconds” and shove it a variable expecting “kg-meters/second”, most programming languages aren’t so smart. F# does this by adding a meta-type system. In addition to the underlying type, usually float, F# variables can also know what units of measurement they represent. When used, both the IDE and compiler will check for conflicts and flag them as errors.

Source: infoq.com