All posts by onlyconnect

Ten years of Microsoft .NET – but what about the next ten?

Technology products have many birthdays – do you count from first announcement, or release to manufacturing, or general availability? Still, this week is a significant one for Microsoft .NET and the C# language, which was first unveiled to the world in detail at Tech-Ed Europe on July 7th, 2000. The timing was odd; July 7th was the last day of Tech-Ed, whereas news at such events is normally reserved to the first day or two – but the reason was to preview the announcement at the Professional Developers Conference in Orlando the following week. It was one of the few occasions when Europe got the exclusive, though as I recall most of the journalists had already gone home.

It is interesting to look back, and I wrote a piece for The Register on .NET hits and misses. However you spin it, it’s fair to say that the .NET platform has proved to be one of Microsoft’s better initiatives, and has delivered on at least some of its goals.

It is even more interesting to look forward. Will we still be using .NET in 2020?

There is no sign of Microsoft announcing a replacement for .NET; and little sign of .NET catching on in a big way outside the Microsoft platform, so in part the question is about how the company will fare over the coming decade. Still, it is worth noting that the role of the .NET framework  in that platform still seems to be increasing.

Most predictions are wrong; but the general trend right now is towards the cloud+device computing model. The proposition is that both applications and data belong in the cloud, whether public, private or hybrid. Further, it seems plausible that we will fall out of love with personal computers, with all their complexity and vulnerability to malware, and embrace devices that just work, where the operating system is locked down, data is just a synchronised local cache, and applications are lightweight clients for internet services. Smartphones are already like this, but by the end of this year when Apple’s iPad has been joined by other slates and small computers running Google Android, Google ChromeOS, Intel/Nokia MeeGo and HP WebOS, it may be obvious that traditional laptop and desktop computers will decline.

It turns out that the .NET Framework is well suited to this model, so much so that Microsoft has made it the development platform for Windows Phone 7. Why stop at Windows Phone 7 – what about larger devices that run only .NET applications, sandboxed from the underlying operating system and updated automatically over the Internet? Microsoft cannot do that for Windows as we know it, because we demand compatibility with existing applications, but it could extend the Windows Phone 7 OS and application model to a wider range of devices that take over some of the tasks for which we currently use a laptop.

In theory then, with Azure in the cloud and Silverlight on devices, the next ten years could be good ones for the .NET Framework.

That said, it is also easy to build the case against. Microsoft has it all to do with Windows Phone 7; the market is happily focused on Apple and Google Android devices at the high end. Microsoft’s hardware partners are showing signs of disloyalty, after years of disappointment with Windows Mobile, and HP has acquired Palm. If Windows Phone 7 fails to capture much of the market, as it may well do, then mobile .NET will likely fail with it. Put this together with a decline in traditional Windows machines, and the attraction of .NET as a cloud-to-client framework will diminish.

Although developer platform VP Scott Guthrie, C# architect Anders Hejlsberg and others are doing an excellent job of evolving the .NET framework, it is the success or failure of the wider Microsoft platform that will determine its future.

iTunes hacks: whose fault are they?

A big story today concerns irregular activity on Apple’s iTunes store, the one and only means of purchasing applications for iPhone and iPad and central to the company’s strategy. The reports allege that developers are hacking iTunes accounts to purchase and give favourable review to their apps – which can only be a short term strategy since you would imagine that such activity would soon be detected and the perpetrators traced through the payment system.

As it happens I’d been meaning to post about iTunes security in any case. I blogged about an incident just over a month ago, since when there have been a steady stream of comments from other users who say that their iTunes accounts were hacked and fraudulent purchases made.

A recent comment refers to this thread, started over a year ago and now with over 200 comments from similarly afflicted users.

Despite the number of reported incidents, there is no reason to suppose that Apple’s servers have been broken into. Several other mechanisms are more likely, including malware-infected computers on which users may have stored passwords, or have keystrokes logged; or successful attempts to guess passwords or the answer to so-called “security questions” which also give access to account details.

Such questions should be called insecurity questions, since they are really designed to reduce the burden on helpdesks from users who have lost passwords or access to obsolete email accounts. Since they allow access to accounts without knowing the password, they reduce security, and even more so when the questions are for semi-public information like mother’s maiden name, which is commonly used.

Given the number of iTunes accounts, it is not surprising that there are numerous successful hacks, whether or not there is some issue (other than the insecurity questions) with iTunes or Apple’s servers.

That said, there is a consistent theme running through all these threads, which is that Apple’s customer service towards victims of hacking seems poor. Contact is email-only, users are simply referred to their banks, Apple promises further contact within 24 hours that is often not forthcoming, and there are reports of users losing access to credit or previous purchases. It was an instance of the latter which prompted my earlier post.

Apple therefore should fix its customer service, even if its servers are watertight. I’d like to see it lose the insecurity questions too.

image

iPhone 4 Antenna: Apple wrongly calls it a software problem – but it is easily fixed with a case

Apple is sufficiently bothered by criticism of the iPhone 4 antenna, an external band around the device whose reception is poor when held in the normal way, that it has posted a letter on the subject:

We have discovered the cause of this dramatic drop in bars, and it is both simple and surprising.

Upon investigation, we were stunned to find that the formula we use to calculate how many bars of signal strength to display is totally wrong. Our formula, in many instances, mistakenly displays 2 more bars than it should for a given signal strength.

Apple’s reasoning is that because the range of values displayed by its signal bars is smaller than it should be, users can see a signal drop of two or three bars when the real drop is only a small one. So it’s apologised … for its software error:

For those who have had concerns, we apologize for any anxiety we may have caused.

However, users are not primarily concerned about the number of bars. They are concerned about calls dropping, or even being unable to make calls. The best article I have seen on the matter is Anandtech’s detailed review which has the measurements: the iPhone 4’s signal attenuation when “holding naturally” is 19.8dB, nearly twice as severe as an HTC Nexus One at 1.9dB, and ten times worse than an iPhone 3GS at 1.9dB.

It is disappointing that Apple will not own up to the problem, or do anything about it for existing customers – though you can bet that future iterations of iPhone 4 will fix the issue.

Still, there is one thing in Apple’s letter that I agree with:

As a reminder, if you are not fully satisfied, you can return your undamaged iPhone to any Apple Retail Store or the online Apple Store within 30 days of purchase for a full refund.

The antenna problem is a fault and a return is justified. That said, you can fix the problem by buying a case – yes, Apple should pay, but it seems determined to avoid doing so. Since iPhone 4 is still in high demand, my assumption is that most customers feel it is worth having despite its flaw.

Kin questions as Microsoft pulls the plug

So Microsoft has stopped work on its Kin phone and cancelled plans for a European launch:

We have made the decision to focus on our Windows Phone 7 launch and we will not ship KIN in Europe this fall as planned. Additionally, we are integrating our KIN team with the Windows Phone 7 team, incorporating valuable ideas and technologies from KIN into future Windows Phone releases. We will continue to work with Verizon in the U.S. to sell current KIN phones.

The Kin went on sale in May in the US, on Verizon. I’ve never seen a Kin device; but there were several obvious problems:

  • The phones were not that good, according to reports. In perhaps the most competitive technology market that exists, a device has to be exceptional to succeed; and even then it might not. Palm webOS phones are great devices and still not really winners.
  • The Verizon plan was too expensive at $70 per month – a bewildering price for the youth market which was the supposed target.
  • Even if the phones and service had been good, the launch was puzzling in the context of the build-up to Windows Phone 7 later this year.

My initial reaction to Kin was “Whose fault is it?” and there has been no reason to change it.

The whole thing is a tragi-comedy, and joins projects like the Ultra Mobile PC, or Origami, whose failure was baked into the launch – Origami was also too expensive for its market as well as flawed in its design.

Killing the Kin after just a few weeks is embarrassing, but the right decision.

The key question though: what does the costly development, launch, and scrapping of Kin say about Microsoft’s management? If I were a shareholder I’d like to know the answer to that one.

I might also ask why Microsoft is spending big on an advertising campaign to persuade us to become “new busy” when we are already busy enough, for an online service that is mostly not yet launched? I wonder how many potential users took a look at the new Hotmail, observed that it was the same as the old one, and will never come back?

In the case of Kin the company has at least recognized its mistake; but the deeper problem is an accident-prone culture that is damaging Microsoft’s prospects.

PivotViewer comes to SilverLight – data as visual collections

Microsoft has released a PivotViewer control for Silverlight. Data visualisation is a key business reason to use Silverlight or Flash rather than HTML and JavaScript for an application, so it is a significant release. But what does it do?

PivotViewer is the latest tool to come out of the Microsoft Live Labs Pivot project. Pivot is based on collections, which are sets of data where each item has an associated image. A pivot item has attributes, similar to properties, called facets; and facets have facet categories. Facet categories are used to filter and sort the data.

More complex Pivot data sets have several linked collections, or dynamic collections which are generated at runtime as a query result. This is necessary if the size of the data set is very large or even unbounded. You could create a web search, for example, that returned a pivot collection.

Once you have created and hosted your Pivot collections, most of the work of displaying them is done by the Pivot client. There is a desktop Pivot client, which is Windows-only; but the Silverlight PivotViewer is more useful since it allows a Pivot collection to be viewed in a web page. The client (or control) does most of the work of displaying, filtering and sorting your data, including a user-friendly filter panel.

PivotViewer also makes use of Deep Zoom, also known as Seadragon, which lets you view vast images over the internet while downloading only what is needed for the small section or thumbnail preview you are viewing.

The result is that a developer like Azure Technical Strategist Steve Marx was able to create a PivotViewer for Netflix with only about around 500 lines of code. This kind of product selection is a natural fit for Pivot.

I was quickly able to find the highest-rated music movies in the Netflix Instant Watch collection.

image

Starting with the full set, I checked Music and Musicals and then set Rating to 4 or over.

 

image

It seems to me that the strength of Pivot is not so much that it offers previously unavailable ways to visualise data, but more that it transforms a complex programming task into something that any developer can accomplish. Microsoft at its best; though of course it will only work on platforms where Silverlight runs.

Windows 8: detailed plans leaked, show Microsoft cycle of invent, fail, copy

No doubt crisis meetings in Redmond as plans for Windows 8, shared apparently with OEM partners, leak to the web. Of course it may all be an elaborate hoax, and even if not, the slides all state:

Disclaimer – Windows 8 discussion, this is not a plan of record

Still, it looks plausible. So what’s new?

In some ways, Windows 7 was low-hanging fruit. Simply fix what was broken in Windows Vista, make Windows faster, more reliable and more pleasant to use. Windows 8 needs to take a step forward, and according to these slides this is what is planned:

1. Elevation of the Slate as a key form factor. The slides refer to three basic form factors: Slate for web and media consumption, laptop for productivity and all-in-one touch control desktop for both.

2. 3D content display along with “HTML 5 video” and DRM, focus on DLNA.

3. Instant On, always connected. Hang on, wasn’t this promised for 7? And Vista? The docs do refer to a “New Off state” called Logoff + Hibernate, with optimised hibernate plus a “Boot/Shutdown look and feel”. The idea is that this becomes the norm for a switch off.

4. Log on with face recognition. One of the few pieces of real innovation on offer here.

5. Proximity based sleep and wake.

6. Another go at the Windows App Store. This time Microsoft is serious. Approval process. Dashboard for developers with telemetry. Auto update. Software license roams with the user, as do settings – a great idea. Partner co-branding, ho hum.

7. Reinstall or “reset” Windows while keeping apps, docs and settings. A bit like the old repair install, though the difference here seems to be that this is a genuine wipe and reinstall, with apps reinstalled from the App Store. 

8. Windows accounts “could be connected to the cloud”. I would think they must be, if the app store stuff with roaming software licenses is to work. Hooking your Windows login to a Passport ID is not new though; I’m guessing it will just be more prominent and important.

Needless to say, this is not the whole Windows 8 story, even if genuine. What do we learn though? Mainly that Microsoft is taking its lead from Apple and accepts that the App Store concept is central to our future computing experience; the Slate also seems influenced by iPad.

We are also seeing the return of Passport. Most of what was in the controversial .NET My Services from 2001 is now accepted as normal, after Google and Facebook have softened us up for the concepts.

There’s a pattern here. Microsoft gets bright idea – Tablet, Windows Marketplace, Passport. Does half-baked implementation which flops. Apple or Google works out how to do it right. Microsoft copies them.

When do we get Windows 8? You can try and puzzle out the slide on “Windows 8 product cycle” if you like; but I’d bet that it will be around three years from the release of Windows 7: mid to late 2012.

Why we love to hate Microsoft

Mary Branscombe has an excellent ZDNet post on Why do we (love to) hate Microsoft, and asks:

What would Microsoft need to do and say to you for you to be happy to call yourself a fan?

In part she’s reacting to Frank Shaw’s Microsoft by the Numbers in which he highlights the success of Windows 7, and makes the point that Windows netbooks will likely outsell Apple iPads by 7 or 8 times in 2010, that Linux has not ousted Windows either on the desktop or the server, and that Nokia smartphones will likely outsell iPhones by 2.5 times in 2010.

That last one is interesting. Why is Shaw puffing Nokia, when he is VP corporate communications for Microsoft? Well, the enemy of my enemy applies; it’s a jibe at Apple.

Unfortunately for Shaw, Nokia itself admits that Apple iPhone and Google Android are hurting its market share, or at least that is how I interpret this remark:

Nokia now expects its mobile device value market share to be slightly lower in 2010, compared to 2009. This update is primarily due to the competitive situation at the high-end of the market and shifts in product mix.

Nokia is being driven down-market. The same thing has happened to Microsoft in the laptop market, with the high-end going to Apple. This is a worry for both companies, since if a company becomes known as “the best” in a particular sector, it may well extend its market share simply by lowering prices or introducing cheaper product variants. This happened to some extent in the portable music player market – only to some extent, because Apple is still more expensive than most of its competitors, but its market share is now huge.

I digress. Here are a few observations on the ZDNet post. First, has Microsoft really changed as stated?

Microsoft is still paying for the bad old days of arrogance and dubious business practices. I think they’re the bad old days – I spend a lot of time talking to Microsoft insiders, partners and competitors and the attitudes I see have changed, inside and out.

The trouble is, Microsoft is so large and complex that it is hard to generalise. I think of it more as a set of united (or disunited) states than as a single corporate entity. This has always been the case – at least, as long as I can remember, and I don’t go back to the very early days.

I can believe that regulation has mitigated the worst practices of the past. But why on earth is Microsoft suing Salesforce.com (and getting itself counter-sued)? It’s terrible PR; it looks as if Microsoft wants to compete in the courts and not on product quality. If it wins and hurts Salesforce.com, what is the benefit to the industry? I realise Microsoft is not a charity, but we are talking business ethics here.

More broadly, there are two separate topics that need to be addressed. One is about the quality and prospects for Microsoft’s products and services, and the other is about how it is perceived and why.

I’ll take these in reverse order. Microsoft has history, as Mary Branscombe says, and more history than just Clippy. It’s the perceptions of the web community that are most visible to many of us, and the piece of history that counts for most is over the web browser. Microsoft beat off the competition, then froze development, an evil act that is particularly hard to forgive because of its cost in terms of devising workarounds for web pages. Yes, that’s changed now, and we have had IE7, IE8, and the promising IE9; but has Microsoft convinced the community that it would not do the same again if it had the opportunity?

There are other things I can think of. The whole Office Open XML (OOXML) saga, and hints that Microsoft is not following through on its promises. The BlueJ incident.

There is also the question of pricing, especially for business users. When I reviewed a Toshiba Netbook recently I figured that installing Windows Pro (to join a domain) and Office would cost more than the hardware. I suppose you cannot blame a company for charging what the market will bear; but when the commodity software costs more than the commodity hardware, you have to wonder whether monopolistic pricing is still present.

OK, what about product quality? I tend to agree that Microsoft often does better than it is given credit for. Windows 7 is good; Visual Studio 2010 is great; Silverlight 4 was a bit rushed but still impressive, to mention three offerings about which I know a good deal.

Nevertheless, Microsoft still had deep-rooted problems that I’ve not yet seen addressed. I’ll mention a couple.

First Microsoft still has an OEM problem. Going back to that Toshiba Netbook: it was nearly wrecked by poor OEM software additions and the user experience of a new Windows machine often remains poor. Many users do minimal customisation and as a result get a worse experience of Windows than they should. Apple will carry on winning if this is not addressed.

Second, Microsoft is conflicted, caught between the need to preserve its profits from Windows and Office, and the need to keep up with the new Cloud + Device model of computing. It is drifting towards the cloud; and developments like Office Web Apps and other one about which I am not allowed to tell you yet are encouraging (wait until next month). This issue will not go away though.

Third, mainly as a result of the above, Microsoft still does not convince when it comes to cross-platform. Silverlight is cross-platform, sure; except on the Mac you don’t have the COM integration or any equivalent, sorry, and on Linux, well there’s Moonlight or maybe we’ll work something out with Intel. It is the Windows company. Having said that, I put the Live Messenger app on the iPhone 4 I’ve been trying and it’s great; so yes, it sometimes gets it.

What can Microsoft do in order to be better liked? The key to it is this: ensure that our interactions with the company and its products are more often pleasurable than painful. Windows Phone 7 will be an interesting launch to watch, a product where Microsoft has made its best effort to break with past and deliver something users will love. We’ll see.

Apple iPhone 4 photo quality for a point-and-shoot snapper

Is the photo quality on Apple’s iPhone 4 good enough that I could leave my Canon IXUS 801S at home?

Unfortunately I think not. At least, that was my impression after taking a few snaps today.

Here’s the Canon:

image

and the iPhone 4:

image

With the iPhone 4 you tap to focus. I took multiple shots of this flower from various distances, trying to focus it correctly, but it has a tendency to do a better job on the background foliage.

Next, a snap of a record sleeve. Better for the iPhone, but still not great. Here’s the Canon:

image

and the iPhone:

image

It’s not surprising that a dedicated camera takes better snaps than one built into a phone; and I still think the iPhone camera is excellent. But I’ll keep packing the Canon in my bag.

Virtual wi-fi adapter breaks wireless in Windows 7

Today I was asked to look at a Toshiba Satellite Pro laptop that would not connect to a wireless network. At least, it connected but there was no internet connectivity. I did the usual ipconfig /all and noticed that everything looked OK on the wireless adapter – IP address, default gateway, DNS servers. Nevertheless it could not resolve a ping.

I tried various things – reset the TCP/IP stack, updated the Realtek wireless lan driver, even tried with a different wireless access point, but still it did not work.

Curiously, a wired connection to the same router worked fine. Investigating further, I found that it was possible to ping remote sites by IP number, but not by name. It was a DNS resolution problem. But what? Even specifying the addresses of known good DNS servers in IPv4 properties did not fix it.

I Googled and found this discussion. Ignore the official Microsoft reply. The issue is with this thing:

image

This is the Microsoft Virtual WiFi Miniport Adapter. If it is enabled on this machine, then DNS resolution over wireless fails, even though it says “Not connected.” If it is disabled, everything works. So you right-click it, select Disable, and all is well.

Problem fixed; but what is this virtual adapter? Long Zheng has an overview. Essentially, it lets you have more than one wifi connection even with only one physical wireless adapter, which means you can make any Windows 7 into a wireless access point.

This is odd though, because there is no obvious way to connect it. Here’s the reason:

Currently this feature is a development platform that exists only for application developers.

and with a link to this article, which explains how to create a wireless hosted network using the netsh command line utility.

That’s all very well, but it is annoying to find that a user cannot connect at all, thanks to some unknown interaction with an experimental virtual device that is of little practical use.

What I still do not know is how to fix the issue properly, instead of just disabling the virtual device. The problem is not universal; in fact, the netbook on which I am typing this post also has a virtual wi-fi adapter and it does not cause any problems. I doubt the user will suffer any adverse effects from its absence though.

Update: Kelvyn Taylor points out that the handy Connectify utility uses this feature of Windows 7.

Two days with Apple iPhone 4

I’ve been trying out iPhone 4 since its launch on Thursday this week. My main interest is software development, and I have a couple of ideas for apps. Apple’s platform is annoying in several respects, especially the App Store lock-in and the Apple tax, but it is unavoidable. Unfortunately when a company gets the idea that it should support the fast-growing mobile device sector with an app, the iPhone is the one they think of first, and iPad follows. Google Android is coming up fast, thank goodness, but has nothing like the mindshare or market share of Apple’s device platform.

image

Software developers have another reason to study the iPhone, which is as a case study in software design and usability. After using iPhone 4 for a couple of days, and watching friends try it even if they have not used one before, I am full of admiration for what Apple has achieved. There are a few basic concepts to grasp – home button, breadcrumbs, swipe and multi-touch – after which it is mostly delightful. There is hardly any documentation in the box – though there is a downloadable manual – just a brief leaflet describing a few essentials, but discoverability is good, especially with a little help from Google.

Need a screen grab, for example? Press and hold home and tap the top button. The grab turns up in the camera roll. It’s not something you would find out by chance, but only a search away.

Text input is a big deal for me. I am much faster on a real keyboard, but the iPhone is as good as many thumb keyboards. Again, there are things you have to discover. There are no cursor keys, but if you hold down an area of text a bubble appears, and sliding your finger left and right moves the cursor so you can easily correct an error.

image

The Exchange support, by the way, is excellent. I put in the settings for Outlook over HTTP; the iPhone complained briefly about my self-generated digital certificate and then connected without any hassles. The device picks up all the folders in the inbox without any additional configuration. The one feature I would like to add is the ability to select a different sending email address; if anyone knows a way to do this, let me know.

I am also impressed by iPhone Safari. After struggling with an old Windows Mobile browser, it is a relief to have a proper web browser restricted only by its small screen; pinch and zoom copes with most problems though it is always going to be a limitation; sites optimised for mobile work better.

Google Maps is great too. The GPS works well, and finding your way around is a snap.

The high resolution screen is lovely of course, and the camera is superb. I will do some comparisons against my Canon Ixus, but if I keep the phone it might save me the need to carry a separate camera when out and about, at least until the lens gets scratched.

Anything not to like? A few things. The price, for one, especially when supplemented by whatever scheme your mobile operator devises to separate you from your money. Many schemes offer only 500MB per month data allowance; not enough, especially as data usage can only increase.

There’s also the iTunes problem. I know others like it, but I personally don’t get on well with iTunes, finding it bloated and annoying. I don’t allow it on a PC, but keep a Mac Mini handy for when I need to do the Apple thing. It is absurd though that you cannot use an iPhone without activating it first via iTunes. What happens when a user decides that iPad plus iPhone plus cloud is all they need? I can’t help wondering if Apple simply wants to ensure that as many people as possible install its online store.

Whenever I connect the iPhone, iPhoto pops up and wants to import photos, even the ones that I’ve already imported. I have to check the option not to bother with duplicates every time. There must be a way of avoiding this annoyance, but I’ve not spotted it yet.

Then there’s the reception issue. It’s well known that many, possibly all iPhone 4 models have a bug where if you hold it in the normal way, your hand bridges a gap in the external antennas and damages reception. Steve Jobs says that reception issues when holding a phone in a certain way is “a fact of life for every wireless phone”; this is arrogant spin and I hope Apple gets lots of returns or at least hands out for free the bumper cases that apparently resolve the issue.

That said, my iPhone is on O2 and at home the reception is terrible however I hold the phone, even though I am in a high coverage area according to O2. At my desk I get only one bar and calls are not always possible – which means I will have to cancel the contract.

image

I did manage to fit the micro sim into my old Windows Mobile phone to see if it is just an iPhone problem. It was just about as bad, so no, it is O2. In general I’ve not been impressed with the O2 reception in my part of the world, though it is excellent in our local O2 shop; perhaps they have a booster under the desk.

There are little niggles elsewhere too. I tried Voice Control, for example, and found it useless; perhaps I have the wrong kind of voice.

image

If I speak to play a song, there is 25% chance that it plays, 50% chance that I get a “no match” error message, and 25% chance that it dials a random person in my address book. A hidden social media function?

A number of negatives then; but the iPhone contrives to be good enough that users overlook any faults because they like it so much. It’s certainly a better experience than the last Android device I tried; though that is well out of date now, and I intend to look closely at Android 2.2 “Froyo” as soon as the phones become available.

Update: As far as I can tell, if you buy your iPhone at a store it will be activated for you, so you don’t need iTunes to get started. However iTunes is necessary if you receive your iPhone by post and activate it yourself.