All posts by onlyconnect

Interview: Salesforce.com exec Parker Harris on the technology behind the platform

A couple of months ago, I attended Cloudforce in London, where I spoke to Salesforce.com co-founder Parker Harris, Executive Vice President, Technology.

The Salesforce.com platform is interesting for all sorts of reasons. The company has been a powerful advocate of cloud computing from before its adoption by other industry giants, and its service is as far as I can tell well liked by its customers. The technology is interesting as well. The CRM (Customer Relationship Management) application that is the core of the Salesforce.com offering is both a web application and a web service API, with more transactions conducted programmatically than through the browser. The Force.com platform is multi-tenanted, and the company believes that only this type of platform delivers the full benefits of cloud computing. In December 2010 the company acquired Heroku, at the time a company dedicated to running Ruby applications in the cloud, though it now has a broader offering. Salesforce.com was also where I first heard the term “Social Enterprise”, a phrase now taken up by others such as IBM and Microsoft; in fact, Social Enterprise was the dominant theme at Cloudforce.

image

I asked Harris how the company copes with scaling its platform as demand grows.

“We’ve gone through a few changes. We came up years ago with a concept we call a ‘pod’, which is one set of multi-tenant customers. There’s a database in there, there’s application servers, search servers, all kinds of things. So that was a unit of scale. And we invested heavily in capacity planning, just to watch and see how those grow, and so we fill them up to a certain size and then we grow horizontally and add more.”

Harris adds that pods are organised in sets called super-pods, which provides isolation in the event of a failure.

One of the goals is to make the system scale horizontally, whereas the Oracle database on which the platform is built tends to be a vertical unit of scale. "

“We’re doing a lot of research work in looking at horizontal scalable systems like Hbase for example, to look at how can we do more horizontal stores. And then finally we’re in the middle of a process of moving a lot of our processing to completely asynchronous handling, so that as transactions come in they’re being handled in an asynchronous way. Even though the consumer feels like it’s synchronous, the back end will be completely asynchronous, which will then give us even more control and capability to scale.”

In the past I have thought of the Force.com platform as in effect a big database. I asked Harris if that is still the case?

“We have big databases, but I think of it more as a meta-data platform. Behind that meta-data we do have a big database, we also have a big file store, we have a big search engine, which is another unit. That’s really what you know as Salesforce.com. And that’s fully multi-tenant, it’s way at the extreme end of multi-tenancy.

“Heroku is really virtualised single tenancy. So it’s more towards an infrastructure as a service layer. For some workloads and some use cases that’s fine. If you want the predictability of ‘the software I wrote on my computer needs to run exactly the same here’, that’s where that takes place. But you don’t have the higher-level capabilities of Force.com, you don’t have everything working out of the box.

“Where we’re headed is, you’ll have the 4GL of Force.com, you’re going to have the 3GL of Heroku, and you’ll be able to choose.”

At one time Salesforce has a partnership with VMWare called VMForce. What happened to that?

“We don’t have a technical partnership with VMWare, but we do have a close relationship with them. We want to have applications that work in VMWare’s cloud able to move into Heroku or vice versa. Really what happened is, we started the relationship with VMWare and then we discovered Heroku. We were just blown away by the technology there and the team, and that was when we ended up acquiring Heroku, but we still see VMWare as a huge partner. We’re a big customer of VMWare, they’re a big customer of ours.”

You talked at Cloudforce about HTML mobile apps versus native apps, and you seem to be more on the HTML side?

“I was making the point of HTML versus native code. This is an argument that goes on inside of Salesforce, it is a religious debate, but I believe that you can build some extremely rich applications with native code, and you can build them very quickly. The complexity for me happens when you introduce business systems that are on an enterprise platform. If you think about our metadata engine, it’s very powerful, and I can create triggers, I can change the UI, I can do all these magic things, and immediately it works. Change the UI into Japanese, it immediately works.

“If I’m building something 100% native, I have to replicate that platform in the native code, and that’s for me a no-win situation, because this is going to keep moving, and the native code will be behind, it will be playing catch-up. So if it’s for an enterprise business system on a platform like ours that’s metadata driven, you really need to have that be directly from the cloud.

“If you think about the Chatter feed or the business forms, that I believe needs to be HTML5. But I want to use the camera, I want to have files local to the device, that I can open, and various programs, I want location to work, and maybe I want to use the map application: so there are some native assets too. And then when you think of security, I don’t want to have to go to a web page and enter my username and password, and maybe have to VPN in, I don’t want to do that every time I use the application.

“So instead what you do is have a native container that wraps all this HTML5 code, gives you access to things like the camera, but also is a way to store an Oauth token, it now has the right to access my data, and from then on I can just use the application. It’s really high usability.

“I also think we still have a sometimes-disconnected world. That’s frustrating. So I do think there should be a cache, a recent cache of what you’re working on. That’s my view of where we should be going with these disconnected use cases.

“So that’s where we’re going, and we’re open sourcing a lot of this. We have a native container and we’re open sourcing it so people can see how we built it and add to it. We’ve got a UI framework that we’re going to be open sourcing. It’s an HTML5 component framework. Touch, that we announced last year and is going beta now, Touch is built with that framework, and that’s the framework that we will eventually open source so people can use it with their own applications.”

image

Do you use PhoneGap/Cordova for the native wrapper?

“We do. We do a lot on WebKit-enabled browsers, and when you think of the native container, it’s really going through PhoneGap to get to some of the local resources.”

What about your SOAP and REST APIs?

“We have backward compatibility for all of our APIs, because we don’t want to force people to rewrite their code. We do see lots of use  cases for SOAP, but more and more people are doing RESTful interfaces, and when their writing these mobile applications they really want REST APIs so we’re building a lot more of our own.”

How has Heroku evolved since you made that acquisition?

“There are a couple of huge events. One is, they were just a Ruby platform when we acquired them, and now they are a polyglot platform, so they can run many different languages. They’ve also shown how they’ve built support for these other languages, so other people are able to write support for other languages.

“The other big change was when Facebook on their developer page said, if you want to build a Facebook page or application, here’s how to do it, and if you want it hosted in the cloud, use Heroku. There may be others by now, but we saw a massive uptake in the number of applications being created. We’ve seen a huge number of applications grow from when we acquired it to now and with a big spike through that Facebook relationship.

“We have Heroku enterprise bundles that are available now. People are buying Heroku as part of a SELA, or a Social Enterprise License Agreement.

“Developer adoption is still very important. We want to monetise it, but we don’t want to lose this huge asset of the appeal to the developer community. It’s still early for Heroku.”

I also spoke to Harris about the Social Enterprise concept, but will post that separately.

Access Web App: at last a simple web database app builder from Microsoft

One thing hardly mentioned in the press materials for Office 2013, and therefore mostly ignored in the immediate publicity, is Microsoft Access 2013. It is included though, and its most interesting new feature is a thing called an Access Web app.

image

To make one of these, you click the big “Custom web app” button on the opening screen. The first thing you are asked is where to put it. It is looking for a SkyDrive or Office 365 team site – essentially, online SharePoint 2013 I imagine. If you are not signed in, this screen appears blank.

Advertisement

I selected Skydrive at my Office 365 preview site.

image

Hit Create and you can select an app from a template. I chose a Music Collection app. Access generated several tables and forms for me and opened the design environment.

image

The template app is a bit daft – Artists and Labels are based on a People template, so you get Labels with a Job Title field – but that does not bother me. What interests me is that Access generates a relational database that you can edit as you like. The template UI offers either a list/detail view called a List, or a Datasheet which shows rows in a grid format. There is also a Blank view which you can design from scratch.

I had a quick poke around. Access Web Apps do too good a job of hiding their innards for my taste, but what you get is a SharePoint app with data stored in SQL Server Azure. You can also use on-premise SharePoint and SQL Server 2012.

Programmability in Access Web Apps is limited, but you do get macros which let you combine multiple actions. There are two kinds of macros, UI macros and Data macros. UI macros support a range of actions including SetVariableif and else statements. The only loop functions I can see are in Data macros, which include a ForEachRecord action. You can call Data macros from other macros and a Data macro includes a SetReturnVar statement, so I guess with a bit of ingenuity you can do many kinds of automated operations. Macros are described here.

image

In my quick test, I put a button on a view and had it show a message. Apologies.

The application files are all stored on SharePoint, rather than locally, so I presume you could easily edit the app on any machine with Access 2013 installed.

Click Launch App and the web app opens in the browser. Everything worked, including my MessageBox.

image

I also tried it on the Google Nexus 7 Android device. Again it seems to work fine, though I did get some odd behaviour returning to the app. There are possibly some authentication issues.

image

An Access Web App is just another SharePoint app, as explained here, so you can publish it to selected groups via the built-in store.

There is no way that I can see to craft your own SQL, which to me is a disadvantage, but maybe we will discover how to bypass the UI and open a database in SQL Management Studio, or access it programmatically from other environments.

It seems to me that what Microsoft is offering here is what it tried, but failed, to offer in Visual Studio Lightswitch: database programming for the non-specialist. Access has always done this, though unfortunately it is easy to make rather a mess if you do not know what you are doing. An Access Web App gives the developer/user fewer ways to go wrong, and builds cross-browser web apps. It is not yet possible to judge whether Microsoft has got the feature set right, but fundamentally this looks useful for simple custom business database applications of the kind that many small organisations and departments find they need. It is a big advance on MDB files stuck on a file share, fits with the BYOD (Bring Your Own Device) concept by working on iPads and the like, and makes it easy to get started and experiment. Good work.

Office 365 for developers: Getting started with Microsoft Napa

One key aspect of Microsoft’s forthcoming Office 2013 is its support for a new app model. The idea is that rather than building local add-ins for desktop Office, you will build web applications that live in one of four places:

  • In SharePoint
  • Within an Excel document
  • Within a Task pane in Excel or Word
  • Adjacent to an email in Outlook
Advertisement

If you have been following Office development for a while, it is hard to supress an initial reaction of “oh no, not another development model for Office.” After all, we have had Basic macros, Visual Basic for Applications, COM Add-ins, Visual Studio Tools for Office, and in the case of Exchange, other APIs such as MAPI and Exchange Client Extensions. Further, most of this stuff still works, which is a mixed blessing as the the whole thing gets more bloated and confusing.

Even so, I can see the sense of the new Apps for Office. One key advantage is that they work in Office Web Apps as well as in the desktop applications. They are also easier to deploy and secure, since they require no executable files on the client, are sandboxed, and only interact with the local document via a JavaScript library. That may not always be sufficient of course, in which case you can stick with one of the older extension models (personally I still find VBA useful), but where it is sufficient, this strikes me as a good approach.

That said, there are plenty of gaps in the list of supported app types:

Application Supported types
Excel 2013 Preview Task pane, Content
Excel Web App Preview Content
Word 2013 Preview Task Pane
Outlook 2013 Preview Mail
Outlook Web App Preview Mail
Project Professional 2013 Preview Task Pane

It would be good to see content apps supported more widely. Still, it is a start.

Office program manager Brian Jones has an excellent post on the background to apps for Office and SharePoint, which inspired me to sign up for a developer preview. Microsoft had already created an Office 365 preview account for me, but this other one is the real deal: you get to administer an entire test organization, complete with SharePoint, Exchange 2013, and all the Office 2013 preview apps.

After sign-up, it took a few minutes to provision, and then I was able to add the Napa development tools to the site. This is itself a cloud app. It is easy to get started: choose the type of app you want and you are in.

image

Napa is a cloud IDE, essentially a code editor with some syntax highlighting and code completion.

image

The real joy, if you have ever done SharePoint development, is how easy it is to deploy. Just click the Run button.

image

Once installed, you can launch the app with a click, provided you have enabled pop-ups on the site. An Excel content app works in the same way, but opens up the app running in an Excel Web App spreadsheet.

I am sure seasoned Microsoft platform developers will find Napa rather limiting, but there is also an Open in Visual Studio button, and all going well you should be able to do most of your coding in Visual Studio, upload back to Napa, and still get the benefit of easy test and deploy.

image

If you are pleased with your app you can easily offer it for sale by publishing to the Office store:

image

The implications for Office 365 are rather profound. It is evolving into a true extensible cloud platform, where businesses can add apps and deploy to their users using an app store model.

That said, you can argue that Microsoft is playing catch-up here. For example, Salesforce.com has had Force.com for years, and I know from visiting the huge vendor exhibitions at events like Dreamforce how strong that marketplace has turned out to be. Salesforce has also enabled its users to build apps in the cloud for many years now.

All true; but Microsoft’s approach does have the advantage of continuity. As I mentioned above, the old stuff still works, so customers can move at their own pace towards a cloud-based platform.

For more information, I recommend this overview.

Adobe Brackets: a different type of HTML and JavaScript code editor. Interview with Adobe’s Adam Lehman.

On Adobe’s Tools and Services page there is an intriguing remark about the company’s plans for a code editor. “We think there’s a need for a different type of code editor – we’re working on something and will have more to share soon.”

image

That something is Brackets, a code editor written in HTML and JavaScript (which means, as with all the best tools, that you can code Brackets in itself).

Advertisement

Although Brackets is written in HTML and JavaScript, it is not yet a web application. Instead, it runs on the desktop using Google’s Chromium Embedded Framework (CEF), which lets you embed the Chrome (strictly, the Chromium) browser engine in a desktop application. In the case of Brackets, the wrapper is lightweight, the intention being that in future Brackets may be fully browser-hosted. The consequence though is that currently you need Google Chrome installed and it only runs on Windows and Mac.

The project is open source under the MIT license; anyone can grab the code from Github. Brackets also depends on another open source project, CodeMirror, which is a JavaScript editor component for browsers. I installed it on Windows and soon had it up and running. Note that you should pull brackets_app if you want to run it, as this brings down the Brackets code as well.

image

I spoke to Brackets Product Manager Adam Lehman. “This might be the first project we started with the intent of being open source from day one,” he said.

“Our general intent is that we wanted to provide an editor that web developers felt that they could own. In the past we might have built something in Eclipse, and there would have been this giant gap between the person who knew HTML, JavaScript and CSS, and then having to write a Java-based Eclipse plug-in to extend the editor.

“When we start talking to developers, they’re going back to just text editors, things that don’t do much more than edit and manage a document, and as complex as HTML and JavaScript apps are getting these days, it seemed crazy that our tools weren’t keeping up with us. So the idea was to start this project, add a little bit of our own ideas, and have the community supply their own ideas.”

But how does Adobe intend to use Brackets in its own products, and what is the business model?

“We believe there are two spaces for the editor market. There is the larger IDE, but there’s also these lightweight text editors. We’re finding that the traditional JavaScript and HTML developer, CSS developer, was heading towards the lightweight text editor and not towards the larger IDE. We don’t see Dreamweaver and Brackets as direct competitors because they service two different tastes. It wasn’t a matter of could we add a feature here or there that was going to get people to use Dreamweaver. It was that difference between our larger tool and a much lighter weight tool. That’s where Brackets come in.”

How then will Brackets tie in with other Adobe products?

“That’s the key for Brackets. We wanted to see if we could innovate in the space and we also wanted to have a common language that we could start targeting. When you say, I want to open up an editor from Adobe Edge and start coding, we needed to define what that editor would be, so Brackets would come into that.

“We’re also saying we need to do better tooling around PhoneGap. A lot of people are fine with the command line, but we want to take a step beyond that and so Brackets is the obvious place where we’ll start to build an extension where we can tie into PhoneGap Build, or extensions around the PhoneGap APIs.

“We’ve got a lot of ideas around using Brackets to bring a lot of our HTML efforts together, not only our core HTML products but also a lot of the W3C and WebKit work that we’re doing. Brackets is a great place to put tooling, that isn’t quite ready for mass consumption yet, but we could actually build extensions for something like Shaders where those people who are interested in it can get in and start playing around with it.

“The beauty of building on the web platform is that we can go wherever the web platform goes.”

Initial prototypes of Brackets ran entirely in the browser, which would be interesting for future versions of Adobe’s Creative Cloud as well as other scenarios, but Lehman said this got mixed reactions.

“While we believe that the future of development is heading towards the cloud, and the general consensus from developers is the same, we also heard that it is not ready yet. We decided to focus on a desktop version first, with the idea that towards the end of this year or beginning of next year we’ll start to supplement with other targets, whether it be in the cloud or  a tablet, or embedded in a tool like Edge,”

says Lehman. He adds that a browser-hosted Brackets could end up integrated with the PhoneGap Build site. PhoneGap Build is a service for compiling cross-platform HTML and JavaScript into mobile apps for a variety of devices.

Since Brackets is built on Google’s Chrome/Chromium platform, what are the implications for cross-browser compatibility?

“There’s two pieces to it. There’s our container that Brackets runs in, and that is running on Chromium.

“The other part is that we have this live preview system which is tied directly to Chrome on the desktop. We happened to just start with Chrome, mostly because there is a remote debugging API that’s pretty fleshed out there.

“With Firefox and Internet Explorer, it’s a little bit different. We talked to Mozilla and they’re just now starting to work on that remote debugging API and trying to get it inline with where Chrome is, so we’re expecting to hear from them in August that they actually might have an API where we can start to build that same functionality, which is our intent.

“We’ve already started engaging with Microsoft about Internet Explorer. Right now their remote debugging API is somewhat private and in the form of a COM object which is not ideal coming from a JavaScript perspective, but we’ve showed them what we’re after, and we’ve started discussion of what a remote API from IE might look like that didn’t require COM. We’re exploring those options. Those are our priorities right now.

“If we build a cloud-based version then it’s going to be a question of what browsers this is going to run in. Our intent is to run in the modern major browsers. We aren’t building anything that’s Chrome-specific, we’re doing our best to stay as browser-agnostic as we can, but we are likely to require a more modern browser. We feel it would be OK to require the latest versions of Firefox, IE or Chrome.”

I asked Lehman whether Brackets might be useful for server-side as as client-side code. He said that Brackets is focused on the client, though a community extension is under way for node.js. He adds that since Brackets is fully extendable, others may do plug-ins for languages such as PHP.

Why is Brackets at Github and not Apache?

“We have a lot of people at Adobe who work for Apache now, and we talked to them before we released Brackets. Our sense is that Apache might be too much of a turn-off for the individual contributor, who just wants to hack and fix a bug and submit it back,”

Lehman told me. Although there are external contributors, all the committers are currently at Adobe, though there are plans for adding external committers by the end of the year. “We don’t want this to be 100% Adobe controlled.”

When will Brackets get to version 1.0?

“We’re being as agile as we can. Every bit we add, it comes closer to being a 1.0 for somebody. The things that I think are missing that you would expect out of a core editor are around code-completion for CSS and JavaScript, and solid and advanced search and replace. In the web world, that’s how we refactor code. We’re hoping to drive those in by November time. But we are on 2.5 week sprints and things change rapidly.”

I also asked about plans for a mobile app version of Brackets. Lehman says that is planned for next year, though the community is working on getting a Linux version working and support for ChromeOS.

Brackets is a fascinating project on several levels. What stands out is how far Adobe has moved from being the Flash company. A few years back Adobe came up with a system for having Flash applications run on the desktop and on mobile devices: Adobe AIR. It also invested in Eclipse and came up with the Flash Builder IDE.

Now here is Adobe with an open source project for a desktop application built from HTML, JavaScript, and a third-party open source browser engine; and in place of mobile AIR it has PhoneGap.

It is a big change, most of which has become publicly known in less than a year, signalled by the repositioning of Flash and AIR versus HTML in September 2011, and the abandonment of Flash for Mobile in November 2011.

As for Brackets itself, it is well worth a look though probably not a tool you want to use for real work just yet. In a few months though, that may well change.

Postscript: Brackets reminds me of another Adobe, or rather Macromedia, HTML code editor. That was HomeSite, an excellent text-based tool that Adobe discontinued in 2009; active development ceased years before that.

Offline web mail in new Office 365 and Exchange 2013 Outlook Web Access

Microsoft has posted details of the forthcoming Exchange 2013, and one of the features that intrigues me is the ability to use the browser-based email client, Outlook Web Access (OWA), offline.

Since offline use is one of the primary issues with web applications, this is a key feature. It would be particularly interesting if it worked with mobile devices such as the Apple iPad or Google Android tablets.

I asked about this and was directed to this table, which states that offline access is supported in Internet Explorer 10 or later, Safari 5.1 or later, and Chrome 18 or later. Offline is not supported on mobile browsers, nor on “Windows 8 tablet”.

image

I have not seen Microsoft use the term Windows 8 tablet in a technical sense before. I presume it means Metro-style IE and Windows RT?

Next, I went to my preview Office 365 account on a Windows 8 tablet (ha!) but in desktop IE, and noticed that OWA already has an offline option there, which I presume is essentially Exchange 2013 though perhaps with some differences.

image

I selected the option and was prompted to confirm.

image

I clicked Yes and was prompted to add to favourites.

image

Then I closed the browser, turned on Airplane mode, and restarted.

Success! I was able to return to OWA, compose and send an email. Note the Airplane mode icon in the screen grab.

image

Looking at IE settings I also had an offline cache set for outlook.com.

image

I closed the browser, re-enabled the network, and restarted.

Bad news, my first email was never sent. I tried again though, and this time confirmed that, while offline, my email was in an unsent folder.

image

However, when I went back online I could not see it in sent items. I made a third attempt. Eventually though, both my second and third attempts succeeded and I got the email.

image

That’s good, but I have a few observations (bearing in mind that this is preview software):

1. The experience in Metro-style IE is terrible. You can enable offline there (I tried) but it does not work. And where is the cache setting for Metro-style IE, is it shared with desktop IE? Does it have one? This whole relationship between the two forms of IE 10 in Windows 8 is obscure and difficult.

2. What happened to my first email? Did I not in fact click send (I am fairly sure I did)? Losing emails is bad and can be costly.

3. This offline setting would be particularly useful on mobile devices so I would like to know what plans Microsoft has to get it working.

Recovering documents from SharePoint 2010

I mentioned the other day that an update broke my SharePoint installation. The timing was bad as I was just about to leave the office for a few days, so as it turned out I did not get to focus on this properly until last weekend. This virtual server is backed up nightly. I restored from before the failure but it still did not work. Perhaps there was an update pending that was not fully applied until the server restarted, so that even my “good” backup was bad.

The error was frustrating. Accessing a SharePoint site got me a 503, service unavailable. I could run either psconfig or the SharePoint Configuration Wizard without error, but it still did not work. The event log showed a bunch of errors that made little sense to me, including those annoying DCOM activation errors, and database login errors when the accounts concerned had valid logins.

It was wasting too much time so I went for plan B. Reinstall SharePoint from scratch and restore the content database.

This was actually easier than I expected. I backed up WSS_Content using SQL Server Management Studio. I then removed everything SharePoint, and deleted a couple of remnants in IIS. Reinstalled and everything worked.

After that it was simply a matter of attaching the old content database. Well, nearly that simple. My first attempt failed because SharePoint was not fully patched and had an earlier schema than the content database. I manually downloaded and applied the latest SharePoint hotfix rollup. Then I attached the old content database to a new SharePoint site, and everything came up just as before.

I find this reassuring, as keeping documents as blobs in SQL Server is just a little scary from a recovery perspective.

Even if attaching the database were to fail, it is not too bad. You can write code to write out the documents to files and recover them that way. There are some clues here.

Intranet and Mail hassles with Windows 8

Microsoft has made changes to networking in Windows 8, mainly I presume for security reasons, but there are odd side-effects, at least in the Release Preview version.

One is that if you browse to a site on your intranet in the Metro-style browser, you are likely to get a connection failure. This is what I get when trying to get to my Logitech Media Server (the Squeezebox server):

image

A bunch of useless, misleading suggestions and that is it.

The solution is to go to desktop IE, Tools, Internet options, Security, Trusted Sites, Sites and add the target URL to the list of Trusted sites. Now it works fine in Metro-style IE:

image

I got exactly the same behaviour with Outlook Web Access on the intranet. It did not work from Metro IE until I added the URL to Trusted Sites.

I am not sure if this is “expected behaviour”; I hope it is not, because it is a significant annoyance. The answer may lie in Microsoft’s Enhanced Protected Mode, described here, but although this states that Metro-style apps cannot connect by default to a server running on the same machine, it does not suggest that the entire intranet is blocked. The security benefits are also compromised if you can easily bypass them by running desktop IE.

While I am on the subject, I am still puzzled by the problems the Metro-style Mail app has with connecting to Exchange when this is configured with a self-signed certificate. I obtained a free SSL Cert from StartCom and confirmed that using a cert from a recognised issuer does fix the problem, though it is not a perfect solution for me because of the detail of my setup.

I would still like to know exactly what is stopping the self-signed approach from working. There are numerous discussions on the subject (this is one of the best) but I have not seen any definitive explanation from Microsoft. Following a suggestion from that thread, I have tried publishing the CRL (Revocation List) on the internet but that has not fixed it for me.

Security is great but we do want to get stuff done with our computers and some of this stuff just seems obstructive. Even if Microsoft is doing the right thing here, that is no excuse for false error messages. Mail, for example, reports “Unable to connect. Ensure that the information you’ve entered is correct.” How hard would it be to report a problem with the server certificate?

WHATWG to accelerate work on HTML5 “Living Standard”, diverge further from W3C HTML5

Google’s Ian Hickson, who is the editor of HTML5 at the WHATWG group, has announced an “Update on the relationship between the WHATWG HTML living standard and the W3C HTML5 specification” in a message that seems to express frustration at the slow pace of the W3C standards body.

There have long been two versions of HTML5, one managed by WHATWG, and the other by the W3C. When the W3C embraced HTML5 in 2007 it used the WHATWG work as its starting point. However, rather than folding its work into the W3C, the WHATWG continued to develop a separate specification of its own.

Hickson now says:

More recently, the goals of the W3C and the WHATWG on the HTML front have diverged a bit as well. The WHATWG effort is focused on developing the canonical description of HTML and related technologies, meaning fixing bugs as we find them [1], adding new features as they become necessary and viable, and generally tracking implementations. The W3C effort, meanwhile, is now focused on creating a snapshot developed according to the venerable W3C process. This led to the chairs of the W3C HTML working group and myself deciding to split the work into two, with a different person responsible for editing the W3C HTML5, canvas, and microdata specifications than is editing the WHATWG specification (me).

A practical consequence of the split is that there will no longer be a single bugtracking system for bugs that apply to both the WHATWG and W3C specifications. These will now be managed independently.

Hickson adds:

The changes described above are unrelated to the change announced in April regarding the WHATWG’s adoption of the W3C Community Group mechanism, but together they mean we are now independent of the W3C HTML Working Group again, while still maintaining a working relationship with the W3C. [4] My hope is that the net effect of all this will be that work on the HTML Living Standard will accelerate again, resuming the pace it had before we started working with the W3C working group.

The outcome appears to be greater divergence between the two standards, with new specifications drawn up by WHATWG that may not be adopted for a long time, or may never be adopted, by the W3C. There is increasing risk of incompatibility as well, though Hickson says there will still be a “working relationship”.

One of the browser vendors most affected is Microsoft, which supports the W3C but is not a member of WHATWG.

PhoneGap 2.0 released with WebView, Windows Phone support

Adobe has released PhoneGap 2.0, its framework for creating cross-platform mobile apps using HTML and JavaScript. Using PhoneGap, you can wrap a web application as a native app, taking advantage of the browser control available in all the major mobile platforms.

New features in PhoneGap 2.0 include Windows Phone support, WebView which lets you embed a PhoneGap fragment into a larger native application, improved tooling and a unified JavaScript API across all platforms called Cordova-JS.

The Mac tooling has been improved and no longer depends on Xcode templates. Instead, you create a new project at the command line. However, you do need Lion or Mountain Lion to use PhoneGap.

The associated Apache Cordova project is “nearing graduation from incubation”, according to Adobe’s release.

image

Microsoft financials: still growing in the cloud era, but watch out for tablets

I am in the habit of putting Microsoft’s results into a simple table. Here are the latest:

Quarter ending June 30th 2012 vs quarter ending June 30th 2011, $millions

Segment Revenue Change Profit Change
Client (Windows + Live) 4145 -598 2397 -511
Server and Tools 5092 +568 2095 +409
Online 735 +55 -6672 -5927
Business (Office) 6291 +339 4100 +399
Entertainment and devices 1779 +292 -263 -276

It is easy to spot the stars: Server and Office.

It is also easy to spot the weaklings, especially Online, which reported a breathtaking loss thanks to what the accounts call a “goodwill impairment charge”. This translates to an admission that the 2007 acquisition of aQuantive was a complete waste of money.

Mixed signals from Entertainment and devices, where revenue is up but a loss is reported. Since this segment munges together Xbox and Windows Phone, it seems plausible that the phone is the main culprit here. Microsoft identifies payments made to Nokia and the addition of Skype as factors.

Windows is down, in part because Microsoft’s upgrade offer for Windows 8 means some revenue is deferred, though one would imagine that worldwide reports of stagnant PC sales are a contributory factor as well.

If you add up the figures, and allow for overheads, it comes to a wafer-thin operating income of $192 million and a $0.06 loss per share.

What do the figures tell us? Two things: Microsoft still makes a ton of money, and that it is exceedingly bad at acquisitions. I am not sure how a company can mislay $6.2bn without heads rolling somewhere, but that is not my area of expertise.

Microsoft’s Server 2012 family has impressed me so my instinct is that we will see good figures continue there.

On the Office side, it is not all Word and Excel. “Exchange, SharePoint and Lync together grew double-digits,” Microsoft said in its earnings call, adding that Lync revenue is up 45%.

That said, how many server licences can you sell in the cloud era? How can Microsoft grow Azure without cannibalising its server sales?

It is tempting to state, like James Governor at Redmonk, that this is The End of Software: Microsoft Posts a Loss for the First Time ever. Microsoft’s figures have stubbornly refused to prove this though; and a quarter where revenue has risen though poisoned by an acquisition disaster is not the moment to call it.

Microsoft has survived the cloud. The bigger question now is whether it can also survive tablets eating into its Windows sales, not helped by Google pushing out Nexus 7 at casual purchase price – see my first take here.

All eyes then on the new Windows 8 and Office 2013.