Category Archives: microsoft

How Akamai Download Manager hides your downloads (VS 2008 downloaders take note)

Yesterday I downloaded the hot new release in the Microsoft development community: Visual Studio 2008.

At least I thought I did. I used the MSDN “Top Downloads” feature, which promises:

… a more direct way to initiate a download of a limited set of selected products

The service uses a plug-in called the Akamai Download Manager. This guy is annoying, especially if you use Windows Vista. First, it doesn’t seem to work at all. Then you realize that you have to disable the IE pop-up blocker. Next, you try to select a download location but it will not let you. It respects some setting in IE that restricts downloads to “safe” locations. You had better have lots of space in your user directory, otherwise this is not going to work.

Fortunately, I do have lots of space, so even the 6GB or so I was downloading should have been OK. I gave in and let it choose the location it wanted. The next thing you see is curious – see here for a screenshot. A message appears telling you the file has been saved (note past tense, though the download is just starting) to the Temporary Internet Files folder, and invites you to open it. I knew the file could not be downloaded yet, but opened it anyway. You get an Explorer window onto a weird location that claims to be in the Windows folder (it isn’t) and shows a single folder labeled C. If you are like me, you shrug, and close it. Don’t do that.

Why not? Well, after several hours or perhaps overnight, the download completes and you look for your files. Where are they?

I looked in Documents, the supposed location. Not there.

I looked in IE’s Temporary Internet Files folder. Not there.

I looked in my Virtual Store, a feature of Vista that supports legacy software which tries to write to locations like the Windows folder. Not there.

I performed a search of my entire User folder, set to show hidden files and folders. Not there.

Before giving up, I opened an administrative command prompt, navigated to the root folder, and typed:

dir *.iso /s

Ah! There they are, in (wait for it):

C:\Users\Username\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\Username\Documents

where “Username” is the current user.

Why didn’t the Explorer search find it? The problem is, you have to have the option:

Hide protected operating system files (Recommended)

set to unchecked in folder options, passing the dire warning that tells you not to do it.

Why do I normally have this checked? The dire warning doesn’t bother me, but I do mind that having this unchecked shows files like desktop.ini on the Vista desktop. Ugly. So I normally have this checked.

Hey, wouldn’t it be good if Microsoft had a single checkbox in its “Advanced” search: to just search everywhere?

What is this nonsense?

So I found the downloads. But honestly, what is this nonsense? The truth is, Akamai Download Manager is not really Vista-compatible; why is Microsoft using it on its premier developer site, for its premier developer product? Ironically, this is the community most likely to be running Microsoft’s latest and [possibly] greatest.

Further, what it is the message here? That Vista adoption is so modest that Akamai can’t be bothered to fix its utility? Or that Microsoft’s own in-house developers can’t build a decent download manager? Or offer to fix the Akamai one?

Excuse my temper. It is no fun to complete a long download and then lose the files.

Update: I also sent a comment and query to the email address given for feedback. It was msdnreply(at)eu.subservices.com. Guess what? Bounced with “User unknown”.

REST vs WS*

The REST vs WS* wars get ever more interesting, with Dare Obasanjo from the Windows Live team announcing (or confirming) his conversion to RESTful ways, and Project Astoria demonstrating that Microsoft is now building REST services into ASP.NET and ADO.NET (see here for further comment).

Microsoft is still committed to WS*, but equally seems to recognize that much of the world wants to do REST. I’m glad that pragmatism is winning over dogged determination to stand by technology choices.

Technorati tags: , ,

Visual Studio 2008 is done

Microsoft says you can now download the release version of Visual Studio 2008 from MSDN subscriber downloads (presuming you have a subscription, of course).

I believe it, because this is what I get when I try:

vs2008

Looks like the server is a little stressed. But I thought you were not meant to expose your stack trace to the world?

Never mind, I’m sure I’ll get this thing downloaded soon.

Update: Edited link for one that is not broken

Technorati tags: , ,

Which games console this Christmas?

Which games console is the smart choice this holiday season? With four or maybe five serious contenders there is plenty of choice, and that’s good for buyers because (with one exception) it’s keeping prices down. Here’s my quick guide, in alphabetical order.

PC

I admit, it’s not a console, though you can come close if you get a media-centric computer designed for the living room. The downside, let me say at once, is that you have all the maintenance hassles which go with a real computer – patches, maybe mysterious crashes and hunting through Google in a desperate attempt to discover what “Error 9999999 could not initialize device” might possibly mean.

I include it here for one simple reason. Many of the games released for the leading consoles also come out for the PC, and they cost less. Example: FIFA 08, a reliable bestseller, on sale now at Amazon.co.uk at £39.99 for the PS3 and Xbox 360, £29.50 for the Wii, and just £24.99 for PC (or currently £18.99 if you go second user). In addition, PC games sometimes get patches and downloadable updates that their console cousins lack.

Let me just add the traditional advantages of the PC. It’s upgradable, and when you tire of playing games will do duty in the study or for setting up Linux and Slimserver like you’ve been meaning to for ages.

If you get a PC for gaming, I highly recommend not scrimping on RAM or the all-important graphics card; and don’t forget the excellent Microsoft controller, same as on the 360.

Rating: 6

PlayStation 2

Pah! Old stuff. True, but the console is small, quiet and cheap, and the games are fantastic, especially if you content yourself with trade-ins. Consider: when Microsoft and Sony were trading stats about whose next-gen console had flashiest graphics, Microsoft (fractionally on the losing end) made the point that in the end, it’s the quality of the games that counts. Nintendo then proved the point by slaughtering both in the market with the underpowered Wii. But if it’s the games that count, why not just get a PS2? Or stick with the one you have already. The bargain-hunter’s choice.

Rating: 5

PlayStation 3

Now I’ve got your interest. How does Sony’s bet-the-company console stack up against the competition? Let’s be honest: this is very much in the same camp as the Xbox 360, so that’s the thing to compare it with. It’s about superb graphics, media-center pretensions, and some neat extras like a web browser. In its favour, the PS3 seems better made than the 360, and offers a little bit more considering that it also plays Blu-Ray high-definition movies. It also comes with a larger hard drive than the 360’s parsimonious 20GB. It’s quieter too, which is a considerable advantage in your sitting room. Further, it has at least some compatibility with all those old PS2 games, though it is imperfect in most editions after Sony dropped the embedded PS2 chip for cost reasons.

The case against? It’s the most expensive console; the graphics aren’t noticeably better than the 360; it’s big and unbeautiful; and the Blu-Ray capability which makes it expensive is probably something you don’t want or need in a games console. Sony included it to get an advantage in the HD wars, not for your benefit.

Admittedly Sony is subsidizing the PS3 to get the price closer to a 360, but in practice you will find Microsoft’s offering significantly cheaper – though at least PlayStation Network is currently free, whereas Xbox Live is subscription based.

The biggest problem with the PS3 this season is that the choice of games is not there yet. The 360 has more and better games; and where the same title has come out for both platforms, there is usually little to choose, or more often an advantage to the 360. A notorious example is Pro Evolution Soccer 2008, which most agree has smoother action on the 360. Is it because the 360 is easier to program? Or that the PS3 is getting 360 ports? Probably both; but you don’t care about the reasons.

Rating: 8

Nintendo Wii

So this is the gadget that is winning in the market, thanks to Nintendo’s creative approach to console design. The Wii is far smaller and quieter than the PS3 or 360, and a good bit cheaper, though in practice the price advantage can be eroded by shortages; nobody needs to offer a good deal on the Wii. Is it the best? Well, the Wii has a few things in its favour. First, it has a motion-sensitive, position-sensitive controller than enables a level of simulation that no other console can match. Swing your arm for bowling or golf, wave your racket for tennis. There is real physical involvement. Second, the culture of the Wii is about family fun. Third, Nintendo has paid attention to detail in its console software. In particular, The “Mii” concept is beautifully executed. A Mii is a character representing your profile, and you can spend ages designing a Mii to look like a convincing caricature of the person it represents. These little folk can appear in-game as well as in the management screens. In other words, the personalization is great.

The Wii is the console of choice for filling the argumentative void between lunch and evening on Christmas day itself.

Unfortunately, the Wii is not really a replacement for the PS3 or 360. For starters, the graphics really are noticeably inferior. Second, the range of available games is inferior, though it is catching up a little. The Wii Sports game that comes free in the pack is wonderful, but it is hard to find others that are as good. Third, the motion-sensitive controller can be annoying when it is applied to everything. Fourth, there is no equivalent to the online gaming found in Xbox Live or PlayStation Network. After the thrill of Sports wears off, you could be disappointed.

Rating: 7

Xbox 360

Microsoft’s console has a lot going for it. You can’t fault the graphics; it has the best games; it has the best online experience (though you have to pay for it); it has great downloadable games in Xbox Live Arcade; it has the best controller; and in conjunction with a Media Center PC it serves as a decent all-purpose living room device as well. You can also plug in a good value HD-DVD add-on to get your high definition movie fix.

Two things spoil the 360. First, it has suffered reliability problems, so much so that Microsoft has had to extend its warranty for the common “red ring of death” issue, which most agree is caused by over-heating, thanks to a design fault in the way the components are laid out internally. This could have been forgiven if the company had moved quickly to fix it, but it seems that it continued to manufacture consoles likely to fail prematurely for long after the problem was known. Are today’s consoles better? Almost certainly, though we may not be truly out of the woods until smaller, cooler processors are fitted as standard.

Second, this console is the noisiest. That’s partly because of all the fans fitted in a vain effort to fix the overheating, and partly because of the noisy DVD drive.

I still think this is a good buy. You don’t hear the noise when playing a game, and Microsoft mostly foots the bill for hardware faults. Especial kudos to Microsoft for its controller, which in my opinion is that teensy bit more responsive and comfortable than that on the PS3; it does matter when you are hammering it hard.

I have heard from multiple sources that 360 games are easier to code than those for PS3. That means less time making them work, and more time to making them good.

If and when Microsoft issue a second edition 360 (not just the disappointing Elite) which runs whisper-quiet and properly fixes the reliability issue, I would rate this an easy win over the PS3. For now though, it is a close-run thing. Still, the 360 wins on the value front so it is arguably the better buy.

Rating: 8

Are you Mort, Elvis or Einstein?

Old news to some, but I’d not come across this until Paul Vick mentioned it on his blog. Microsoft uses the concept of personas when designing its developer tools. Nikhil Kothari explains all, in this post from 2004:

Mort, the opportunistic developer, likes to create quick-working solutions for immediate problems and focuses on productivity and learn as needed. Elvis, the pragmatic programmer, likes to create long-lasting solutions addressing the problem domain, and learn while working on the solution. Einstein, the paranoid programmer, likes to create the most efficient solution to a given problem, and typically learn in advance before working on the solution. In a way, these personas have helped guide the design of features during the Whidbey product cycle.

Whidbey was the codename for Visual Studio 2005.

Vick notes that these three personas map very loosely to Visual Basic, C# and C++. I can see what he means, though I’d have thought that all three personality types (and more) could be working in any language. You can do quick pragmatic hacks in C++ as well as in VB. Vick wants to retire Mort because he may be giving VB a bad image (internally?). Certainly it’s an unfortunate name; I’m not sure where it comes from (Terry Pratchett?).

It’s not a bad thing to have some idea of the range of users you are catering for, though a range of 3 personas strikes me as restrictive. It is also thought-provoking in the light of recent development trends. Now we have the whole designer/developer thing; and separately, there is a new focus on modeling within Microsoft – see Oslo. How will Mort, Elvis and Einstein cope with all that?

Technorati tags: , , , ,

Windows Media Center madness

I use Windows Vista Media Center with a digital TV card. It had been working fine for a year, until last week.

Then it started playing up. Browsing TV recordings would raise an error: “A critical Windows Media Center process has failed. Please restart the computer and try again.” In addition, one particular TV program was reported as still recording, days after it had ended. Nothing was being written to the drive, but nothing else would record.

Needless to say, restarting the computer fixed nothing. For all the song and dance about self-healing applications, Windows Error Reporting, and the rest of it, the reality is that Google searches and fiddling with the registry and configuration files often remains the only way to fix things.

After a couple of a false trails, I found the help I wanted on the Green Button site. Stop the Media Center services, delete the files recording.xml and recording.bak in C:\ProgramData\Microsoft\eHome\Recording, restart Media Center. All is fine, except that any existing recording schedules are lost.

A small price for domestic harmony.

Technorati tags:

Tech Ed reflections

Tech Ed Barcelona has been a low-key affair in some ways, with little in the way of exciting news; yet I was impressed with several pieces of technology which I had not looked at closely before.

I found it curious that the keynote made so little of these. In particular, I’m thinking about Silverlight 1.1, SQL Server 2008, and Project Astoria (also known as ADO.NET Data Services).

SQL Sever 2008 is a big release, though it is easy to get confused over what is part of SQL Server, and what is part of ADO.NET. I will be posting more on this subject, following my interview today with Michael Rys, Principal Program Manager of SQL Server Engine, Relational and XML (don’t try to say that quickly). One of the points of interest for those who follow Microsoft technology is the new FILESTREAM data type – in fact it is not strictly a data type, but another way to store blobs. This is a way to store unstructured data under SQL Server control, giving you the benefits of transactions, SQL Server security, backup, etc, but with the performance of the file system. In fact, each blob is stored as an individual file though you are not expected to find it using Windows Explorer. Using the SQL Server API you can get a WIn32 file handle to the blob, and there are no size limits other than those which the file system imposes. Result: faster access to the data.

Another piece of the puzzle is that full-text indexing is now fully integrated into the SQL Server engine. Right, so now we have indexed, queryable, high performance access to data in a transactional file system. Remind you of WinFS?

This will also give Sharepoint a significant performance boost in some future release, and Sharepoint is of strategic importance for Microsoft.

I’m also interested in Project Astoria, an easy to use a REST API into your database. This makes huge sense in the context of AJAX and Silverlight, and if you want to do mashups with other web services. I got the impression that Microsoft is being deliberately low key about this, pending an announcement at some future date. My guess is that it will be released at the same time as SQL Server 2008 – June next year? – but it is only a guess.

I fear much of this passed by many of the Tech Ed delegates. Talking to them at the party last night, I found that several were in the early stages of moving from .NET 1.1 to .NET 2.0. There is a substantial time lag between release and real-world adoption.

Plane about to leave so I’ll wrap up here. I do have more to post from Tech Ed, so check back soon.

Project Astoria a hit at TechEd

There is a buzz here at TechEd about Project Astoria. The reason is that it promises to simplify development of web applications that deal with data, which is most of them. Astoria is a REST API for ADO.NET, and hooks into the new Entity Framework object-relational mapping layer. Therefore, it solves two problems in one go.

Here’s a quick look at how it works. Let’s assume that you have a database which stores some information you want to present in your web application. Step one is to use Visual Studio to generate an Entity Data Model from your database.

Next, you tweak the model so that it looks as close as possible to the objects you are storing. The framework should deal with the complexities of mapping collections to linked tables and so on.

Now you create a new ADO.NET Data Service (sadly, this may well be the official name for Astoria), and point the service at your model. By default a new service does not expose any data, for security reasons, but by writing an InitializeService method you can configure which objects you want to publish.

Run the service, and the objects in your model are now URL-addressable. It’s pretty flexible. For example:

[serviceurl]/Products : return all the products (yes, you can do paging).

[serviceurl]/Products[2]: return the product with an ID of 2.

[serviceurl]/Products[Color eq ‘Blue’]: return all the blue products.

[serviceurl]/Customers[2]/Orders/:return all the orders for the customer with an ID of 2.

The data comes back in either ATOM or JSON format. Naturally, each element in the returned data includes its URL. Let’s say you have an AJAX application so you are calling this service from JavaScript. Iterating through the results and populating an HTML list or table is easy, especially as Astoria includes a client JavaScript library. There is also a client library for .NET applications. You can also add or update data with HTTP PUT, or remove it with DELETE.

You can extend your Astoria API by adding arbitrary methods that have the [WebGet] (or presumably [WebPut] or [WebDelete]) attribute. You can also add “interceptors” – code that gets called just before requests are executed, to enable validation or custom security.

Presuming it works as advertised, Astoria is a more natural and concise way to handle data than SOAP web services, and easier than devising your own techniques. It should work well with other technologies such as Adobe’s Flex. It will play nicely with mash-ups, since many other services out there use ATOM or JSON. it is a natural fit with AJAX and will work well with Silverlight – see http://www.silverlightdata.com [Silverlight 1.1 Alpha required] for an example.

Astoria will not be finished in time for the initial release of Visual Studio 2008, though reading between the lines it might be done in time for SQL Server 2008. It will work with any database server for which there is an Entity Framework provider. I was assured that creating such a provider is relatively easy, if you already have an ADO.NET 2.0 provider, so it is reasonable to expect wide support.

I think this will be popular.

Technorati tags: , , , , ,

SQL Server 2008 will miss own launch party

Excellent session here at Tech-Ed from Francois Ajenstat (Director of Product Management for SQL Server) and others on new features in SQL Server 2008. It looks good: transparent data encryption; new policy-based admin; data compression that actually speeds performance; new datatypes including FILESTREAM, for queryable but unstructured data, and DATETIME2 for high-precision date/time; spatial data support so you can query by distance, for example; new entity-data framework (not the same as LINQ but works with it) for object-relational mapping; new REST-based data API code-named Astoria; richer reporting including features acquired from Dundas and removing the dependence on Internet Information Services.

It’s a significant upgrade, but when do we get it? I had previously assumed that it would be no later than February 27th 2008, the announced launch date for Windows Server 2008, Visual Studio 2008 and SQL Server 2008. Visual Studio will actually be available to developers three months earlier, at the end of November. Not so SQL Server. Ajenstat said the version available at the launch will be a CTP (Community Tech Preview), with the final version coming in the “second quarter” – in other words, perhaps as late as June 2008.

By way of compensation, an earlier CTP coming later this month should contain most of the new features, unlike the preview available now.

Ajenstat also noted that SQL Server “vNext” is set for 2010-2011. I’m betting on 2011 at the earliest.

Visual Studio 2008 release by end November, Sync Framework announced

News from Tech-Ed Developers in Barcelona: Microsoft has announced that Visual Studio 2008 will be available to MSDN subscribers “by the end of November 2007”. I’m a little disappointed not to find the RTM build here at Tech-Ed, but that’s not long to wait. Along with Visual Studio we get .NET Framework 3.5. The package includes LINQ (Language Integrated Query), and full designer support at last for WPF (Windows Presentation Framework) as well as WF (Workflow Foundation) and WCF (Windows Communication Foundation). It has taken a year since the first release of Vista to provide proper developer support for the frameworks which shipped with it.

S Somasegar, Corporate VP of the Developer Division, is also announcing the first preview of the Microsoft Sync Framework. Mary Jo Foley has a good summary. Interesting, given that  building online/offline synch into applications can be challenging. You can download it here. The description says it is “a comprehensive synchronization platform”.

He also has a few stats. He says:

  • Over 1 million professional developers use Visual Studio 2005
  • 17 million downloads of Visual Studio Express
  • 25% of Visual Studio developers are using Visual Studio Team System.

This last statistic is higher than I expected. I spoke recently to a Team System early adopter, who told me that while he was not exactly disappointed with it, nevertheless he had come across significant problems. His biggest issue was that you cannot manage work items across team projects, making it difficult for developers involved in several different projects. He also found the integration with Office poor, and the lack of a full Web UI frustrating. Nothing more than you would expect for a version 1 release.

Finally, Somasegar mentions a new release of Popfly Explorer with “an easy way to add Silverlight gadgets built in Popfly to web pages,” to quote from the brief press overview.