I’ve been meaning to write this for some time, and for all the time I delayed the more poignant the point I wanted to make started to become as new news came out further solidifying my angle. When I begun writing this article the iPad had not yet been revealed, iPhone OS 4 was not on the map and Apple had not yet purchased Lala. You’ve probably just noticed that all of these events in fact point toward Apple embracing the web more and in this article I will point out why this is not the case because I believe Apple’s agenda here is similar to something we’ve already seen in recent history.
Apple are the maintainers of one of the most widely used web rendering engines there is. WebKit is everywhere.
Desktop browsers on Windows, Mac, Linux and even Haiku & Amiga and mobile systems in the form of Android, WebOS
& iPhone OS. It has proved to be highly portable and desirable for new web browser projects wanting to provide a
fully capable web experience without having to start from scratch. WebKit has almost single-handily made new mobile
platforms and alternative operating systems viable. Gecko is really struggling to get a foot in in this
area and Internet Explorer offers neither the features nor the portability.
The technical and emotionally-backed decision to disallow plugins from the iPhone and iPad has ignited a flame below
developers and at the same time shone a light in the direction of HTML5. The iPad has done more to shift mainstream
mindshare toward HTML5 than anything before it. Before, it was a distant idea with no practical use and no drive for
companies to adopt it. Now it’s the buzzword of the moment, bandied about
without
any consideration for accuracy.
So from my perspective as a web developer who has been waving the HTML5 flag since 2008, Apple have done a massive
amount to drive the web forward and get this movement into the minds of sluggish and unwilling corporations.
However, there is a fundamental difference between how Apple drive the web, and how Mozilla drive the web when
Mozilla succeeded in breaking a stagnant market and got it moving again.
Do you remember when Internet Explorer 6 was released? It was hands-down the best, most standards compliant browser
at the time. Netscape had lost their way and dropping Netscape 5 in favour of a rewrite meant that the ailing
Netscape 4.7 was at an obvious loss to Internet Explorer and IE had built up solid market-share and developer
commitment since their release (and subsequent bundling) of IE4 years before. In the beginning, life with IE6 was
good.
Microsoft’s business plan was to provide IE as a loss-leader to achieve two things:
-
Increase developer dependence on Internet Explorer so as to tie the web specifically to Windows
and therefore sell more copies of Windows in the long term (so successful was this strategy that
we are still dogged by it to this day) -
Sell more copies of Visual Studio for developers to take advantage of ActiveX, which offered
everything HTML couldn’t
The web got where it was in 2003 (99% IE usage) because the web wasn’t Microsoft’s business. The web was a
loss-leader, nothing else. The web sold copies of Windows and Visual Studio, end of. That is evident from the total
and complete lack of major upgrades to IE6 for five years. Not a
dicky-bird. Yet, now, HTML5 adoption in
browsers is nothing short of rapid.
What happened with IE is indicative when companies come to lead in a market that is not itself their core business
interest, especially when that market directly threatens to obsolete that very core business interest of the company
in question. Microsoft had to kill browser innovation otherwise it would directly affect Windows and Visual
Studio sales if people could use whatever OS they wanted and whatever developer tools they wanted to participate on
the web.
Can you see where I’m going with this?
I am about to make a statement that will remain controversial for years to come and Gruber, if you’re reading
this, you can file this under ^aEUR~claim chowder’ for later reference.
Safari will be the next IE6.
The web is not Apple’s business. The web sells iPhones and iPads and iPhones and iPads sell Macs for developers to
use XCode to develop native apps^aEUR”because native apps offer what the web can’t. And that web, if left unchecked,
threatens to remove the necessity to be tied to iPhones and iPads and Macs and XCode and the App Store. If the web
gets the same capabilities as native apps, why would you buy a Mac to code in XCode and be restricted to the App
Store’s brick-wall approach to customer support and Apple’s changing whim of what is acceptable and what is not?
How could the web gain the abilities of native apps? The technology really isn’t that far away!
- pNaCl (Portable Native Client)
-
Google’s Native Client technology provides a way to ship binaries to computers through the web
browser. Native speed and capabilities; no download, install and run hurdles. Currently this only
supports x86 / x64, but Google
have
in the works a project to use LLVM so that the developer can send the client bytecode and the
bytecode be compiled or JIT-executed natively. What does this mean? It means that if you are using
x86, x64, ARM, MIPS, PPC^aEUR”or whatever^aEUR”then a developer can send you an app across the web that
runs at native speed regardless of OS, platform, device or architecture.How would this affect Apple?
pNaCl, just like the web, makes your choice of platform flexible, but solves the speed problems
with HTML/JS. If a developer can write a game once and it run on any pNaCl-enabled browser then
what reason does that developer have to buy a Mac, use XCode and Objective-C to target only the
iPhone? What reason does the user have to stick to one brand of device or platform if their
favourite apps work on any of them?How could Apple prevent this?
The same way as with Flash. Simply refuse to implement it. If the iPhone and iPad don’t support
pNaCl then developers will have to continue to go through the App Store. In their defence, Apple
can call pNaCl insecure because it allows any URL to run a binary (it is sand-boxed BTW) and only
the App Store provides the bubble-wrapped safety of a vetted selection system where your children
cannot be harmed. - W3C Device APIs
-
The W3C Device APIs provides a way for HTML
and JavaScript to access hardware such as web cameras and microphones. The web has already exposed
GeoLocation and this takes things a step further, allowing for new kinds of innovative web-based
apps that have so far been restrained to Flash and native apps for a lack of any other way of
doing it. Not having to download and install anything, nor worry about platform compatibility,
will ensure that moving this sort of functionality to the web is a good idea.How would this affect Apple?
This also gives web apps more native functionality with cross-platform support that doesn’t help
sell iPhones and Macs. Just log into a web page on any computer and start a video call with
someone. Sure beats installing Skype.How could Apple prevent this?
Annoy the crap out of users and developers in the name of privacy and security. There is no
question that getting privacy and security right with devices on the web is difficult. Giving
untrusted URLs access to your resources requires sensible, manageable security that prevent things
going wrong, and allows you to deal with it when it does.Apple just need to either refuse to implement new web features (such as access to the local camera
/ contacts / calendar) in the name of security and privacy, or bombard the user with permission
questions when they visit web sites that use such functionality to both reassure (and scare) the
user. Developers will want to offer native apps instead to avoid these additional and off-putting
hurdles for their users.
Essentially, as long as the iPhone and iPad are able to retain mind-share, developer support and an unignorable
market-share then Apple can shape the lowest common denominator for the web (even if that low is very high, like the
best HTML5 / CSS3 support) just as Internet Explorer has been and largely remains the lowest common denominator for
the web as seen through desktop computers.
It is for this reason that Apple and Google are competitors. Google requires that people use the web for everything
they do in order to feed their core business of advertising. Google creating Chrome does not act against their
business interest, it only bolsters it. Android exists because Google want more people to use smart phones so they
can access the web and Google can advertise to them. Google’s business model means that they must work to keep web
browser competition healthy and progressing in case one company gets the keys to the web and halts all progress just
as Microsoft did with IE. A stationary web keeps native apps native and stifles Google. Apple want to keep native
apps native and the web as a quirky document-centric browser that is never as well polished experience-wise as
what’s on offer in the App Store.
Apple want this: In order to develop the best content for users you must buy a Mac and use XCode to develop native
apps in Cocoa for the App Store. Microsoft wanted this: In order to develop the best content for users you must buy
a Windows PC and use Visual Studio to develop ActiveX controls for Internet Explorer.
But Microsoft did succeed! There is a
99% IE monopoly in South
Korea. Read that article for a glimpse into just how bad for consumers a browser monoculture is. Whilst I
don’t believe there will ever be or even can be a Safari monopoly like there was for IE, I can believe that the
iPhone OS and App Store aims to be a developer monopoly where by companies like EA (who don’t like cross-platform
development at the best of times) will develop only for the iPhone OS and consumers are driven to the platform
en-masse because that’s the place where the most compelling content is. A vicious circle of supply and demand.
Let’s get back to these events I mentioned in the beginning. I’ve already covered how the iPhone and iPad,
whilst having a great web experience can be entirely selective about where the web goes. What about Apple’s online
services like Mobile Me, and their purchase of streaming service Lala? Don’t these represent an embracing of the
web-like way of doing things?
iTunes, as we
know, has become a bit of a sore spot. Apple have gone from a new entrant in this market and arguably the first
legal digital music source that the average person could use to complete domination. They set out to achieve this
from the beginning and have had a laser-like focus in this area. iTunes has grown to encompass so much more than
just music that even the name ^aEURoeiTunes^aEUR is a misnomer. It’s a monolithic app that tries to keep everything
under one roof as the only point of interface between your PC and your iPhone and iPad. So much so, that when Apple
try to bolt on document syncing the
seams really begin to
show as iTunes’s design gets stretched too far.
iTunes is a walled garden for your media with only one gate by which your content can get on to your iPhone or iPad,
and again, Apple must keep it that way to ensure that your media must stay in iTunes where they can keep an eye on
it and where they can make changes without another company’s approval or compatibility.
What have Apple done with Lala so far? Made
peep-holes and SEO spam for their
walled garden (awesome album BTW, highly recommend it). You can’t purchase anything from that page. It exists
only for you to download and install iTunes. It is inherently incompatible with the web across a diverse range of
platforms like mobile phones and TVs.
If they do provide a streaming service
of
some kind, it will be another walled garden. You stream on our terms, you stream only the content we allow, on
the devices we allow (H.264) and we would very much like to collect some data about you. I cannot see Apple creating
a service that negates the need for Apple hardware and for the iTunes store. It might work on other browsers and
devices, but its sole purpose will be to direct you to iTunes. Streaming is a loss-leader for iTunes lock-in.
And Mobile Me? Netscape tried to hang on to a pay-for browser when the tides were turning. When you could no longer
pay for the browser they tried to keep things going with the server. But there was no lock in. A server is
inherently an agnostic technology that cannot lock you into a browser. Apple charging for Mobile Me is Apple trying
to clutch on to an outdated model. They are being bamboozled by better web companies with
better products. All they have left is lock-in; that only MobileMe
can truly integrate with iPhone OS. I wonder how long this charade will keep up.
I do so hope that I will be wrong, but my gut feeling says that Safari will be the next IE6. Not in terms of being
out of date (or ever reaching 99%), but in terms of being the elephant that will move for no man but Steve Jobs.
All the IE8/XP holdouts will keep Flash ads around for years.
Looks like some websites are already starting to use HTML5 though:
http://news.cnet.com/8301-27076_3-20006226-248.html
Also: http://smokescreen.us/demos/sb110demo.html (Chrome is fastest).
HTML5 can implement Flash, but Flash can^aEURTMt implement HTML5
The problem with web standards most people seem to conveniently forget when bashing flash is they they are complex and different browser pick and choose what to implement and what not to and introduce their own undocumented behaviors on parts they implement.
Flash has its issues but it allowed web developers to “write once and run the code on multiple browsers across multiple operating systems.
html5 can implement flash? what version of what browser has all the component you will need? and what of DRM on contents? any input on how html5 can handle it?
html5 has great potential when it matures and most browsers have implemented a good subset of it with relatively less bugs. Its not there yet.
Not a single mobile has Flash 10 yet.
Hundreds have HTML5, already.
My mobile has Flash lite, does that count?
badgerbadgerbadger.com is the killer app.
^aEUR| and while I hate Flash, it does fill that gap that exists atm that video on the Web isn^aEURTMt encoded in a format that all devices can view without some freedom hating.
Give it a year or two, that gap will be small enough to forget Flash ever existed.
My Nexus One is running Android 2.2 (Froyo) with flash 10.1 and I gotta say it’s pretty impressive for a beta…
I do not deny neither that Flash 10.1 will be good, nor that it will be available widely. But content creators cannot wait two years for Apple make their customer^aEURTMs handsets available to them. Support for HTML on new devices is instant because it doesn^aEURTMt have to wait upon one company^aEURTMs whims.
HTML5 will be good for interfaces and ads but Flash will be around for video. If not Flash then some other plug-in.
NBC and Time Warner are the latest publishers to show a lack of interest in HTML5.
http://www.pcmag.com/article2/0,2817,2364290,00.asp
A bit problem with HTML5 Video is that it was designed without considering the needs of content producers.
Or rather HTML5 respects the wishes and intelligence of web users. Yeah, I can see how that might be a problem for mercantilists.
The vast majority of web users just want to watch videos and don’t care about how it works.
Content producers have more to offer them than HTML5 advocates.
Users may not care how something works, but they care when something doesn’t work. Like being able to save a video, share it, or watch it on their mobile/embedded device.
When users pay for a video rental service they don’t expect to be able to send a copy to their friends or have a permanent copy. They also aren’t surprised when they can’t skip an ad for a television show that is normally paid for through advertising.
But go ahead and write a smug letter to big publishers and explain why they should stop using a system that works for them and embrace an alternative that offers less functionality.
Users might not expect the ability to skip advertisements but they sure love having the choice. User expectations are not to be mistaken for their desires.
So when does 5.1 come out?
At least have the cahoons to test against WebKit Nightly. Good gawd, both the iPhone and releases Safari are 6 months or older.
Wake me up when WebKit2 is in release mode for Safari and then try and brag that Chrome is fastest.
Who cares what’s fastest at some future point? All that matters is what’s fastest right now. You don’t see Guiness adding world records for things that haven’t happened yet.
Hang on, you miss read my comment. I wasn^aEURTMt browser bashing I was literally stating that people who would like to view the link should ideally use Chrome because for me it was the only browser that could play it real time and Firefox was terribly slow. I was assuming released browsers and not nightlies.
It wouldn’t be the first time Mr Colgate misreads something. He jumps in any discussion that has a faint smell of apple criticism to defend the Holy Company )
I think that’s a bug that only shows up in Firefox, not a performance problem.
It seems to be running abysmally slowly (1 or 2 FPS), but if you check the CPU usage, you’ll find it’s hardly doing anything.
If you refresh it a couple of times, it might start working properly. If the sound works, the animation works pretty well too.
Seriously… how many people use nightly builds versus released versions?
Holy crap, that’s incredible! Admittedly it has some audio sync issues but still!
My question is, if it’s apparently so quick and easy to put together a Flash-to-HTML5 translator, why is it taking so long to put together a decent alternative Flash player? I can only guess the answer is that specs are easy to understand and translate, but actual rendering etc. is not so easy to implement…
The issue is the flash runtime. It hard to get a consistent alternative flash runtime since the actual Adobe runtime is not documented and does a lot of things in the background that is not clearly understood, even with reverse engineering. The SWF format is very much an open spec and can be implemented by anyone, but the flash runtime is the real problem and is one of the main reasons we don’t have any viable alternatives at the moment.
That demo is impressive and it ran really well in Safari on my machine. The issue s going to be older flash files, or more complex flash movies that have far more going on as well as sites with video.
Are you talking about safari or webkit?
Safari as a web browser is not going anywhere anytime soon and its existence only serves to force web developers to aim for lowest common denominator and hence will prevent anybody from locking up the web.
webkit is developed in the open and apple cant lock it down even if they wanted to.
Google’s best interest lies in people having free access to the web. They join the cellphone business to guarantee this access. They will enter the ipad space with devices running android and chromeos soon.
Nobody will be able to get commanding power microsoft had with IE6 over the web. There are simply too many powerful players at the moment.
Safari on the iPhone / iPad.
WebKit being open doesn^aEURTMt matter – because the compiled WebKit binary on iPhone OS is up to Apple. If they don^aEURTMt want feature X, then feature X doesn^aEURTMt go in. Apple don^aEURTMt have to lock down WebKit to lock down the web.
I agree that it^aEURTMs unlikely that another browser will be 99%. But what about H.264? That has a complete and total monopoly across the web and devices. H.264 is where IE6 was. As explained in the article, I think Safari on the iPhone OS will veto features Apple don^aEURTMt like and that the App Store will inhibit choice (if it hasn^aEURTMt already).
webkit from apple is the only rendering engine on apple’s mobile devices hence apple is in absolute control over what web technologies will be supported on their devices and they have a potential here to be where microsoft was with IE6.
But apple business model does not scale and iphone/ipad will most likely never dominant enough to command the web to be tuned to its features and bugs.
It is fairly easy to give examples of where IE6 domination hindered the web Can you show of example of where h.264 did the same? h.264 concerns only those who are starting to be too big to matter or to those concerned with free software philosophies.
Most FOSS audio/video players can encode and decode the codec and most online contents are served through flash.
Most if not all practical problems about h.264 on the web will be solved by VP8.Hardware support of the codec will start rolling soon, all major browser will support it, flash, too will support it
Apple just accelerated the push towards html5, i doubt they will have the muscle to corner the html5 world to their liking, chrome is there to make sure that wont happen
I simply dont have a concern about the web anymore. Nobody will be able to will the web to their liking anymore and there are too many players and this will only force the web to gravitate towards the least common denominator, ie standard bugs, behaviors and expectations.
Apple can^aEUR~t bend HTML5 to their will?
<video src=”movie.mp4″ />
“apple business model does not scale”
Apple’s business model is based on getting the biggest slice of the revenue pie in any market. That’s been completely successful, and scaled well, in laptops, mobile phones, music players and (now) tablets. And it’s the biggest music retailer in America.
So in what way does it “not scale”?
Which does not imply its relevance.
(Also, “open source == free” logical fallacy.)
Google’s best interest lies in Google-controlled and Google-monitored access to the web.
I don’t know whether this relates to your comment, and you’re probably already aware, but, FWIW, AAPL has already filed for a patent on webkit: http://pulse2.com/2010/05/23/apple-files-patent-for-webkit/
KHTML is prior art for webkit (since webkit is actually a fork of KHTML), as is, to a lesser extent, Trident, Presto and Gecko.
Patents are supposed to be awarded only for new inventions. Where is the innovation in webkit? Webkit wasn’t even the first to be standards-compliant to the acid3 tests level, Presto was.
Finally, given the patent provisions in the GPL, and also given the fact that KHTML code (on which webkit is based) is GPL code, then even if Apple do get a patent for webkit (stranger things have happened), then Apple are obliged via the provisions of the GPL to give every downstream recipient of Webkit unrestricted license to use that patented invention.
Whomever runs that site is an idiot. If s/he spent 5 minutes fact checking s/he would realize that Apple applied for a trademark, not a patent.
Now that makes more sense. A lot more sense.
All that a trademark means that if someone forks webkit, for whatever reason, and produces a slightly different version from Apple’s version, then the forked version cannot also be called webkit.
For other examples: this is the same as the situation where Swiftfox and Iceweasel cannot be called Firefox, and MariaDB cannot be called MySQL.
There is nothing at all wrong with this. Apple are perfectly entitled to identify which version is their product, and which is not.
Edited 2010-05-31 03:53 UTC
And Mozilla did it with good reason; there were scumbags selling hacked up versions of Firefox using Firefox as the brand even though they had no affiliation at all with the Mozilla foundation. Mozilla foundation had to do something to protect its brand from getting screwed over – by trademarking it, it allowed them to take those people to court who used the Firefox without the permission of the Mozilla Foundation. Same situation I’d say with Webkit where they’ve probably already heard of people trying to make money out of Webkit by calling it Webkit and sell it to unsuspecting end users.
People act as if Google is some super friendly open source company! It’s not, it’s open to an extent because it’s in it’s business interests. If they start to lose money in their ad business they will do whatever they need to in order to preserve their business. That is business. No different then Oracle, Microsoft, IBM, Novell, Apple, Facebook etc! The goal of a business, Esp a public company is to make profits almost anyway legally possible. If that means lock in then they will lock you in with a kung Fu grip! Lol!
Personally lock in does not bother me if I get good products. I hated MS lock in because MS products sucked so bad for so long. Same with Oracle.
Apple needs to do some work also, I am liking Googles products at this point!
This person speaks the truth. In about 5 years or so, Google will be the new ‘Most Evil’ company… I’m callin’ it right here. That doesn’t mean we have to boycott them or anything.. I mean, as long as they haven’t fallen to the dark side yet, then they’re still ok.
In regard to HTML5, as a power user, I’m not so sure I want all of my apps running in a web browser, for a multitude of reasons. OTOH, we’ll see what the landscape looks like in 10-20 years, but as of now, native apps are going to be faster and have more functionality than their web equivalents 98% of the time.
google is a company and just like any other company, their primary interest is increasing share holder value. Google will get most FOSS support as long as their interests are inline with those of the FOSS world and will loose the support the second their interest change.
Open source ideas and implementations do not allow/minimize lock-ins and the cost of “dumping” somebody when interests are no longer in agreement is not very high, this is the strength of open source ideas.
Most people in the FOSS world recognizes google’s abilities and the damage they could have when they change their tunes and take comfort in open source licenses,technologies and open standards google is using on data on people;s hands.
have your contents on your hard drive and google will most likely never touch you since they arent into locking ins on things you have on your possession.
Have your stuff on their servers and all bets are off. open source anything wont help you if you dont have your data in your possession.
well because so far it has been… but you miss the point. For Google, which goal is to reach as many people as possible, and is paid by ads, development of application is not its business, nor does it threaten its revenues. That’s why they came release some many free applications.
If one day, someone develop an app/website/device/whatever which remove the need to use a search engine, then it will be a problem for Google.. but we are not there.
So far it has fooled people into believing it has been. Google is a wolf in sheep’s clothing. Yes some of Apple’s policies are draconian, and Jobs is a control freak, but when you use their stuff you know up front what you’re getting. It’s in their agreements, licences, etc, and those things are provided with every bit of hardware or software they sell and are presented to the user for every service they sell, yes even iTunes.
Google on the other hand use proprietary and very secret routines to collect significant quantities of your private information to use for their own financial gain without ever asking you if they can collect or use it. Captured searches, indexing personal web sites, tracking ‘net usage through the safe harbour service that’s now used as default by many ISP’s – all without once asking if you’re ok with them capturing your information.
If Google voluntarily purge all data captured to date from these services, make their indexing service only index sites that specifically allow it and presente data collection opt-in click through’s for their search and DNS services, then I’d believe they’re interested in being truly open.
Until then they are no different to any other corporation, they will do whatever they can get away with within the bounds of the law to make money and give themselves a competitive edge over their competition. No different to Microsoft, Adobe, Apple, HP, Ford, BP, McDonalds, %INSERT ANY COMMERCIAL CORPORATION HERE%…
When did indexing websites become bad? Personal websites are also websites and a web crrawler cannot distinguish between a personal and a commerical website. Heck. It shouldn’t do. If you are so much tensed, why keep post your public data openly and cry that people are looking at it
No search engine does that. if you don’t want your website to be craweled, robots.txt is there to your help.
OTOH when it comes to collecting Wifi hotspot data, when you broadcast SSID, it is PUBLIC! If you are so much scared of your wifi network getting recognized, switch off SSID broadcast. People put cup plated on the highway and complain that a car ran over it.
Man, I haven’t heard the old “G.I. Joe and the Kung-Fu Grip” in forever!
You make an excellent point. This all boils down to business. There isn’t a single company out there with shareolders, that I am aware of, that can be considered “open source,” etc. Google makes great stuff; no question about that. They are, however, a very big, very successful corporation and if push comes to shove, they’ll operate as they see fit to maximize their profit. There’s nothing to prevent them from doing a perceived 180 on any stance they’ve taken, if they think it will improve their business.
Thinking that Google is this warm & fuzzy gaggle of open-source, open-web, starry-eyed idealists is not being very realistic.
That all being said, everyone using any company’s products ultimately has control, through the power of their wallet (metaphorical for “free” downloads.) If some company’s actions are so reprehensible to your sensibilities, vote with your wallet and don’t use their stuff. Pretty easy.
I remember this song about XMas that always makes me laugh. It has a part:
That’s why the presents keep getting mixed up
cause year after year you keep messing up
and now I know why cause you always drunk
instead of G.I. Joe you send me this junk
That ain’t a G.I. Joe that’s a G.I. jerk
with a kungfu grip that don’t even work
so all I did was just put him away
cause my G.I. Joe looked G.I. gay! Lol!
You are right though! This America! It’s all about the money! Google giving away stuff that will bring more people to their search and their ads. Any issues there and the free will no longer be free!
“Personally lock in does not bother me if I get good products. ”
Good products don’t rely on lock-in.
That would mean almost every product from every major software company suck. Esp Microsoft the king of lock in.
Microsoft is a fantastic example. It’s not the highest quality code available and must rely on lock-in to minimize consumer switching choice.
Completely rational article, if lacking Apples attempt to block competition by adopting obviously patented tech.
But I have issue with one line:
^aEUR~How could the web gain the abilities of native apps? The technology really isn^aEURTMt that far away!^aEURTM
However much one may dislike Java for [speed / development clunkliness / binary size / etc], it has existed for over a decade and has given the Web native apps to run locally^aEUR| and it^aEURTMs already available on an insane amount of platforms and architectures.
Bit sad the Haiku OpenJDK port hasn^aEURTMt got anywhere, yet, but it will.
Humorously though, while it isn^aEURTMt mentioned in the article, it^aEURTMs relevant – Apple has done the same as Microsoft did a decade ago, controlling the JVM – Apple keep the JVM under their control by shipping it themselves and holding back updates by years.
NaCl is an attempt at creating a new binary interface between applications and the operating system.
Do not see it as trying to be another Java, but rather as a replacement for PE (Windows) and ELF (Linux) executables. The main difference is that the syscalls for Unix and Windows was designed in a time and age where a system had a system administrator that knew what he was doing. The syscalls in NaCl are far more defensive in nature and are not using the root user mentality that both Unix and Windows has shown to not work well for personal computers.
While you can rightfully argue that applets and the Java VM attempted to deliver the same thing, the way it is being done is significantly different. The NaCl design is not tied to a specific language, but aims at allowing any compiler that can target Windows+Unix today to target it by just adding another target to the compiler.
This is a significant difference since it will allow you to recompile a typical well-written cross platform C language family application with fairly little effort. Both Java (and Silverlight) suffer from the problem that their sandboxes are tightly married to the languages they were designed for and unfortunately have design decisions that make them unsuitable for languages not designed for them. NaCl will finally allow you to write your applications in the language of your choice and not something Javascript, Java, C# or any other language for that matter.
Those that think of NaCl as another ActiveX are also mistaken, since ActiveX allowed you to use the Windows syscalls – something that was a very, very bad idea.
What a piece of nonsense!
NaCL is only providing a portable way to move C and C++ applications to the browser, but only if the applications only use one of the already ported applications.
And most likely a Chrome only solution.
Java and .Net world already support this for ages now, and what “married to the languages” mean?
JVM:
Java, Scala, JRuby, Jython, Jacl, Jaskel, Groovy, …
.Net:
C#, VB.Net, JSCript.Net, C++/CLI, F#, Axum, IronRuby, IronPyhon, Powershell, …
JavaFX:
JavaFX language, plus all the JVM ones
Silverlight:
C#, VB.Net, JSCript.Net, IronRuby, IronPyhon, F# (unofficially), C++/CLI might be possible in the future for pure CLR code.
The only thing in common all these runtimes provide is that there is nothing to see here for C/C++ fan boys, languages that I do like very much, but are the source of the majority of security issues we have to suffer nowadays.
So, I honestly don’t see the goals of NaCl, besides being Google own plugin solution.
User apps might not be the main focus of NaCl here but the already existing, vast amount of C/C++ libraries like ImageMagick.
Some very valid points and clear explanations. Members can and will pick apart the finer details but your statements will remain true.
Nice insight.
I really doubt that the web will accept binary applications as the standard way of doing things.
There are three problems:
– separation between logic and presentation. HTML enforces that and it’s a good thing.
– application deployment, data synchronization, real portability and similar. The fat client has failed once.
– security. Sandboxing binaries is almost impossible. That will mean either viruses or complicated encryption certificates.
pNaCl is not that different from java applets.
I wouldn’t call HTML a web applications. Anything that you do on computers eventually ends up as binary code.
Java compiled into bytecodes, then interpreted into native machine instructions.
PHP/Perl/Python etc., interpreted into native machine instructions. That means if you want to be able to execute your PHP web application, you have to build the interpreter.
The beauty of binary applications is superior performance. No need for extra layers of translators and interpreters at run time.
HTML and JavaScript are dated and don’t really scale. That’s why you have people using ad hoc plugins like Java or Flash. Event good old HTTP protocol needs updating/replacing with something better. As for XML, it should just die asap.
Can you define ^aEUR~scale^aEURTM? HTML has scaled horizontally to the entire world. It^aEURTMs appeared on almost every platform on innumerable devices from an Apple II and Commodore 64 to smart phones. It has scaled to devices and uses far and beyond its original design or even what Sir Tim envisioned. Java cannot even come close to what HTML has achieved.
Vertically, JavaScript has seen a 1000 fold increase in speed in the last two years. It can be run at near-native speeds and improvements are still coming. It^aEURTMs fast enough to now run a speech synthesizer in JavaScript, or run Quake II. That^aEURTMs scaling, considering where JS came from only a few years ago. It might not be as fast as native code, but it has survived being pushed well beyond the boundaries it was designed for^aEUR”that^aEURTMs scaling.
SPDY.
JSON is the new XML, thank goodness.
No doubt HTML has been very successful. It was designed as a simple layout/formatting language. If you try to scale HTML to more complex data exchange/data presentation frameworks, things get very awkward. It is just not designed for things like dynamic tables, menus and real-time data exchange. Most dynamic web sites are designed with a whole load of hodgepodge methods: HTML/DHTML, CSS + JavaScript, Flash, Java, ASP/JSP/PHP, etc. Yes you can develop dynamic web pages that resemble something like drop down menus, dynamic lists, etc., but the whole process is messy and clunky.
As impressive as it seems, JavaScript was a hack to add some scripting functionality to static HTML pages, to make them more programmable/dynamic. No matter how much you polish a turd, it’ll still be a turd. There is a reason why real operating systems are not written in JavaScript or PHP, or Python. If you have a 128-core server/workstation, tell me how you’re going to use JavaScript to develop complex financial/scientific application that needs to access databases, create network connections to remote servers and distribute processing load across 128 parallel threads.
Edited 2010-05-30 13:41 UTC
HTML is about compromise though. I think that is the point. HTML doesn’t scale, it simply drops to the lowest common denominator. It always has, and will continue to.
The other factor is, HTML used to be a simple mark-up, it described a document. It’s now massaged in to being more than just a mark-up. It doesn’t necessarily do this in a nice or even stylish way. It’s still feasible to write HTML in a text editor, but it isn’t practical. In truth, without using the minimum of 3 browsers for testing, you will not get even get a fully functioning page in many cases. Much of this is related to Javascript implementations, but Javascript and HTML are so intertwined these days, it is hard to do much without using both together.
Javascript is still a horribly clunky language to code for. It is imprecise, it has a completely nasty object model and the lack of firm typing leads to crufty code. The thing that Actionscript has going for it is that it uses the ECMA Script as a basis (as does Javascript), but adds useful stuff on top – like a real object model that is not a clunky hack and actual typing so that stupid mistakes are less easy to happen. Honestly, I code in Javascript regularly, it is horrible. One can only hope that HTML6 (or whatever standard covers Javascript) tries to address this kind of stuff.
How much of that is to do with processor speed? Try doing all of that on a mid spec ARM processor – Javascript is still running in treacle mode. I would also dispute the “near native speed” claim. I think the truth is, the disparity between processor speed and Javascript performance has been reduced enough to make Javascript feel as fast as a native application. I think if you did any really complex recursive maths with Javascript, it would still be order of magnitudes slower than a natively compiled app.
“An experimental protocol for faster web”. Google specific. Time will tell, but it would need to be supported widely at server level to make any inroads.
Ah, so you don’t actually understand what XML is, versus JSON. That’s okay. JSON is not the new XML, JSON doesn’t even come vaguely close to replacing XML. JSON is pretty much a serialised Javascript Object. that’s it. You need to interpret it in exactly the same way as you need to interpret XML, in the context of the document. It might be marginally fatster in the Web, as generally you can theoretically write Javascript that directly accesses the elements of the JSON object instance, but in practice, it’s not really all that much different. For simple tasks JSON is usable. Could I replace a XML file that contains a full word processor style document mark-up? Not really. Horses for courses, use the right tool for the right job, etc.
It is called Java and unfortunately no one cares (on the home desktop) despite the fact that Java is a nice and clean implementation.
I doubt pNaCl will have a different fate.
No one cares on the desktop for one very good reason. There is not a single Java desktop app that doesn’t scream out at the top of its voice, “I’m written in Java”. Which means that it is slow, eats memory for breakfast, and doesn’t fit in with the rest of the desktop within which it is running.
If there is one that doesn’t do this, please point it out.
Oh god, seemingly every day I ask myself whether I really should take the effort to counteract this kind of FUD yet again.
How about this: Name one that does do this and try to prove with some semblance of credibility that you have used a Java app within the last decade.
As for ones that don’t do this, sure: Eclipse (and by extension Flash Builder and many other development tools), IntelliJ, NetBeans, Matlab, Maple, LimeWire, Azureus/Vuze, Puzzle Pirates (technically a browser game, but this thread was supposedly about plugins so I figured I’d mention it). There are plenty more less well-known examples I could dig up, but I think I’ve made my point.
The post I replied to mentioned desktop. You have ignored what I stated about java apps. All the apps you list still scream that they are written in Java. This is not FUD, this is user experience based fact.
OK, to quote your claims again…
Slow… um, no. Maybe the JavaVM initially starting means an extra 10 seconds startup time. After that, all of the apps I mentioned are as snappy or snappier than their native counterparts. (Example of being snappier: Many native apps *cough Apple Mail cough* actually experience a full UI freeze while they do anything remotely complicated. Most well-written Java GUI apps on the other hand take advantage of background threads to avoid that kind of thing.)
Memory: None of the apps I listed above takes more than around 160MB of memory. That seems quite normal for the kind of complex applications they represent.
Fitting in: All of the above-listed Java apps match the look and feel of native apps perfectly (or so closely that perhaps 90% of users would fail to notice the difference). If you were to ask the average Flash Builder user whether they realized that Flash Builder is a Java app, I would guess maybe half of them would have no idea, and the rest would only know because they happen to be programmers. The only areas where natively-styled Java apps occasionally don’t match is with the Open/Save dialog boxes of certain Swing apps, which is admittedly quite a sore point, but hardly justifies the claim that the entirety of the above apps do not fit in.
Sorry, but yes, you are spouting FUD.
Edited 2010-05-30 14:34 UTC
Easy: Vuze (n~A(c)e Azuereus), Eclipse, Netbeans (though this is one of the better ones). They’re the only java apps I commonly use and they are all horribly slow and ugly. The one good (in terms of speed/responsiveness) Java program I’ve used is Matlab.
Of course, there are slow and bloated C++ apps too, OpenOffice springs to mind, but they seem to be less common. I think that the reason is probably this:
Although it is possible to write efficient Java programs, you can’t really do it if you write things in a ‘Java’ way, i.e. not worrying about memory, using heavy types like Integer, and so on. Consider that when writing Android games, one is advised not to display the FPS, because formatting the string creates a new object each frame! Wtf?!
Fortunately (p)NaCl is language agnostic (unlike JVM). It’s also written by google who are pretty bright so hopefully it won’t take ages to load like the java plugin.
OMFG how long has this been the Java desktop example list?
Your platform has serious problems when the star desktop apps have been the same group of IDEs and bittorrent programs for years.
Who would even use swing these days when there is Qt?
Java on the desktop is dead. We had the wake years ago.
Um, OK. I just listed off the first that came to mind.
But why don’t you list off the names of cross-platform apps written in Qt. You will find that they have stayed pretty much the same, too–Picasa, Google Earth, and… not much else springs to mind actually. Flex–admittedly they’ve got some fresher programs, but nothing with the complexity of the Java apps mentioned, and for good reason. How about some other cross-platform toolkits? Let’s take a look at XUL. Firefox, Thunderbird and Co, Komodo IDE–that’s most of it. GTK+? Well, there’s Pidgin, GIMP, AbiWord… nothing much new there either.
How does claiming that it’s the “same old list” prove anything? It’s the same with most desktop software across the board.
Put another way, if I were to list off a bunch of little-known Java apps, would it really support my argument? By the same extension I think you’ll have trouble finding many examples of apps written in any other toolkit that don’t warrant the same answer from me of “oh, those same apps listed again”?
I admit that JavaFX has been off to a slow start and Swing is getting a bit long in the tooth, but writing off Java on the desktop entirely seems to me to be unreasonably short-sighted.
Btw, if you want proof that plenty of people are gleefully ignoring your kind of FUD and just creating things with technology that works, take a look at one of the most innovative projects mentioned on OSAlert not too long ago, Code Bubbles.
http://www.cs.brown.edu/people/acb/codebubbles_site.htm
Edited 2010-05-31 18:26 UTC
Maya, CineFX, FreeCad, MythTV, Skype, Scribus, Qcab, WordPress.
All the recent popular desktop applications have been written in something other than Java. How long has Java been promoted for desktop development?
No you can’t say the same for .Net, GTK or Qt.
I wrote off Java on the desktop years ago when it was still being hyped.
Nokia has a competent team on working on Qt and they’ll pull even farther ahead of Java in the next few years.
I wasted enough of my time with Java. I was one of those programmers that Sun completely ignored even though we all had the same complaints: Make use of the host’s native GUI, reduce the runtime size, and fix distribution issues.
But the arrogant pricks at Sun didn’t listen and now Sun is the property of Oracle, the same company that former Sun CEO Jonathan D-Bag Schwartz derided for being proprietary. Will Oracle give Java the funding it needs? Who knows and at this point it doesn’t matter since it is doubtful they would be able to put together a team that can compete with Qt or Visual Studio. In four years Qt will be the cross-platform development toolkit and Java will be even further marginalized to cell phones.
Funny you should say that, but those exact issues have all been addressed with the newest Java 6 releases (some were even already addressed in Java 5) and are continuing to be addressed. Native GUI is good to go (in SWT it is a given and with Swing the open/close dialogs are pretty much the only outstanding issue). As for runtime size and distribution issues, the runtime is now modular and the pieces are downloaded on-demand when you run an applet that needs them. (By the way, Java’s full runtime installation takes about 1/10th the time to install as .NET. Both come preinstalled of course, so it’s something of a non-issue anyway, but the difference is that Java is a lot easier to update.)
The reason Java got a bad reputation is largely historical and has little to do with Java today. Java today is thoroughly optimized to the point where it beats GCC-compiled code’s performance in many cases, and its 2D graphics stack is also extremely performant and on some platforms 3D-accelerated. On top of that it is open source. And finally, the world we live in today is different from the time when you were messing around with Java. Computing power has increased today to where virtual machines’ performance hits are negligible and the benefits that the layer of abstration, sandboxing and garbage collection bring are totally worth the hit.
It’s not your grandfather’s Java anymore. If you don’t like Swing, use SWT (which gives you real, 100% native widgets), or scenegraph-based stuff like JavaFX or Piccolo2D. Hell, even Qt has Qt Jambi, so you can get the benefits of Java and Qt simultaneously without having to write a line of C++ code.
Finally, Java has the combination of managed code, cross-platform compatibility, and being open-sourced — no other technology offers you all three. Even if you claim Mono provides all three as well, Java still has the advantage of every new JRE release being backwards compatible–a far cry from the multi-framework-version nightmare that is .NET.
So be bitter all you want. But don’t go spreading this bullshit about Java not being suitable for the desktop.
Most of those have average to poor performance and take ages to load. I’ve used Maple for years, then tried Mathematica, and it feels incredibly faster and snappier in most cases. Mathematica’s interface for formatting is arguably better too, but it may be due more to the developers than to the GUI toolkit being used.
Same for Vuze vs KTorrent or ^AuTorrent. Again, performance loss is huge, especially on the interface snapiness area.
Same for matlab. Until it gets usable, on an average computer, I usually have more than enough time to make and drink two cups of coffee…
Admittedly I haven’t used Vuze recently since uTorrent is much closer to what I need, but back when I used Azureus it had a snappy UI regardless of the PC. Possibly Vuze’s flashy chrome makes it slower, but I doubt it’s much slower than a native app that uses similarly flashy chrome.
As for startup time, I already admitted that that is an issue. However, it’s an issue that the last year or so of Java updates have addressed, and which is still being improved upon. Also note that this is primarily an issue the first time the JVM starts up, though it’s possible that for IDEs this doesn’t apply since they often use private VMs.
What kind of “average” computer are you talking about anyway?
The average in my work environment : 2 to 2.5 GHz P4, 1 Go RAM, average HDD from 2006, non-tweaked Windows XP.
Edited 2010-06-01 09:01 UTC
Here we are today with Microsoft being forced to offer a browser choice screen the first time you start Windows, and meanwhile Apple actually is selling a computer that prohibits any other browser than the built-in one from being installed.
(Nor are any applications that compete with Apple’s own allowed to be installed, nor are any development tools aside from Apple’s own allowed to be used.)
This is way more extreme than the situation with Microsoft Windows ever was.
It almost makes me wish for the iPhone to gain a monopoly, so that Apple is finally slapped in the face for their ridiculously anticompetitive behavior.
P.S. The very simple solution is for Apple to (be forced to) abandon the lock-down on installing apps from outside the app store. The iPhone and its ilk are not in the same class as traditional locked-down cellphones–they are computers and as such require reasonable license terms that are not blatantly anticompetitive.
Here’s a challenge for you. Name the computer where Apple do not allow a browser other than their own. I sure as hell can’t because:
1) iPhone OS based devices are in my eyes appliances rather than general computing devices.
2) If you don’t agree with 1, Opera Mini.
2) But you can^aEURTMt replace WebKit on iPhone OS and you can^aEURTMt set Opera to be your “default browser”. Any App that launches a website will launch Safari.
Opera Mini is a toy, and Apple know it. That^aEURTMs why it^aEURTMs been allowed. It can^aEURTMt change the fact that WebKit is core to the OS and only Apple have control over it.
2) Ditto what Kroc said about Opera Mini
1) This is more or less just parroting back Apple’s official line, which they are using to pull the wool over the eyes of consumers. Fact is, the lines between “computer” and “appliance” are blurring, and have been for a long time. Apple is just hoping that we get so used to the idea of our computing devices being locked up that we won’t even notice the day our “non-appliance” devices become irrelevant and our freedom has forever disappeared.
That is just paranoia in my view. If/When they start doing the same to MacOS those fears may make sense. The counter to your argument always used is game consoles. Are Sony/Microsoft/Nintendo trying to lock up our computing devices and take away our freedom? Microsoft possibly being the best comparison here to Apple with Windows Phone 7.
First of all, AFAIK Windows Phone 7 does not have licensing terms that prohibit you from developing and distributing whatever you want for the phone. The development tools admittedly all come from MS, but there is legally no reason you can’t install whatever the hell you want on there.
Second of all, it may or may not come down to Mac OS, or maybe by the time it does Mac OS won’t be relevant any more. The main thing to think about is the precedent the iDevices are setting. Think about the complacency being built up in the consumer base.
As for consoles: You are absolutely right, they are way out of line. It is wrong that MS has absolute and final control to kill your XBox hardware whenever they feel like it. It is wrong that Sony forces you to choose between using Linux and using connected games. And it is wrong that Nintendo tries to prevent you from installing homebrew games.
The only reason that console makers get away with this crap is that consoles have only recently joined the realm of computers in a broader sense — internet-connected and capable of general computing tasks beyond gaming. And the lines will continue to blur. So I think that we need to be increasingly vigilant about licensing terms on consoles as they encroach more and more on general computing tasks, just like with the iDevices.
Edited 2010-05-30 14:18 UTC
So long as I want to write it in .NET, or Microsoft deem me worthy to join their select group that are allowed to use native code. This takes away the possibility of having a standard backend across iDevice/Android/WP7 without having to ask permission.
This then leads us onto, what other browsers will MS allow? Will Mozilla and Opera be allowed access to native code? What about a random development house who think they can write their own better browser?
I admit that I don’t know the answer. However at the very least Adobe has announced that they are working with MS to bring Flash to WP7, thus giving you at least one cross-platform solution.
What is the problem in writing applications in .Net?
If you want to target the Blackberry phones, or tons of feature rich mobiles, you have to use Java instead.
Native code == insecure applications, I for sure don’t want to be running an antivirus on my mobile.
And besides, no one is preventing you to write a browser in .Net, if you feel like to.
He said it right in the comment. It (at least according to the theory) limits your ability to write cross-platform code. Thought it may not be such a big barrier after all thanks to Mono and Microsoft’s plans to bring Silverlight to a few other platforms.
Why has all code to be portable across platforms?
Sometimes to give an unique user experience you need to take advantage of what the platform offers.
I don’t see anyone complaining about Objective-C/Cocoa restringing the portability to other platforms.
You don’t get out much, do you?
Wait, that’s not right.
You don’t stay in to read the OSAlert comments section much, do you?
Edited 2010-05-31 21:34 UTC
The timing of this article is impeccable. We are on the verge of Apple outgrowing Microsoft, also in terms of monopoly. Antitrust scrutiny for Apple is readily under way and their motives and behaviors are questioned.
Apple cannot embrace the Web, no more nor less than you and I cannot embrace a Cloud.
Safari will not be the next IE6 (*) (**). The world is different now. Apple’s mobile devices will never reach a 99% market salience. As a Mac user myself (who doesn’t care for an iPhone, iPod or iPad), I am not tempted to use Safari on my Mac. It doesn’t come close to the perfect trackpad integration of Firefox and it is far from the performance Chromium has.
My point of view is that iTunes has become so big because record companies were sluggish and stared themselves blind on killing Napster rather than providing a proper alternative. Apple realized the potential of a paid and structured Napster. That’s where they come in. Blame the major labels (for that and for many other things).
(*) – I am not saying that Safari does not risk getting stuck at a certain level. Just like Microsoft, Apple is prone to letting certain applications become a total mess, such as QuickTime Classic, MacOS Classic, and the Windows port of iTunes which ought to be called iTunes Classic for consistency’s sake.
(**) – I will hand this over to you though; IE was more cross-platform and versatile than Safari is, considering IE was available for the Mac until Apple released Safari.
I do not wish to confuse people in believing that Safari will reach 99% usage, it won^aEURTMt. That^aEURTMs a flaw in the article if that^aEURTMs not clear enough. But I do feel that Safari on the iPhone and iPad can and will veto the direction the web wants to take and that the iPad (and what comes next) will get a large marketshare (like 25-30%) such that ignoring it is being at a loss (like ignoring Firefox support on websites now is suicide).
I merely used it to point out that not all factors are there for Safari to dictate where the internet goes. The main point of your article is definitely taken (and this article was definitely a good call). As someone else already pointed out, it should strike one as odd that Microsoft must present a browser ballot while Apple works increasingly towards singling out Safari.
Unless Apple is considering new uses for the iPad (i.e. live streaming using the webcam which probably will be in v2.0), iPad internet usage is largely going be about (newspapers, emails, blogs) and videos, and doesn’t cause the internet to make changes to support it.
Except Safari is webkit, the engine is cross platform. IE for the Mac was not the same engine as IE under windows so they were two completely different browsers.
Oh I remember very well that IE for Mac required me to apply several hacks to some of my websites, or it wouldn’t parse the way it should (but that problem also consistently occurred with IE on Windows). I was actually reminded of that when reading Kroc’s point on having to apply several hacks to get his site properly working in browsers whilst sticking to HTML5.
The W3C Device APIs provides a way for HTML and JavaScript to access hardware such as web cameras and microphones. The web has already exposed GeoLocation and this takes things a step further, allowing for new kinds of innovative web-based apps that have so far been restrained to Flash and native apps for a lack of any other way of doing it. Not having to download and install anything, nor worry about platform compatibility, will ensure that moving this sort of functionality to the web is a good idea.
This part of the article is where I disagree with you fully. Why on earth would you want to allow HTML to control hardware? That will lead to nothing but trouble in the long run, as has already been shown through history. Why give another tool to the masses to invade privacy?
at large, for HTML5 — Google and others are embracing it and the decision to do so didn’t just pop out of nowhere. Of course Google didn’t need any inspiration from the iPad here. Google is a force in the market user numbers-wise, while the iPad, and even Apple in general, is not.
Before the iPad, there was no reason to move away from Flash to HTML5 unless you were building something new and targeting HTML5. Flash would continue to work, so why waste time and resources changing? After the iPad, there was no option any more. If the iPad becomes anything as popular as the iPhone and you^aEURTMre a site with 1M+ visitors then you cannot ignore this market easily. People who use their iPhones to find businesses and are confronted with a Flash prompt simply don^aEURTMt ever go back to those sites.
That is the point of this article — that just as making a site that doesn^aEURTMt work with Firefox now is practically suicide, I believe the iPad will get to a stage where it simply can^aEURTMt be ignored if you^aEURTMre in business. I would say that the iPhone is already there, and I have every belief that Apple are not aiming anything less than the same with the iPad.
Google provided the technology, Apple provided the incentive to use it.
Google provided the technology? Please. Google gave us their proprietary hack for offline apps Gears and then deprecated it because Apple gave Webkit superior offline storage.
Both Apple and Google are providing the tech. Google was promoting it and then abandoned promotion to use Flash as a blunt instrument against Apple. Apple is providing the tech and promoting it.
Apple intro’ed the most advanced mobile web browser with the iPhone for web apps, and the consumer and developers asked for native apps.
Apple may not “embrace” the web, but they aren’t doing anything at all to hinder it.
Hmm, I don’t think I care for Apple for a bit. They don’t mean anything to me. I don’t buy and don’t use their products, I don’t even use WebKit and other technologies they developed. Their products are bloated and too eye-candy for me, and they crash way too often. The fact is different: they use technologies and base from an OS I use, which is quite funny.
Great article, and especially timely. I got my new iPad two days ago, and today I decided to open one of my Google Docs documents. I discovered that Google Docs can’t be edited via Mobile Safari because Mobile Safari doesn’t support contentEditable. So, all my documents are read-only (so much for the cloud, so much for the open web).
This will be an interesting test of Apple’s intent vis ~A vis Google. By not enabling contentEditable, they make Google Docs unusable in their walled garden. However, it seems that iPhone OS 4 Beta 2 does enable this feature — if this is still true in the shipping OS 4, surely that will be a (small) sign of Apple’s good faith.
Edited 2010-05-30 18:52 UTC
I think you’re mistaking Safari – the browser – for WebKit, the rendering engine that Apple started and open sourced. Apple couldn’t stop webkit’s development if it wanted to, and it has no affect over whether other companies like Google, Nokia, and (soon) even RIM use it in their browsers. These companies are choosing to use WebKit for a variety of reasons, usually being that is a very streamlined and portable engine- it runs quite well on desktop *and* mobile devices.
So a WebKit-based browser can use Flash or any other technologies that you mention, or not. Safari uses Flash on the desktop, but not on Apple’s portable devices. Google’s Android browser – based on WebKit – will use Flash once 2.2 FroYo goes live for everyone.
These decisions are not, and never have been, up to Apple. If FroYo helps Adobe to keep Flash alive, and other companies are successful in pushing the new web tech you speak of, Apple will either need to follow along with Safari, or risk losing Safari’s users. Don’t forget, IE was the default browser on Macs for quite some time; it was pre-installed out of the box. We can always switch to another browser, as Firefox and now Chrome are very solid products on the Mac now.
But you’re right in that Apple wants people to buy its hardware. At the end of the day, Apple is a hardware company, not a software company. The fundamental way that it is going to compete is by trying to build software and hardware that provide better experiences for users than web tech. If the day comes that the browser trumps native software in features, power, and experience, Apple may need to adapt or face extinction. Much like Microsoft is having to do with IE right now – didn’t Firefox just pass the 40% worldwide install base? Microsoft is finally stepping up its competition with IE9 by supporting CSS3, HTML5, and other tech, and from what I hear, it’s doing a pretty good job.
I think the “market share argument” is also a bit misguided, and it muddies discussions about tech and products like this. If Windows and IE still own the market, does that make ther Mac, Chrome OS, and Linux terrible products? Does that mean the Linux effort has “failed” or should be abandoned? Is BMW a terrible product because there are more Toyotas or Honda’s on the road? No, they’re all good products built for customers who want them.
Gmail is a great product, but it already has a ton of competition that plays by generally the same rules. Why does MobileMe need to compete with Google, and be monetized in the same way as Google’s products? Yahoo, Hotmail, and a slew of others are all trying to play Google’s game, which is why I choose to use MobileMe. I don’t want ads in my email, I want a small bit of web hosting, and i want to be able to sync a ton of third party product data between a few Macs. MobileMe is the only solution I’ve found for that. Google doesn’t offer web hosting, nor does it offer a syncing engine for third party applications like Sync Services in MobileMe and Mac OS X. But lots of people don’t need these things, so they go with Google. It’s good to have this diversity and choice in the market.
But when it comes to integration, none of these companies are required to support anyone else’s products. Can i enter my MobileMe credentials in Windows or Linux to set up my email, or sync app data? What about my Yahoo creds? Can I even manually add my MobileMe address to any Windows client and sync down all my MobileMe email aliases? Can you add your Gmail credentials to Outlook and use Gmail Labs features or even labels the way Google intended?
Apple, Microsoft, and Google are pretty smart companies, and they all have their perspectives on how best to make emerging technology work for their business. It seems to me that Apple’s approach will be to build strong native clients for web services where necessary. After all, the iTunes Store has always run in the itunes client, but the store itself has always been just a webpage. If the web truly is where the majority of our tasks and experiences end up, neither Apple nor any of its competition will be able to stop the stampede. They’ll need to adapt or perish. It’s pretty simple.
i stopped reading at “begun.” began! dumbass.
British English. It^aEURTMs a past participle. Learn to language.
Edited 2010-05-30 23:09 UTC
Weird, it sounded horribly wrong to me too. But the more I say it to myself in my head with a faux British accent, the more it starts sounding reasonable…
Edited 2010-05-31 18:47 UTC
Technically I should have written “When I had begun”, but I was being brief.
Google Android recently overtook Apple’s iPhone to reach the #2 market position in smartphones. It did so (essentially) by carpet-bombing Apple’s market with 2-for-1 deals on smartphones — deals that can’t be ignored by consumers. This trend is essentially following the same pattern that occurred during the late 80’s and 90’s, when Microsoft started competing with Apple in the PC vs Mac environment on volume. Apple clung to their high profit margins, and saw their market share steadily decline until Microsoft stagnated. Substitute Google for Microsoft, and you see the current playing field in smartphones & Internet content pretty clearly.
Google has a vested interest in embracing the Web. It’s the thing that drives most of their profit, and walled-gardens are a threat to Google’s hegemony in search. And, for all Apple’s work up until now in cultivating its walled gardens and trying to keep content providers inside that wall, the fact of the matter is that those same content providers will not be able to ignore Google for long. What Google will do is force Apple to play a different game. In my opinion, opening up and embracing the Web is not something that Apple really knows how to do. They’ve built their business on mostly proprietary technology (OS, firmware, iTunes, phone, iPad, etc), they like it that way, and it would be difficult for them to change. But time is not on their side.
Apple is going to undergo heavy antitrust scrutiny soon. Their exclusive deals with content providers are going to end — or be forced to end — and Apple will be forced to change its behavior with iTunes and content lock-up. It’s just a question of time. Meanwhile, Google is building a very attractive pathway to new devices, and leveraging pure Web technologies built on WebKit and other open source tools to create pretty cool stuff.
This dynamic is very good for the market and the consumer. It means that there won’t be a single fat lazy monopolist sitting in a toll booth for every Web-based purchase that we make. It means that we will have a choice about where we get our content, how we use it, and how we share it. Apple doesn’t want anyone peering at the man behind the curtain pulling the control levers, but it’s too late. They’ve pissed off a lot of people, they’ve grown very, very fast atop outstanding innovations, and while they deserve to prosper, they don’t deserve to sit in that tollbooth to control our computing lives.
Ah ah ah, so wrong.. sorry but that very inaccurate!
The last news I read on that is that Android smartphones have a higher shipment rate number in the last 3 months in US only… lol
In market share Apple smartphones is still ahead, even in US.
But more funny is that Apple never was #1 in market share or in shipment rate in US: it is RIM with the blackberries smartphones.
Thus AndroidPhones are still #3 in US in market share, there are just reaching #2 position in shipment rate…
But the iPhone was in his end-of-life cycle and a new one will probably be out next month … about the same time as EVO android phone, that will be good to see how this may change the things…
First, the news…
http://www.siliconrepublic.com/news/article/16154/comms/android-ove…
Second, the US comprises between 54-59% of the international market for smartphones. Here’s a sample for the iPhone market breakdown by region.
http://arctouch.com/wp-content/uploads/2009/07/iphone-worldwide-sha…
Third, your suggestion that a new version of the iPhone will propel Apple back into the lead is nothing more than BS speculation. There’s no evidence of that. The fact of the matter is that the next version of the iPhone will be incremental, not revolutionary. Android has already caught up to (and surpassed in a lot of ways) what the iPhone can do, so the days of easy, unchallenged market share growth for Apple are OVER. And I say that as somebody who doesn’t like either company. Given a choice, I’d choose anybody BUT Apple and Google.
How is Google’s Portable Native Client good for the web?
How is delivering applications in a Google approved way anything to do with bettering HTML/JS/CSS?
Google simply want their ad network to survive. Else they have no profit.
Is it right for Google to have a monopoly of how Applications are delivered to an OS?
There is nothing to say Apple wont continue to nourish HTML and JS and CSS….. which is what the focus SHOULD be…. not on virtual machines and binaries and hijacking alien Operating Systems with their own take on what an application should be…. THAT is the true wrong.
WebView (webkit) in Cocoa provides an extensive delegate framework. You can basically write your own browser and extend it with all kinds of extensions if you want to.
Google wants everything cluttered and difficult to find. They want the messy room and want nothing organized.
If it was the opposite you wouldn’t need to search for anything. And search is what Google does.
Hey Kroc, it’s David.
I sort of agree, but sort of disagree. While I find this analysis extremely interesting, I think (and hope) you may be misunderstanding or overlooking the reasoning behind some the fundamental decisions that close Apple’s systems. In specific, the omission of Flash and adoption of HTML5.
True, any company would want a closed system that earns money. And it’s also true that Apple and Microsoft have been able to do just that. But for what it’s worth, I feel like that’s where the similarities end. My thought is the underlying reasons for keeping the Apple systems closed are based, at least mostly, on user experience: “Does this product give users a good experience?”
Technicalities aside, if my understanding of the logic behind Apple’s decisions on Flash and HTML5 are correct, it would most likely change your opinion significantly. I daresay that you may even recant your statements about Safari entirely if Apple is sincerely focused on providing a good experience over simply making money. Of course, I hope this is the case, and I’m sure you do too.
Take what we’ve already seen as an example: IE entered a new market with little competition and Microsoft already had a majority of computer users running Windows when IE was at 99% deployment. Mozilla earned their users through an up-hill battle using FREE technology. Apple has earned their users through services and products that are more expensive than Microsoft’s. I think the bottom line is that the majority have spoken.
I understand that many people don’t agree with this point, but the real test will be in the coming years: Will Safari keep up with Firefox? Will Apple allow highly-functioning web features from Google? Will a healthy and competitive market continue to exist?
As someone who switched to a Mac to find that Apple took pretty good care of me, I’d like to believe that I’m right. Hey, I may be entirely wrong. We’ll see!
Good to see you NS! Welcome to OSAlert
Actually, if anything you have hit upon a thread that was not covered in the article, but I do essentially agree with you. Yes, Apple is absolutely concerned about user experience. It is the single reason why the iPad has succeeded where all others have previously failed. Only Apple seems to get this, and as a designer who can see this fact blatantly whilst others around me wail about how the iPad lacks X, Y & Z.
When it comes to the web, Apple don^aEURTMt understand the aesthetics. The web is messy, and it^aEURTMs supposed to be. Thinks like GMail are tasteless to Apple. Bad looking and non-native, but yet GMail is a million times better than MobileMe.
A completely cross-platform web with native capabilities threatens to crap all over Apple^aEURTMs aesthetic and they won^aEURTMt stand for that. It is for that reason that I believe Safari will begin to veto web features in order to maintain the Apple aesthetic. Not least that when users have spent $100s on their app catalogue they won^aEURTMt want to upgrade to anything other than an iPhone for fear of losing it all, and Google and the web completely threaten that lock in.
OS X is the best desktop OS IMO, and the iPhone OS and all that drama does not change that fact. However, I^aEURTMm most concerned that Steve Jobs has moved on. I hang out for hope for WWDC and an announcement for 10.7.