All posts by onlyconnect

Adobe Flash getting faster on the Mac

According to Adobe CTO Kevin Lynch:

Flash Player on Windows has historically been faster than the Mac, and it is for the most part the same code running in Flash for each operating system. We have and continue to invest significant effort to make Mac OS optimizations to close this gap, and Apple has been helpful in working with us on this. Vector graphics rendering in Flash Player 10 now runs almost exactly the same in terms of CPU usage across Mac and Windows, which is due to this work. In Flash Player 10.1 we are moving to CoreAnimation, which will further reduce CPU usage and we believe will get us to the point where Mac will be faster than Windows for graphics rendering.

Video rendering is an area we are focusing more attention on — for example, today a 480p video on a 1.8 Ghz Mac Mini in Safari uses about 34% of CPU on Mac versus 16% on Windows (running in BootCamp on same hardware). With Flash Player 10.1, we are optimizing video rendering further on the Mac and expect to reduce CPU usage by half, bringing Mac and Windows closer to parity for video.

Also, there are variations depending on the browser as well as the OS — for example, on Windows, IE8 is able to run Flash about 20% faster than Firefox.

Many of us are not aware of these kinds of differences, because we live in one browser on one operating system, but the non-uniform performance of Flash helps to explain divergent opinions of its merits.

I would be interested to see a similar comparison for Linux, which I suspect would show significantly worse performance than on Windows or Mac.

What’s new in Visual Studio 2010 – more than you may realise

I’m beginning to think Microsoft has under-sold Visual Studio 2010. Of course it is a huge product, as I observed back in October, especially since it includes a major new release of the .NET Framework as well as updated tools, but I thought I had discovered most of the significant new features. Still, when I sat down recently to write up an extended review, I found a lot that I had missed.

One of my reflections on this is that Microsoft has done of poor job of communicating what is new. I attended the Professional Developer’s Conference in 2008 and 2009. The developer-focused keynote on the second day last November should have hyped the best of what is new; but instead we got Steven Sinofsky on Windows 7 quality control – hardly the most exciting of topics – a sneak preview of IE 9, an unconvincing tour of Sharepoint and Office 2010, and Scott Guthrie on Silverlight 4. Guthrie was fantastic, leading us blow by blow through Silverlight’s new capabilities, but much else was neglected.

It doesn’t help that Microsoft’s home page for Visual Studio 2010 has meaningless headlines. “Set your ideas free”, “Simplicity through integration”, “Quality tools help ensure quality results.” Pure fluff, which saps your will to read further.

Here are a few things that I found interesting – nothing like comprehensive, just features that perhaps have not had the attention they deserve.

Microsoft F# – a new language from Microsoft Research, integrated into Visual Studio with remarkable speed. The people I’ve spoken to who have taken the time to discover what it does are truly enthusiastic. Some of its strengths are parallelism, asynchronous programming, graphics manipulations, and maths. You probably won’t write a complete application in F#, but it will be great for assembling libraries.

Windows Workflow Foundation 4.0 – potentially a new and effective approach to visual programming and long-running state management. Flow charts are often used to teach programming, since they express common concepts like if conditions visually. WF lets you draw a process as a flow chart – or there are other types of chart – using the nice new WPF design tools, and then execute it in the runtime, which is part of the “Dublin” extensions to IIS, now known as Windows Server AppFabric (I have no clue why this confusing name was chosen). To get the idea, I suggest reading David Chappell’s Workflow Way. For applications that fit this kind of model, it is a compelling approach, and integrates well with Windows Communication Foundation for messaging.

Dotfuscator – I know this is a third-party thing, but this is no longer just a tool for obscuring your .NET assemblies in the hope of preventing decompilation. The new Dotfuscator does runtime analytics, and can report back to a portal when your application runs, what features you use, what operating system it is on, whether it crashed, and so on. It also supports application expiry, known as “shelf life”, and can detect if assemblies have been tampered with. Some of this sails close to the spyware wind, but this is a matter of getting informed user consent. These are interesting features for Windows desktop developers, if there are any left, and even the free edition is quite capable.

Test and Lab management – a challenge to set up and configure, but when it works, amazing. Lab Management uses Visual Studio, Hyper-V and System Center Virtual Machine Manager to automate deploying an application over one or more VMs, so you can run tests against it. This hooks into Team System so you can file a bug report with a link that actually shows the bug happening at runtime, with a snapshot of the virtual environment.

Step backwards through code – IntelliTrace is a new feature of the Visual Studio debugger. Configure it to collect IntelliTrace events and call information, and you can then step backwards as well as forwards from a breakpoint, examining variable values as they change.

Team Foundation Server Basic – what this means is that even a solo Visual Studio developer can have TFS running locally or on a networked machine for source code management, issue tracking and so on. It’s worth considering because of the way it integrates with the IDE. I admit, I still like Subversion which I have on a remotely hosted server, since it acts as an effective off-site backup, but I’d much rather use TFS Basic than nothing.

UML – Microsoft has finally done what it should have done years ago, and implemented a wide range of up-to-date UML diagram tools. Nothing revolutionary, just useful.

Not everything is wonderful in the new Visual Studio. Deploying to Azure remains clunky in Beta 2 – when is this going to get better? SharePoint is another one; I appreciate the value of F5 debugging, but you still need SharePoint installed locally, with great potential for mucking up IIS, and the whole thing feels unwieldy.

Adobe Flash vs Apple iPad: RIA in the balance

Adobe evangelist Lee Brimelow has posted some images of well-known sites that break if Adobe Flash is not enabled. His point: if Apple’s iPad does not support Flash, none of these sites will work correctly.

While true in the short term, I do not think this is an effective line of argument. 

Let’s presume that you run one of these Flash-dependent sites. Now along comes a popular computing device that no longer displays Flash content. It’s already happened with the iPhone; but iPad is more serious because it has a full-size web browser, and many of us tolerate strange behaviour in a mobile web browser because we are used to it. Further, I’m guessing that some of these sites already adapt their content for iPhone.

What happens now? One of two things. Either Apple is persuaded to add support for the plugin; or the site owners fix their sites, detecting iPad/iPhone and substituting Quicktime or HTML5 content in place of Flash. In the case of the major sites such as those Brimelow lists, I doubt that second process would take long.

Result: people complain less, the pressure is off Apple and on Adobe.

I do not take the success of iPad for granted; but it is plausible; and if the device does become popular it is going to make Flash-centric web developers re-think their strategy. Further, if it fails, I doubt it will be for lack of Flash. Users do not care about Flash, they care about content, and the iPad will provide plenty of that.

The problem for Adobe is that much of its strategy is now built on the Flash runtime and its presumed ubiquity. If you compare Creative Suite 4 to Creative Suite 3 you can see how Flash is more pervasive, in several different roles ranging from rendering capabilities to code execution. It will be even more so in Creative Suite 5.

Applications built with Flex are equally affected. And note: if Flash is struggling to get over the wall into Apple’s orchard, Oracle Java will struggle more, and Microsoft Silverlight more still. It is not just Flash, but much of what we think of as RIA (Rich Internet Applications) that is at stake.

It is not over yet. If Apple is primarily concerned about browser stability, rather than controlling the platform, then Adobe may yet satisfy its requirements. Second, the iPad might fail – not completely, but enough to make it an unimportant niche. iPad is expensive and most users don’t get the tablet concept; it is not a sure-fire winner.

If neither get-out comes to pass, what can Adobe do? There are a couple of mitigating factors. One is that Adobe has already been thinking about how to deal with Apple devices. At the Adobe Max conference last year we saw its Flash to native code compiler, which will be in Creative Suite 5. It only targets iPhone; but no doubt iPad can be added. It raises the possibility of more Flash applets becoming native applications in the App Store. Money and control for Apple; but at least your code will run.

We also saw, in the Max sneak peeks, how Flash can be rendered server-side, and served to the browser as video. It’s an interesting thought if you simply must get your Flash content working on the iPad.

Another point is that Adobe is at a design tools company, and it can adapt its tools to be less focused on Flash. Another feature we saw at Max was an Illustrator to SVG converter. It is now in Adobe’s interests to work more intensely to advance HTML standards, to make them better clients for rich content.

Still, Apple has come up with what may be a significant roadblock to Adobe’s ambitions for what it calls the Flash Platform.

Web standards people may cheer this, on the grounds that a Flash-free web is less broken. I am not cheering though. Vendors locking down their devices is not a healthy way to advance web standards. Further, Flash is an amazing runtime. Flash enabled YouTube to succeed. The BBC iPlayer project did not deliver on its promise until it converted to Flash. Flash provides web developers with a consistent runtime that has value in entertainment, in education, and in general applications. One of the first things I install on Windows, Mac or Linux is Adobe AIR, which lets me run a desktop Twitter client.

Here’s my vote for Flash on iPad – and Silverlight and Java too, if the user wants their capabilities.

Amazon gives in to Macmillan thanks to power of Apple

In a posting on its forum, Amazon has declared defeat in its disagreement with Macmillan over ebook terms – one most likely influenced by Apple which is offering better terms to publishers for its forthcoming iPad:

Macmillan, one of the "big six" publishers, has clearly communicated to us that, regardless of our viewpoint, they are committed to switching to an agency model and charging $12.99 to $14.99 for e-book versions of bestsellers and most hardcover releases.

We have expressed our strong disagreement and the seriousness of our disagreement by temporarily ceasing the sale of all Macmillan titles. We want you to know that ultimately, however, we will have to capitulate and accept Macmillan’s terms because Macmillan has a monopoly over their own titles, and we will want to offer them to you even at prices we believe are needlessly high for e-books. Amazon customers will at that point decide for themselves whether they believe it’s reasonable to pay $14.99 for a bestselling e-book. We don’t believe that all of the major publishers will take the same route as Macmillan. And we know for sure that many independent presses and self-published authors will see this as an opportunity to provide attractively priced e-books as an alternative.

While Amazon is focusing on the higher price, what really counts here is who sets the price and how much money goes back to the publisher. It’s not clear to me why any publisher would not do the same as Macmillan, since it is to their advantage.

I am surprised Amazon gave in so easily. Its PR has has been clumsy – first, to withdraw titles from sale thus ensuring strong opposition from frustrated authors, and coming over as a bully; and second, to state so clearly, early in the battle, that “we will have to capitulate” – not language you normally hear from a major corporation.

It is evidence of Apple’s extraordinary power to disrupt markets.

If you missed the background, see yesterday’s post.

Apple’s proxy war with Amazon over ebook pricing and market

Amazon has apparently withdrawn all Macmillan titles from sale (print and electronic) because of an argument with the publisher over the terms of sale. Macmillan CEO John Sargent says:

This past Thursday I met with Amazon in Seattle. I gave them our proposal for new terms of sale for ebooks under the agency model which will become effective in early March. In addition, I told them they could stay with their old terms of sale, but that this would involve extensive and deep windowing of titles. By the time I arrived back in New York late yesterday afternoon they informed me that they were taking all our books off the Kindle site, and off Amazon. The books will continue to be available on Amazon.com through third parties.

“Windowing” means delaying availability, to allow a window of time during which a premium price is charged.

This is a fascinating spat with many implications. The immediate issue: Macmillan wants to raise ebook prices and/or get a bigger cut of Amazon’s selling price.

Macmillan is trying to dictate prices and terms:

Under the agency model, we will sell the digital editions of our books to consumers through our retailers. Our retailers will act as our agents and will take a 30% commission (the standard split today for many digital media businesses). The price will be set the price for each book individually. Our plan is to price the digital edition of most adult trade books in a price range from $14.99 to $5.99. At first release, concurrent with a hardcover, most titles will be priced between $14.99 and $12.99. E books will almost always appear day on date with the physical edition. Pricing will be dynamic over time.

Amazon is unlikely to be content with a miserly 30%. It is used to wholesale terms. Further, according to author Charlie Stross in a must-read post Amazon likes to sublicence Kindle titles, which means it pays even less; in effect just a royalty to the original publisher, “turning the traditional publishers into vestigial editing/marketing appendages.” Amazon wants to keep prices down on Kindle titles to build both the market and Kindle’s dominance.

The stakes must be high for Amazon to take such drastic action, and for Macmillan to risk its relationship with the world’s biggest bookseller. And they are. Ebooks are an increasingly important market; who knows, they may become most of the market eventually – though paper and ink is resilient.

Why has Macmillan chosen this moment to take on Amazon? Apple. The key is in this conversation between Walt Mossberg and Steve Jobs at the launch of the iPad, recorded by Kara Swisher:

In the video, Mossberg asks Jobs about the iBooks application and the price of e-books, and Jobs insists the price will be the same on Apple as on Amazon (AMZN).

“The prices will be the same,” said Jobs, before getting in a little dig at the maker of the Kindle e-reader. “Publishers are actually withholding their books from Amazon, because they’re not happy with it.”

Translation: Apple has big plans for ebooks. Part of its strategy is to win publisher support by offering better terms than the currently get from Amazon, both in terms of pricing flexibility and the size of their share. With breathtaking confidence, Jobs believes that publishers will be able to dictate better terms to Amazon on the basis of what Apple is offering, even though iPad is not yet released, and that the outcome will be price parity.

Macmillan is obediently putting that theory to the test.

So far Macmillan and Apple are winning the PR war. On the face of it, that’s surprising, since Amazon wants to keep prices down. However, withdrawing stock from sale comes over as petulant and bullying, and the move has upset authors like Stross who by the nature of their trade are highly articulate. The reading public is also sympathetic to publishers and authors, perhaps presuming that since most books make a loss, squeezing prices down will not benefit them long-term.

Bizarrely, it is almost the opposite of what happened in music, when it was Apple trying to force the labels to accept fixed pricing. There is less public sympathy for the music industry, thanks to mishandling of DRM and downloads, and a reputation for not giving artists a sufficient share.

Personally I’m cautious about accepting that any party here has the moral high ground. I am sure Apple is making all the noises publishers want to hear right now; but that is because it is a new entrant in the market. If the publishers are canny they will foster a diversity of ebook suppliers, because that is in their best interests long term.

Update: Amazon has capitulated.

Windows 7 booms for Microsoft, everything else is flat

Microsoft has had a bumper quarter driven by Windows 7, as expected. I’ve put this into a table as I have before.

Quarter ending December 31st 2009 vs quarter ending December 31st 2008, $millions

Segment Revenue % change Profit % change
Client (Windows + Live) 6904 69.9 5394 98.9
Server and Tools 3844 0.24 1491 8.4
Online 581 4.60 -466 -49.5
Business (Office) 4745 -2.78 3010 -0.36
Entertainment and devices 2902 -10.87 375 288.5

The poor performance of Vista meant latent demand for Windows 7, as both individuals and organisations deferred upgrades, which was unleashed in this quarter. Microsoft said it was a “record quarter for Windows units” and “the fastest selling operating system in history”. Windows 7 is also a strong product in its own right.

There isn’t much else to cheer about, though given the general weakness of the server market the sliver of growth there is impressive. There is still no sign of a profitable online business, which is of major concern as interest in cloud computing accelerates.

Entertainment (Xbox) is now a steady business; I’m guessing that the huge growth in profits reflects lower investment and a reduction in cost of fixing endless red rings of death thanks to better quality hardware. Revenue on the other hand is somewhat down.

Windows 7 will continue to do well, though once the upgrade bump is passed the results will be less spectacular. Windows 8 will not get the same easy ride, unless Microsoft delivers something that surprises us all with its excellence.

The positive spin on these figures is that the company still has an opportunity to reinvent itself, financed by Windows profits. It needs its own iPod equivalent to show that it can escape its Windows and Office legacy. Windows Mobile 7? Laugh if you like; but the two things with obvious growth potential in the market generally are mobile devices, and cloud computing – the two go together, of course. That said, there is no evidence yet that Microsoft has the energy and agility to reverse its poor performance to date in both areas.

Who knows, perhaps after a couple of months of mobile focus, with details to be revealed shortly at Mobile World Congress and Mix10, the picture will look more promising?

Apple’s lock-in works. Can anyone improve on App Store?

Timothy B Lee writes of the App Store/iPhone and now iPad lock-in:

The store is an unnecessary bottleneck in the app development process that limits the functionality of iPhone applications and discourages developers from adopting the platform.

While instinctively I agree, the evidence for the damaging effect of the App Store is not there. On the contrary, the locked-in iPhone has transformed the mobile app market and expanded it remarkably.

Reason: the user experience is great, the approval process at least weeds out apps that would be intrusive or harm performance, and installing an app from the store is less risky than installing an app onto Windows or OS X.

Ironically, Apple’s own iTunes is an example of an app that installs services you do not necessarily want or need. Personally I keep it off PCs and use a Mac Mini for gadgets that require it.

Is it possible to find a app distribution model that avoids the monopolistic and dictatorial model of App Store, but delivers an equally good user experience during and after purchase and installation?

A good question, but to my mind an open one.

Apple iPad vs Windows Tablet vs Google Chrome OS

Apple has announced the iPad – essentially a large-size (242.8 x 189.7mm) iTouch. Large multi-touch screen, claimed 10 hour battery life, flash drive of 16GB up to 32GB, browse the web, play music and video, read eBooks. Keyboard dock for the desk, virtual keyboard for when you are out and about. App Store support and runs iPhone apps.

image

Here’s my instant reaction with a few pros and cons.

The design looks great, as you’d expect from Apple, and I’m a fan of the tablet concept. I wrote a piece on the subject back in 2003 when it still looked possible that the Windows tablet would take off. I think laptops are too big and bulky, and that the clamshell keyboard idea is desperately awkward when you are travelling. Ever tried to use a laptop while eating a meal, flying economy, for example? Or quickly fire up your laptop to get an address from an email, while walking down the street? It’s a horrible experience and the tablet concept is much better in these scenarios.

I also think that Microsoft’s big mistake with Tablet PC was requiring a stylus. Styluses are horrible, expensive, easily lost, and destroy much of the advantage of having a tablet. They are fine of course as an optional input mechanism, for writing or drawing, but not as a required item. Our fingers are capable of fine control on their own.

Apple’s device wins here; plus it has a UI designed for multi-touch, rather than a desktop UI with pen input bolted on top. The same will be true of the apps.

All good reasons then why iPad will succeed. And it will.

Still, I have reservations. When I travel, I need a mobile phone, for voice and all the other things smartphones are good at; and I need a laptop for all the things laptops are good at: email, word processing, spreadsheets, web browsing, custom apps and so on.

However, I will be reluctant to carry three devices with overlapping features, so for the iPad to work for me, I will need to ditch the laptop. Otherwise I’ll leave it behind, use it a little round the house, but eventually wonder why I bought it in the first place.

Thus, the critical question for iPad is this: to what extent can it enable me to leave the laptop behind? A lot will depend on the usability of iWork, the virtual keyboard and so on.

A related issue is the extent to which the device is locked down. I’m not 100% clear about this, but my impression is that the only way to get apps onto the iPad is via App Store. You can get music on via iTunes, and pictures via a USB adapter designed for cameras, and there must be a way to transfer documents via iTunes, but I’m guessing these go into some secure area which cannot execute applications – though no doubt there will be hacks to get round this. In this respect the model seems to be the same as iPhone and iTouch, and different from the Mac. Another factor is the relatively limited storage space.

This aspect is an annoyance – unless you change gear and think of it as a web client. Let’s say I wanted to get my custom database app onto the iPad. Maybe I could do that with the SDK; but better still, why not write it as a web app? Add a bit of offline capability and it could be just about perfect.

In other words, if I can truly get the web habit, so that all the stuff that matters to me is available online, then I can leave the laptop at home and just take out an iPad.

Or indeed Google Chrome OS. From what we’ve heard so far, Google’s devices will also be locked down, and unlike the iPad you will not even be able to install apps from an app store or save music and video locally – though who knows, maybe that could change, when people complain about how useless it is on a train or aeroplane. And like Gizmodo I reckon Google should make a Chrome OS tablet.

I’m beginning to think that Apple could have the high-end tablet market, and Google the low-end, because it’s safe to say that a Chrome OS device will be cheaper.

Microsoft will do its own iPad-like multi-touch device in around 2013, judging by how long it has taken to do Windows Mobile 7 following the launch of iPhone in 2007.

See also: Battle of the portables: Netbook vs Apple iPad 2.

Picture courtesy of Apple.

The insecurity of Verified by Visa and MasterCard SecureCode

An article on the H points to this paper by Steven Murdoch and Ross Anderson, from the University of Cambridge Computer Laboratory, on the poor security design of the 3-D secure (3DS) protocol used by Visa and MasterCard in the UK and catching on worldwide. In addition, 3DS undermines privacy by sending a full description of each transaction to the card issuer or its contractors.

Banks also use the supposed additional security of 3DS to shift liability for fraudulent use towards the customer.

What’s wrong with 3DS? The authors list a number of issues. The 3DS system throws up a request for additional authentication in a pop-up dialog or iFrame, which means you cannot easily check its source; it could be a phishing attack. The memorable pass phrase that is meant to prevent this is vulnerable to man-in-the-middle attacks, as well as impatient users who might not bother to read it. Password reset mechanisms are often poorly implemented, and may depend on semi-public information such as date of birth.

The authors suggest that a simple approval process, such as a text message to your phone asking for an authorisation code, would be more secure, even if only as a stop-gap before adopting a more robust solution.

I find it surprising that 3DS has been adopted so widely despite well-known flaws. As the authors note:

3-D Secure has received little public scrutiny despite the fact that with 250 million users of Verified by Visa alone, it’s probably the largest single sign-on system ever deployed.

Well, with this post I am doing my bit.

The mystery of the slow Exchange 2007: when hard-coded values come back to haunt you

Following a migration from Microsoft Small Business Server 2003 to SBS 2008 users were complaining that Exchange was slower than before in some scenarios. How could this be? The new machine had 64-bit goodness and far more RAM than before.

I checked out the machine’s performance and noticed something odd. Store.exe, the Exchange database, usually grabs vast amounts of RAM, but in this case it was using surprisingly little, around 640MB. Could this be related to the performance issue?

I speculated that Exchange memory usage was limited in some way, so looked up where such a limit is set. I found this article. Ran ADSI Edit and there it was, a 640MB limit (or thereabouts), set in msExchESEParamCacheSizeMax.

I removed the limit, restarted Exchange 2007, and it immediately said “thank you very much” and grabbed 8GB instead.

Why did this setting exist? No doubt because back in the days of SBS 2003 and a much less powerful 32-bit machine, someone set it in order to prevent store.exe from crippling the box. It is another example of why Small Business Server is harder to manage than full server setups when Exchange invariably has a dedicated server (or several).

SBS 2008 cannot be installed as an in-place upgrade; but the official migration process does preserve Active Directory; and since that is where this value lives, and since it is not specific to any version of Exchange, it was dutifully transferred.

Why wasn’t the setting discovered and changed before? Well, you will observe that it is somewhat hidden. The main chances of finding it would be either if you were deeply schooled in the ways of Exchange, or if one of the Best Practices Analyzer (BPA) tools picked it up, or if the users screamed that Exchange was slow (which is what happened) and you figured out what was wrong.

The SBS BPA did not notice it. The Exchange BPA did, kind-of. It was not shown as a critical problem, but listed for information under “Non-Default Settings”, ironically with a tick beside it, as “Maximum ESE cache size changed”. Summoning help on this setting leads to this article which refers to Exchange 2000.

An admin failure, yes, but arguably also a defect in Exchange and SBS. Typical Microsoft: critical setting, hard-coded when it would make more sense to use a percentage value, not checked by setup and persistent across major upgrades of Exchange, deeply buried in Active Directory.

Mentioned here just in case it saves someone time when trying to figure out why their shiny 64-bit Exchange 2007 is running worse than 32-bit Exchange 2003 ever did.