Tag Archives: html

Flash developers fret as Adobe doubles down on PhoneGap

 

Adobe has announced Experience Manager Apps for Marketers and Developers. This comes in two flavours: Experience Manager Apps is for marketers, and PhoneGap Enterprise is for developers. The announcements are unfortunately sketchy when it comes to details, though Andre Charland’s post has a little more:

  • Better collaboration – With our new PhoneGap Enterprise app, developer team members and business colleagues can view the latest version of apps in production, development and staging

  • App editing capabilities – Non-developer colleagues can edit and improve the app experience using a simple drag-and-drop interface from the new Adobe Experience Manager apps; this way developers can focus on building new features, not on making updates.

  • Analytics & optimization – Teams can immediately start measuring app performance with Adobe Analytics; we’re also planning to incorporate functionality so teams can start A/B testing their way to higher app engagement and monetization using Adobe Target.

  • Push notifications – Engage your customers on-the-go with push notifications from Adobe Campaign

  • Support and training – PhoneGap Enterprise comes with SLA and support so customers can be rest assured that Adobe PhoneGap has their back.

Head over to the PhoneGap Enterprise site and you get nothing more than a “Get in touch” button.

image

Announcement-ware then. Still, enough to rile Flash and AIR (Adobe Integrated Runtime) developers who feel that Adobe is abandoning a better technology for app development. Despite the absence of the Flash runtime on Apple iOS, you can still build mobile apps by compiling the code with a native wrapper.

Adobe… this whole thread should make you realize what an awesome platform and die hard fans you have in AIR. Even after all that crap you pulled with screwing over Flex developers, mitigating Flash to just games, retreating it from the web, killing AS4 and god knows what else you’ve done to try to kill the community’s spirit. WE STILL WANT AIR!

says one frustrated developer.

Gary Paluk has also posted on the subject:

I have invested 13 years of my own development career in Adobe products and evangelized the technology over that time. Your users can see that there is a perfectly good technology that does more than the new HTML5 offerings and they are evidently frustrated that you are not supporting developers that do not understand why they are being forced to retrain to use inferior technologies.

Has Adobe in fact abandoned Flash and AIR? Not quite; but as this detailed roadmap shows, plans for a next-generation Flash player have been abandoned and Adobe is now focused on “web-based virtual machines,” meaning I guess JavaScript and other browser technologies:

Adobe will focus its future Flash Player development on top of the existing Flash Player architecture and virtual machine, and not on a completely new virtual machine and architecture (Flash Player "Next") as was previously planned. At the same time, Adobe plans to continue its next-generation virtual machine and language work as part of the larger web community doing such work on web-based virtual machines.

From my perspective, Adobe seemed to mostly lose interest in the developer community after its November 2011 shift to digital marketing, other than in an “apps for marketing” context. Its design tools on the other hand go from strength to strength, and the transition to subscription in the form of Creative Cloud has been brilliantly executed.

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.

WebKit dominance threatens mobile web standards – but who will care?

Daniel Glazman, co-chairman of the W3C CSS working group, has written a strongly-worded post describing how the “over-dominance” of the WebKit rendering engine threatens web standards.

Everyone loves the open source WebKit, so how is this so? The issue is a complex one. Those who make web browsers do not want to be tied only to those standards already ratified by the W3C as part of HTML or CSS. Therefore, they add features, sometimes in the hope that they will become standards, but use a vendor-specific prefix such as -webkit-,-moz- or -ms-. If you use those features in your markup, you do so in the awareness that they will only work on that specific vendor’s browser. The idea is that the best vendor-specific extensions become standard, in which case the prefix is dropped; or are replaced by an equivalent standard, in which case the prefix is also dropped. This has become an accepted part of the way standards are formed.

The issue now is that WebKit dominates the mobile web to the extent that web authors can assume its use without losing many users. WebKit is used in Apple iOS, Google Android, RIM BlackBerry 6 and higher, as well as on the desktop in Apple Safari and Google Chrome. Amazon also uses WebKit in the Kindle and of course the Android-based Kindle Fire.

The consequence, says Glazman, is that:

technically, the mobile Web is full of works-only-in-WebKit web sites while other browsers and their users are crying.

The further consequence, and this is Glazman’s strongest point, is that other browsers will have to pretend to be WebKit and support its extensions in order to give users a good experience – even if they have their own vendor-specific extensions that support the same features:

All browser vendors let us officially know it WILL happen, and rather sooner than later because they have, I quote, "no other option".

Glazman says “all browser vendors” which suggests that even Microsoft will do this, though that would be a surprising development.

This would mean that the -webkit- vendor-specific extensions were no longer vendor-specific. It would also meant that WebKit is in effect able to create web standards without the bother of going through the W3C:

It will turn a market share into a de facto standard, a single implementation into a world-wide monopoly. Again. It will kill our standardization process. That’s not a question of if, that’s a question of when.

says Glazman, suggesting that there is a risk of a return to the bad days when the dominance Microsoft’s IE6 prevented standards from evolving.

The parallel with IE6 is weak. IE6 was not an open source project, and the damage it did was in part because Microsoft deliberately chose not to invest in advancing HTML, preferring to drive users towards rich internet-connected Windows applications. It is difficult to see how that can happen to WebKit.

Nevertheless, the situation with WebKit is making it difficult for other mobile browsers to compete and does undermine the standards process. This is not really the fault of the WebKit team, though the W3C would like to see support for obsolete vendor-specific extensions dropped more quickly to discourage their use. Rather, it is a consequence of web authors seeing little value in adding support for other browsers that have little actual use on the mobile web.

It is worth observing that Glazman is a Mozilla guy, and his company Disruptive Innovations makes Mozilla extensions.

How can this be resolved? Glazman and others are right to raise awareness of the issue, but I doubt that many outside the standards community or browser vendors themselves will see this as a major problem.

The best fix would be for non-WebKit browsers to become more popular on the mobile web. Growing use of Windows Phone, for example, would give web authors more incentive to fix their markup. Another route to improving standards is via tools which do the right thing. Adobe’s strong support for CSS in Dreamweaver, for example, gave a significant boost to its use and helped to rescue us from font tags and the like.

Finally, it seems to me that the distinction between the “mobile” web and the “full” web is blurring, and rightly so. Users on mobile devices often tap the “full site” link where available since they have big enough screens to benefit. WebKit does not yet dominate the desktop Web. 

Adobe to ship Flash 11 and AIR 3, repositions Flash vs HTML 5

Adobe has announced that Flash 11 and AIR 3 will ship in early October.

There are significant changes in this release.

  • Flash gets Stage 3D (previously codenamed Molehill), a set of low-level 3D APIs, GPU accelerated where hardware allows, which will make console-like 3D graphics and games possible in Flash. Stage 3D wraps DirectX on Windows and OpenGL on desktop and mobile platforms.
  • 64-bit Flash is here at last, supporting 64-bit Internet Explorer and other browses on Windows, Mac and Linux.
  • AIR, which uses Flash as a runtime for desktop and mobile applications, now supports native extensions for better device support, operating system integration, and the ability to speed performance-critical code or use open source libraries.
  • In addition, the AIR packager for iOS, which lets you wrap your application as a native executable, is now a feature called Captive Runtime which is available for Windows, Mac and Android as well as iOS. Users who install a packaged application will not know it uses AIR, and will not need to install or update the AIR runtime as it is packaged with the application, though it is not actually a single file (on Windows at least).

These new options make the Flash and AIR combination an interesting comparison with other cross-platform development tools, such as Embarcadero’s new Delphi XE2, which targets Windows, Mac and iOS with a new framework called FireMonkey; or Appcelerator’s Titanium tool for cross-platform desktop and mobile development. Note though that Adobe is not promising any performance improvement. This is just another way to package the same runtime.

Adobe’s advantage is its high quality design and development tools and the maturity of the Flash runtime. For application size and performance, it will likely fall short of true native development tools. The ActionScript language could do with updating, and I would not be surprised if Adobe addresses this in the next major Flash release.

But do we still need Flash? Flash in the browser is in decline, thanks to the influence of Apple and the rise of HTML 5. Adobe’s MAX conference is coming up soon, and I noticed in the schedule [Flash needed] a defensive note in some of the sessions; there is even one called “The Death of Flash” which talks about “the misinformation that’s percolated through the web over the past year”.

That may be so; but even Adobe is re-positioning Flash and recognizing the rise of HTML 5. “Customers see significant advantages for Flash in a few focused areas,” said Adobe’s Danny Winokur, VP and General Manager of Platform , in a press briefing. He identified these areas as gaming, media apps, and “sophisticated data-driven applications” – think data visualisation rather than just forms over data. “For everything else it is very clear that … HTML 5 is a mature enough technology that it is a really good solution.”

Adobe is therefore investing in HTML 5 tools as well as Flash tools, and Winokur mentioned the Edge motion design tool as well as the venerable Dreamweaver.

I asked Winokur, given that HTML 5 is maturing fast, how Adobe sees the picture vs Flash in say two years time. He replied that Adobe is actively working to advance HTML 5, but that “there will continue to be opportunities for innovation in Flash, where we can … enable new possibilities that did not previously exist on the Web.” He makes the case for Flash as a kind of leading edge for HTML, with features that eventually become part of the HTML standard.

It is a fair point, but it is obvious that the niche for Flash is getting smaller rather than larger.

Adobe has never charged for the Flash runtime, and while the Flash vs HTML path is tricky to navigate, Adobe mainly makes its money from design tools, server applications and web analytics, and while Flash plays some client role in many of these products, Adobe can tune them over time to make less use of the runtime. I believe we can see this happening.

More positively, Adobe is benefiting from the demand for rich content across both web and applications, and has just reported decent financial results, showing the company’s resilience.

Finally, everyone is asking what Adobe will do about Microsoft’s WIndows 8 Metro platform for tablets, given that browser plug-ins are not supported. Here is the answer:

… we expect Flash based apps will come to Metro via Adobe AIR, much the way they are on Android, iOS and BlackBerry Tablet OS today

though I hope this will be delivered more quickly than the promised Flash runtime for Windows Phone 7, which is not a subject either Adobe or Microsoft seems willing to talk about.

Update: Adobe has also announced the Flex 4.6 SDK and Flash Builder 4.6, which supports these new capabilities including Captive Runtime and Native Extensions, and has new controls specifically aimed at tablet apps.

Considering Windows 8 as an HTML platform

Amongst all the fuss about whether Microsoft is deprecating Silverlight or even client-side .NET, it is easy to lose sight of the other angle on this. What are the implications of Microsoft embracing HTML and JavaScript as a new first-class Windows development platform? Here’s the quote again:

Today, we also talked a bit about how developers will build apps for the new system. Windows 8 apps use the power of HTML5, tapping into the native capabilities of Windows using standard JavaScript and HTML to deliver new kinds of experiences. These new Windows 8 apps are full-screen and touch-optimized, and they easily integrate with the capabilities of the new Windows user interface.

When Microsoft introduced IE9 with hardware-accelerated graphics, support for some key parts of HTML 5, and a new fast JavaScript engine, it was not only trying to recover ground in the browser wars. It also had in mind a new application runtime for Windows, for desktop as well as for web applications.

In order to achieve this, we can expect more hooks between the browser engine and the local operating system. There is potential security risk, but Microsoft of all companies will be sensitive to this and I would expect it to get the security right. The further implication is that some parts of a Windows HTML application will be Windows-specific. It is an “Embrace and extend” strategy, as I noted in this Register article back in September last year when former Silverlight product manager Scott Barnes broke the story of how the Windows team at Microsoft was favouring HTML and JavaScript above .NET.

The rationale for this is two-fold. First, I’m guessing that Microsoft thinks it will work better. Although .NET client apps are now commonplace, especially for custom business applications, problems like slow start-up and heavy memory requirements never really went away, though I would argue that in Silverlight they are almost eliminated.

Second, HTML and JavaScript is a universal programming platform. With the new model, any developer who can code a web page can also code a Windows app. Corporate VP Michael Angiulo said at Computex in Taipei:

Windows 8’s new application platform … is based on HTML 5, JavaScript and CSS, the most widely understood programming languages of all time. These languages form the backbone of the web, so that on day 1 when Windows 8 ships hundreds of millions of developers will already know how to build great apps for Windows 8.

These are both compelling arguments. Nevertheless, there are several reasons why making Windows an HTML platform might not be the instant hit that Microsoft will be hoping for. Here are a few:

  • Microsoft’s Visual Studio is .NET oriented. It does have a web design tool, Expression Web, which is OK but still falls short compared to Adobe Dreamweaver. Web designers tend to use Dreamweaver anyway, thanks to Mac compatibility and integration with other Adobe tools. Even Dreamweaver is not great as an application development tool, as opposed to a web design tool. Tooling is a problem, and it is fair to say that whatever goodies Microsoft comes up with in this area will likely be a step back compared to what it already has for C# or C++.
  • Standards are a mixed blessing if you are trying to sell an operating system. If Microsoft does such a good job of standards support that the same apps run with minor tweaks on an iPad and on Android, users may do just that. If Microsoft encumbers the standards with too many proprietary extensions, the universality of the platform is lost.
  • Windows plus HTML and JavaScript sounds a lot like Palm/HP WebOS, which has gained favourable reviews but has yet to take off in terms of sales. Otherwise, Palm would not have been taken over by HP.
  • The question of whether HTML and JavaScript will really take over app development is open. I certainly hear voices saying so. I interviewed Nitobi’s president André Charland, in charge of PhoneGap, and he makes a good case. On the other hand, App development today is still dominated by platform-specific development, Objective C for Apple iOS and Java on Dalvik, the Google Android virtual machine.
  • The standard in HTML/JavaScript app platforms is not Microsoft’s Internet Explorer, but WebKit, as used in iOS and in Google Android and Chrome. Microsoft did great work in standards support in IE9, but so far it has not stopped its browser share decline. Worldwide figures from StatCounter show Internet Explorer in continuing slow decline overall, and Chrome still growing and set to overtake Firefox in a year or so.

In other words, there is little evidence that embracing HTML and JavaScript as an app platform will ensure success for Windows 8.

That said, other factors count for more. Developers will go where their customers are, and if Microsoft turns out a version of Windows that wins substantial market share in the emerging tablet market as well as on traditional notebooks, the new platform will be a hit.

The risk though is that the market will continue to perceive Windows as an OS for desktop and laptop, and look to iOS or Android for mobile and touch devices. The dual personality of Windows 8 may count against it, if it means devices that are compromised by having to support both user interface models.

Adobe MAX 2010 – it’s all about the partners

Last week was all conferences – Adobe MAX 2010 followed by Microsoft PDC – which left me with plenty of input but too little time to write it up. It is not too late though; and one advantage of attending these two events back-to-back was to highlight the tale of two runtimes, Adobe Flash and Microsoft Silverlight. MAX was a good event for Flash, and PDC a bad one for Silverlight, though the tale has a long way yet to run.

The key difference at this point is not technical, but all about partners. At MAX we saw how the Flash runtime is integral to the Blackberry PlayBook, with RIM founder Mike Lazaridis coming on stage to tell us so. Flash is also built into Google TV, and Andres Ferrate and Daniels Lee from Google Developer Relations presented a session on creating web apps for the platform – worth watching as it brings out the difference between developing for a TV “lean back” environment and traditional mouse or touch user interfaces -  and we also heard from Samsung about its Flash-enabled TVs coming in 2011. In each case, it is not just Flash but AIR, for applications that run outside the browser, which is supported. Google TV runs Android; and AIR for Android in general drew attention at MAX, encouraged by free Motorola Droid 2 smartphones handed out to attendees.

If the task was to convince Flash developers – and those on the fence – that the platform has a future, MAX delivered in spades; and Adobe can only benefit from the uncertainty surrounding the most obvious runtime rivals to Flash, Java and Silverlight.

But what about that other platform, HTML? Well, Adobe made a bit of noise about projects like EDGE, which exports animations and transitions to SVG and JavaScript using an extended JQuery library, as well as showing a “sneak peek” of a tool to export a Flash animation (but not application) to  HTML. Outside the Adobe fan club there is still considerable aversion to Flash, stoked by Apple; in one of the sessions at MAX we were told that Steve Jobs’ open memo Thoughts on Flash has done real damage.

My impression though is that Adobe still has a Flash-first philosophy. The Solution Accelerators announced for LiveCycle 2.5, for example, all seem to be based on Flash clients, which could prove difficult if Apple’s iPad continues to take off in the enterprise. Adobe could do more to provide JavaScript libraries for LiveCycle clients, and tools for creating HTML applications. If you came to MAX looking for evidence that Adobe is moving towards web standard HTML clients, you would have been largely disappointed; though seeing JQuery guy John Resig in the day two keynote would give you some comfort.

Some other MAX highlights:

  • Round-tripping between Catalyst and Flash Builder at last. This makes Catalyst more useful, though I still find myself thinking that the Catalyst features could be rolled into one of the other products, either as a designer personality for Flash Builder, or maybe in Flash Professional. The former would be easier as both Catalyst and Flash Builder are built on Eclipse.
  • Enhancements in the Flash Player – I am writing a separate piece on this, but it is great to see the 3D extensions codenamed Molehill, which together with game controller support lay the foundations for Flash games that compete more closely with console games.
  • Analytics – Adobe’s acquisition of Omniture a year ago was a far-sighted move, and the company talked about analytics in the context of applications as well as web sites. Despite unsettling privacy implications, the ability for developers to drill down into exactly how an application is used, and which parts are hardly used, has great potential for improving usability.
  • Digital publishing – it was fascinating to hear from publisher Condé Nast about its plans for digital publishing, using Adobe’s Digital Publishing Suite to create files targeting Adobe’s content viewer on iOS and eventually AIR. As a web enthusiast I have mixed feelings, and there was some foot-shuffling when I asked about SEO (Search Engine Optimisation); but as someone with a professional interest in a flourishing media industry I also hope this becomes a solid and profitable platform.

Disappointments? I was sorry to hear that Adobe is closing down contributions and reducing transparency in the open source Flex SDK, though it is said to be temporary. It also seems that plans to enhance ActionScript are not well advanced; Silverlight remains well ahead in this respect with its C# and .NET support.

What about Adobe’s enterprise ambitions? Klint Finley’s post on the Adobe Stack and what it means for Enterprise Development is a good read. The pieces are almost in place, but the focus on document processing at the back end, and Flash and Acrobat on the front end, makes this a specialist rather than a generic application platform.

Overall though it was a strong MAX. I appreciate Adobe for not being Google or Apple or Microsoft or IBM, and hope that takeover rumours remain as rumours.

See also my earlier post Adobe aims to fill mobile vacuum with AIR.

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

A business web site implemented entirely in Silverlight

Ever wondered what the web would look like if Silverlight or Flash were used for everything? The other day I came across a business site implemented entirely in Silverlight – well, apart from the forums, which seem to be HTML and JavaScript. ForefrontSecurity.org is a third-party resource site for Microsoft’s firewall and server security products. It is mostly documents and videos.

image

On the plus side, the site looks good, provided you can run Silverlight; and given the target readership that’s not too much of a stretch in this instance. Playing the embedded screencasts is very smooth, and they feel seamlessly integrated with the site, more so than with HTML plus a video plug-in.

That said, I found the site infuriating. Without thinking, I tried to scroll a document using the mouse wheel; nothing happened. The page up and down keys do not work either. Copying text works with Ctrl-C, but if you select and right-click, you just get the Silverlight “about” menu. I also found that the graphic effects – screens typically fade in as they change – made the site seem slow. Some things, like hyperlinks in full-screen mode, did not work as expected.

An interesting experiment; but for a site like this which is mainly about finding and reading documents, its hard to see a good reason not to use HTML.