Open Web Device
openwebdevice.com
openwebdevice.com
And also about how apps would interact with each other (so that I can change out one SMS app for another, but have everything else continue to work).
Oh, and will it support things like different keyboards? I love that on Android I'm not using the home screen, keyboard, email, SMS, or calendar apps, and it all just works fine.
The answer for integration is more a global one, and honestly I don't have a good answer yet. I could see something like Web Intents/Web Activities enabling replacement of the homescreen or keyboard and perhaps eventually integration with the likes of Dropbox, but there's still a lot of work to do before that point.
To me, these sorts of important, unanswered questions are where B2G wins the most. Rather than coming up with the answers in isolation and then pushing the result on the world, we encourage everyone to get involved in the process, and we will make it into another web standard that benefits everyone, not just Mozilla or B2G users/developers.
It's also not possible to implement Dropbox. When last I checked, IDB in Firefox is at least an order of magnitude slower than a KV implementation with direct posix access. Most importantly, there's no proper native crypto api, and no way to let a user open a file from within a web application, and have it open in a native application, polling the file for changes to sync the different chunks when the user hits CMD+S.
Would be great if Public Web Apps could push these two use-cases through and do so without undue delay. Here's a related thread started by Tim Berners-Lee: http://lists.w3.org/Archives/Public/public-webapps/2012JanMa...
And a vast majority of the apps for the platform used it for UI. C/C++ was generally only used for games ported from iOS to webOS, or when writing a custom plugin for some capability not provided by the service architecture.
C/C++ was allowed, but definitely not chosen "more often than not" on webOS. The UI for a vast majority of the apps was HTML/JS and using Mojo.
https://bugzilla.mozilla.org/show_bug.cgi?id=727618
This is where we're gathering the tasks for the project. It's still hardly implemented right now, and our main focus is headsets first. I'd like to get rfcomm going pretty quickly too so we can do fun hardware experiments. :)
In general, if you're interested in the progress of something on B2G currently, just plug "b2g [word of interest]" into http://bugzilla.mozilla.org. That's where we're keeping tasks/bugs related to gecko internals.
There are probably millions of soon to be unsupported devices, N900 (already left behind), N9 and N950 that could conceivably run this. After all, N900 can run open office and it is the oldest of these devices.
It would be much easier to test and contribute if one had a device already to properly experiment with. My N900 is gathering dust and there is no good replacements for its OS.
Hopefully some of the maemo.org guys get excited about this in the future. Sadly the discussion there is not looking too promising.
Other obsolete Linux touch device I have is the HP Touchpad. It could also be a fit for a Boot2Gecko platform ;)
The tagline is "The Device the developer community is waiting for." That's great for the developer community. Unfortunately, the developer community is a small minority of people and honestly, people don't really care if their device is easy to develop for. People care how good their device is. If a device is easy to develop for, but it's slow, or clunky or crashes all the time or doesn't have features that people expect out of a mobile device, what's the point?
Things I like better: Qt/Qml, Wpf because they are much more precise (meaning, I don't have to use an opaque type like "DIV" as a placeholder for a list-view or something else that I really wanted).
I think you underestimate the amount of influence developers have on the rest of the population. If you get developers to love you by making their jobs that much easier, they will go out of their way to promote your product and get other people to start using it. It's in their profit-minded interests to see to it that your product succeeds, because if it doesn't, then they have to bear the costs of doing things the old way.
The quality of the product matters, too, and we'll have to see if this will be a high-quality product. But there's something to be said about getting developers on your side.
First, you're assuming that developers have (sufficient) influence over swathes of non-developers. I'm not sure that's true, especially in the case of hardware.
Second, it's in developers' "profit-minded interest" to get their stuff on every relevant platform. It's where the customers are that matters.
Finally, no matter how good the product is, I doubt any technically capable folks (not just devs) want to end up as the de-facto 'tech-support guy' for all the people they convinced to sign-up.
I guess a big difference is that the driver here is Mozilla, a foundation that most players in the field don't see as a direct competitor, and which already has a very good name in the web space.
Many people will of course not move on to HTML5 app development. Every time technology changes, lots of people don't migrate. But it really is an amazing way to go. Coffeescript solves a lot of problems and makes the code very small. Jasmine unit testing helps with the scary feeling of not having type safety. PhoneGap lets you deploy it as a native app. Chrome has a surprisingly awesome stepping debugger built right in. Vim + the cofeescript plugin automatically compile the Coffeescript every time you save. The difficulties of debugging in Coffeescript are mostly overstated in my experience, and countered by the feeling that I'm developing code faster than I ever have before in any other language.
It's not all cake and ponies, and I've had to figure out a number of things. But it's a really fantastic way to develop apps. Try it.
I think this is a bad idea. Why would you want to lock down the hardware at such an early stage?
Still no core webOS src on http://github.com. We haven't had time or cause for Enyo. Having fun building non-O-O JS/HTML/CSS apps
https://twitter.com/#!/BrendanEich/status/174117089047621632
One of the biggest problems with native apps on iOS and Android is support for moving from one app to another, but still allowing the user to easily return to the originating app.
At the moment, the only native support for this kind of feature that I can think of is maps support. For example, if you click on a Google Maps directions link on OS X, the Google Maps application is opened automatically instead of maps.google.com in the web browser.
Dunno if this would require a dedicated link button that remembers the app you came from to take you back there or not. Perhaps there is a more elegant solution. It's possible that Hypermedia JSON APIs could play a role in helping people move between apps.
Whatever solution is adopted, making it easy for the user to return to the originating app with ease is of utmost important, because this will create an environment where app developers will fill comfortable partnering with other app developers by including inter-app links.
Which is why Web Intents were modeled after it. They're surely coming to Gecko, if they're not already in place.
It's also about then shipping actual phones with an OS implementing these APIs installed, creating an "app store" to aid in app discovery and whatnot and whatever other pieces of infrastructure are needed to actually get this open standard used.
One long-term goal, of course, is being able to switch phones (or carriers, or phone OSes; whatever choice the consumer wants to make) without losing all your apps; hence the need for an open standard.
And how well they deal with background tasks. On Android I can upload my photos in the background, or play music through Spotify (or my MP3 app) while I'm doing other things. Will I be able to do similar things here?
I'm looking forward to seeing what their equivalent of "intents" is.
Google and Mozilla are already collaborating on Web Intents[1], and Mozilla already has a proof of concept[2].
[1]: http://www.webintents.org/
[2]: https://mozillalabs.com/blog/2011/07/web-apps-update-experim...
https://developer.palm.com/content/api/dev-guide/js-services...
Given that Mozilla already made their JS engine emulate Node.js (http://blog.zpao.com/post/4620873765/about-that-hybrid-v8mon...), it might not be so far-fetched to think that something similar could be done with B2G.
Web workers should continue to work while you visit other tabs. But not if you browse away from the page with the worker.
EDIT: uh, downvotes?
Exploits are always possible on any platform, of course, but the web is sandboxed by design and has been hardened against attacks for many years. It's as secure or more than other platforms like Java or the iOS app model.
This was already this way on WebOS. It didn't prevent any of the thing you mentioned.
http://googlewebtoolkit.blogspot.com/2012/01/angry-birds-chr...
I'm also curious how/if they sandbox the device's browser and still keep within their proposed paradigms. Is a malicious website going to be able to exploit my system using XSS?
Sites like caniuse.com vastly overestimate what has been sufficiently implemented.
I hope an app built for Chrome will work for OpenWebDevice & vice-versa.
http://www.theverge.com/2012/2/27/2827682/mozillas-boot-to-g...
Talk is cheap.
I wish people would announce projects when there is actually something to look at rather than just having a vague list of goals. It's like the "I have a great idea for an app and just need somebody to do the software development". I always like to think of products consisting of 15% Idea and 85% implementation.
Check out more of the project's details: https://wiki.mozilla.org/B2G#Contributing
Of course the bigger question is how soon some actual hardware will ship.
Read more: http://reviews.cnet.com/8301-13970_7-57385707-78/facebook-ai...