

Google is working on integrating terminal emulator into Chrome - valyala
http://src.chromium.org/viewvc/chrome?view=rev&revision=113066

======
Uchikoma
My Chrome is getting buggier all the time (now in version 15). Tabs hang,
websites crash.

So to be selfish: Instead of adding a terminal emulator, I want my Chrome from
2 years ago back, which was fast, bug free and did not hang.

~~~
Pewpewarrows
This just in: there are a massive amount of developers working on a single
project. Not all of them are on the stability team. Just because they're
adding feature X doesn't mean that they're taking any amount of resources away
from bugfix Y. It's a false dichotomy typically imagined by those who have
never worked on medium to large-sized products.

~~~
lubutu
"Various studies have shown that software broadly contains something like 6-16
bugs per 1000 lines of code."

As more features are added, the number of bugs _will_ increase, so in a sense
everyone who is not on the stability team is on the instability team. Which
means the stability team _would_ need more developers as a counterweight...

~~~
mnutt
That also assumes that throwing more developers on the stability team would
fix the problem.

~~~
qjz
Not necessarily. It only takes one bureaucrat to reject code that doesn't pass
tests or follow required conventions. For example, a good rule of thumb is
that no new code will be accepted without documentation.

------
ryanackley
This appears to be specifically for chromium OS not the Chrome browser. If you
look at the commit message it references a chromium-os bug.

<http://code.google.com/p/chromium-os/issues/detail?id=23271>

If you're interested in the long term plans for this feature just see all the
bugs for this component

[http://code.google.com/p/chromium-
os/issues/list?q=label:Are...](http://code.google.com/p/chromium-
os/issues/list?q=label:Area-TerminalEmulator)

------
andrewcooke
no-one seems to have mentioned it, but this is apparently motivated by the
aura project - [http://www.chromium.org/developers/design-documents/aura-
des...](http://www.chromium.org/developers/design-documents/aura-desktop-
window-manager)

you can see the link via: <http://codereview.chromium.org/8680034/#ps11001>
which links to bug <http://code.google.com/p/chromium-
os/issues/detail?id=23271> which blocks <http://code.google.com/p/chromium-
os/issues/detail?id=21187> which is "important to the Aura effort"

------
jjcm
I personally would love to have a terminal or an SSH client within chrome. I'm
excited to see how this turns out.

~~~
kodablah
There is a not-extremely-active SSH in NaCl [1]. This emulator is a
prerequisite for it being added [2]

[1] <http://code.google.com/p/naclssh/> [2]
<http://code.google.com/p/chromium-os/issues/detail?id=23272>

------
chimeracoder
That could have interesting implications for the Chrome Notebook (I haven't
really used one, but based on what I've heard).

The potential appeal of the Chrome notebook is its security-by-simplicity. If
the only thing you can do is use Chromium, then your notebook is basically as
secure as Chromium itself is (in theory, at least).

The irony is that we're essentially moving back to the way computers were a
few decades ago - people used terminals to access a central computer. We moved
to personal desktop computers for a while, then laptops (and mobile phones).
It'll be interesting to see if the rise of interest in 'cloud computing' means
that, in five years, our primary computers will just be portable terminals to
access some main computer remotely.

Personally, I might be fine with that. Network speeds/reliability aside,
everything I do could be accomplished easily over SSH, with X forwarding for a
few applications. It's possible that these simple tools that we've had for
decades could be packaged in a way that appeals to a more general use case.

~~~
benmathes
I hope we go the way of the dumb terminal from an ease-of-use standpoint; I
want my data to just "be", and not have to worry about syncing/backups/etc.

From the freedom/privacy standpoint, however, I'm not sure. I find it
surprisingly easy to imagine a US government agency empowered by anti-terror
laws to get access to my data.

This is why I want encrypted cloud computing for all my stuff. I dunno if the
large players could actually do that and have the US govt be ok with it.

~~~
epscylonb
How can you verify the security of the "cloud" hosted data?.

~~~
tommi
The encryption key must reside only on trusted (client side) devices to allow
your data to be hosted by a third party without them actually seeing your
data.

~~~
mooneater
(Golf clap)... and in practice how would one verify such a scheme?

~~~
nl
What do you mean?

Verifying that data going across the wire is encrypted is fairly easy to do.

You check the data going out is encrypted and that it is encrypted when it
comes back. Is that enough verification for you?

Depending on how much you trust the vendor you can go further - run it in a
debugger and check where it gets the key for example.

~~~
BCM43
How do you verify that the key is not being sent over the network by malicious
software?

~~~
nl
How do you check if _any_ malicious software is doing something? You check
what files are being read, and you correlate with network traffic.

You lock down access to files like private keys as much as possible to
minimize the possibility of this.

------
timmy-turner
For those that can't wait for google, there are already some pretty mature
browser-based terminals out there. For example shellinabox
(<https://code.google.com/p/shellinabox/>) which is a full javascript
implementation of a vt100 compatible terminal plus a server written in C
providing pty streams over http. Web shell (<http://code.google.com/p/web-
shell/>) is another one, doing all the terminal emulation on the server
written in python and transferring full lines to the browser.

If you're interested to write your own terminal emulator, have look at pyte
(<https://github.com/selectel/pyte>), a very clean and beautiful python
library to write vtxxx compatible terminal emulators.

------
rajat
We can already do everything from inside emacs; oh wait! Chrome's the browser.
So that's completely different.

~~~
sgrove
There's actually a really interesting article/email I read a long time ago
saying that emacs main competitor was the browser, and that it was likely to
be overtaken by it unless emacs reacted in some way.

I can't find the article with a cursory google search right now, but maybe
someone else knows it can find it.

~~~
20after4
I believe that would be Yegge's rant from 2008: [http://steve-
yegge.blogspot.com/2008/04/xemacs-is-dead-long-...](http://steve-
yegge.blogspot.com/2008/04/xemacs-is-dead-long-live-xemacs.html)

Scroll down a bit to the heading "The bad news: the competition isn't the
IDEs"

"IDEs are draining users away, but it's not the classic fat-client IDEs that
are ultimately going to kill Emacs. It's the browsers. They have all the power
of a fat-client platform and all the flexibility of a dynamic system. I said
earlier that Firefox wants to be Emacs. It should be obvious that Emacs also
wants to be Firefox. Each has what the other lacks, and together they're
pretty damn close to the ultimate software package. "

~~~
sgrove
Yup, that's it! Thank you. I love being able to tap into collective memory :)

It strikes me as true though, step by step we're moving functionality to the
browser. In some ways it feels great, but in others it's terrifying - the
thought of this (and the next) generation poorly re-implementing emacs in the
browser...

------
abbot2
I guess, the next notable iteration would be: "Google is working on
integrating Emacs into Chrome". Oh well.

~~~
antifuchs
This announcement reminded me too of when Linus commented (upon the
integration of virtual memory into Linux) that Linux had become the Emacs of
terminal emulators.

Pretty funny that by integrating a Terminal emulator, Chrome becomes the Emacs
of web browsers.

------
maxwell_smart
Why? This seems like the perfect thing for an NaCl application.

~~~
mindcrime
Sounds like the perfect thing for a JNLP app to me.

~~~
scrod
Shhh, now that embedded Java does everything we need, we must pretend it no
longer exists — how else could we justify all the insane technological
contortions that we'll need in order to justify profiting through sequestering
users' data, renting 1980s-era features to them, and selling their attention,
intimate habits, and social bonds to advertisers?

------
figital
Makes sense. Using the console to query information about what's going on
inside Chromium's processes is already similar to the "shell experience".
(This might explain why recent Chromium builds have gone from 45MB to 235MB!!)

------
Someone
Google or someone at Google? I cannot figure that out from that page, and I do
not see a business reason for doing it. Or is this intended to be the software
equivalent of JTAG on Chrome OS? What am I missing?

------
oacgnol
Combining a terminal emulator with Google Sync would be really cool to have -
terminal settings that sync just like any other preference or bookmark.

------
smashing
Does anyone remember Konqueror has a webbrowser/file browser methodology of
handling protocols such as SFTP through IOSlaves called FISH?

I know Konqueror shares a codebase with Chromium through the KHTML renderer
and maybe more, but maybe Google's Chrome is dipping into the well of ideas
that comes from the KDE project but using a different implementation, of
course.

------
tuukkah
Anyone still remember XMLterm that was included in the Mozilla browser in year
2000 or so :-) <http://www.xml.com/pub/a/2000/06/07/xmlterm/index.html>

~~~
obtu
Hah, it looks a lot like TermKit!

------
gaius
I am getting a weird sense of deja vu - Netscape included a 3270 emulator with
the browser back in the '90s.

<http://en.wikipedia.org/wiki/IBM_3270>

------
zobzu
Chrome is the ChromeOS ;-) I'm wondering whats the intended use tho? Start ssh
and the like from the webpage? _scared_

~~~
spolsky
For those of you too young to remember, all the early web browsers supported
telnet: URLs, usually launching an external telnet client.

~~~
sp332
At least Firefox still does. Actually it supports any foo:// protocol if
you're willing to configure an external program to handle it :)

Edit: instructions here <http://kb.mozillazine.org/Register_protocol>

------
jimktrains2
But they can't make it so that you can view the source without loading the
page -_-

