
Ask HN: The future developer rig? - kator
Every day we read about tablets replacing desktops, we read about smart phones and app markets on the desktop replacing traditional operating systems.<p>At some point say ten years from now how will developers be interfacing with systems to write code?  Will we be the last customers of laptop and desktops with mice and keyboards? "Specialist" devices that allow programmers to develop code for all the "normal main-line devices"?<p>Will my grandson watch me type and wonder what I'm doing?  Laughing at how old his grandfather is and that he "still uses a keyboard and a mouse"?<p>Exactly how are we going to program all these things when the only thing on the market will be tablets, smartphones, smart TV's and app environments without command lines or desktop interfaces?<p>I find it funny that 30 years on and I'm still using Vi to edit files on really fancy terminal programs (thank you iTerm2).<p>In a world full of interface innovation the low-level still means knowing how to ssh to a box and vi files?  Really?
======
aufreak3
> Will my grandson watch me type and wonder what I'm doing? Laughing at how
> old his grandfather is and that he "still uses a keyboard and a mouse"?

My 5 yr old _son_ does exactly this! He calls typing on a keyboard "working",
whereas writing on the ipad screen isnt "working" according to him. He tries
to do things on my laptop by touching its screen ... the spoiled brat!

------
pbateman
We're going to be stuck at workstations for a while yet.

Tablets are great devices for _consuming_ media, but they suck for typing and
suck for creating. Laptops are a lot better for creating but I still haven't
found anything that can match a good, solid desktop with multiple monitors and
a clicky keyboard.

~~~
shanehudson
I agree, touch screen devices are great for consumers but even just writing
this message on a nexus 7 is annoying. We will be stuck for a while with
desktops and laptops, but I can imagine surface like tablets to be common for
developers and writers at some point,since it can be used like a lightweight
laptop.

------
jacquesm
Funny how we're already discussing the possible death of the mouse when I
still can't say I'm 100% comfortable using it besides the keyboard.

Businesses brought us the personal computer at the scale that we've become
accustomed to. Hobbyists prepared the road, business paved it and now we're
all driving on it.

As soon as businesses will switch to tablets en masse to do their daily work
we will see a move away from the desktop as a mainstream device. Until then
the future of the desktop is secure and economies of scale will still help us.

Another element here is the gamer scene and the fact that servers share 90% of
their architecture and components with high-end desktops.

Wires will disappear more and more but that's just a detail.

I think desktops will be here for the foreseeable future, but laptops will be
more and more under fire from the tablet market.

------
diego
Have you heard of the Lindy effect? "The longer a technology has been around,
the longer it’s likely to stay around."

Writing code by typing has been around for decades, so you'd expect it to be
around decades from now. Likewise, I expect lots of people to continue using
vi or emacs twenty years from now.

[http://architects.dzone.com/articles/lindy-effect-and-
techno...](http://architects.dzone.com/articles/lindy-effect-and-technology)

------
tubbzor
I actually wrote a research paper just last semester for my undergrad
operating systems class on 'user interfaces in the year 2022', and although
this wasn't my exact focus I'll share some things I noticed while researching
as well as others papers on this topic.

I don't think the traditional keyboard and mouse will completely go away. We
will see improvements in both, but for productivity means there's no highly-
productive and intuitive interface on the horizon to replace them altogether.

I think we'll see a huge improvement in touch-screen interfaces. I never
realized just how bad our touch-screens were before researching this, but I'd
expect to see a huge jump in the next 10 years. This includes increased haptic
feedback and the introduction of dynamic buttons [1].

[1] <http://www.tactustechnology.com/technology.html>

------
kator
One thought that bothers me is as "Developer Rig's" become more and more
specialized (i.e. still have command line access, multiple monitors etc.) we
will have more challenges getting them. Think about the years we would build
our own game rigs because that was the best way to squeeze every drop out of
the currently available hardware.

The Mac Pro is a perfect example, I doubt Apple will ever give it serious
investment, maybe one more rev next year and that'll be the end of life. As
all the various vendors rush towards Tablet and Smart phones etc. we will
slowly become the "minority" and end up going back to building our own rigs.

Anyone want to start an Alienware for Developers?

~~~
a_macgregor
Sure why not, I'm in :)

------
sksksk
In terms of an interface, unless we can come up with something vastly superior
to a keyboard, it's not going away.

The keyboard is pretty intuitive and extremely explicit (if I press the A key,
there's no confusion about what I meant to press)

I'm not so sure about what will happen to the mouse though, it's a bit more
abstracted compared to the keyboard and I reckon touch interfaces will be the
norm soon enough.

In terms of what the rig would be, currently I do all my development on a
virtual machine, SSHing into it and using vim. I think our desktops and
laptops could become thin clients and we'll do all of our work on remote
machines that are "in the cloud"

~~~
msohcw
I think that the many people who struggle learning to touch-type would
disagree heavily with you regarding how intuitive a keyboard is. I'm pretty
certain we could come up with a more natural method of input, however that
could have the potential to diminish the important characteristic you raised
regarding explicit and specific input.

------
venomsnake
The death of the desktop is greatly exaggerated. For creating content you need
lots of screen space and precision input. Also you need the same for stalk...
I mean chatting with 5 people simultaneously on various kinds of social media
and im-s.

What tablets are providing is good enough personal computational power.

Do you really care if your monitors will be connected by wires or by wireless
streaming from a device.

Same is for input. Mouse and keyboard are precise.

So the workstation of tomorrow - you will have your own computation unit that
you will carry with you and dock and connect to whatever peripheral devices
are required for your current needs...

------
chank
The need for precision input will never go away. What we'll continue to see is
continued hybridization of the tablet and laptop ala-ms surface. No developer
really wants to work on a a subset os and or jailed OS(iOS) full time or an
underpowered machine (surface).

What I would like to see is something like a 13" tablet that runs a full OS
(i.e. Full OSX, Linux, etc) that I can dock while at a workstation to one or
many larger monitors AND several input devices (Keyboard, Mouse, Wacom,
Printer, etc). Then when I am on the go, I can grab the tablet(brain) portion
and if needed a precision interface or two (wacom, keyboard that's portable
enough) and stuff them in my bag hopefully taking up less or equal
space/weight to what say a MBA would take up. And it would be great if it
would do this in a graceful fashion. Basically I don't want to have to
compromise between devices. The only compromise I should have to make is that
if I am on the go, it's not feasible to carry around a 30" monitor.

~~~
mark_l_watson
I was going to reply with the same setup: a full power tablet with great
docking to a very large monitor and bluetooth input devices.

A little off topic, but I just finished 23 days of travel up the Amazon River
and my Android phone (Galaxy III S with 1280x720 screen) was the perfect
combination of portability, Internet access, application access, taking
pictures and video. Perhaps a smart phone instead of a tablet would work also?
With a full power large format phone, you do give up a lot of ease of use with
an on-screen keyboard.

I think the real change will come when we have living environments where
screen displays are everywhere and we basically live in the interface. I just
submitted a Leap Motion developers application yesterday and I can not help
but hope for future living environments that have sharable flexible input and
display devices that automatically link up with a super phone in my pocket so
I still have all of my data always with me.

~~~
chank
A pocket device could work, but the need for a larger than pocket sized screen
would be needed in certain scenarios, i.e. I want to go down to the coffee
shop and code for a while and not have to squint at a small phone screen the
whole time. Actual screen size is just as important as resolution in certain
workflows IMO.

The sharable interfaces in every location option I think is further ahead than
just a powerful tablet /w full docking options. I think projected interfaces
will come around even before that happens though.

~~~
gmkoliver
I think the consensus might be underestimating things like Project Glass and
new directions in keyboards (microfluid haptics, perhaps even more radical
designs). For example it seems like it didn't take long for people to accept
in-ear headsets.

------
gee_totes
I think it's more likely for your grandson to wonder how you're using a
keyboard and mouse without a vim-clutch[0]. I think the future developer rig
is going to have alot of physical doo-dads and whiz-bangs to allow you to work
faster, but you'll still be using ssh and vi.

[0]<https://github.com/alevchuk/vim-clutch>

------
norswap
I'm betting that traditional devices won't disappear, as having a real
keyboard is too important. We'll probably see a surge in tablet/laptops
convertibles, and towers will continue to lose ground wrt laptops.

------
salboaie
Interface innovation is not the same thing as "innovation in solving a real
problem". The best interface is "no interface" and command line is the best
interface for many cases. One day we will automate all system administration
(really?) and we will stay in the front of a super control panel for all our
servers and services that run in "cloud" but meanwhile command line rules :)

------
arikrak
Other people need to type besides programmers. If touch-screen keyboards
eventually become good enough., programmers will be able to use them too. And
programmers may use some more visual interfaces, but pure-text will still be
more powerful.

~~~
crististm
Touch screen keyboards lack something essential: feedback.

Such keyboards are not usable for anything other than casual typing; you're
not going very far with them.

~~~
drothlis
> Touch screen keyboards lack something essential: feedback.

Not forever:

[http://www.macrumors.com/2009/12/24/apples-research-on-
tacti...](http://www.macrumors.com/2009/12/24/apples-research-on-tactile-
feedback-for-touchscreen-keyboard-revisited/)

[http://www.macstories.net/news/apple-patents-keyboard-
with-a...](http://www.macstories.net/news/apple-patents-keyboard-with-air-
feedback-technology/)

~~~
crististm
You are missing the point. Any such surrogates are only getting you so far. To
go anywhere near the real thing, you have to behave like it - not to mimic it.

You're second link stands behind my argument.

------
phektus
It could be Jarvis the Developer AI Assistant aka DAIA™ of Tony Stark's
creation in the recent Iron Man movies. Voice activated commands, holographic
interfaces that responds to gestures, audio-visual programming instead of
text, etc.

~~~
wkearney99
Which only works when you've got a ton of room and nobody else around to
listen to the dialog. Seriously, imagine trying to run something like that in
an office environment. Everyone's dialog and gestures would be terribly
distracting. Yes, for a movie it looks clever, but in real life, in a real
workplace it'd be horribly annoying.

Not that it'd be out of place in, say, a home setting. There you don't have as
many problems with interrupting everyone else's train of thought.

------
damniatx
Is there anyone here use cloud based workstation ?, for example you use
virtual machine in amazon and access it from low powered device or laptop.

------
pvdm
"In the beginning, there was the command line..."

------
michaelochurch
Well, you don't _have_ to use vi or emacs. IDEs exist. I personally find
Eclipse to be a huge pain in the ass for anything other than superficial Java
maintenance, but it's there, and sometimes it's the right tool.

The command line will never die. It's precise. It works. If you don't know how
to use it, you're not a programmer. End of story.

I think that, just as programming is becoming multi-lingual over the years,
it'll be more important to be able to switch between (a) emacs/vi and the
command line and (b) a read-only IDE for code comprehension/navigation. (I'm
surprised Github hasn't taken that on, at least for the major languages.) IDEs
are great when you're reading code but they become a mess when people use them
to write it, or when IDEs become formally a part of the company developer
environment. (Watch out if the latter happens.)

I think the low level will change more slowly than the high-level. For low-
level, staples like C (and possibly Go) will remain in force. It's at the high
level where the rapid change happens. Of course, this kind of change is good
and bad. It's great when you're in charge and get to play with fun new tools,
and it's horrible when you're a grunt and change is inflicted upon you by
others.

~~~
nailer
> The command line will never die. It's precise. It works. If you don't know
> how to use it, you're not a programmer. End of story.

Precision would match the input to the output. Why should the tool I use to
make Python, JS etc ever produce something that's not parseable by the
interpreter for those languages? Why should people ever miss a bracket?
Especially when they're learning.

Vim has shortcuts for yankingaand deleting and putting lines and paragraphs,
which have little meaning in programming. You can't delete a block, or a
statement.

~~~
snogglethorpe
Being _able_ to manipulate language-sensitive components is very handy; being
_restricted_ to manipulating them can be mind-bogglingly annoying... for
people, the source text is also a text.

Structure editors were super trendy ... like 25 years ago. There's a good
reason they've pretty much died out...

~~~
nailer
Why would it be annoying to not be able to write invalid code?

Source is not free text, that's provable by needing a parser. Much in the same
way the DOM isn't HTML, a lesson already learnt the hard way in web
development.

~~~
snogglethorpe
My statement isn't based on pontificating, it's based on lots of people
writing structure-editors and everybody hating them.

Despite the end-goal being a correct parse-tree, it turns out that making it
_impossible_ to have intermediate "incorrect" states feels very constricting,
and people don't like it. The surface text representation may be an irrelevant
detail to the compiler, but it's _not_ to humans.

[A lot of the research was aimed at beginners, without previous
programming/editor experience, who probably have the most to gain from such
assistance (no missing semicolons!), and no prior habits to unlearn. But even
there, structure-editors were not popular.]

