Google Is Building a Chrome App-Based IDE
An anonymous reader writes "Google's Chromium team never ceases to amaze. Its latest project is a Chrome app-based Integrated Development Environment (IDE) codenamed Spark. For those who don't know, Chrome packaged apps are written in HTML, JavaScript, and CSS, but launch outside the browser, work offline by default, and access certain APIs not available to Web apps. In other words, they're Google's way of pushing the limits of the Web as a platform."
Will be looking for the beta!
and the way Google does this is by moving processing to the client but maintaining control of the APIs. Which raises the question, in my mind, exactly what value is Google providing that you can't get from existing open APIs and platforms? Seems like the only thing they are "providing" is an expectation in your clients that you support Chrome only, and an API that is guaranteed to break and need maintenance in the near future.
An "anonymous reader" wrote:
Google's Chromium team never ceases to amaze... ...Google's way of pushing the limits of the Web as a platform.
There's nothing amazing about making everything into a fucking HTML+Javascript app with a lowest common denominator of UI features requiring a PC built in the last 3 years and being sufficiently crippled that you'll want to store everything on the "cloud", i.e. on Google's servers.
No, fuck off, Google. I've done dumb terminals, and then terminals with a bit of intelligence+local storage to make things just bearable enough that you're still conned into giving yourself over to someone n thousand miles away who cares as much about your data as he worries about losing the $0/month you're paying him for service.
I really don't get the point, other than keeping computer people employed through layers and layers and layers and layers. As computers get more powerful, it seems software only gets more needlessly complicated and accomplishes the same thing at the same speed as it used to using old hardware and far less code and layers.
...if it's offline rather than online and will only work on Chrome, what's the point of using HTML, CSS and Javascript with all the limitations that entail rather than a normal language with a normal runtime? The whole point of web programming is that it works anywhere. If it doesn't, you're just writing desktop programs using a silly API.
First we tried to replace desktop apps with webapps and that's why we stood the awkwardness and immaturity of JavaScript, CSS and HTML. At least, we could justify it by saying "you'll be able to access the application from everywhere" (not true: new versions of browsers broke apps everytime)
Now, we are using those same immature and awkward technologies (JS, CSS, HTML) to develop local apps, which could be developed in C#, C++ or even Delphi in a fraction of time, integrate better with the platform and have more direct access to local APIs. I'm sorry but I don't understand this.
And yes, JavaScript, CSS, etc are way immature if you compare with what you can do in C# (WinForms, WPF), C++ (Qt, Boost) or even Delphi. The debugging process in itself is a nightmare.
Now they can STEAL your personal information that much faster.
On one side: the long forgotten idea of adding network functionality to native apps where it makes sense. The native apps are fast and generally written in one language. Not all such code is clean, but it can be when you have the right team.
On the other side: stripping out network dependency from apps that were originally written to be cross-platform and network oriented. The ntework apps are slow and generally written as mongrels. Most such code is dirty, and even if you have the right team it tends to be kind of a train wreck.
So. They finally brought the speed, elegance and maintainability of web apps to the desktop. Woohoo! (in angry Homer Simpson voice) I. Said. Woo. Hoo.
You can still use HTML, CSS, JavaScript and web-local storage when you're offline, then sync data when you're online.
The FileSystem API along with FileReader kind of blur this point already.
Lookit how amazing! beta-alpha-maybesomeday $product! By google! Says some AC, who is totally not employed by google, obviously, because google has a real name policy!
What kind of terrible crackpots are these guys. Any PHB will tell you if it wont look right in IE 6 then something MUST be wrong with the developers.
After all they create things with FrontPage 2000 all the time. How hard can it be?!
http://saveie6.com/
If "can sync data when you're online" => "web app" then thanks to rsync I've just wep-appified EVERYTHING, fuck yeah!
A Google Marketing team member writes...
"They already have a desktop web OS [Chomebook], which competes with Windows and Apple laptops"
...
...
I guess Chromebooks are selling well --- but I haven't seen one in a store (I avoid "un-Best Buy") --- or one in real life.
Yet
I'll have to keep an eye out
Priest: "Universe from nothing, no laws of physics, sped up time"+ huge discrepancies. Creationism? No. Big Bang Theory
What's all the excitement? The General Interface Builder is basically full-blown bsd licensed browser-based offline IDE of Eclipse proportions. It's quite amazing, certainly speeds up development of non-trivial GeneralInterface Ajax Applications quite a bit and is very well matured.
I'm not holding my breath for Google to catch up on GI anytime soon.
My 2 cents.
We suffer more in our imagination than in reality. - Seneca
Here's my memory of what happened. Maybe it's falsely implanted by the NSA. Feel free to mod down -1 Heretical.
When the web first was popular, the web folks told us that web apps would replace desktop apps. And the desktop people said "what about dynamic and interactive GUI's that fat client apps provide?" And the web people told the desktop people "users won't really miss that. HTML by itself is good enough." And when no one was looking, the web folks snuck JavaScript and DHTML through the back door to cover up the insufficiency they denied existed with web apps
Then later on, the web folks told us that web apps would replace desktop apps. And the desktop people said "what about asynchronous network communication that fat client apps provide?" And the web people told the desktop people "users won't really miss that. HTML + DHTML + JavaScript by itself is good enough." And when no one was looking, the web folks snuck Ajax through the back door to cover up the insufficiency they denied existed with web apps.
Then later on still, the web folks told us that web apps would replace desktop apps. And the desktop people said "what about the offline storage that doesn't require network communication that fat client apps provide?" And the web people told the desktop people "users won't really miss that. HTML + DHTML + JavaScript + Ajax is good enough." And when no one was looking, the web folks snuck HTML5 offline storage through the door to cover up the insufficiency they denied existed with web apps.
From my point of view I see an endless cycle of web zealots who keep saying that fat clients are irrelevant, yet who seem to be adding one layer of kludge after another just to keep up with basic fat client functionality that they keep denying is unimportant to users. After all I've seen, I really can't take web people very seriously.
So smarmy with your definitions of "web" and "offline".
It's all 1s and 0s, OK?
What's next? An IDE that lets me browse the Web? A word processor that lets me drive CNC machinery?
GIB looks interesting, but the last release was more than two years ago.
I guess you missed the part where Facebook rewrote their Android app from HTML5 to a native implementation less than a year ago:
http://techcrunch.com/2012/12/13/facebook-android-faster/
Better known as 318230.
In other words, they're Google's way of pushing the limits of the Web as a platform.
If Google was actually interested in pushing the limits of the Web as a platform, they'd find a way to provide local file access from JavaScript.
But local file access is Kryptonite to Google. I found that out the hard way when I bought a Nexus 10 and was horrified to learn that it had no out-of-the-box capability to access local files of any kind -- it can't even display something as simple and universal as a PDF file on a USB flash drive. At that moment, I finally understood what Google's master plan is for the world -- to take away the convenience of local file access so that we're forced into the cloud. Once you understand that, everything Google does makes sense, and the magnitude of Google's evil becomes crystal clear.
I've been waiting patiently for years to see full local file access added to JavaScript, so that I can start using HTML/JavaScript for general app development. But now I understand why JavaScript will never have this -- Google's goal is to cripple JavaScript and to make sure it can only be used to created cloud-tethered applications, and they have the power to make it so.
A weakly typed language with often indeterminate behaviour as a result (can multiply a number by a string if it contains "2" but not "banana", possibly might work with "two") is a really solid future for application development, especially as it contains none of the benefits of strongly typed OO languages........
Add to that the fact that all the Javascript I've had the misfortune to have to work with commercially has been completely undocumented (as "the end users might see the documentation if they view the source in their browsers") and this looke like a surefire turkey once the marketing hype wears off.
Everything Google does is so amazing! Amazing while selling you to its customers the advertisers!!
Do you remember those words. That was how Microsoft set the web back 20 years by killing standards compliance. Now google is the evil.
Some drink at the fountain of knowledge. Others just gargle.
2007 Apple - you don't need native apps. You can build great web apps. Developers complain. Apple released a native SDK.
2009 Palm. You can build great apps using the web technologies you already know. Developers complain. Palm releases native SDK.
2011 RIM announces that you can build great apps using the technology you know. Developers complain. RIM releases native SDK.
I've even seen scenarios where developers have advocated for http over TCP as IPC for multiple processes that are related by common fork() ancestry
Although I admit it sounds a bit odd on the face of it you get to use whatever frameworks help you deal with REST communications, plus also later you could more easily actually move those operations to separate servers.
SOAP which of course has been plaguing the world for a long time
It has been but it's really a paper tiger at this point, few people use SOAP anymore, most everyone has moved to JSON over REST because of the many advantages.
Even the most imperfect of REST implementations is still lots nicer to deal with than the best SOAP implementation.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
So, what's the next insufficiency?
Note that web apps still underpowered in terms of graphical capability.
At some point the web folks will say that web apps can replace desktop apps
Just like at some point it's inevitable we'll have flying cars?
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I'm not holding my breath for Google to catch up on GI anytime soon.
vietnam motorbike tours
global rules like "any application that uses GPS can't use networking"
How should a navigation application that doesn't use networking obtain maps of the area around the device? Or how should a navigation application that doesn't use GPS know where the device is located?
the only thing they are "providing" is an expectation in your clients that you support Chrome only, and an API that is guaranteed to break and need maintenance in the near future You're forgetting
motorbike tours in vietnam
Often a device manufacturer is willing to expose a web browser but not a compiler to the unwashed masses of amateur developers. For example, the first Wii homebrew games appeared in early 2007 as Flash objects and JavaScript programs running inside the "Internet Channel" browser by Opera.
Honestly, why cant they just teach kids C++ at school, instead of Java/HTML/"My language is better than yours but the same, Java 2.0"?
- Teach them the "hardest" language first C++ (Minus machine code).
- The language that encourages you to write with performance in mind, and, gives you a reward for doing so.
- A language that isnt forced full of external functions which allow you to write shit code, and, bog down compiled performance.
- Wait 10 years
- Take note as every application in the world is done professionally, with a C++ writer behind the wheel.
- Take note as webpages actually run on a current system without bogging down.
- Take note as games/applications no longer kill battery life on your phone.
Whether they are using Java/HTML etc etc, their C++ background will help them understand "true" world performance when creating an application.
Well theres my "Wishful thinking post of the week" lol :)
So, what's the next insufficiency? At some point the web folks will say that web apps can replace desktop apps, and there won't be anything left that isn't covered.
Good luck getting robust gamepad, webcam, 3D graphics, audio/video codec (WebM vs. MP4 format war), and shipping label printer support working across more than 90 percent of desktop and mobile browsers. For example, Apple has implemented WebGL in iOS but allows it only in iAds because WebGL in regular web apps would compete with the $99 per developer per year plus 30% of sales it gets from the App Store.
Good luck getting robust multitasking and memory management in a mobile web application. In Chrome for Android and Firefox for Android, if I have a complex web application open, and I switch to another tab and switch back, the browser will often purge the page from memory and reload it from the network, causing me to lose what I have entered into the web application. This happens when the browser runs out of memory.
Microsoft just released a full fledged Visual Studio IDE that ties in with server side languages as well as Azure.
http://visualstudiomagazine.com/articles/2013/11/13/microsoft-announces-visual-studio-online.aspx
If Google was actually interested in pushing the limits of the Web as a platform, they'd find a way to provide local file access from JavaScript.
Google could even call it something like chrome.fileSystem or File API.
I bought a Nexus 10 and was horrified to learn that it had no out-of-the-box capability to access local files of any kind
Then you didn't try plugging your into a Windows PC to copy files on and off it using MTP. (On Linux, recent versions of gvfs have added MTP support, and it should land in Ubuntu LTS next year.) The other way is to go to Google Play Store and download Rhmsoft File Manager. I use it on my first-generation Nexus 7 tablet to browse SMB shares over Wi-Fi, copy files to the device's internal memory, and launch them on the device.
it can't even display something as simple and universal as a PDF file on a USB flash drive.
I'm over 98 percent sure that the USB flash drive came formatted in a file system on which Microsoft owns one or more United States patents. Google and ASUS don't want to pay more royalties to Microsoft than they have to, which is why a lot of devices have been dropping support for microSD cards and USB flash drives. Use MTP over USB or SMB over Wi-Fi to copy local files onto your device.
Why is it that so many corporations who hire lots of programmers try to push HTML + Javascript for everything?
Perhaps some of it is that startups want to get their apps onto a device without having to sign up for an expensive developer license. License agreements to develop native applications for game consoles and BREW phones have historically required overhead that startup companies could not afford.
So, basically Google is taking it on itself to do for Chrome what ActiveState did for Mozilla years ago -- which led to the excellent and constantly improving Komodo IDE (build on the Mozilla framework)?
Good luck getting robust gamepad
Lack of standardization may be an issue there, true. But games of significant complexity in general are going to be platform-specific. Of course, the bar for games that can work as web apps keeps rising.
webcam
That problem is already pretty well-solved. Google video hangouts work well across a wide variety of systems, for example.
3D graphics
There's no real reason that should be hard. We've had solid 3D graphics standards for decades, and while fragmentation due to rapid progress has been an issue (plus some deliberate MS-induced fragmentation), at this point 3D is pretty commoditized. Which isn't to say that this is a solved problem, but just that it's not a technical problem.
audio/video codec (WebM vs. MP4 format war)
Meh. That's just a matter of getting people to stop fighting.
shipping label printer support
If you don't mind needing to be online when you print, that's not an issue either. Drivers in the cloud.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
This browser based app must bring something new to the table to be relevant. My guess is that it will greatly simplify multiple people collaborating on the same project. Solutions already exist but they are not nearly as seamless as they could be. I still remember seeing Smultron for the first time and being very impressed. As far as text editors go, it's nothing special but the ability for several people to edit the same file at the same time was (and still is) impressive.
No one knows exactly how this project will turn out but you can bet Google has their reasons for funding it. I'll take a wait and see approach before passing judgement. It is probably not for me (or you) but will be perfect for others. And if it requires all of these layers to accomplish it's goals then it is not a waste.
gamepad
Lack of standardization may be an issue there, true. But games of significant complexity in general are going to be platform-specific.
Yet somehow, SDL manages to abstract gamepad access across multiple PC platforms. True, the button order for non-Xbox 360 controllers varies considerably, but there are ways around that. I seem to remember XBMC maintaining a device description repository for game controllers.
Drivers [for printers] in the cloud.
That would just let Google see everything you print and mine it for keywords.
This is just about the most inefficient programming combination ever devised, with the possibly exception of machine code without libraries. Why in the world doesn't Google provide a real language so we can bypass the archaic syntax and semantics of html and css? HELP! I'M STUCK IN THE MESOZOIC ERA OF PROGRAMMING AND I CAN'T GET OUT!!!
> GIB looks interesting, but the last release was more than two years ago.
So what?
Why is that for something that is (a) stable and (b) works people have to insist on regular fixes to something that ain't broke?
If a text editor if it didn't have new releases every week would that somehow mean that it didn't work any more?
Is it just possible that the devs decided to keep it lean instead of adding unnecessary crap?
Wuzzat? Yet another all dancing application using a web browser?
I think I'll go back to sleep.
I didn't, but now I know to avoid them like the plague.
And there's another good reason.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Imagine if Microsoft had released an MS-branded laptop which only allowed you to use HTML+Javascript and Silverlight apps, and then released a development environment which ran under Silverlight.
That'd be as retarded as this is.
No it wouldn't.
If they gave away all of the software for free, integrated online services for free, if the software were based on an FOSS core, new very essential core components itself were released as FOSS (V8 anyone?) which all would basically prevent long-term lock-in powers for good and gain aknowledgement from the opinion leaders (i.e. us), the hard- and software were well integrated and the hardware itself were usable, sturdy, cheap, lightweight and pleasing in a visual and aesthetical way ... etc.
If all that would happen, then it would definitely not be retarded. ...
It would actually be quite smart and entrench a solid global market dominance even further.
Which is why Google is kicking MSes ass in that dept. btw. ... 1 billion activated android devices and counting. One-stop, cheap, total zero fuss, buy-unpack-turnon-use pissing-into-serious-apple-massuser-territory Chrome OS (mini) laptops that start to look as flashy as iStuff moving into the market, etc. .. You get the picture.
Bottom line:
I'd be carefull to call anything Google is doing right now retarded.
We suffer more in our imagination than in reality. - Seneca
Cisco said they would release a free H.264 encoder/decoder:
http://gigaom.com/2013/10/30/mozilla-will-add-h-264-to-firefox-as-cisco-makes-eleventh-hour-push-for-webrtcs-future/
At least free in the sense of: free to download, I don't need to pay MPEG-LA or be worried about their patents.
Cisco is paying for that.
New things are always on the horizon
Cloud9 IDE is also exists, but a large company pouring money in this space might have an even bigger impact.
At least that is how I see these articles.
New things are always on the horizon
fat16 is unencumbered
Long file names in FAT are encumbered whether or not the volume is larger than 2 GB.
Bullshit. They fixed EVERY bug? or they just stopped working on it 2 years ago?
HTML is probably the worst engineering mistake in human history, in terms of total waste.
You do NOT make a machine-consumable standard "human-readable" or "human-writable". You do NOT combine machine-consumable and human-consumable standards. Human-consumable standards must compile to machine-consumable standards. Human-consumable standards must be associated with products, varied, and market-driven.
The web is easily 10 years behind where we could have been. Let's stop trying to keep shoving a square peg into a round hole. Let's stop trying to make everything HTML.
>HTML, JavaScript, and CSS
Fuck off. I write in Python, C, SystemVerilog and whatever else suits me. I guess I won't be writing Chrome apps.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
You just totally glossed over the HTML, CSS, and Javascript part of his sentence.
As far as I'm concerned, cross-linked HTML + online syncing = web. Even CSS and Javascript are being a bit over-specific. For instance, one can imagine a different programming language that communed with the browser OM (older versions of IE even let a flavour of Visual Basic in, hilariously).
After all, the majority of websites are completely agnostic to whether you are online between the time you download the html page and the time you click the link. So it's not like "continuously online" is a traditional requirement of the web; before "Web 2.0" syncing was basically always user-initiated and discrete.
In other words, if you open wikipedia, then unplug your ethernet cable, are you no longer viewing a website?
I'm so old! I can remember programs which "launch outside the browser, work offline by default, and access certain APIs" were native application programs that ran on the operating system and didn't need "cloud" access or an Internet connection.
As if HTML, CSS and Javascript was a desirable combination for anything ...
Komodo IDE (editor and debugger for dynamic languages such as Python or Perl) is built on top of Mozilla/Gecko. I've checked it every now and then over the last couple of years and it still fails to deliver.
Is there a web page that shows how to download, install, use the App Developer?
I figured that someone would quote that crippled crap they're pushing in JavaScript.
Have you considered that perhaps the user wants it crippled, so that an application cannot read the user's personal data (and disclose it to a third party over the Internet) unless the user explicitly makes it available to that application?
Adobe's Integrated Runtime. Putting aside the problem that Adobe was behind it, this was actually a truly good platform. Apps could be written with any mix of HTML, JS, CSS and/or Flash (put aside your complaints about that, too, for the moment). And best of all: it was genuinely cross-platform. The .air file for an app would run absolutely flawlessly in any of the three environments. They even had a Linux version for a while.
Of course, the sheer problem that it was Adobe behind it served to undermine its power. I reckon Google are right on the edge of that problem with Chrome. For one thing, it actually doesn't have very many options for controlling privacy. For another, it encourages people to sign-in to their Google account. And Google's own websites are targetted for Chrome first and fixed for other browsers later (maybe). Yet they have spurred on significant advances in browser developments. And there are still a lot of programmers who would like to build a local app but only know browser-based programming.
The idea that a corporation, a very powerful corporation, had as a motto "Do No Evil" is indication enough that evil is exactly what they are about.
First. consider the short-artention-span approach to products. How can we trust that this initative will be around long enough to feel safe in investing effort?
I recently re-examined the code editors that come from the Google Store that are supposed to work with Google Docs. Sometimes they do, but quite often they don't because of an odd cursor positioning bug that has been known since at least 2010 and which Google engineering has no consistent fix. And now they are talking about a Chrome IDE? How can they be trusted to providing a working product?
Google is an extreme example of the evil that exists in many Capitalist businesses. They want to create a captive market in which they control the user. That is why their API's are closed. Fortunately there is usually an answer for such control-freakism. It is eventual decline of the stock price and end of the business.
The cursor bug exists between several third-party code editor apps, It must be at the level of Google's own API, a problerm having to do with the way font bitmaps interfere with positioning on the bitmap that Google Docs uses in the browser. The bug is hard to repair because Google made a decision about low-level bit operations before or in spite of standards for glyph and font size generation. That is why cursors and fonts sometimes don't match up. If the API were public, people other than Google engineering would have determined the fix long ago, It may be, furthermore, that the problem is intentional, if it locks out third party success with Google's products.
So now they are announcing their own closed IDE? I smell a rat. What is more Google Writer seems to have been intentionally modeled after Microsoft Word 2000, yes 2000! The HTML editor seems no more powerful than Front Page 2000, which is crippled by today's standards. Since I know that Blogger had a working HTML editor, finally. I even suggested that they port that to Google Docs. I have got no reply.
The application can use GPS and do it with offline map data
An Internet-connected navigation application has the advantage of requiring less space in expensive flash memory. Without an Internet connection, you might need to store enough "offline map data" to cover a continent. Or what am I missing?
Meh. That's just a matter of getting people to stop fighting.
If only we had your insights in all the other wars across history, never realized the answer was so simple.
http://www.whywork.org/rethinking/whywork/abolition.html
As a software developer, in some ways I think we hit a peak with languages like Smalltalk, Common Lisp / Symbolics, Erlang, and C in the 1980s and an OS / VM architecture like IBM's System 360 and VM (which was in a sense "open source" till the mid 1980s) and things have been sliding backwards ever since. I learned C around 1983 on Unix (VMUTS) running on VM hardware (on an IBM mainframe with two CPUs where typically when I did a compile VMUTS got one CPU and 100 I/O bound users shared the other, giving me ten a second turn around for "hello world"). VisualWorks+ENVY in the late 1980s was just amazing for its times, solving issues in practice that Java and Eclipse in practice still struggles with on 1000X faster hardware. That all could have just gotten less expensive, faster, and grown gradually, and become more (not less) open. See also: "VM and the VM Community: Past, Present, and Future"
http://www.leeandmelindavarian.com/Melinda/
The reality is, in the US marketplace, people usually create incompatible "standards" on purpose to gain vendor lock-in, or to make some marketing claim, or to work around some copyright or patent. As with Microsoft in the past, companies may intentionally try to sabotage standards (embrace, extend, destroy) as an example of market failure relating to monopoly and externalities. Still, another reason this happens is that creating new things from (seemingly) scratch can be a lot of fun (even as almost everything is built on layers of past work, including notions of physics).
I'm all for experiment and diversity, and I'm all for plug-in modularity, and I'm all for learning-by-doing including through building systems from the ground-up (e.g. http://www.nand2tetris.org/ ). But, practically speaking, our bigger problem these days is mostly too much software, too many standards, too many programming languages, too many libraries, too many IDEs, too many OSes, too many drivers, too many plugins, and too many applications (all with too much accidental complexity). Instead of having a few comprehensive reliable (and free and open source) systems implemented in the above languages and using a common VM standard, we have many half-made buggy ones. This is not to say those languages above could not be improved or that another addition to them would be bad. It is just that at some point a plethora of half-finished choices is its own kind of oppression.
http://en.wikipedia.org/wiki/The_Paradox_of_Choice:_Why_More_Is_Less
See also:
http://www.t0.or.at/delanda/meshwork.htm
"To make things worse, the solution to this is not simply to begin adding meshwork components to the mix. Indeed, one must resist the temptation to make hierarchies into villains and meshworks into heroes, not only because, as I said, they are constantly turning into one another, but because in real life we find only mixtures and hybrids, and the properties of these cannot be established through theory alone but demand concrete experimentation. Certain standardizations, say, of electric outlet designs or of data-structures traveling through the Internet, may actually turn out to promote heterogenization at another level, in terms of the appliances that may be designed around the standard outlet, or of the services that a common data-structure may make possible. On the other hand, the mere presence of increased heterogeneity is no guarantee that a better state for society has been achieved. After all, the territory occupied by former Yugoslavia is more heterogeneous now than it was ten years ago, but the lack of uniformity at one level simply hides an increase of homogeneity at the level of the warring ethnic communities. But even if we mana
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.