All posts by onlyconnect

Mono Tools for Visual Studio: code on Windows, run on Linux

I have just com across Mono Tools, a Novell add-in for Visual Studio that lets you test Mono compatibility. It adds a Mono menu which has options to run locally or remotely in Mono, analyze for compatibility issues, and create deployment packages. No sign of Mac support, which is a missed opportunity, but understandable given that Novell owns SUSE Linux.

For those few still unfamiliar with Mono, it is an open source implementation of Microsoft’s .NET Framework, enabling your .NET applications to run on other platforms. One compelling use is to have your ASP.NET web applications run on the free Apache web server, rather than Microsoft’s IIS.

image

Mono Tools works with both Windows Forms and web projects.

image

This is just the sort of thing Mono needs to move it further into the mainstream, though another less welcome sign of business acceptance is that this is a commercial product, currently costing $99.00 for an individual or $249.00 per seat in an organization. There is also an Ultimate edition at $2,499, which comes with a commercial non-LGPL license to redistribute Mono.

The Mono Tools team is now looking for testers for its 1.1 edition, which supports Visual Studio 2010.

Microsoft rolls out its browser choice update – but which is really the best?

Microsoft is rolling out its EU-required Browser Choice update. File under industry madness; but one thing I found interesting was the choice of words used by each vendor to market their browser.

image

I only saw the top five in Microsoft’s post; but here are the words:

Google Chrome: A fast new browser. Made for everyone.

Mozilla Firefox: Your online security is Firefox’s top priority. Firefox is free, and made to help you get the most out of the web.

Safari: Safari for Windows from Apple, the world’s most innovative browser.

Internet Explorer 8: The world’s most widely used browser. IE8 makes your web experience safer and easier than ever.

Opera: The powerful and easy-to-use web browser. Try the only browser with Opera Turbo technology, and speed up your internet connection.

Needless to say, there is little here that would really guide a user’s choice, though there is a “tell me more” link for each. It’s also worth bearing in mind that the target readership is the subset of computer users who did not realise until now that they could install a web browser other than IE.

Still, Google is right to emphasise speed; that is the main reason I use it. It is also my first choice for sites that do not render properly in IE. Firefox plays the security card, trading on recent public fretting over IE insecurities, but doesn’t mention its real strength: rich add-on availability. Microsoft is bland as usual; Apple says nothing of note; and Opera talks about some strange feature called Turbo.

But which browser should a user choose? Personally I leave IE as default and run up one of the others as I want to; this fits with my instinct to keep Windows running as closely as possible to how its designers intended. My most-used browsers after that are Chrome and Firefox; I rarely touch Safari or Opera, though both are installed.

Windows Phone 7 development rumours abound

News about the Windows Phone 7 development platform is leaking out, ahead of its official unveiling at the Mix conference next month. Rumour has it that both Silverlight and the XNA gaming framework will be supported, for creating consumer-focused applications, together with limited access to native APIs subject to Microsoft’s specific approval.

The controversial aspect, if these ideas prove to be accurate, is lack of compatibility with existing applications. It seems possible that C++ applications written for previous versions of Windows Mobile will not run, while those written for the Compact Framework will need porting to the Silverlight UI.

While there is little love for Windows Mobile, it is used for business applications where it integrates well with the rest of Microsoft’s platform. Since Windows Phone 7 seems to target the consumer, Microsoft may argue that this does not matter, since businesses can continue to use Windows Mobile. You would imagine, though, that enthusiasm for continuing with Windows Mobile will be limited given the superior usability of Windows Phone 7. Maybe a professional edition to follow in 2011?

One thing we know for sure is that Adobe Flash is not supported in the first release, though Microsoft says it is not opposed to it appearing on the platform in future. That in itself is interesting, since Adobe is hardly likely or able to rewrite Flash in Silverlight or XNA. Will certain important developers have privileged access to a wider range of native APIs? Despite rumours, there is still plenty to speculate about.

Why I don’t want to view bbc.co.uk through an app

The BBC has announced mobile apps for BBC content, the first being for the iPhone. There is a demo posted by David Madden here:

Our aim is to develop core public service apps that bring some of the BBC’s most popular and distinctive content to mobile in a genuinely user-friendly and accessible way.

In another post Erik Huggers explains our mobile future.

I have reservations about this approach, and wonder if the BBC has been unduly influenced by Apple’s iPhone marketing – “there’s an app for that.” The iPlayer desktop application makes perfect sense for downloading and viewing video offline; but why make an app to view a web site? I can think of several objections:

1. It introduces inequality between devices. So iPhone is first. Blackberry and Android are mentioned. What about Palm WebOS? What about Windows Phone 7? Maybe Flash can help with that as a common runtime; but Flash won’t be on Windows Phone in its first release. Older devices will be left behind, even where they have decent web browsers.

2. It breaks the web. Well, one app does not break the web. But if every major web site decides it has to deliver its content through an app, what happens to hyperlinks? You can go from app to Web, I imagine, but if the target site also delivers its best mobile content through an app, what then? Imagine what the web would be like if, instead of browsing, you were constantly app-switching.

3. It moves mobile to a separate world. The truth is, there isn’t a hard and fast distinction between a mobile device and a desktop device. A laptop is mobile, but more like a desktop in terms of web browsing. What about the iPad? What about all the new form factors coming down the line? There isn’t any more reason to have apps for mobile devices than there is for desktop devices.

4. It distracts investment away from what the BBC should be doing: optimising its web site for mobile, and degrading gracefully for less powerful web browsers.

Are there cases where a BBC app might make sense? Maybe a special for the 2012 olympics, that delivers the latest results, for example? Quite possibly; but what concerns me is the idea that apps become the main way to view BBC content on a phone, rather than the web browser. It is a bad precedent, and one that I hope is not imitated by others.

Google’s strategy unveiled: a little bit of everything you do

Google CEO Eric Schmidt gave a keynote address at the Mobile World Congress yesterday, which is worth watching if you have an interest in the future of technology or, well, human life.

image

The talk was an informative and open insight into Google’s future direction. It was centred on mobile; but since Google now regards the mobile phone as the primary device for how we interact with the world, that was no limitation. Google is putting mobile first, said Schmidt, because it is the meeting point for the three things that matter: computing, connectivity and the cloud. He believes that phones will replace credit cards, for example, as they are smarter and more secure for financial transactions.

Google’s strategy is to combine the near-unlimited power of server-side computing with its database of human behaviour, to create devices that are “like magic. All of a sudden there are things you can do that were not previously possible.”

He gave an illuminating example: Google voice search. You speak into your phone, and Google transcribes your voice and performs a search. Voice recognition is nothing new, but the difference in the Google demo is that it works. Here’s how. The problem with voice recognition is that one word sounds very like another, especially since we do not speak with precision and every voice varies. Computers cannot understand exactly what we say, but they can use dictionaries to come up with a set of possibilities for what we said, one of which is likely to be correct.

image

The next step is the brilliant one. Google takes this set of possible phrases and compares it to recent Google searches. If one of them matches a popular search, then it is likely to be what you said. Bingo. Google now does this in four languages, with German demonstrated for the first time yesterday.

It works on the assumption that humans are not very original. We tend to do similar things, and to be interested in similar things. Therefore, as Schmidt noted, if you are a tourist walking around a city with your location-aware phone, Google does not only know where you are; it also has a good idea of where you will go next.

Another cool demo is for image recognition. We saw this in two guises. In one, you hold up your phone and do an image search using the camera as input. Result: information about the building you are looking at. [Or maybe the person? Hmm.]

In another demo, you point the camera at your foreign-language menu as you ponder which incomprehensible dish might be one you could eat. Back comes the translation in your own language.

Note that these demonstrations are not really about super-powerful phones, but rather about the other two factors mentioned above, the power of cloud computing combined with a vast database of knowledge.

Schmidt’s blind spot is that he does not really see privacy as an issue. He mentions it from time to time; but he is clear that he regards the trade-off, that we give our personal data to Google in return for these cool services, as worth it. I posted a remarkable quote yesterday. Here’s another one, from late on in the address:

Google will know more about the customer because it benefits the customer if we know more about them.

What Schmidt fails to do is to extrapolate the implications for stuff other than cool services. One is what happens if that huge database is used dishonourably. Another is the huge competitive advantage it gives to Google versus everyone else; Google has this data, but rest of us do not. A third is how that data could be used in ways that disadvantage us. An example is in insurance. Insurance is about pooling risk. The more data insurance companies have about you, the more accurately they can assess the risk, which means a wider range of premiums. If by some mechanism insurance companies are able to analyse Google’s data to assess risk, they can refuse to insure, or charge high penalties, for the higher risks. We won’t necessarily enjoy that, because it means more us may find it impossible to get the insurance we want at a price we can afford.

Google’s business strategy

That’s the technical side. What are Google’s business plans? Schmidt made some interesting comments here as well, many of them in the question and answer session.

Google does not plan to become a mobile operator. Schmidt received some fairly hostile questions on this topic. Since Google positions operators as dumb pipes, stealing their talk minutes and insisting on an open web for services, who will invest in infrastructure? Schmidt denies positioning operators as dumb pipes, but does not leave them room for much other than infrastructure; he says they might have a role in financial transactions.

How do we (both Google and the rest of us) make money? Two main areas, according to Schmidt. One is advertising. He says that online advertising spend is currently one tenth of the total, and that this proportion must grow since “consumers are moving from offline to online.” In addition, mobile advertising will be huge since you can target location as well as using other data to personalise ads. “The local opportunity is much larger, and largely unexplored,” he says.

The other big opportunity is apps. The number of apps that need to be installed locally is constantly diminishing, he says, leaving great potential for new cloud-based applications and services.

As for Google, Schmidt says it wants to be part of everything you do:

We want to have a little bit of Google in every transaction on the internet

Thought-provoking stuff, and a force that will be hard to resist.

So who can compete with Google? Making equally capable phones is easy; building an equally good database of human intentions not so much, particularly since it is self-perpetuating: the more we all use Google, the better it gets.

No wonder Microsoft is piling money into Bing, with limited success so far. No wonder Apple’s Steve Jobs is concerned:

On Google: We did not enter the search business, Jobs said. They entered the phone business. Make no mistake, they want to kill the iPhone. We won’t let them, he says. Someone else asks something on a different topic, but there’s no getting Jobs off this rant. I want to go back to that other question first and say one more thing, he says. This don’t be evil mantra: "It’s bullshit." Audience roars.

Eric Schmidt: we can literally know everything

I am watching Google CEO Eric Schmidt’s keynote at the Mobile World Congress today. I am only 10 minutes in, but I was struck by these comments, as he talks about improving connectivity across the internet:

Think of it as an opportunity to instrument the world. These networks are now so pervasive that we can literally know everything if we want to. What people are doing, what people care about, information that’s monitored, we can literally know it if we want to, [pauses, lowers voice] and if people want us to know it.

A comment full of resonance. Who is “we”? You and I? or Google? The enthusiasm for knowing everything about everything, the reluctant-sounding concession to privacy at the end. The sheer bravado of it; the word “literally”, which means in actual fact, without hyperbole; and yet which is obvious hyperbole.

For another view on this, see The Onion’s piece on Google’s opt-out village.

Visual Studio 2010 testers unhappy with help

Visual Studio 2010 comes with a brand new help system, based on a local help server rather than a database plus viewer as in the past. There is also an option to use Internet-based help for the most up to date content.

Sounds good, but developers are not happy. The problem: the new help appears to have no index of contents. You are meant to navigate by search, then perhaps navigate forward and back using the table of contents tree that appears on the left.

image

In the old one, you could use the index to find keywords quickly:

image

It turns out that many users prefer the old approach:

This is terrible. Productivity will go to zero without an index. Online help is junk, even on a fast connection — it can never be as fast as my local PC and when I am programming, I need instant answers.

says one commenter.

Microsoft says:

We realize the importance of delivering a keyword index, but we were unable to deliver it in our first release. In this V1.0 release of help system, we first implemented an improved search capability in order to deliver a more familiar, consistent online and offline experience. We then implemented a keyword index feature based on our search catalog. Unfortunately, the results did not meet our quality bar and we determined that this feature would require more work than the Beta 2 timeline allowed. We are looking at implementing it for at future release.

The odd thing is, there is a third-party viewer called H3Viewer which was apparently put together in a short time using Delphi and the new APIs. It turns out that Visual Studio’s Help is actually an early example of a new Windows Help System called Help 3, and is designed with a comprehensive API for developers. If you set the default help viewer in Visual Studio 2010 to H3Viewer, it works more like the old one, complete with index:

image

I can’t actually recommend H3Viewer in the current  beta. It takes ages to read 440,000 index entries every time you start it up and view the index pane – a message notes that “a late fix in the RC release has slowed down the reading of index items dramatically”. In addition, it does not cope well if you set your help preference to online. Still, H3Viewer will likely improve.

Speaking personally, I don’t mind the idea of search-based help, provided that the search works really well. In practice, it is often easier to Google for what you want to know, bypassing the official help completely, though that may mean getting to the same place by another route. Nevertheless, a reliable online reference is important and it seems that a lot of developers do in fact use the local index.

Windows Phone 7 Series and Microsoft’s partner problem

I watched Microsoft’s Steve Ballmer, Joe Belfiore, and Andy Lees introduce Windows Phone 7 Series. It appears to be a complete departure from previous iterations of Windows Mobile, in fact borrowing more from Zune than it does from earlier Windows phones. At one point, Lees noted that it has a “new core OS” optimized in partnership with Qualcomm, though I would not rest too much speculation on that one phrase.

image

Unfortunately, the piece that I am most interested in, which is the developer platform, was not much discussed. It is to be unveiled at Mix next month in Las Vegas. Ballmer did say:

We raised the platform on which people can build … a new foundation with a rich set of development tools, built in and complete service availability that software developers can assume as a foundation.

Make of that what you will. I’d be surprised though if Silverlight is not a big part of the development story, along with revamped Windows Live services. I guess I’m expecting Microsoft to deliver with Silverlight something similar to what Adobe is doing with Flash and AIR – AIR for mobile devices has just been announced – but without the breadth of support across devices that Adobe has achieved.

We have been told that Flash will not be part of Windows Phone 7 in its first version, so it looks like it may live in its own development world to some extent.

The demo at the press launch has been well received, and it looks likely that Microsoft is creating a more usable phone than earlier generations. That’s good, though it is telling that it took Apple with iPhone and perhaps Google with Android to convince Microsoft that maybe the Start menu and a cut down Windows API wasn’t the best way to do a phone.

In the absence of technical details, what interested me most were the comments about how Microsoft relates to its partners. It is a hot topic for me. I am taking heat for talking about a poor experience on WIndows 7 that is really the fault of 3rd parties. The problem is that the partner system which worked so well for Microsoft in the early days of the PC is now working against it, and an unpleasant experience of a Windows 7 netbook is a symptom of that.

Clearly Microsoft also understands this. Ballmer noted that

We want to lead and take complete accountability for the end user experience … have more consistency in the hardware platform, more consistency in the user experience, but still enable [partner] innovation

Translation: we are being hammered by OEMs who wreck our product with poor quality hardware and add-on software.

But how will Microsoft change this aspect of Windows, whether on the desktop or a device? “There’s a bit of a conundrum here,” said Ballmer, and he is right. If Microsoft tries Apple-style lockdown, it may run into anti-trust trouble and/or drive OEMs to Linux. If Microsoft does no more than talk the talk, then the problem remains.

It is true that Microsoft is strictly specifying minimum hardware. That’s nothing new; it has done this since the earliest days of Pocket PC.

I’m inclined to think it is just talking the talk and that nothing will change. Still, here’s Lees on the same subject. He begins by restating Microsoft’s belief in the partner model:

One of the things we’ve kept constant is our belief in the partner model. There are three reasons why partners are fundamental to our business. Firstly, they add rich experience and expertise across a broad spectrum of areas, hardware, software and services. Second, is … scale. We need partners to develop, market and support Windows phones at this scale. Third, partners meet diverse needs by providing customers with choice. One size does not fit all. People want different kinds of phones.

It’s odd how Apple thrives without all that “rich experience and expertise.” But never mind. Lees adds:

We have changed how we work with them. The goal is to improve the quality and consistency.

So Microsoft says with one breath how it just loves the partner model, and with the next that it is changing it. We all know why it wants to change it. It is because it is broken, though Microsoft cannot bring itself to admit it out loud.

The question: which of these near-contradictory statements do you believe? That it is sticking with the failing partner model, or that it is changing it? My guess is the former, because I am not sure that Microsoft really has the will or even the ability to change, but I would like to be proved wrong.

Oh, and Lees says that the mobile operators:

… have tremendous value to add. They are not just dumb pipes. Our model is about enabling those innovations so that they can add software and services and benefit from our … platform.

I understand why Lees said this; but I find it hard to think of tremendous added value from the operators. Apple’s iPhone success is partly thanks to its skill in working round them.

Nokia Maemo, Intel Moblin gives way to MeeGo

Nokia’s Maemo operating system, a Linux distribution for mobile devices, is being merged with the Intel-sponsored Moblin distribution to form MeeGo, under the direction of the Linux Foundation:

MeeGo combines Intel’s Moblin and Nokia’s Maemo projects at the Linux Foundation to create one open source uber-platform for the next generation of computing devices: tablets, pocketable computers, netbooks, automotive IVI and more.

says the Foundation’s Jim Zemlin.

Watching the joint Intel and Nokia interview it seemed to me that this is more Maemo than Moblin, especially since Nokia’s Qt framework and Qt Creator IDE is mentioned as the primary application development platform for MeeGo.

The most significant factor is that Intel and Nokia will now be backing the same mobile OS. You would expect this to have an impact, though I guess the move is an attempt to win back mindshare that has gone to Android, the up and coming mobile OS from Google.

Although both Android and MeeGo are based on Linux, the Android OS has a completely different development model based on Java rather than C/C++.

Flash developers are now mobile developers

Adobe’s announcement of AIR for mobile today at the Mobile World Congress means that any Flash or Flex developer can compile an AIR application that will run on a supported mobile device. I understand that AIR for mobile is a subset of desktop AIR, but does include Flash Player 10.1, local database support with SQLite, and access to local storage, so it is not lacking in capability. Apparently it will be possible to have a single .air file that will run across desktop and devices, perhaps with conditional code to account for differences in device capability. Some features, such as multitouch and accelerometer support, are more likely to be found on a mobile device than on a desktop, though things like screen size and available storage will be more constrained.

Until now it has been Java that comes closest to providing a common runtime across desktop and devices. Flash promises a more consistent runtime as well as stronger multimedia and graphics capability. Thanks to Apple, the app store concept is now well established and AIR applications fit well with this model, though not exclusively so. It will also be possible to deploy AIR applications from your own web site. I think there will be considerable interest and take-up for AIR on mobile.

Initial support will be for Google’s Android OS, with others to follow – with the exception so far being Apple.

This is where it gets interesting. Whereas Flash in the browser is blocked on Apple iPhone and (as far as we know so far) iPad, Adobe has a native compilation option for Flash applications targeting these devices, preserving some kind of deployment story. Clearly from Adobe’s perspective it would be better and easier if Apple allowed the AIR runtime onto the device. It’s less clear that Apple device users are really losing out though, and there is even an argument that they benefit, if you think that native code is a better solution for a mobile device.

In other words, the introduction of AIR for mobile does not really put any pressure on Apple, since Adobe has already come up with a good alternative. There may be some indirect pressure, since growing use of the Flash runtime outside the browser may also increase its significance within the browser.

A lot hinges on the quality of the mobile AIR runtime, particularly in respect of memory usage, which has tended to be greedy in desktop AIR.