Category Archives: internet

Microsoft backs ECMAScript, dismisses Google Dart

Microsoft has posted an article on Evolving ECMAScript on its IE Blog. ECMAScript is the official standard for what we call JavaScript. The company is proposing some minor additions “to address gaps in Math, String and Number functionality as well as Globalization.” It has also taken the opportunity to take a shot at Google, which is proposing a new web language called Dart:

Some examples, like Dart, portend that JavaScript has fundamental flaws and to support these scenarios requires a “clean break” from JavaScript in both syntax and runtime. We disagree with this point of view. We believe that with committee participant focus, the standards runtime can be expanded and the syntactic features necessary to support JavaScript at scale can be built upon the existing JavaScript standard.

Dart will compile to JavaScript so there is a measure of compatibility, but if the language catches on then browsers without a native implementation will be disadvantaged.

The power of Google: how the Panda update hit Experts Exchange

Searching Google recently it struck me that I rarely see results from Experts Exchange. I used to see a lot of these, because I typically search on things like error messages or programming issues for which the site is a useful source.

The site is controversial, because it (kind-of) charges for access to its knowledgebase but does not pay its experts. I posted about this back in 2009. That said, the quality of its advice is often good, and most answers are available without payment if you scroll far enough down the page. You can also get free access as an expert if you answer a few queries successfully.

Experts Exchange has to some extent been replaced by the StackOverflow group of websites, which are nicer to use and free, but I have found that the chances of getting your obscure query answered can be higher on Experts Exchange, particularly for admin rather than programming queries (of course for admin I am comparing with ServerFault).

Still, I wanted to test my perception that I no longer see Experts Exchange results in Google. I had a look at the Alexa stats for the site.

image

Wow! That vertical line is around April 2011, which is when Google rolled out its "High Quality Sites Algorithm". The site still ranks in the top 3000 in the world according to Alexa – 2787 at the time of writing – but according to the chart it lost around 50% of its visitors then, and has since declined further.

As noted above, the site is controversial, but I personally never minded seeing Experts Exchange results in my searches since the advice there is often good.

The bit that disturbs me though is simply the power Google has over what we read on the Internet. I appreciate the reasons, but it is not healthy for one corporation to have this level of influence, especially bearing in mind the black box nature of its workings.

Twilio: programmable telephony, SMS comes to the UK, Europe

Web telephony provider twilio, which is based in San Francisco, has today announced its first international office, in London. You can now purchase UK telephone numbers at a cost of $1.00 per month, or Freephone numbers for $2.00 per month.

Twilio is not in competition with Skype or Google Voice; rather it offers an API so that you can incorporate voice calls and SMS messaging into web or mobile applications. The REST API lets you provision numbers with various options for what happens to incoming calls (conferencing, forwarding to another number or voice over IP, recording, transcriptions), as well as notifications so that you can get email or SMS alerts.

CEO and co-founder Jeff Lawson came from Amazon Web Services (AWS), and has a similar business model in that twilio targets developers and offers infrastructure as a service, rather than selling complete applications to its customers. Twilio does not own any datacenters, but uses mainly AWS and some RackSpace virtual servers to provide a resilient and scalable service.

The launch partner for the UK is Zendesk, a cloud-based helpdesk provider, which is using twilio to add voice to what was previously an email-based product. Zendesk forms an excellent case study. Using the service, you can provision a support number and have calls redirected to agents, or have a voicemail recorded, using a simple setup procedure. Calls can be recorded and you can have alerts sent when they are received.

What this means is that even the smallest businesses can offer helpdesk support using a pay-as-you-go model.

Lawson observes that twilio is the 6th and 13th most popular API on ProgrammableWeb (he says it is 5th if you combine voice and SMS) and claims very rapid growth in traffic using the API, though he will not talk about revenue. The company has around 60 employees in San Francisco and just one in the UK initially.

The service is also launching in beta for 5 other European countries: Poland, France, Portugal, Austria and Denmark. 11 other countries will be added by the end of 2011, though there are prominent omissions – no Germany or Spain, for example.

I was impressed by the demo and presentation at the press launch. Lawson provisioned a conferencing number and had us dial in during the briefing. He says twilio is engaged in disrupting on-premise telephony applications with a cloud service, in the same way Salesforce.com has done for CRM (Customer Relationship Management). The service is inexpensive to set up; Lawson said that this commodity pay-as-you-go pricing is essential for disruptive technology to succeed, another strategy borrowed from AWS.

There are server libraries for web platforms including Ruby, PHP, Java and C#, and client SDKs for JavaScript, Android and iOS.

Google offers the web a new language called Dart – but why?

Google has announced an early preview of Dart, a new language for web applications. The news is not a surprise, especially if you have been keeping track of the developer conference GOTO Aarhus, whose organisers had pre-announced that Google would be announcing its new language there, as indeed it did.

image

Dart is a curly-brace language like JavaScript, Java, C, C++ and C#. In Dart, as in C# and Java, a class can implement multiple interfaces, but only inherit from a single class. Dart supports both static and dynamic typing. Google says it can be executed by a Dart VM, or converted to JavaScript:

Dart code can be executed in two different ways: either on a native virtual machine or on top of a JavaScript engine by using a compiler that translates Dart code to JavaScript. This means you can write a web application in Dart and have it compiled and run on any modern browser. The Dart VM is not currently integrated in Chrome but we plan to explore this option.

Google also says that you will be able to “execute Dart code directly in a VM on the server side”, so you can infer that Google has Dart in mind as an alternative PHP as well as to JavaScript. The company is using the phrase “structured web programming” to describe Dart, and this phrase appears in the announcement and as the subtitle on the Dart site. The implication is that JavaScript code tends to be poorly structured and that Dart will promote more maintainable code.

In the preview Dart only runs in Chrome, Safari 5 and Firefox 4+ – spot the missing browser vendors.

At first glance, Dart looks like a promising language, though I find myself asking what it is really for, when it bears a strong family resemblance to existing languages, and bearing in mind that the Google Web Toolkit, which compiles Java to JavaScript, already enables structured programming for web applications. The list of problems which Dart solves in the technical overview is not all that compelling.

Google states that:

Developers have not been able to create homogeneous systems that encompass both client and server, except for a few cases such as Node.js and Google Web Toolkit (GWT).

This is or was one of the attractions of Microsoft Silverlight, presuming you use C# on both server and client, but Silverlight is a plug-in that was never going to run on an iPad and from which Microsoft itself is now retreating; though it is worth noting that Dart is not unlike C#, especially the latest version of C# with dynamic features.

I guess that Dart is a consequence of the failure of ECMAScript 4.0, which was a cooperative effort to create a more modern and advanced JavaScript. Google is now going it alone; the key question is whether it can win support from others such as Apple and Microsoft, or whether this will be a Google language for Google on the server and Chrome on the client, or an interesting experiment that never really catches on.

Do we need Dart? I would value hearing from others what you think of Google’s proposal.

Adobe Flash Professional to get HTML authoring features

I have just attended a session on the future of Flash Professional, the designer-oriented authoring tool for Flash, here at Adobe MAX in Los Angeles.

One feature that caught my attention is that export to HTML is coming to Flash Professional. Adobe already has a research project called Project Wallaby which converts .fla files to HTML 5, though I have heard that it is not very good. This one looks more promising, and we saw how a simple animation can be published to HTML and JavaScript and look exactly the same. Some of the key features:

  • There will be a limited ActionScript 3 to JavaScript conversion included.
  • There will be “guardrails” in Flash Professional, so that if you choose to work for HTML then incompatible options will be greyed out.
  • The exported code will use the same libraries as Adobe Edge, a new animation tool for HTML, and you will be able to open it in Edge and do further work on it there. The Edge approach uses jQuery as well as its own format for storing animations.
  • I got the impression that this feature will be in the next version of Flash Professional, which we can call for the sake of argument Creative Suite 6

We also got a glimpse of a future version of Flash Professional which will be 64-bit and use the native Cocoa framework on the Mac – but this will NOT be in the next version.

This move strikes me as significant, in that it shows Adobe’s ability to repurpose its tools for HTML 5 alongside Flash.

Does it mean that Flash is dead? That makes a good headline, but it is not the case. In fact, I have picked up some anxiety here among developers and designers concerning the future of Flash. They like targeting Flash and do not want to return to puzzling out endless browser compatibility issues, and having to limit their designs to what will work in the lowest supported version. They will have been reassured to hear about energy going into Flash development; the session I attended on concurrency in the Flash runtime was packed.

Stage 3D, the new GPU-accelerated 3D API in Flash, enables fast graphics that bring console-quality games to the browser. It will be a while before this is achievable in HTML that works across all popular browsers.

Flash is not going away, but nevertheless Adobe is in transition, and I am hearing more about HTML 5 at MAX this year than has previously been the case.

I am also seeing more focus on Flash as a cross-platform runtime that you bundle into your mobile or desktop application, using either the iOS packager or the Captive Runtime, so users will not even know that they are running Flash and will not need to download it separately.

Adobe Debut: my favourite of the new touch apps, cloud-side rendering

Adobe announced six touch apps for Android and Apple iPad tablets yesterday at its MAX conference in Los Angeles. These hook into cloud services offered by the Creative Cloud, also just announced.

My favourite among the new apps is Adobe Debut. The problem this addresses: you want to show your client the work you have done in one of the Creative Suite apps like Photoshop or InDesign. A tablet is ideal for handing round at a meeting, but Adobe will not be porting the full Creative Suite to iPad any time soon.

The solution: Debut runs Creative Suite in the cloud and sends down static images to your device. You can even see the separate layers in a Photoshop image.

image

It seems to me there is a lot of future in this kind of cloud-side rendering. Provided you have an internet connection, it is an elegant and scalable solution. In Debut, it is rounded off by commenting and mark-up features. The simplicity and focus of the app may make it preferable to running the full Creative Suite app locally, though it is not so good if the client asks you to change some detail RIGHT NOW.

Note: I have not actually used the app except in a brief demo.

No plugins in Metro-style IE, and here is why

This evening was Ask the Experts time at Microsoft’s BUILD conference in Anaheim, California, so I took the opportunity to ask the Internet Explorer (IE) team why the Metro-style IE does not support plugins such as Adobe Flash and even Microsoft’s own Silverlight.

I find it puzzling since the desktop IE in Windows 8 does support plugins, and when a page is open in Metro-style IE there is an option to open it in desktop Windows, in which case all the ActiveX controls start working.

The reason I was given is that Microsoft cannot control or predict the user experience if these plugins are running. For example, a Silverlight applet might have a user interface designed for mouse and keyboard. Microsoft has built in touch gestures that work for HTML in IE but cannot do so for plugins.

Once a user takes the decision to open in desktop Windows, these considerations change since desktop Windows is a mouse and keyboard environment.

I expect performance was also a consideration.

I was also told that Apple has made the no-plugins option viable by taking the same line in the iPad. Sites have been forced to offer iPad-friendly versions of their sites, which will also work in Windows 8 Metro.

Adobe says role of Flex and Flash has changed, makes play for mobile

Adobe’s Andrew Shorten has posted on the future of Flex, the developer-oriented tool for building applications for the Flash runtime.

This is one of the clearest statements I have seen from Adobe that recognises that the role of Flash on the web is diminishing:

There are countless examples where, in the past, Flex was (rightly) selected as the only way to deliver a great user experience. Today, many of those could be built using HTML5-related technologies and delivered via the browser, and at Adobe, we will provide tooling to help designers and developers create those experiences – Edge and Muse are two such examples.

Adobe is not giving up on Flash, of course, and states that it is still the best for certain categories of application:

We firmly believe that Flex is already the best technology for building complex, high fidelity enterprise applications such as business dashboards, line of business tools, real time trading applications and desktop replacement applications.

I would add both statements are written from the perspective of application developers. The role of Flash as a video and multimedia player is a separate issue. Flash is also important in that context. There is some overlap, in that if your application includes multimedia content then Flash is correspondingly more attractive.

As an aside, it is interesting to note that this repositioning of Flash makes it not so different from Microsoft’s Silverlight: a runtime for business applications.

Adobe is focusing on a new market for Flex in mobile. This overcomes the Apple iOS problem, since you can compile a Flex application to iOS native code. Adobe promises “additional mobile development capabilities” later this year and says:

In our next major release timeframe we expect that the need to build a fully-native application will be reserved for a small number of use cases.

I agree that cross-platform mobile development is a key area and one where there is no clear winner yet. It is a good opportunity for Adobe, though there is increasing competition from the products like Appcelerator Titanium and PhoneGap.

I also think that Embarcadero’s new RAD Studio XE2 will attract interest. This tool which will be released soon does native code compilation across Windows, Mac and Apple iOS, with Android promised, using the Delphi IDE and language.

Adobe Muse: so what is wrong with Dreamweaver?

Adobe has released a preview of Muse, a new web site design tool.

My first reaction was one of be-musement. What is wrong with Dreamweaver, the excellent web design tool included in Creative Suite? Bearing in mind that there is also a simplified Dreamweaver aimed at less technical business users, called Contribute.

Here are some distinctive features of Muse:

1. It is aimed at non-coders. The catch phrase is “Design and publish HTML websites without writing code”. Muse actually hides the code. I installed Muse on a Mac, and one of the first things I looked for was View Source. I cannot find any such feature. You have to preview the page in the browser, and view the source there. That is in contrast to Dreamweaver, where the split view shows you simultaneous HTML and visual designers, and you can edit freely in either.

2. It is an Adobe AIR application. I discovered this in a bad way. It would not install for me on Windows:

image

A curious error. Luckily I am also working on a Mac right now, and there it worked fine.

image

3. It will be sold by subscription only. The FAQ answer is worth quoting in full, as it describes one of the key advantages of cloud computing:

Muse will be sold only by subscription because it will allow the Muse team to improve the product more quickly and be more responsive to your needs. Traditionally Adobe builds up a collection of new features over 12, 18 or 24 months, then makes those changes available as a major upgrade. It is anticipated that new updates of Muse will be released much more frequently, probably quarterly. New features will be made available when they’re ready, not held to be part of an annual or biannual major upgrade. This will enable us to stay on top of browser and device compatibility issues and web design trends, as well as enabling us to respond to feature requests and market changes in a much more timely fashion.

I am reminded of Project Rome, a cancelled project which was also intended to be subscription only. Rome was for desktop publishing, Muse is for web design; otherwise there are plenty of parallels.

4. Muse promotes Adobe hosting via Business Catalyst, and if you select Publish this is the sole option:

image

Of course you can also Export as HTML. Still, it looks as if Muse is intended as part of a wider initiative which will include hosting and web analytics.

5. Muse is not a Flash authoring tool. Check out the Features page. The word Flash does not appear. Nor did any hidden Flash content appear when I exported a page as HTML. My guess: there is a quiet Flash crisis at Adobe, and the company is hastening to make its tools less Flash-centric, in favour of something more cloud and HTML 5 based. I do not mean that Flash is now unimportant. It is still critical to Adobe, and after all Muse itself runs on Flash. However it is being repositioned.

A few comments. Unfortunately I’ve not yet spoken to Adobe about Muse, but the obvious question is reflected in my heading: what is wrong with Dreamweaver? To answer my own question, I can see that Dreamweaver is a demanding tool, and that Muse, while still aimed at professionals, should be easier to learn.

On the other hand, I recall many early web design tools that tried to hide the mechanics of web pages, some more successful than others, and that in the end Dreamweaver triumphed partly thanks to its easy access to the code. Some still miss HomeSite, an even more code-centric tool. What has changed now?

Needless to say, Dreamweaver is not going away, but there is clearly overlap between the two tools.

Of course non-coders do need to be involved in web site authoring, but the trend has been towards smart content management tools, such as WordPress or Drupal, which let designers and coders develop themes while making content authoring easy for contributors. Muse is taking a different line.

Watch this space though. Even on the briefest of looks, this is an impressive AIR application, and it will be interesting to see how it fits into Adobe’s evolving business strategy.

Update: Elliot Jay Stocks blogs about the code generated by Muse, which he says is poor, and his opinion that it is too much print-oriented:

warning signs are present in this public beta that suggest Muse is very much a step in the wrong direction.

Wolfram announces Computable Document Format for interactive docs

Wolfram has announced the Computable Document Format (CDF), a document format that enables live computation to be embedded within it. “It’s a new way to communicate the world’s quantitative ideas much more richly than we have in the past, and in doing that a new kind of active document,” says  Conrad Wolfram, Strategic Director of Wolfram Research. That said, the technology here is not really new. There is a close relationship between CDF and Mathematica, Wollfram’s tool for creating mathematical calculations and simulations. The authoring tool for CDF is Mathematica:

image 

The announcement then is really about a new player for Mathematica content and applications, to broaden their usage. The CDF player is free, though there are some limitations. If you charge for your document, or want to display it without the player chrome, then a paid licence is needed. A CDF document can also be compiled into a standalone executable, blurring the distinction between document and application.

The CDF player is available for Mac, Windows and Linux. There is also a browser plug-in for embedding CDF documents into web pages.

It is easy to find use cases for CDF. It is for documents where there is value in performing calculations or interacting with data within the page. An example is pension planning:

image

We have all seen those documents with a series of projections based on different assumptions about retirement age, contributions, investment growth and so on. This works better as an interactive chart where you can enter whatever values you like.

Other examples are statistical analysis and business intelligence, textbooks and course books where students can interact with equations and simulations, business proposals where you want to show how financial projections change based on different assumptions, or even general news reports where instead of a static chart you might want to show interactive graphics that let readers drill down into the data that interests them, or see real-time results.

Along with the computation engine, CDF supports a decent range of traditional content formatting features including cascading stylesheets.

Wolfram is correct in assuming that this kind of interactive document is important, and something we will increasingly take for granted in the era of the Web, eBooks and tablets. But can it succeed in establishing its own new document format when we already have HTML, Adobe PDF and Flash, Microsoft Excel and PowerPoint, and other formats which are also capable of embedded interactive content?

That is a key question. Wolfram offers a table which claims to show the benefits of CDF versus competitors such as HTML and PDF, but it is as skewed as these tables usually are. Wolfram says a PDF document cannot be compiled as a standalone executable, for example, but a PDF in an Adobe AIR application comes close. It is also worth noting that you can embed Flash in PDF, which would be an obvious route to something like the pension planning document mentioned above.

Nevertheless, CDF does have advantages. In particular, it has Mathematica, and whereas authoring a Flash applet requires programming and design skills, Mathematica is more approachable presuming you have the necessary mathematical, scientific or financial skills; and if you do not, you should not be authoring the document. Mathematica will construct a user interface automatically. It also has a huge range of built-in algorithms, functions and charts. Wolfram claims that authoring a CDF should be within reach of anyone who can work with an Excel macro.

The challenge Wolfram faces is how to make CDF usable across a broad range of devices and clients. Having to install a player or plug-in is a considerable deterrent. PDF or better still HTML5 has broader reach and works on Google Android and Apple iOS as well as on desktop PCs.

I tried the CDF plugin and player on Windows 7 and encountered several issues. The plug-in does not play nicely with Internet Explorer’s Protected mode and I saw this dialog frequently:

image

I also had some issues with the player. I could not get an example document on Gulf Oil Spill Estimation to work:

image

The player is currently for Windows, Mac and Linux – what about Apple iOS? Wolfram says it is working on this, with a two-pronged approach. One idea is presumably based on some sort of app, I’d guess either a player if Apple allows it, or some way to compile a CDF into an app. The other idea is to render the interactive parts server-side, so you could use them in a web page without a plug-in. This second idea could also remove the need for a plug-in on the desktop. You will get a performance hit because of all those trips back and forth to the server, but this could be mitigated by high performance computing on the server that will perform calculations more quickly than your client.

I can see CDF being popular within its niche, but whether it can transition into being a mass-market format I am not sure. Established plug-ins and runtimes such as Adobe Flash, Microsoft Silverlight, and Java on the client are all under pressure, particularly as Apple’s iOS spreads its reach; it is not a good moment to launch a new format that has a plug-in or runtime dependency. I wonder if Wolfram is exploring the possibility of compilation to HTML5 and JavaScript?

Despite these reservations, the broader vision behind CDF seems to me spot-on. There are many cases where we currently see static charts, that would be better served by an embedded computation engine.