All posts by onlyconnect

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:

Saving the planet with Sun’s thin client or an Asus Eee PC

I spoke yesterday at an Education Forum on the subject of open source software. While I was there I sat in on a discussion led by Sun’s Simon Tindall, on the subject of thin clients. Sun has been beating this drum for some time, not least because it sells suitable servers, though as far as I can tell the take-up has been relatively modest. The argument is usually about manageability, but Tindall majored on the energy aspect. He claimed typical power consumption of 8 watts for a Sun Ray 2, versus maybe 50 – 120 watts for a traditional PC. That excludes the display, plus the additional power consumption of the necessary chunky server for a Sun Ray 2, but there’s little doubt that a thin client approach will save a significant amount of energy.

The views of users were mixed. There were enthusiasts, but also reservations expressed about performance, particularly as multimedia becomes increasingly important. A weakness of these devices is that they have relatively weak graphics, and device support can be a problem.

Even so, if we are serious about reducing energy consumption it strikes me that this area is worth looking at. Windows Vista has some new power-saving features, but also makes the problem worse by using rich graphical effects in the main Windows user interface. Constant disk activity from services like the search indexer cannot help either.

I am not sure about using a thin client for all my work, but I like the idea of minimalist devices that let you accomplish common tasks without firing up an energy-hungry PC or laptop. Much of the time, Internet, email and word processing is all I need, for example. A device like the Asus Eee PC is interesting in this context: small screen, solid-state disk, low power consumption – perhaps even less than a Sun Ray 2 with a typical display. There’s also the OLPC, which draws no more than 15 watts.

Technorati tags: , ,

Huge update to MFC unveiled

Microsoft’s Herb Sutter has more details on the “massive update” to the Microsoft Foundation Classes (MFC), about which I blogged back in August.

The focus seems to be on UI features, including Vista themes, Office 2007 Ribbon-alike, new dialogs, task panes, docking, tabbing, and so on.

How big an update is this? Here’s what Sutter says:

This update nearly doubles the size of MFC. Now, “nearly doubles the size of X” can be a bad thing. In this case, though, it’s a Good Thing… in my opinion, at least.

MFC was originally designed as a thin C++ wrapper for the Windows API, which accounts for its ugliness when considered purely as an application framework. I don’t know if the update fixes any of those underlying issues, but it will be handy for developers who need a quick route to an up-to-date Windows UI.

I interpret this as Microsoft acknowledging the continuing importance of native code versus .NET programming, though personally I would still rather use CodeGear’s Delphi

Technorati tags: , ,

Google’s Open Handset Alliance site: not mobile, not open

I was browsing the web on my mobile, as one does, and came across a news item about the Open Handset Alliance, Google’s new initiative to foster a Linux-based operating system for mobile devices, codename Android. I clicked the link, but thought I’d mis-clicked, because this is what I got:

Open Handset Alliance site showing only a Google search page

Puzzled, I checked out the site later on a PC. Everything was fine:

Open Handset Alliance showing blurb about commitment to openness

The problem is that Google automatically detects mobile browsers and redirects them to an “/m” version of the site. Which in this instance is completely useless. There is no obvious way round it – I tried amending the URL, but it bounced straight back to Google search. This is one of the reasons I dislike the mobile web.

Let me add that Google has done a mixed job on the “open” aspect, even if you visit with a supported browser. Most of the site doesn’t mention Google. It places itself modestly in alphabetical order under Software Companies, in the list of members.

So far so good, but then I hit the terms of service:

1.2 Your use of products, software, services and websites in connection with the Open Handset Alliance website (referred to collectively as the “Services” in this document) is subject to the terms of a legal agreement between you and Google.

4.3 As part of this continuing innovation, you acknowledge and agree that Google may stop (permanently or temporarily) providing the Services (or any features within the Services) to you or to users generally at Google’s sole discretion, without prior notice to you.

5.5 Unless explicitly permitted to do so by Google, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the Services for any purpose.

Ouch. Those pesky lawyers just don’t get this open thing, do they?

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: , , , , ,

Why Silverlight?

I noticed this question in a comment to Rob Blackwell’s Reg article on Silverlight:

…given that MS never does anything without a commercial reason … why Silverlight? What sales will it make? What competition will it kill? As far as I can see, there’s nothing that will tie SL exclusively to a particular MS product.

Answer: it’s all about the platform stack. Microsoft does not want to cede this space to Adobe and Flash, because it is strategic. Use Flash, use Adobe’s tools rather than Visual Studio, use the Java-based LiveCycle and JEE rather than ASP.NET and Windows Server. Use Silverlight, use Visual Studio, ASP.NET, XAML, SQL Server, all the Microsoft stuff.

What about the Internet as an advertising platform? Flash/Silverlight is the client runtime.

What about the Internet as a broadcasting platform? Same story.

I speculated recently about the future of gaming.

Silverlight is partly defensive. In other words, less about “what sales it will make?” than about, “what sales will it avoid losing?” Web developers need to support cross-platform clients; if Microsoft cannot provide the tools and server-side platform to make that work, developers will look elsewhere.

I picked up a hint here at Tech-Ed that SQL Server Compact Edition may find its way into a future Silverlight. A cross-platform local database store makes a lot of sense; Adobe already has this in the form of SQLite. If Adobe’s AIR proves popular, Microsoft could relatively easily push Silverlight in that direction as well, providing a way of running Silverlight outside the browser.

Doesn’t this undermine Windows? Maybe a little, and I am sure this is a point of debate within Microsoft, but it is worth it.

Silverlight’s big problem: devices. Flash on iPhone: possible, even likely. Silverlight on iPhone, Nokia? A stretch.

Why Entity Framework when we have LINQ to SQL?

I’ve just returned from Carl Perry’s Tech Ed session on the Entity Framework, an object-relational library for ADO.NET, initially implemented for SQL Server. Perry is a Senior Program Manager Lead on the SQL Server team. The Entity Framework is the first implementation of what Microsoft calls the Entity Data Model. Generate a data model from a database, tweak the model in Visual Studio’s designer, then generate code to use in combination with LINQ (Language Integrated Query). I found this code snippet from Perry’s slides illuminating:

using (AdventureWorksModel model = new AdventureWorksModel())
{
var query = from c in model.Customer
where c.MiddleName == null
select new {
FirstName = c.FirstName,
LastName = c.LastName,
EmailAddress = c.EmailAddress }; 

foreach (var c in query)
 {
 Response.Write(String.Format("<p>{0}\t{1}\t{2}</p>",
 c.FirstName,
 c.LastName,
 c.EmailAddress));
 }
}

In the above code, AdventureWorksModel is an instance of an Entity Framework model, and as you can see makes for clean strongly-typed coding against the database.

But doesn’t Microsoft already have a shiny new object-relational layer called LINQ to SQL? Why bother with Entity Framework?

There appears to be considerable overlap, but the Entity Framework has higher ambitions. Perry said that LINQ to SQL is fine when your entities map closely to database tables, but Entity Framework is better for more complex mappings. It is not there yet, but it looks as if Microsoft will evolve the framework to enable model-first development and add features like the ability to define constraints in the model. All very familiar in the modeling world. The question may become: why bother with LINQ to SQL?

Entity Framework is not new; for example it is described in this paper from 2006. However, I had not looked at it before in any detail. You can download a beta here.