Tag Archives: microsoft

What you read in 2010: top posts on ITWriting.com

With three days to go, traffic on ITWriting.com in 2010 is more than 50% up over that of 2009 with over 1 million unique visitors for the first time. Thank you for your attention in another crazy year in technology.

So what did you read? It is intriguing to look at the stats for the whole year, which are different in character from stats for a week or month. The reason is that over a short period, it is the news of the day that is most read – posts like The Java Crisis and what it means for developers. Over the year though, it is the in-depth technical posts like How to backup Small Business Server 2008 on Hyper-V that draw more readers, along with those posts that are a hit with people searching Google for help with an immediate problem like Cannot open the Outlook window – what sort of error message is that?

The most-read post in 2010 though is in neither category. In July I made a quick post noting that the Amazon Kindle now comes with a web browser based on WebKit and a free worldwide internet connection. Mainly thanks to some helpful comments from users it has become a place where people come for information on that niche subject.

On the programming side, posts about Microsoft’s changing developer story are high on the list:

Lessons from Evernote’s flight from .NET

Microsoft wrestles with HTML5 vs Silverlight futures

Microsoft’s Silverlight dream is over

Another post which is there in the top twenty is this one about Adobe Flash and web services:

SOA, REST and Flash/Flex – why Flash does not PUT

along with this 2009 post on the pros and cons of parallel programming:

Parallel Programming: five reasons for caution. Reflections from Intel’s Parallel Studio briefing

This lightweight post also gets a lot of hits:

Apple iPad vs Windows Tablet vs Google Chrome OS

It is out of date now and I should do a more considered update. Still, it touches on a big theme: the success of the Apple iPad. When you take that alongside the interest in Android tablets, perhaps we can say that 2010 was the year of the tablet. I first thought the tablet concept might take off back in 2003/2004 when I got my first Acer tablet. I was wrong about the timing and wrong about the operating system; but the reasons why tablets are a good idea still apply.

Watching these trends is a lot of fun and I look forward to more surprises in 2011.

Microsoft’s muddled licensing for Office Web Apps

I’ve been reviewing Microsoft’s Small Business Server 2011 – mainly the standard edition as that is the one that is finished. The more interesting cloud-oriented Essentials version is not coming until sometime next year.

In its marketing [pdf] for SBS 2011 Microsoft says:

Get things done from virtually wherever and whenever. With Office Web Apps (included in SharePoint Foundation 2010), users can view, create, and edit documents anyplace with an Internet connection.

This appears to be only a half-truth. You can install Office Web Apps into SharePoint Foundation 2010, but it is not included in a default install of SBS 2011 Standard, and as far as I can tell the setup for it is not on the DVD. If you try to download it, you will find it is only available through the Volume Licensing Service Center, and that you require a volume license for Microsoft Office to get it. You can also get it through TechNet, but this is for evaluation only.

The Office Web Apps site states:

Business customers licensed for Microsoft Office 2010 through a Volume Licensing program can run Office Web Apps on-premises on a server running Microsoft SharePoint Foundation 2010 or Microsoft SharePoint Server 2010.

and it also appears that each user requires a volume license for desktop Microsoft Office in order to use it. In other words, the Client Access License for Office Web Apps is a volume license for Office. You cannot purchase a volume license for 5 users, and then have everyone in your 50-person organisation use it.

This approach to licensing makes no sense. In fact, I’m not sure it is even internally consistent. Part of the web app concept is that you could, if need be, walk up to a PC in an internet cafe, log in to SharePoint, and make a quick edit to a Word document. You are not going to ask the management “is this machine correctly licensed for Office Web Apps?”

What if you are using Linux, or an Apple iPad (it almost works), or a RIM PlayBook, or some other device on which Office cannot be installed? These are scenarios where Office Web Apps is particularly useful; Microsoft cannot expect users to buy a license for desktop Office for machines which cannot run it.

Note Office Web Apps applications are severely cut-down in comparison to the desktop editions. It is not even close to the same thing. Further, Microsoft lets anyone in the world use Office Web Apps for free – provided it is on SkyDrive and not on a locally installed SharePoint.

Microsoft is also happy to give users of Office 365, the forthcoming hosted version of server apps including SharePoint, access to Office Web Apps:

Work from virtually any place and any device with the Office Web Apps

I’m guessing that somewhere in Microsoft the powerful Office group is insisting that Office Web Apps is a feature of the desktop product. Anyone else can see that it is not; it is a feature of SharePoint. Excluding it from SBS 2011 by default does nothing except to complicate matters for admins – and it is a fiddly install – thus reducing the appeal of the product.

Incidentally, I see nothing unreasonable about Microsoft charging for an on-premise install of Office Web Apps. But it should be licensed as a web application, not as a desktop application.

For more on this see Sharon Richardson’s post and Susan Bradley’s complaint.

Fixing a slow Windows XP PC

Yesterday I investigated a Windows XP machine that had become so slow it was unusable. It was a Dell Dimension 2350 with 1GB RAM and a 2.00 Ghz Celeron CPU – not too bad a spec for XP – that had been out of use for a while and was being brought back into service for a specific and undemanding task. At first it had performed fine, but after applying Service Pack 3 and installing Microsoft Security Essentials it had ground almost to a halt. The machine performed so badly that trying to troubleshoot it was like wading through glue. You could get task manager up and see plenty of RAM free, but the CPU was stuck on 100%.

After trying a few futile things like updating the BIOS, I installed Process Explorer and Process Monitor from Sysinternals. Looking at the activity summary in Proccess Monitor it was obvious which process was to blame: an instance of svchost.exe started with the command line: c:\windows\system32\svchost.exe –k netsvcs

However, netsvcs is responsible for many different services. I did a bit more poking around with Process Explorer and found the culprit: Windows Automatic Updates. Typing:

net stop wuauserv

at a command prompt fixed the problem temporarily.

It appears that the Windows Update database, which you can find in %windir%\Software Distribution\DataStore, can get corrupted. The Windows Update service goes into a spin and consumes all your computing resources. You can turn Automatic Updates off by right-clicking My Computer, Properties, and Automatic Updates tab; or you can fix it the brute-force way by deleting the DataStore folder and letting Windows recreate it, though you lose your update history; or you can try to repair the database.

Of course there are many reasons why Windows XP might run slowly, and often it is not easy to troubleshoot. There is abundant well-meaning advice on the internet, much of it based on the assumption that malware is involved, but finding the right answer to a particular problem is a matter of luck. In a professional context, it is hardly worth the time and corporates will just re-image the machine.

I do find it interesting that when Windows XP first appeared in 2001 it specified a minimum of 64MB RAM and ran OK in 128MB. Once fully patched with Service Pack 3, automatic updates, Internet Explorer 8 and anti-virus, it needs at least 512MB and in my experience 1GB to be comfortable. Unfortunately you have little choice; if you want to connect to the Internet or run recent applications, you have to update it. Automatic updates is a also a near-essential security feature.

Finally, kudos to the Sysinternals team whose tools are invaluable for solving this kind of problem.

Microsoft inadvertently shares BPOS offline address books with other customers

According to an email I’ve seen, sent to customers of Microsoft BPOS (Business Productivity Online Suite), some users have found their Offline Address Book – an Exchange feature which stores a company’s internal address list – has been downloaded by other BPOS customers:

Microsoft recently became aware that, due to a configuration issue, Offline Address Book information for Business Productivity Online Suite–Standard customers could be inadvertently downloaded by other customers of the service, in a very specific circumstance. The issue was resolved within two hours of identification, and we completed a thorough review of processes to prevent this type of issue from occurring again. Our records indicate that a very small number of downloads actually occurred, and we are working with those few customers to remove the files.

This issue affected only Business Productivity Online Suite–Standard customers; no other Microsoft Online Services were affected.

Big deal? Probably not, especially as customer address lists, which might be useful to competitors, are not normally included in an Offline Address Book.

That said, any leakage of data from one customer to another is a serious issue, as it is exactly this possibility which deters users from using cloud services in the first place. It is an inherent hazard of multi-tenancy.

Still, kudos to Microsoft for owning up.

Database.com extends the salesforce.com platform

At Dreamforce today Salesforce.com announced its latest platform venture: Database.com. Salesforce.com is built on an Oracle database with various custom optimizations; and database.com now exposes this as a generic cloud database which can be accessed from a variety of languages – Java, .NET, Ruby and PHP – and accessed from applications running on almost any platform: VMForce, Smartphones, Amazon EC2, Google App Engine, Microsoft Azure, Microsoft Excel, Adobe Flash/Flex and others. One way to use it would via JPA (Java Persistence API) in an VMForce Java application.

The Database.com console is a web application that has a console giving access to your databases and showing useful statistics and system information.

image

You can also create new databases, specifying the schema and relationships.

image

The details presented in the keynote today were sketchy – we saw applications that honestly could have been built just as easily with MySQL – but there is more information in the FAQ. The Database.com API is through SOAP or REST web services, not SQL. Third parties can create drivers so you can you use it with SQL APIs such as ODBC or JDBC. There is row level security, and built-in full text search.

According to the FAQ, Database.com “includes a native trigger and stored procedure language”.

Pricing starts from free – for up to 100,000 records, 50,000 transactions and 3 users per month. After than it is $10.00 per month per additional 100,000 records, $10.00 per month per additional 150,000 transactions, and $10.00 per user if you need the built-in authentication and security system – which as you would expect is based on the native force.com identity system.

As far as I can tell one of the goals of Database.com – and also the forthcoming chatter.com free public collaboration service – is to draw users towards the force.com platform.

Roger Jennings has analysed the pricing and reckons that Database.com is much more expensive than Microsoft’s SQL Azure – for 500 users and a 50GB database $15,000 per month for Database.com vs a little over $500 for the same thing on SQL Azure, though the two are difficult to compare directly and he has had to make a number of assumptions. Responding to a question at the press and analyst Q&A today, Benioff seemed to accept that the pricing is relatively high, but justified in his view by the range of services on offer. Of course the pricing could change if it proves uncompetitive.

Unlike SQL Azure, Database.com starts from free, which is a great attraction for developers interested in giving it a try. Trying out Azure is risky because if you leave a service running inadvertently you may run up a big bill.

In practice SQL Azure is likely to be more attractive than Database.com for its core market, existing Microsoft-platform developers. Microsoft experimented with a web services API for SQL Server Data Services in Azure, but ended up offering full SQL, enabling developers to continue working in familiar ways.

Equally, Force.com developers will like Database.com and its integration with the force.com platform.

Some of what Database.com can do is already available through force.com and I am not sure how the pricing looks for organizations that are already big salesforce.com users; I hope to find out more soon.

What is interesting here is the way salesforce.com is making its platform more generic. There will be more force.com announcements tomorrow and I expect to to see further efforts to broaden the platform then.

Update – I had a chat with Database.com General Manager Igor Tsyganskiy. He says Microsoft’s SQL Azure is the closest competitor to Database.com but argues that because Salesforce.com is extending its platform in an organic way it will do a better job than Microsoft which has built a cloud platform from scratch. We did not address the pricing comparison directly, but Tsyganskiy says that existing Force.com customers always have the option to “talk to their Account Executive” so there could be flexibility.

Since Database.com is in one sense the same as Force.com, the API is similar. The underlying query language is SOQL – the Salesforce Object Query Language which is based on SQL SELECT though with limitations. The language for stored procedures and triggers is Apex. SQL drivers from Progress Software are intended to address the demand for SQL access.

I mentioned that Microsoft came under pressure to replace its web services API for SQL Server Data Services with full SQL – might Database.com face similar pressure? We’ll see, said Tsyganskiy. The case is not entirely parallel. SQL Server is a cloud implementation of an existing SQL database with which developers are familiar. Database.com on the other hand abstracts the underlying data store – although Salesforce.com is an Oracle customer, Tsyganskiy said that the platform stores data in a variety of ways so should not be thought of as a wrapper for an Oracle database server.

Although Database.com is designed to be used from anywhere, I’d guess that Java running on VMForce with JPA, and following today’s announcement Heroku apps also hosted by Salesforce.com, will be the most common scenarios for complex applications.

The top Silverlight feature request: implement on more platforms

One of the things mentioned by Microsoft VP Scott Guthrie in his Firestarter keynote yesterday was that Silverlight 5, the new version set for release in 2011, implements some 70% of what users have voted for. I presume he means the feedback forum here. But look what the top request is – as noted by a comment to yesterday’s post:

image

Looking at the comments, Android is a common request, and relatively easy for Microsoft to achieve given the open nature of that platform.

This was apparently not part of the 70% though. Instead, Guthrie introduced more Windows-only features – showing that concerns about divergence between Windows and Mac implementations when Microsoft announced COM support at the 2009 PDC were justified.

What if Microsoft had purchased Novell, or purchased Mono from Novell, instead of letting it go to Attachmate? It would have enabled Microsoft to unify the Windows and Linux implementations as well as building on the work the Mono team has done on compilation for iOS.

That dream is over though; the Silverlight application strategy seems focused on making it better for Windows-platform corporations.

Silverlight 5 unveiled: more power, more Windows

Microsoft has announced details of Silverlight 5, a major new release of its browser plug-in and desktop runtime for Windows and Mac. Silverlight is also the primary application runtime for Windows Phone 7, though this update does not apply to the phone yet. Silverlight 5 will go into beta in the first half of 2011, and release is planned for the second half of 2011 – no more than a year or so away.

So what’s in Silverlight 5?

On the media side, there is hardware decoding of H.264 video (an overdue feature) plus enhancements including TrickPlay which enables fast-forward and rewind. There is also remote control support of some kind. According to VP Scott Guthrie, you will be able to stream HD video to a netbook.

The bigger area of change is in Silverlight as an application runtime. Here are the highlights:

  • Text rendering is much improved, with multi-columns, OpenType support, and control of tracking and leading.
  • Postscript vector printing greatly improves printing support, and you can now create a dedicated print view different from what is on screen.
  • A new hardware-accelerated 3D graphics API, as well as immediate mode graphics which lets you render directly to the GPU.
  • There is a 64-bit version of Silverlight 5.
  • WS-Trust support for secure messaging in tandem with Windows Communication Foundation.
  • Databinding enhancements, and support for debugging a binding by setting a breakpoint on it.

Alongside these, trusted Silverlight applications have new capabilities. But what is a trusted application? In the past, Silverlight applications become trusted if they run out of the browser and the user gives permission via a dialog. In Silverlight 5 this changes. A Silverlight application can be trusted within the browser as well, though Microsoft says this only works “when enabled via a group policy registry key and an application certificate”. This implies that the feature is aimed at corporate environments rather than for applets with a broad reach.

Once trusted, an in-browser Silverlight applet has the following additional features:

  • A new web browser control lets you host HTML content within a Silverlight application.
  • Read and write access to My Documents
  • Ability to launch Microsoft Office applications – examples include creating an email message or opening a report in Word
  • Access to COM components – Microsoft gives the example of accessing a USB security key or a bar-code scanner
  • Ability to call native code vith PInvoke (Platform Invoke)

In addition, out of browser applications support multiple windows including child windows, so they can be made to behave even more like normal desktop Windows applications.

You can see the theme here: making trusted Silverlight applications more powerful so that a larger proportion of custom business applications can be implemented in the browser or as Silverlight out-of-browser applications, rather than as traditional Windows applications that require desktop deployment. Put this together with Office 365 and Windows Azure, and you can see how well Silverlight works as a component in Microsoft’s cloud stack – provided users do not have anything inconvenient like an Apple iPad.

But what about the Mac? All these “trusted” features appear to be Windows-only. I asked about Mac support and was told:

We’re evaluating mechanisms for enabling similar trusted applications on the mac.

Fair enough; but the way this is put does suggest that having retreated from any ambitions for broad device reach in statements at the recent PDC conference, it now seems that Microsoft is further retreating from Mac and Windows parity, and moving Silverlight more towards being an application runtime for Windows – though note that there will still be a Silverlight 5 for the Mac and which will have the features that do not require COM or PInvoke.

It is disappointing that there is still no built-in local database support, though there are third-party offerings.

There are a couple of ways to look at Silverlight. Microsoft’s lack of commitment to cross-platform parity and its unwillingness to address broad device support means it does not look good as a broad-reach browser plugin, despite its great features on systems that do support it.

On the other hand, as an alternative to desktop Windows applications Silverlight looks increasingly attractive as its capabilities increase.

More information on the new features here – though note it neglects to mention what will and will not work on a Mac.

As Microsoft releases new tools for Windows Phone, developers ask: how is it selling?

Microsoft has released Visual Basic for Windows Phone Developer Tools – not a lot to report, I guess, except that what you could already do in C# you can now also do in Visual Basic.

Still, when someone at Microsoft asked me what I thought of the Windows Phone 7 developer platform I replied that the tools look good for the most part – though I would like to see a native code option and it seems unfortunate that mobile operators can install native code apps but the rest of us officially cannot – but the bigger question is around the size of the market.

We all know that a strong and large community of developers is critical to the success of a platform – but as I’ve argued before, developers will go where their customers are, rather than selecting a platform based on the available tools and libraries. It is a bit of both of course: the platform has to be capable of running the application, and ease of development is also a factor, but in the end nothing attracts developers more than a healthy market.

Therefore the critical question for developers is how well Windows Phone 7 is selling.

Nobody quite knows, though Tom Warren makes the case for not much more than 126,000, that being the number of users of the Windows Phone Facebook application.

I’m not quite convinced when Warren says:

It’s likely that most users will connect their Facebook account so the statistics could indicate nearly accurate sales figures.

Not everyone loves Facebook; and when I was trying out Windows Phone 7 I found myself reluctant to have it permanently logged in. Even so, I’d agree that well over 50% of users will enable Facebook integration so it is a useful statistic.

Although that suggests a relatively small number in the context of overall Smartphone sales, my perception is that lack of availability is part of the reason, so it is too early to judge the platform’s success. I do not see many Windows Phone 7 in the mobile phone shops that I pass in the UK; in fact it is unusual to see it at all. I am not sure if this is mainly because of supply shortages, or because Microsoft and its partners found it difficult to build expectations in the trade that this would be a sought-after device, or both.

Some bits of anecdotal evidence are encouraging for Microsoft. Early adopters seem to like it well enough. Nevertheless, it is a minority player at the moment and that will not change soon.

Developers are therefore faced with a small niche market. Microsoft has done a fair job with the tools; now it needs to get more devices out there, to convince developers that once they have built their applications, there are enough customers to make it worth while.

HTML 5 Canvas: the only plugin you need?

The answer is no, of course. And Canvas is not a plugin. That said, here is an interesting proof of concept blog and video from Alexander Larsson: a GTK3 application running in Firefox without any plugin.

image

GTK is an open source cross-platform GUI framework written in C but with bindings to other languages including Python and C#.

So how does C native code run the browser without a plugin? The answer is that the HTML 5 Canvas element, already widely implemented and coming to Internet Explorer in version 9, has a rich drawing API that goes right down to pixel manipulation if you need it. In Larsson’s example, the native code is actually running on a remote server. His code receives the latest image of the application from the server and transmits mouse and keyboard operations back, creating the illusion that the application is running in the browser. The client only needs to know what is different in the image as it changes, so although sending screen images sounds heavyweight, it is amenable to optimisation and compression.

It is the same concept as Windows remote desktop and terminal services, or remote access using vnc, but translated to a browser application that requires no additional client or setup.

There are downsides to this approach. First, it puts a heavy burden on the server, which is executing the application code as well as supplying the images, especially when there are many simultaneous users. Second, there are tricky issues when the user expects the application to interact with the local machine, such as playing sounds, copying to the clipboard or printing. Everything is an image, and not character-by-character text, for example. Third, it is not well suited to graphics that change rapidly, as in a game with fast-paced action.

On the other hand, it solves an immense problem: getting your application running on platforms which do not support the runtime you are using. Native applications, Flash and Silverlight on Apple’s iPad and iPhone, for example. I recall seeing a proof of concept for Flash at an Adobe MAX conference (not the most recent one) as part of the company’s research on how to break into Apple’s walled garden.

It is not as good as a true local application in most cases, but it is better than nothing.

Now, if Microsoft were to do something like this for Silverlight, enabling users to run Silverlight apps on their Apple and Linux devices, I suspect attitudes to the viability of Silverlight in the browser would change considerably.

Microsoft removes Drive Extender from new Windows Home Server, users rebel

Microsoft’s Windows Home Server has a popular feature called Drive Extender [Word docx] which lets you increase storage space simply by adding an internal or external drive – no fussing with drive letters. In addition, Drive Extender has some resilience against drive failure, duplicating files stored in shared folders when more than one drive is available.

Recognising the usefulness of this feature for business users as well as in the home, Microsoft prepared a significantly upgraded Drive Extender for the next version of Windows Home Server, code-named Vail, and for new “Essentials” editions of Small Business Server (SBS) and Storage Server. Anandtech has an explanation of the changes, necessary to support business features such as the Encrypted File System.

The new version is more complex though, and it seems Microsoft could not get it working reliably. Rather than delay the new products, Microsoft decided to drop the feature, as announced by product manager Michael Leworthy. Note the rating on the announcement.

image

Part of the problem is that rather than discuss difficulties in the implementation, Leworthy presented the decision as something to do with the availability of larger drives:

We are also seeing further expansion of hard drive sizes at a fast rate, where 2Tb drives and more are becoming easy accessible to small businesses.  Since customers looking to buy Windows Home Server solutons from OEM’s will now have the ability to include larger drives, this will reduce the need for Drive Extender functionality.

He added that “OEM partners” will implement “storage management and protection solutions”.

Unfortunately this was a key feature of Windows Home Server. The announcement drew comments like this:

My great interest in Vail has just evaporated.  Drive Extender is the great feature of Home Server, and what my personal data storage is based around.  I have loved owning my WHS but unfortunately without DE I will be looking for other products now.

A thread (requires login to WHS beta) on the beta feedback site Microsoft Connect attracted thousands of votes in a couple of days.

 image

One of the concerns is that while Drive Extender 2 may be needed for the business servers, the version 1 is fine for home users. Therefore it seems that the attempt to bring the technology to business servers has killed it for both.

The SBS community is less concerned about the issue than home users. For example, Eriq Neale says:

While I can see how the Home Server folks are going to lament the loss of DE from their product, as cool as it is, removing that technology removes a LOT of roadblocks I was expecting for Aurora and Breckenridge, and that’s good news for my business.

though Wayne Small says:

I know that a few of my fellow MVPs were told of this recently and sworn to secrecy under our NDA, and we honestly were dumbstruck as to the fact it had been cancelled.  I can only assume that the powers that be at Microsoft know what they are truly doing by removing this feature.  On the flip side however, it means that any server backup or antivirus product that worked with Windows Server 2008 R2 will now most certainly work with SBS 2011 Essentials without modification!  See – there is a silver lining there somewhere.

What should Microsoft do? I guess it depends on how badly broken Drive Extender 2 is. Perhaps one option would be to keep Drive Extender 1 in Vail, but leave it out of the business servers. Another idea would be to delay the products while Drive Extender 2 is fixed, presuming it can be done in months rather than years.

Or will Microsoft ignore the feedback and ship without Drive Extender at all? Microsoft may be right, in that shipping a server with broken storage management would be a disaster, no matter how much users like the feature.