As Mozailla defines it, an open web app works in all modern browsers across the desktop and mobile. That idea thrills me as a user but gives me a sick feeling as a developer. Unless your app is fairly simple, that's a lot of platforms to target. What happens as the apps get more complex? I wonder how many companies will start with one or two platforms and then add support for more, once their code is tested and refined to enable "each browser to compete on app presentation, organization and management user interfaces."
I can't help but dream about an alternate universe where browser vendors standardized on one common, open source rendering engine and one javascript engine.
I'm a big fan of the "defer commitment" principle. It seems speculative and dangerous to try to create new standards in a field that is evolving so rapidly. We've had a lot of form factor innovation like smartphones and tablets. Other relevant areas like online payments are ripe for innovation as well. How will these new standards respond to the need for matching innovation? Who will maintain them? Will there be versioning? What about backwards compatibility?
It's not really a standard at this point, it's just an experiment run by Mozilla to get traction and catch up with Chrome. In other words they're doing exactly what you said they should, embracing evolution and innovation in web applications on both desktop and mobile fronts.
Yes, but they're pushing this as an open browser standard for all web app stores. It'll be interesting to see Google's response to this, as well as how DRM potentially works in both implementations.
Perhaps a standard identity/payment mechanism which reduces the marginal effort required of a user to create an account and agree to pay, say, $1/month would drive sales? Much like it's easy for Apple/Google app store users to make purchases?
> I don't really think you know what I did and didn't do.
Actually, I do. Your original comment did a fair enough job declaring what you didn't know. Simple things that were mostly answered by doing a bit of reading. You also ignored people's responses as if somehow, despite your ignorance, you knew better.
> Really?
Yes, really.
> I was pointing out the problems of the app store model.
No, you didn't. Your original question was one of ignorance. You said:
"I don't really know...", "I don't really know...", and "What problems are these app stores supposed to fix?"
You weren't pointing out problems. You were declaring ignorance of the service. People provided answers, which you discarded without reason.
For example:
> I don't want no payment standard for that, heck I may not even want anyone to know how many users paid for my service.
That merely says you don't want it. It says nothing about the service or the validity. You weren't pointing out problems, or demonstrating anything. Just waving your arms around crying out.
> How much do they cost? do they add up to the 30% of the price I would charge? :)
That's the first reasonable question you've made. We'd of course want to look at similar services, so we'll look at Steam. I can't find exact numbers, but going by this (http://en.wikipedia.org/wiki/Steam_%28software%29#Profitabil...) it suggests a 40% cut by Steam, and a much greater cut via normal retail. So a 30% cut is much more reasonable.
> Next time read the comment I am replying to and don't take my words out of context. Thank you.
I did. I also kept in mind what that comment was replying to, your original comment declaring your ignorance on the topic. Threads of conversation here are not just limited to immediate parents.
You're also ignoring the vast number of services that already do things akin to App stores and subscription services.
Essentially, you are challenging the need for these services and questioning their viability when these services have proven both successful and paramount in the success of many smaller developers.
You might not see the benefit for your own application. That's fine. You might try to explain that, rather than question the service as a whole. But then you can't discount the value it imparts upon others. Anyone can question. It's easy and safe, but provides no lasting value.
> What problems are these app stores supposed to fix?
You've completely missed the point. The feature isn't an app store. It's browser based applications you can download and install on your computer, and run locally. The browser is merely the engine the runs the application. They'll probably remove the chrome, and instead of acting like a browser and a web page, it will merely be the application.
It's probably because the point makes no sense. There's no reason to go back to desktop apps, we were moving away from that and making lots of progress and now all of a sudden many are eager to return back to local desktop, but this time running inside a browser, doesn't make any sense at all.
We should be moving forward, rather than going backwards.
You're making a crucial mistake of assuming that the Web apps are the forward. Not to mention that you're forgetting that Web apps are not possible without at least one desktop app.
> It's probably because the point makes no sense. There's no reason to go back to desktop apps
Yes, there is. Being able to install a web app locally means several things immediately:
1. Local and remote storage of data beyond what traditional web apps can accomplish.
2. Snappier applications, since everything is stored locally.
3. You'll still be capable of being connected remotely.
4. Ability to use the app even if you aren't connected, or cannot connect remotely.
Also, you assert that we were moving away from desktop apps, when the opposite is true. Native apps are still insanely popular thanks to mobile devices. Even on an iOS device, you can run web apps as if they are local applications. It's incredibly useful here as well. Being able to install an application on your phone outside the App Store.
To be fair, very little of what's proposed in this project changes any of those points. You can already store data locally using localStorage APIs. You can already cache application content/scripts/resources locally using HTML Manifest files, which also let you use the application when you aren't connected to the net. And of course, you can always access remote resources when you are (even across domains using the new Cross Domain XHR technology).
The crux of what they are proposing is a standard way to actually say "I want this web site to be considered an 'app' that can be installed using whatever your platform wants to consider installing". In other words, a slightly more enhanced, standard version of adding an app to your homescreen on the iPhone.
Local storage is currently limited. On the desktop there will be means for unlimited storage. Manifest files can present more than merely what file to download (such as operating in the background). By setting the apps to a different domain, it gives them room to allow for a different permission set.
If it would become unlimited than nothing would stop my web app from filling your hard drive up with crap. So removing this limit maybe not such a good idea. Besides if Mozilla wanted to provide unlimited storage they could just remove the limit from the HTML5 storage, but they won't for the reason I already wrote.
> We already have HTML5 for that, why would we need yet another method for the same thing?
Aspects of this are limited for security reasons. Changing the location of the application, to treat it as something different, allows for different levels of security.
> Again... this is all possible with HTML5.
Again, to a limited degree for security reasons.
> Show me a recent native app that has the success rate of Facebook or Twitter.
Just look to Apple's App store as a good example. Look at all the native Twitter apps that people used over the web interface.
> A lot of native apps are just interfaces to web apps.
Yes, and why do you think that is? Because being treated as native apps gives them additional flexibility. With browsers able to "install" web apps, they can provide additional functionality to these applications that otherwise couldn't exist.
> With bookmarking them and making the app use HTML5 app cache.
Yes. So at least your aware that what Mozilla is doing isn't new. Apple's done this. Google's done this. Mozilla is following.
Couple this with other benefits:
1. Having a trusted app store where you can get your apps.
2. Allow for an easy system to setup and sell your app. Envato does this. Apple does this. MS is planning on doing this. Google does this. You also make the assumption that developers can easily accept payments. It's not that easy, unless you bow to the will of PayPal.
3. Mozilla not doing this would leave it behind. Suddenly, if people wanted to use these web apps, they'd have to switch off Firefox.
I've presented many reasons why this is a good thing. You've questioned everything, but offered little in the way of why it's bad. Might you care to offer up reasons why this shouldn't happen?
> Ohhh and let's not forget the "native" applications that in reality wrapped web apps.
Huh? Native apps that are just connect to web API's are still native apps.
Mozilla's proposed Open Web App ecosystem is competing with Google's Chrome Web Store. Both seem to provide basically the same functionality: a dashboard of web applications for your web browser, and a store to discover new web applications.
I think perhaps it would be better Google Chrome and Mozilla had a compatible app dashboard for the browser, a standard interface to add applications to these browser dashboards, and competing, but compatible, web stores for web applications.
Looks like the discussion here is focused on the desktop, but I'm more interested in what does this mean for the mobile world. Since the original iPhone announcements we were told that web applications are going to be treated as first class citizens, but it didn't really happen on any of the leading mobile platforms.
I really hope that the work Mozilla is doing will help move the state of web applications on mobile forward in a way that is portable across all platforms.
The idea of "one or more" stores distributing these apps seems likely to hurt profit margins for developers. I was intrigued until they mentioned that aspect.
If I'm understanding this correctly the competition wouldn't be dev vs dev but store vs store. If that is the case then your app becomes a commodity and each store will try to compete on price, lowering the dev's profit margin in the process.
That's like saying that having more than one grocery store hurts farmers. The farmers choose what price they sell their produce at, and the stores have to choose their own price based on how much profit they need to make on each sale.
In other words, nobody will be forcing these developers to be on a particular store -- unlike Apple's App Store, where you have to play on their terms.
Precisely. Stores aren't just competing to get users, they're competing to get developers. If one store offers a higher profit margin for developers then that store will have the best apps.
If someone could launch a competitor to the Apple App store, and say "I'm going to take half the margin that apple takes from app developers", I think developers would flock to that store, and then so would customers.
I'm sure you'll have Mozilla pushing their web app store, officially sanctioned. However, you'll be able to setup your own store as well, and sell directly from your web site if you want.
"Support paid apps by means of an authorization model that uses existing identity systems like OpenID."
I like the idea of this. I wish it was easier to sell the web apps I build, in a way that's as easy as plugging in OpenID. I've looked at a few services that promise this but they either need US a merchant account or something else I don't have/can't get.
From the feature list: "Can request access to one or more advanced and/or privacy-sensitive capabilities" and "Can receive notifications from the cloud."
GMail, etc. has already proven that the browser provides a rich enough UI experience to replace desktop apps, but the general lack of integration with the services of an operating system still forces me to either (1) use desktop apps for some things or (2) go through convoluted processes.
An example: I used to work on a large photo sharing site, and making it easy for non-technical users to upload photos was important but difficult. A desktop app has the advantage of being able to recognize connected hardware, interrogate obscure file structures (DSIM blah, etc.), and show the user a pretty grid of photos from the camera -- all triggered on the hardware connection event. Recently, I told my dad to use Picasa as an uploading front-end. His eyes glaze over when I have to tell him how to navigate a directory structure, so a site which requires HTTP Upload is DOA for him. HTML5 will provide multi-file select, but the degree of available automation is terrible when compared to the desktop.
Here's what I'd like to see: A set of standard, OS-agnostic profiles for services provided by an operating system and common peripherals which would allow web-based apps to do things like slurp photos from a camera, print a pixel-perfect document, or capture a scanned image. Operating system vendors (or 3rd parties) could wrap OS-specific driver profiles with these Javascript/Browser-accessible APIs, and users could grant certain domains the rights to use them. Imagine a TWAIN driver wrapper for Windows which would allow a webapp to initiate a scanning request and capture the image without the user saving the file to disk and then uploading it.
The proposed notifications service is kind of like this except that it is designed to receive notifications from a bunch of sites even if no webapp is currently running.
I think the search service design should be inverted. There should be a standard search service interface which sites could implement, but the local operating system should implement this same interface and should be queried in parallel. A user could search for photos on his photo sharing site, a Dropbox-esque site, AND his local filesystem. But, the search service itself could be SaaS. Why make the desktop heavier?
What about a dialer/voice profile for mobile devices (and desktop as well)? What about a "screen management" profile which would allow a web-based Powerpoint competitor to automatically show the presentation on the projector but the slide notes on the laptop monitor? What other profiles would be interesting which could reduce the need for applications to target specific operating systems? What about a "headless" profile and a "system tray" profile so that Pandora could be implemented using a combination of HTML5 audio, an icon on the system tray, and the notification service for song titles?
As I re-read my submission, I thought about ActiveX controls circa 1999. They certainly could have been used to solve such problems (at least on Windows), but the ability for any old site to install native code made them a security disaster.
What's different here? The entity you trust to provide you with a secure browser is the same entity providing a set of profiles, and you would opt into which sites could access these profiles. And, there's no "run arbitrary code" profile.
There's still a problem. Most users would just click "Yes" whenever a web site asked for access. Chrome addons routinely request access to "all files on your computer" and very few users complain about it. Fast-forward, and it's ActiveX all over again.
I wonder if the security concerns could be limited by opt-outable warnings on first use. Let's say you gave a malicious site access to the camera profile. Would it be sufficient for an implementer of the profile to show a dialog saying, "Click here to upload all your photos to XYZ.com"? [Or, even better, show thumbnails of the photos which would be uploaded] Is it more real for users to allow specific access at a specific time than just a blanket "ok" at install time?
I can't help but dream about an alternate universe where browser vendors standardized on one common, open source rendering engine and one javascript engine.