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.
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.
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!
"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.
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.
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
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?
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.
Interesting, a spam message which actually tries to tap something from the context of the discussion.
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!!!
People have been proclaiming the end of Slashdot for years, but commercial spam taking hold is the fourth horseman of this particular apocalypse.
Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
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.
You could try node-webkit. Yes, it supports the FileSystem API.
Required reading for internet skeptics
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
Actually, they didn't. They have a way for Visual Studio to control what you do in Azure, as the article says:
"developer services that run on Windows Azure, and extends the capabilities of Visual Studio"
New things are always on the horizon
Actually, they didn't. They have a way for Visual Studio to control what you do in Azure, as the article says:
"developer services that run on Windows Azure, and extends the capabilities of Visual Studio"
Actually, they did. Although "full-fledged" is probably a stretch when one thinks about Visual Studio. And it was only released as a preview.
This is a screenshot of the in-browser editor, complete with IntelliSense, Solution Explorer etc.
Videos of the beast at Channel9.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
Ohh, OK, thanks for the information.
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.
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?
As if HTML, CSS and Javascript was a desirable combination for anything ...
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.
Yes, that is what business leads to, captive markets, if it is allowed to create closed APIs. The risk is that even large businesses do not have large enough engineering departments to fix bugs that annoyed users can fix in short order when the API is mode pubic and free of selfish-interest. It isn't so much the proprietary developers are stupid, it is that that someone else sets priorities for them and that sometimes they ship broken APIs for business reasons. It is sometimes amazing how fast longstanding bugs are addressed once an open API exists.
I think that an in intermittent cursor positioning bug with Google Docs that onterferes with third party code editors may be a case. It is clearly a bug in Google's API since it appears in several independently maintained Google Store apps. The bug has to do with different combinations of platforms and fonts and with font size and zoomed fonts, so it is a low-level bit map problem. It has been reported on Google's forums since at least 2010 and Google's engineers haven't found a fix. I think it is a design flaw in Google's API that violates a low-level standard for rendering fonts. It may be an intentional breakage that discredits third-party code editor developers. It would probably be fixed in a week if the API were made public.
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.