Category Archives: internet

My first Google Chrome Web Application

Update: this post is based on obsolete beta code. Please go to the updated version here.

When I read Patrick Aljord’s blog on how to create Chrome Apps I thought, “that looks easy”. So I installed the dev channel version of Chrome as advised here, though on a VM just to be safe, and set about creating my own.

Well, WordPress is a web application; so my example is this blog. I created a manifest in Notepad.

image

Next, using my artistic skills, I made two icons of the required size: 24×24 and 128×128.

I ran the dev. build of Chrome using the –enable-apps switch. On the Extensions tab there are tools for building a .crx, which is the container for a Chrome Web App. I built the app, then installed it.

image

You get a generic warning about the extension. I was surprised not to see a stronger complaint about my app having no authenticated signature – it could be from anywhere. I guess this may be changed for the final release.

After installing, the app appears in the Chrome New Tab page.

image

You can try my web app here.

The whole process is very simple, which I like. It is also almost the same thing as a bookmark or favourite link. The main differences that I can see:

  • Apps get pride of place on the default Chrome Home page.
  • Apps can be installed from the forthcoming Chrome Web Store, with user reviews, a payment model, and so on.
  • Apps can have extra permissions.
  • Apps can be locally installed as “serverless” apps – this is huge, especially for the forthcoming Chrome OS which has no other provision for local applications.

Incidentally, if you try installing an app into the current standard build of Chrome, it installs as an extension but does not do anything. I also had to omit the “permissions” section of the manifest, otherwise I got an invalid permissions error when installing. In the developer build all was fine.

I tried dragging my app from Chrome to the desktop to make a shortcut. It worked, but simply created a standard web shortcut, which opens in your default browser, not necessarily in Chrome.

It is all so easy that it will make sense for almost anyone to create a Chrome Web App from their web property. Which also means there will be plenty of junk web apps around.

I’m not clear exactly how the Web Store will work. While I would love to sell URLs for money, they are not inherently of any value, though a serverless app is different. Presumably the normal thing would be to sell some sort of subscription, which implies registration and user authentication. No doubt everything will work smoothly if you use a Google ID as your authentication provider, though I hope Google will also provide for alternative systems.

A great day for Android at Google I/O; not convinced by Google TV

Yesterday’s Google I/O was remarkable for several reasons. The most significant was not a specific technical announcement, but rather the evidence for a successful Google-led alliance against Apple in the mobile device market (and perhaps also in home entertainment with Google TV). Apple has hardly put a foot wrong since Jobs rejoined the company in 1996 – well, aside from a few minor lapses like the iPod Hi-Fi. With steadily increasing sales for the iPhone, it was beginning to look as if Apple would do to the mobile phone market what it did to the market for portable MP3 players, including the all-important App Store.

After Google I/O 2010 that seems less likely. Google showed off the momentum behind Android – there are now over 100,000 Android activations daily, according to Vic Gundotra – and then gave a compelling demo of new features in Android 2.2, code-named Froyo, including:

  • New Dalvik just-in-time compiler with 2-5x speed improvement in CPU-bound code
  • Better Exchange support with account auto-discovery, calendar sync, Global Address List support, and device policy support
  • V8 JavaScript engine in Android browser, 2-3x speed improvement
  • Apps can backup data to the cloud, for instant restore on a replacement device
  • Ability to make Android phone a portable wi-fi hotspot for your Windows, Apple or Linux machine
  • Stream your home media library to your Android device
  • Cloud to device messaging
  • Crash reports with stacktrace uploaded for developers to review
  • Some great demos of voice input combined with Google search and maps

In some ways the details do not matter; what does matter is that Google persuaded the world that Android mobiles would be more than a match for iPhones, but without the Apple lock-in, lock-out, and censorship.

Support for Adobe Flash is almost more a political than a technical matter in this context. I cannot help wondering whether Microsoft is working on Silverlight for Android; it should be, but probably is not. The Mono team on the other hand is there already.

Apple now has a bit of a PR problem; and while I am sure it will ride it out successfully and impress us at WWDC next month, the fact that it has a PR problem at all is something of a novelty.

Next came Google TV, with which I was less impressed, and not only because the demos were shaky. I understand the thinking behind it. You could almost see the $ signs revolving when Google mentioned the $70 billion annual spend on TV advertising. Google TV adds an Android device and internet connection to your living room television set, bringing YouTube to the largest screen in the house, enabling web browsing, and opening up interesting opportunities such as running Android apps, combining TV and web search, and overlaying TV with social media interaction.

It sounds good; but while I am a firm believer in the Internet’s power to disrupt broadcasting – especially here in the UK where we have BBC iPlayer – I am not sure that injecting the Web into TV like this is such a big deal. In fact, games consoles do this already. Sony’s Howard Stringer was at Google I/O to support the announcement, which has his company’s participation, but a PS3 already offers BBC iPlayer, Adobe Flash 9, and a basic web browser. I use this from time to time and enjoy it, but a TV is not great for web browsing since you are sitting at a distance, and wireless keyboards are a nuisance kicking round the living room – we tried that for a while with Windows Media Center. Activities like online shopping or simply Tweeting are easier to do on other devices.

Maybe it is just waiting for the right implementation. If it does take off though, I will be interested to see what the broadcasters think of it. What if Google manages to serve contextual ads based on the content you are viewing? That would not please me if I had invested millions in creating that content, specifically in order to attract advertising.

It may be developers that make or break Google TV. Add a few compelling apps that work best in this context, and we will all want one.

Adobe’s campaign against Apple misses the target

Nothing better demonstrates Adobe’s concern about being locked out of Apple’s mobile platform than a huge advertising campaign attempting, one assumes, to win public support and pressure Apple into yielding ground.

Still, if you are going to run a big PR campaign it helps to be right. But Adobe seems to be arguing that Flash support is essential to an open web, which is incorrect.

We believe that consumers should be able to freely access their favorite content and applications, regardless of what computer they have, what browser they like, or what device suits their needs. No company — no matter how big or how creative — should dictate what you can create, how you create it, or what you can experience on the web. … In the end, we believe the question is really this: Who controls the World Wide Web? And we believe the answer is: nobody — and everybody, but certainly not a single company.

says the open letter from Adobe founders Churck Geschke and John Warnock.

Very good, but this is not an argument in favour of Flash. Flash is not part of HTML, Flash is not a standard, and Flash is not open – the specification for the player is published, but what goes into that specification is controlled solely by Adobe, and its player implementation is not open source. Flash is a proprietary plug-in. Are Geschke and Warnock arguing that all browsers on all devices should allow all plug-ins to be installed – including Silverlight, Java, ActiveX, and anything else you can think of? Or are they arguing that Adobe Flash is a special case? It is certainly a special case for Adobe, but any company will argue in favour of its own stuff.

The full-page advertisement that I’ve seen in various newspapers is not much better. Adobe’s pitch is that Apple is:

taking away your freedom to choose what you create, how you create it, and what you experience on the web

This again is incorrect. Apple has an excellent mobile browser based on WebKit, as also used by Google, Adobe and others. You can do what you want on the Web, but if you use Flash it won’t render on Apple’s mobile devices. All that means is that Apple has chosen not to support Adobe’s plug-in. It is not an issue of freedom.

Personally I don’t like Apple’s approach. I’d prefer it to support the leading plug-ins (not only Flash); I don’t like the appification of the web -  dubbed the splinternet, or splintered web, by some. And I particularly object to Apple’s clause 3.3.1 in its new developer agreement, which blocks apps that are created with cross-platform tools, no matter how well they perform or how good they look. That, it seems to me, is anti-competitive in spirit.

I think Adobe should make more of clause 3.3.1, rather than indulging in special pleading for its plug-in. And if I were Adobe, I wouldn’t be whinging about Flash being blocked. Rather, I’d be highlighting all the great things Flash can do, and all the content you will miss without it. My full-page ad would say, “Mr Jobs, your iPhone is broken”, and extol the merits of Android and other devices that will run Flash.

I’d also be working on the technical arguments, that Flash is unstable, insecure and resource-hungry. Is it Apple’s fault? Is it because of poorly coded SWFs, and if so what is Adobe doing about that? And how will Adobe improve Flash so that it behaves better in future, and not be perceived as the new Vista?

Maybe next time round?image

Adobe’s Kevin Lynch: we’re focusing on everybody else

I enjoyed this interview with Adobe’s Kevin Lynch from Web 2.0 Expo in San Francisco, where he talks about the Apple problem. Adobe has created a compiler for Flash that creates a native code iPhone application, but Apple’s latest developer agreement prohibits its use.

Lynch presents it as a matter of freedom. Software developers should be allowed to target multiple operating systems with one code base; and developers should be allowed to deploy applications without needing permission from a company.

“We’re focusing on everybody else” he says, talking about forthcoming devices that will support Flash and the Flash-based Open Screen Project. “All the variety and the innovation that happening with all hese other companies is going to dwarf what’s happening from one company,” he says. “We’re at the beginning of the game not the end of the game.”

The snag is that Apple’s devices are the most attractive market for applications, thanks to smooth deployment via the App Store and the higher than average wealth of Apple’s customers. It’s a matter of which is more true: that Flash is marginalising iPhone and iPad, or that iPhone and iPad are marginalising Flash.

I’d also suggest that having Adobe control the platform for the Open Screen Project is not ideal, if we are going to talk about software freedom. If you listen to the interview, notice how Lynch tries to avoid mentioning Flash in the same breath as the Open Screen Project. It’s really the Adobe Flash Screen Project, but you wouldn’t know from what he says.

Nevertheless I agree with both his points. Both the App Store and Apple’s new restrictive developer agreement are bad for competition and I dislike them. That said, I doubt that the existence of a few upset developers will have any noticeable impact on Apple’s success. What will make a difference is if the “variety and innovation” which Lynch talks about produces devices that are better than Apple’s offerings.

After Apple’s Flash ban, what next for Adobe?

I imagine there must be urgent meetings taking place at Adobe following Apple’s prohibition of Flash content or applications on its iPhone and iPad devices, and last week’s open letter from Apple CEO Steve Jobs which leaves little hope of a change in policy.

The problem is that until now Adobe has put the Flash runtime at the heart of its strategy. The Flash Platform is a suite of tools and technologies including middleware (LiveCycle Data Services), web and desktop runtimes (Flash and AIR), design and developer tools (Creative Suite and Flash Builder). The company has worked to integrate Flash and PDF, using embedded Flash content for multimedia and to blur the boundaries between documents and applications.

If you look at Creative Suite 5, the latest release of Adobe’s flagship tools and from which it derives most of its revenue, there is scarcely a product within it which Flash does not touch.

Adobe’s hosted document and collaboration platform, Acrobat.com, uses Flash for online document viewing and editing, for web conferencing, for online presentations.

Adobe’s abandoned Flash to iPhone compiler was not only something for third-party developers, but also for Adobe itself, and the company has already been using it to enable access from iPhone to some of its Flash-based online services. For example, Adobe Acrobat Connect Pro Mobile for iPhone, which lets you attend Acrobat Connect Pro meetings:

This application was developed using the Flash platform and the Packager for iPhone to publish it as a native iPhone application. We will also be able to use the same code to deliver this application on other mobile devices when AIR for mobile devices becomes available later this year.

Of course Adobe is not solely a Flash company. It’s also a PDF company, and while there is no Adobe Reader for iPhone, it is at least possible to view PDFs on Apple’s devices. Adobe is an HTML company too, and products like Dreamweaver and Fireworks are geared towards HTML content.

Still, Apple has created a big problem for Adobe. The appeal of the Flash Platform starts with the ubiquity of the runtime.

Let’s assume that Apple trundles on, grabbing an increasing share of the Smartphone market and encroaching into what we now think of as the laptop/netbook market with iPad and possibly other appliance-type computing devices. What can Adobe do? Here are a couple of top-level choices that occur to me:

1. Resign itself to being an anything-but-Apple company. There is life beyond iPhone and iPad; and Adobe is making good progress towards establishing Flash elsewhere, from Android mobiles to set-top boxes to games consoles. Unfortunately the Apple-owning community is a wealthy and influential one; the impact of losing that part of the market is greater than its market share implies. Nevertheless, this seems to be Adobe’s immediate reaction to the Jobs bombshell. It is rumoured to be giving Android phones to its employees, for example, and there are signs of an Adobe-Google alliance forming against Apple – note that Google is building Flash by default into its Chrome browser.

2. Pull back on Flash. For example, redesign Buzzword, its Flash-based online document editor, in HTML and JavaScript. Tune its PR message to emphasise how useful its tools are in an non-Flash context, rather than presuming its runtime will be everywhere. I think Adobe will have to do this to some extent.

A mitigating factor is that while Adobe has (until now) done a great job of deploying the Flash runtime, it has done less well at monetising it. If you look at its latest financials, you’ll see that Flash Platform (including AIR) accounted for only 6% of its revenue, compared to 50% for design tools including Creative Suite and Photoshop, 28% for business use of Acrobat, and 10% for the recently acquired Omniture web analytics. Although some of its design market is Flash-dependent, there is plenty more that is not.

Steve Jobs saying Flash is bad does not make it so

I’ve mulled over the statement by Apple CEO Steve Jobs on why he hates Flash. It’s been picked over by many, so there’s little point in analysing it line by line, spotting what’s true, what’s false, what’s twisted. It doesn’t matter. What counts is that Jobs is disallowing Flash and attacking Adobe – he’s decided it should get out of the runtime business and just do tools for HTML5:

Perhaps Adobe should focus more on creating great HTML5 tools for the future

Apple is a powerful enemy; and what I’ve found alarming watching the reaction is the extent to which Jobs saying “Flash is bad” has lowered the reputation of Flash; it’s as if all the great things which it has enabled – web video that works, pushing the boundaries of what is possible in a web browser, an entire industry of casual gaming – has been forgotten because one charismatic and influential individual has called it old stuff that crashes Macs.

The army of enthusiasts which leaps to the defence of all things Apple both amuses and disturbs me. I understand some of the reasons. People warm to Apple because the company has improved their lives, in computing, in music, in mobile phones – especially in contrast to the efforts of Microsoft and its partners who have all too often made computers and mobile devices that are hostile and unpleasant to use. This last factor is not Apple’s fault; and without Apple it might not now be changing. Apple deserves our thanks for that.

That doesn’t make Jobs or his followers right about Flash, which is a magical piece of technology. Yes, it’s been widely abused to make annoying ads and animations; yes, it crashes the browser sometimes; yes, both HTML5 and Microsoft Silverlight are encroaching on Flash territory.

Still, Flash is never going to be allowed on Apple’s new wave of personal computing devices, which by the looks of things it intends to form the core of its business. Nor can we write for Flash and compile for Apple; it’s not allowed.

This is the new model of computing: the web if you want open, or humbly seek permission from the device overlords if you want a local application install, at least on Apple’s platform; and Microsoft is headed in the same direction with Windows Mobile 7. It’s not a model I like; but the trend is unmistakeable.

Spotify goes social with Facebook, supports local music library

Spotify has announced a set of new features with the aim of “evolving into a total music management platform”, according to today’s blog post. There are two key features, available to both free and paying users.

The first is a link to Facebook, enabling you to see and share the playlists of your Facebook friends and to send them links to tracks.

image

Second, you can now Spotify to manage your local music library as well as what is available online. One reason to do this would be to fill gaps in Spotify’s database, formed by artists and labels who have not signed up – The Beatles, King Crimson, Metallica, Pink Floyd, Led Zeppelin and many more. This music can also be copied to mobile devices. It is not stated what format local music has to be in, but

Clearly the local music option may break shared playlists. Spotify will link to the same track in its own library where possible, or else come up with a replacement – maybe the same track performed by a tribute band, or who knows what?

Spotify is a game changer, partly because  thanks to the high quality of its software, and partly because it comes close to an ideal concept for listeners: play anything you like, wherever you like, and for free. Whether this is a viable business model for the music industry is open to question, though the combination of advertising and premium subscribers does provide some income.

The most interesting aspect is the Facebook link. It is another example of how Facebook is worming its way into other online services and helps its goal of being your key online identity, at least for social matters.

A YouTube video has a demo of the new features.

Google flexes page rank muscles, hits Daily Express?

It’s been reported that the Daily Express newspaper is selling paid links, in other words links that look to Google’s web crawler like links from independent editorial, but in fact are paid for by advertisers.

The consequence of doing this, according to Google:

However, some SEOs and webmasters engage in the practice of buying and selling links that pass PageRank, disregarding the quality of the links, the sources, and the long-term impact it will have on their sites. Buying or selling links that pass PageRank is in violation of Google’s webmaster guidelines and can negatively impact a site’s ranking in search results.

I then saw a report saying that Google has indeed penalised the Daily Express. I checked the page rank of the Daily Express home page here and found that it is indeed lower than could be expected.

image

While it is difficult to say what the page rank should be, Alexa shows the Express site as among the top 15,000 worldwide and in the top 1000 in the UK, with over 4,000 incoming links.

Although the Daily Express is not to my taste, I have misgivings about this process. A significant proportion of web traffic comes via Google, and lower search rankings have a direct effect on traffic and therefore business. Exactly how Google determines search rankings is a commercial secret, even though the gist of how it works is well known. There is not much you can do if mistakes are made, other than to complain to Google and hope someone pays attention to you.

There is nothing illegal about selling paid links, and the article highlighted in the Express is marked as “Sponsored”. While it is right for Google not to count these links as genuine recommendations, I am less sure about whether there should be additional punishment for running them. It puts too much power to make and break other companies into the hands of Google.

Of course we don’t know if the low ranking is a result of the paid links or not; that is speculation. Nor do we know how closely the published page rank corresponds which how Google actually determines the order of search results. Looking at Alexa’s report, there’s no conclusive evidence of declining traffic, though Alexa’s figures are based on a relatively small sample.

Still, I get a ton of these paid link requests and this kind of story makes me glad that I always turn them down.

Mad or brilliant? Google Chrome OS will print via the cloud

Google Chrome OS, the operating system that is essentially a browser on a netbook, does not support printer drivers. Given the problems these things still cause, you might think that is a good thing. At least, until you want to print a Google map to give to a friend. Or an invoice to stick in the post. Or any of those other innumerable reasons for printing that we somehow find, even in the age of electronic documents.

The solution Google has come up with is called Cloud Print. You register your printer or printers with Google, then print over the internet. The printer might be a “cloud-aware printer”, none of which yet exist, which sits with its internet connection waiting for print jobs; or a “legacy printer” which works via a proxy running on a PC. Google will distribute this proxy with Google Chrome. The proxy gets the print job from Google, then prints using the local printer driver. Since Chrome OS does not have any printer drivers, the proxy cannot run on Chrome OS itself.

This is mad, of course, because it means that in order to print a document from Chrome OS to the printer sitting on the same local network, you have to send it to Google and back. If your internet connection goes down, you cannot print from Chrome OS at all.

Still, given that printers still have a habit of grinding and whirring a bit before actually printing, a little delay while a document travels to Google and back probably won’t upset you.

The brilliance of the idea is that cloud-aware printers will just work, and you can print to them from anywhere. If it’s your boarding pass, you are in New York and the printer is in London, that won’t help you much; but there are other scenarios where it might. Printing a receipt while away can be handy, for example; it won’t be needed until you do your accounts.

I like the way Google is thinking creatively about what it means to have a computer that is wholly cloud-centric. If it can make such a device usable, it will be revolutionary.

I don’t like the idea of having to sign into Google to print a document. Google says:

We expect other entities to provide their own cloud print services as well. Users associate printers with their Google Account via the service.

It’s another of these, “you are welcome to our standard” offers. In practice, signing permanently into Google will be the deal with Chrome OS, as it is to a large extent with Android. The whole thing revolves around your Google identity, which is why it pays Google to make the investment.

Silverlight 4 vs Silverlight 3: a little bit faster?

Microsoft’s Scott Guthrie spoke of “twice as fast performance” in the newly-released Silverlight 4, thanks to a new just-in-time compiler.

Performance is a hard thing to nail down. Maybe he meant that compilation is twice as fast? I’m not sure; but I tried a couple of quick tests.

First, I looked at my Primes test. Version 3 running in Windows Vista took around 0.40 seconds (the exact figure varies on each run, thanks to background processes or other factors). I then upgraded to version 4.0. No significant difference, on average over several runs. I used Vista because I’d already upgraded my Windows 7 install.

Next I tried Bubblemark. I maxed it out at 128 bubbles. On Vista with Silverlight 3 I got about 240 fps; on the same machine with Silverlight 4 about 260fps; about 8%.

image

Next I tried on an Apple Mac. My Mac Mini is less powerful, though not that bad, an Intel 1.83 Ghz Core Duo. On the Prime test I got 0.54 secs before, and 0.50 secs after the upgrade to 4.0, about 7.5% improvement. On Bubblemark, it was only 24 fps before and after.

I guess the vast difference in graphics performance is also interesting. It is not just Mac vs Windows; the Nvidia GeForce 6800 on the PC is more powerful than whatever is in the Mac Mini.

If anyone can tell me in what respect version 4.0 is twice as fast, I’d be grateful.

Update: prompted by the comment from David Heffernan below, I also tried the Encog Silverlight Benchmark. I used an older core duo laptop, since I am running out of machines to upgrade. I ran the test twice before upgrading, and twice after. Lower is better:

Silverlight 3.0: 22.0

Silverlight 4.0: 12.7

That’s about 42% better, where “twice as fast” would be 50% better, much closer to Guthrie’s claim. I guess it depends what you measure.