Wednesday, August 20, 2008

Microsoft Silverlight: 10 reasons to love it, 10 reasons to hate it

A year or so ago I wrote a post called Adobe AIR: 10 reasons to love it, 10 reasons to hate it (http://www.itwriting.com/blog/310-adobe-air-10-reasons-to-love-it-10-reasons-to-hate-it.html). Here’s the same kind of list for Microsoft’s Silverlight (http://silverlight.net/default.aspx), based on the forthcoming Silverlight 2.0 rather than the current version. The items are not in any kind of order - they also reflect my interest in application development rather than design. It is not a definitive list, so there are many more points you could make - by all means comment - and it will be interesting to have another look a year from now when the real thing has been out for a while.

For context, this Silverlight developer chart (below) is available in full on Brad Abrams’ blog here (http://brad_abrams.members.winisp.net/Projects/Mix08SL2Poster/Silverlight2PosterMIX08.jpg), or in Joe Stegman’s Deep Zoom version here (http://joestegman.members.winisp.net/DeepZoom/).








The pros


1. The Silverlight plug-in means developers can target a single, consistent runtime for browser-based applications, rather than dealing with the complexity of multiple browsers in different versions. You also get video and multimedia effects that are hard or impossible with pure HTML and JavaScript, though Adobe Systems' Flash has the same advantages.
2. Execute .NET code without deploying the .NET runtime. The Silverlight plug-in does include a cut-down .NET runtime, but instead of dealing with a large download and the complexities of the Windows installer, the user has a small download of about 4MB, all handled within the browser. In my experience so far, installation is smooth and easy.
3. Performance is promising. Silverlight comes out well in this prime number calculator (http://www.itwriting.com/primetest/index.html), thanks no doubt to JIT compilation to native code, though it may not compare so well for rendering graphics.
4. Support for Moonlight (http://www.mono-project.com/Moonlight) means there will be an official open source implementation of Silverlight, mitigating the proprietary aspect.
5. Silverlight interprets XAML directly, whereas Adobe’s XML GUI language, MXML, gets converted to SWF at compiling time. In fact, XAML pages are included as resources in the compiled .XAP binary used for deploying Silverlight applications. A .XAP file is just a ZIP with a different extension. This also means that search engines can potentially index text within a Silverlight application, just as they can with Flash.
6. Third-party component vendors are already well on with Silverlight add-ons. For example, Infragistics (http://www.infragistics.com/hot/silverlight.aspx), ComponentOne (http://labs.componentone.com/Sapphire/) and DevExpress (http://www.devexpress.com/Products/NET/Controls/Silverlight/Grid/).
7. Take your .NET code cross-platform. With Macs popping up everywhere, the ability to migrate Visual Basic or C# code to a cross-platform, browser-based Silverlight client will be increasingly useful. Clearly this only applies to existing .NET developers - I guess this is the main market for Silverlight, but it is a large one. The same applies to the next point:
8. Uses Visual Studio. Microsoft’s IDE is a mature and well-liked development environment, and since it is also the tool for ASP.NET you can use it for server-side code, as well as for the Silverlight client. For those who don’t get on with Visual Studio, the Silverlight SDK also supports command-line compilation.
9. Choose your language. Support for multiple languages has been part of .NET since its beginning, and having the .NET runtime in Silverlight 2.0 means you can code your client-side logic in C#, Visual Basic, or thanks to the Dynamic Language Runtime (DLR) Iron Ruby (http://www.ironruby.net/) or Iron Python (http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython).
10. Isolated storage gives Silverlight applications local file access, but only in a protected location specific to the application, providing a relatively secure way to get this benefit.


The cons


1. If Apple won’t even allow Flash on the iPhone, what chance is there for Silverlight?
2. Silverlight is late to the game.
Flash is mature, well trusted and ubiquitous. Silverlight 2 only comes out of beta in the Autumn (we hope). It is the version we care about - the one that includes the .NET runtime - and will still lack support on mobile devices, even Windows Mobile, though this is promised at some unspecified later date.

3. The design tools are Expression Blend and Expression Design - but who uses them? The design world uses Adobe PhotoShop.
4. While having solution compatibility between Expression Blend and Visual Studio sounds good, it’s actually a hassle having to use two separate tools, especially when there are niggling incompatibilities (http://www.itwriting.com/blog/667-expression-blend-25-problems-with-silverlight-20-beta-2.html), as in the current beta.
5. No support for the popular H.264 video codec. Instead hi-def video for Silverlight must be in VC-1, which is less common.
6. It’s another effort to promote proprietary technology rather than open standards.
7. Yes Linux will be supported via Moonlight, but when? It seems likely that the Linux implementation will always lag behind the Windows and Mac releases.
8. Silverlight supports SOAP web services, or REST provided you don’t use PUT or DELETE, but doesn’t have an optimized binary protocol like Adobe’s ActionScript Message Format (AMF), which likely means slower performance in some scenarios.
9. Silverlight is a browser-only solution, whereas Flash can be deployed for the desktop using Adobe Integrated Runtime (AIR). Having said that, yes I have seen this (http://firstlook.nytimes.com/?p=49).
10. You have to develop on Windows. This is particularly a problem for the Expression design tools, since designers have a disproportionately high number of Macs.
This article originally appeared in ITWriting (http://www.itwriting.com/blog/814-microsoft-silverlight-10-reasons-to-love-it-10-reasons-to-hate-it.html).


This article originally appeared in ITWriting (http://www.itwriting.com/blog/814-microsoft-silverlight-10-reasons-to-love-it-10-reasons-to-hate-it.html).

Tuesday, August 12, 2008

Infosys to slash hiring by 29 pc

Noting that the company would have liked more people to come in, HR official Nandita Gurjar said the reason for slashing hiring was not just the slowdown but other factors including infrastructure and business plans

Bangalore: Indicating a slowdown in hiring in the information technology sector, India's third largest software firm Infosys said that it plans to hire only 25,000 people in the current fiscal, nearly 29 per cent less than the recruitments in the last financial year.

The IT bellwether had recruited 35,000 people in 2007-08. "We are planning to hire 25,000 people in the current fiscal and 18,000 would be hired through campus recruitments," Infosys senior vice president & group head of human resources, Nandita Gurjar said Tuesday.

Pointing out that the firm has not made any changes in hiring plans due to the global slowdown, she said that the impact on hiring would be visible in the last two quarters of the current fiscal.

"The third and fourth quarters would be the time when the firm tends to tighten up its hiring," she added.

Noting that the company would have liked more people to come in, Nandita Gurjar said the reason for lower numbers is not just due to economic slowdown but many other factors including infrastructure and business plans.

According to statistics provided by the firm, it had 3372 trainees for the quarter ended June 30, 2008 whereas the same stood at 5,070 in the corresponding period a year ago.

On attrition rates, Nandita Gurjar said that levels have come down in recent times and is hovering a little over 13 per cent. As on the first quarter of this fiscal, the attrition was at 13.6 per cent, which is marginally lower than 13.7 per cent in the year-ago period.

Infosys, in a first of its kind initiative, would be introducing promotions for its employees twice a year. The new policy would not add to our wage pressures as the process has already been factored into our HR structure, she added.

On salary increments for employees, Nandita Gurjar noted the hike this year has been in the range of 11-13 per cent while the wage raise stood at 12-15 per cent the previous year.

Responding to a query on dismissing under performers, she said that on an average 200-300 employees are given the same. “However, we enroll such people in our performance improvement programme for about three months before taking such steps,” she added.

US slowdown: IT firms hire less, offer less

As the US economy goes from bad to worse, Indian IT firms are hiring less and offering less. In some cases, they are even refusing to go through with offers they’ve already made

From matrimonials to swank offices, software engineers have been much sought after since the information technology boom brought thousands of lucrative jobs into India. Times are changing, though.

As the US economy goes from bad to worse, India’s biggest outsourcing customer is getting stingy about placing new orders.

The result: IT firms are hiring less and offering less as they pick talent from campuses. In some cases, they are even refusing to go through with offers they’ve already made.

This is the first time since the outsourcing boom began a decade ago that IT companies are dragging their feet on campus hiring, placement officers at colleges across India told Hindustan Times.

“This year, there has been a 15 per cent drop in hiring from our campus,” said Col P Ramesh at Pune-based Army Institute of Technology, from where only 194 students were picked this year, compared to 232 last year.

The drop was sharper at Pune Vidyarthi Griha — down to 131 from 260 last year, said AM Kanetkar, placement head at the engineering college. “Companies like Wipro, Cognizant and Tata Consultancy Services didn’t even participate in placement activities this time.”

The scene is as gloomy in and around Delhi, which has seen a mushrooming of private engineering colleges in recent years.

Tech Mahindra Ltd, India’s eight largest software services exporter, had recruited 111 students from Noida-based Amity University last year. The number is down to 20 this year, said Ajay Rana, director of technical placements.

Several colleges in Bangalore said they have received hints of delays in recruitment from many companies.

Two of these — Sapient and Schneider — have even withdrawn offer letters given to students of BMS College of Engineering, said HS Jagadish, of the Bangalore-based institute.

Kanetkar said 10 of his students were also denied jobs by IT giant IBM even after getting offer letters.

IBM has been upbeat about hiring in India, following a 2006 announcement by its chief Sam Palmisano that the firm would invest $6 billion (Rs 25, 800 crore) here to make it the company’s biggest hub outside the US.

Monday, August 11, 2008

Bind with Expression Blend: cannot create Instance Exception

Databinding with XAML is a lot of work. There is no drag drop table wizard, don’t search for it. Expression Blend (2.5) have a little bit more automatic support for binding Objects. When Blend is in Design View there is under Project tab a Data tab.

Step1: open + CLR Object option- then you get a error message “loading assembly” which can be ignored (what else?)






In the next dialog the class have to be selected which returns the data.

In my case I got 100 times an error in Blend. The exception says nothing for me.










Step 2: Debugging

Expression Blend tries to create a instance of my object during design time. That's a risk cause many parameters can differ to run time like, connections string, database, path and so one.

First there must be some split between design and runtime code. There is a trick to do that. If no htmlpage is present, the container must be something else. Till now a usual container of silverlight xap applications is a browser (and nothing else)

Public Sub New() ' für Blend Designmode If HtmlPage.IsEnabled = False Then 'dummydaten mit vollem pfad Dim myxml = XDocument.Load("northwind.xml")

In this container is Blend. Then attach the Blend process to visual studio debugger. For that visual stuido must be open and the project must be compiled. Take Blend for compiling makes it a little bit easier for me. Dont forget to set breakpoint into your constructor.








In my case the code failes on the load place. The reason is ( now I know it) that i have added the XML file as content to my xap packet. But there is no xap package for blend.

The solution is to include the xml as resource into the assembly and load the xml with following code

Dim myxml = XDocument.Load("/databindingvb;component/northwindblend.xml")

Hope this will save you some hour.


Friday, August 8, 2008

SQL Server 2008 Ready for RTM

Microsoft is releasing SQL Server 2008 to manufacturing after several delays. Microsoft's SQL Server 2008 will help Microsoft compete with Oracle and its 11g database, and IBM and its DB2 9.5 database. SQL Server 2008 will be generally available within two weeks.

After delays and speculation, Microsoft SQL Server 2008 is being released to manufacturing Aug. 6.

Microsoft NEW Technology Microsoft Surface







SQL Server 2008 Released

Microsoft Corp. today announced the release to manufacturing of Microsoft SQL Server 2008, the new version of the company’s acclaimed data management and business intelligence platform. This version of SQL Server provides powerful new capabilities such as support for policy-based management, auditing, large-scale data warehousing, geospatial data, and advanced reporting and analysis services. SQL Server 2008 provides the trusted, productive and intelligent platform necessary for business-critical applications.

“Microsoft developed this release of SQL Server with the customer in mind,” said Ted Kummert, corporate vice president of the Data and Storage Platform Division at Microsoft. “SQL Server 2008 is the only major database that includes comprehensive, tightly integrated functionality for data management as well as advanced business intelligence out of the box. By offering a complete solution, we save customers time and money and allow them to focus on deriving the most value from their data assets.”

With more than 450,000 customer and partner downloads of SQL Server 2008’s community technology previews (CTPs), more than 75 large-scale applications already in production and more than 1,350 applications being developed by nearly 1,000 independent software vendors (ISVs) on SQL Server 2008, it’s clear that customers and partners are excited about the capabilities now available in SQL Server 2008. Tim Whitehorn, founder and chief executive officer of event management software provider ServiceU Corp., said, “We selected SQL Server 2008 because we can entrust it with our critical business applications. SQL Server 2008 is highly secure and reliable, and offers the best value on the market today. In addition, it accelerates the time frame for deploying new features and enhancements, and that to us makes SQL Server a winner.”

A number of enterprise customers from various industries are testing SQL Server 2008 including Clear Channel Communications Inc., Fidelity Investments, Hilton Hotels Corp., Simon & Schuster Inc., Siemens AG and Xerox Corp., among many others.

SQL Server has been well-received in the analyst community. Noted Forrester Research Inc. analyst Noel Yuhanna wrote in a January 2008 report, “The Forrester Wave: Information-As-A-Service, Q1 2008,” “Microsoft is (one of) the only vendor(s) with top enterprise search and business intelligence reporting capabilities. It offers strong support for aggregation, summarization, search engine and dashboards. Transactions across distributed data sources and long-running transactions are also strengths for Microsoft.”

SQL Server is an industry leader in both scalability and performance. It is the first and only database management system to be proven capable of delivering scalable results on TPC-E, the Transaction Processing Performance Council’s (TPC) newest and most challenging online transaction processing (OLTP) benchmark, with 13 published benchmarks to date.1 Seven benchmarks are published on Windows Server 2008 and SQL Server 2008 by multiple hardware vendors, demonstrating strong price-performance and performance results, including IBM Corp.’s new No. 1 performance result using SQL Server 2008 on a 64-core System x3950 M2 server.2 Also demonstrating the performance of SQL Server 2008, Unisys Corp. and Microsoft set a new extract, transform and load (ETL) performance record by loading 1 terabyte of data in less than 30 minutes using SQL Server 2008 Integration Services. In addition, SQL Server 2008 has proven its scalability in large-scale data warehousing, as demonstrated by its recent 10-terabyte TPC-H benchmark.3

“We saw a 35 percent improvement in throughput on the system that we upgraded to SQL Server 2008, with no code changes on our end,” said Gary Oberg, vice president of IT and development at Applied Discovery (a member of the LexisNexis group). “This translates straight to the bottom line for us, as the more documents we can upload, the more we can process.”

Microsoft is setting additional benchmark records with ISV solutions, including a world record on four-socket industry-standard blade servers in a three-tier SAP Sales and Distribution (SD) Standard Application Benchmark, and demonstrated the largest benchmark ever on the Siemens Teamcenter digital product life-cycle management solution, Microsoft Dynamics CRM, Microsoft Dynamics AX and the Camstar Manufacturing Execution System solution.

SQL Server is a key component of the Microsoft Application Platform, a suite of products and technologies designed to help customers build, run and manage dynamic business applications. SQL Server 2008 is available in the following editions:

SQL Server 2008 Enterprise. SQL Server 2008 Enterprise is a comprehensive data management and business intelligence platform that provides enterprise-class scalability, data warehousing, security, advanced analytics and reporting support for running business-critical applications. With this edition, it is possible to consolidate servers and perform large-scale online transactional processing.

SQL Server 2008 Standard. SQL Server 2008 Standard is a complete data management and business intelligence platform that provides best-in-class ease of use and manageability for running departmental applications.

SQL Server 2008 Workgroup. SQL Server 2008 Workgroup is a reliable data management and reporting platform that delivers secure, remote synchronization and management capabilities for running branch applications. This edition includes core database features and is easy to upgrade to the Standard or Enterprise edition.

SQL Server 2008 Web. SQL Server 2008 Web is designed for highly available, Internet-facing Web-serving environments running on Windows Server. SQL Server 2008 Web provides the tools necessary to support low-cost, large-scale, highly available Web applications or hosting solutions for customers.

SQL Server 2008 Developer. SQL Server 2008 Developer allows developers to build and test any type of application with SQL Server. This edition features all of the functionality of SQL Server Enterprise but is licensed only for development, test and demo use. Applications and databases developed on this edition can easily be upgraded to SQL Server 2008 Enterprise.

SQL Server 2008 Express. SQL Server 2008 Express is a free edition of SQL Server that features core database functionality including all of the new SQL Server 2008 data types, in a small footprint. This edition is ideal for learning and building desktop and small server applications, and for redistribution by ISVs.

SQL Server Compact 3.5. SQL Server Compact is a free embedded database designed for developers and is ideal for building stand-alone and occasionally connected applications for mobile devices, desktops and Web clients. SQL Server Compact runs on all Microsoft Windows platforms, including the Windows XP and Windows Vista operating systems, and on Pocket PC and smartphone devices.