
Showoff - jgv
https://showoff.io/
======
pstack
When I see new projects and ideas that take off, my response is usually a
curmudgeonly observation about how stupid and pointless it is or how it's so
obvious and trivial that I can't believe anyone would waste their time making
it.

This is not one of those. This is one of those cases where I'm not a bit
jealous because something so obvious or inane or dumb took off and became
Twitter, but because it's just so damn _fantastic_. This is one of those
things that is so elegant and smart that it makes me feel like a complete
idiot.

This is going to do very well.

~~~
arturadib
Sorry, I don't quite get this. Why can't I just grab my public IP address from
Whatismyip.com, and check the Web Sharing option under System Preferences on
my Mac? (For Linux, simply fire up Apache; my guess is that most Linux users
know how to do that).

~~~
colinplamondon
"Simply fire up Apache" is a bit of an oxymoron.

~~~
k33n
/etc/init.d/httpd start

Though the real challenge this product solves is in getting around firewall
restrictions. Let's say you're at the airport on free wifi. How are you going
to share localhost then?

------
moe
If you have a public facing server then this can be had for free:

    
    
      ssh -nNT -R 8080:localhost:3000 myserver.com
    

Et voilà, myserver.com:8080 now points to localhost:3000.

~~~
tekacs
Hmm I've been using the following: <https://gist.github.com/932137> for some
time now - it's just a bash function which lets me type:

$ show 3000 test

and get <http://test.tekacs.com/> -> port 3000 on my computer using just SSH,
assuming you have root access to the server (which you would need to set up
forwarding on port 80 anyway...)

$ ssh -tR 1080:127.0.0.1:$1 vps "sudo ssh -Nl \$USER -L
$REMOTE:80:127.0.0.1:1080 localhost"

being the functional line...

~~~
aliukani
Thanks for this!

------
jsdalton
Awesome. I'm definitely a potential paying customer.

Two suggestions and a question:

* How about a free trial for unlimited access or some other kind of cancellation guarantee?

* Minor one, but the dark contrast on your website UI is about equivalent to the background on a typical lightbox...i.e. it reads "disabled" to me on first glance.

One question:

I assume I could map a CNAME record to the showoff URL? (So cookies work,
etc.)

~~~
gregschlom
I second the dark contrast point. My first reaction on the site was "omg, what
can I do to put some color and some life here".

I even tried playing with the bookmarks on the top right corner to see if they
would light up the site.

~~~
barrkel
I kept expecting a bright background image to load, or a dynamic popup to
appear. Even fully loaded, the page looks incomplete.

~~~
xnerdr
I just did a quick article on the design: Showoff.io feedback and design
impressions - [http://nerdr.com/startup-showoff-io-first-impressions-and-
fe...](http://nerdr.com/startup-showoff-io-first-impressions-and-feedback/)

~~~
o1iver
Why the "Average user asks:" critique when the target audience (as you
acknowledge below) is clearly technical. Anybody with networking experience,
ie. setting up a web-server (even for local dev) will know what localhost is
(they type it in their address bar to access the "local" server)...etc

------
Xk
There's an XSS on the page:

Try to login or create an account. Enter this as your username (or password,
as long as it's not valid: you need an error), hit submit. Error + XSS.

</script><script>alert(1);</script>

You escape quotes, which is good, so I can't break out of the JSON request.
But you have to remember how the HTML parsing of a page works. </script> will
break out from within a javascript string.

~~~
Xuzz
I know this is off-topic, but you can use eval(String.fromCharCode(XX, XX, XX,
etc)) to run arbitrary JavaScript, even if quotes are escaped.

~~~
Xk
That's not the reason why people escape quotes.

Imagine the case where he had not escaped quotes, but had escaped < and >. In
that case, I could put a doublequote/singlequote to break out of the JSON.
Then I could just put whatever javascript I wanted and run it.

But that is true, trying to filter specific character sequences for example,
"eval" is never a good idea.

------
hinathan
This looks like a slick expansion of the idea here
<https://github.com/progrium/localtunnel/> Will be sure to kick the tires with
a side project or two.

~~~
drtse4
Yep, was going to post about that too (progrium rocks), but looks like the
site the project used for its redirects is down
<http://www.downforeveryoneorjustme.com/localtunnel.com>

~~~
hardik988
The page <http://localtunnel.com> does not show up, but it works like a charm
when you get your own localtunnel URL.

------
lutorm
I think your web page is very unclear.

"Share a project on your laptop" doesn't really specify that I can share a
_web server_ on my laptop. Maybe that's implicit in the HN community, but my
first thought was that it was a tool for automatically posting updates of my
_screen_ to a web site, which I thought was an awesome idea. Then I read the
comments here, and with some disappointment concluded that it's forwarding a
network port...

~~~
senex
Ah, interesting. Thanks for the feedback!

------
mtogo
Why would i use this over a VPS? A VPS is a similar price and has similar
functionality, but doesn't pose a security risk to my home workstation and
comes with a slew of other benefits.

The tech looks reasonably cool, but what is the use case?

EDIT: Your site also makes it sound like it is HTTP(S) only. If it's not, you
might want to clarify that.

~~~
senex
Hey mtogo, good question.

We often develop sites on our laptops. The more complicated sites are, the
more there is to sync around (databases, dependencies to install, version
control commits, &c). Showoff is a quick way for us to get feedback from
clients or each other without adding overhead to our development process.

~~~
mtogo
Ah, that makes sense. Thanks.

~~~
albemuth
Funny, I thought you mentioned the VPS because you could still reverse tunnel
and share the app in your laptop without deploying. I was going to say that
it's still a good idea since the day pass is just $1.

p.s. surprised they didn't go for 99 cents

~~~
roryokane
The main page seems focused on simplicity and short sentences. I think they
thought that $0.99 would have looked too noisy compared to $1.

It's possible that they are also pandering to people like me who dislike
prices written in that way. I am annoyed by the chore of mentally adding one
to every price ending in 99 cents, and I respect sellers who write prices like
that less.

------
dholowiski
Wow that's brilliant. I'm definetley a potential paying customer. That's
cheaper than spinning up an Amazon EC2 micro instance to develop on at $5 a
month.

I'm not a big fan of dark gray background with darker gray text though.

~~~
FaceKicker
EC2 micro instance is $54 a year, so it's only cheaper if you only want 10
months or less.

~~~
jasonling
Free for a year (at least): <http://aws.amazon.com/free/>

------
ionfish
The usability of the payments form is poor. It doesn't state which fields are
required (if it's all of them, it should say so at the top). I understand not
remembering the credit card number or CVN between requests, but it also
forgets the expiry date, and the country. I had to resubmit several times
because of this. Fortunately in my case I had the patience to go through it
regardless, but given the amount of research indicating people's willingness
to drop out of payment processes halfway through, this is something really
worth fixing.

~~~
senex
Thanks for the feedback! We'll tweak the payment form to make it more usable.

~~~
manveru
Is there any chance we'll be able to pay using Bitcoins or PayPal (preferably
both)?

I don't have a credit card, so can't try it.

------
sarenji
Genuinely curious: Could anyone tell me what the difference is between showoff
and localtunnel[1], aside from a payment plan? Great looking site, by the way,
but I keep bracing for a JavaScript popup with the page so dark.

[1]: <https://github.com/progrium/localtunnel/>

~~~
bobwaycott
The payment plan provides easy named URLs at showoff.io currently. This is the
first minimally viable version. More features are forthcoming.

~~~
user24
> This is the first minimally viable version.

This one sentence transformed my opinion from "huh, I can do _that_ myself" to
"cool, I'll look forward to seeing what else these guys come up with". Well
done for launching your MVP :)

~~~
bobwaycott
Thanks for the kind words. The team hopes to not keep you waiting too long. :)

------
chapel
At first I thought this was Ruby based since it was installed via gem, but at
the footer it says it is built using Node.js. This is a fine example of the
power of Node.js as well as the versatility.

On a side note, this reminds me that isaacs (creator of npm) has pushed npm to
be for development and not for deploying to end users. Hence using gem instead
of npm.

~~~
senex
We're planning to make more "normal" installation scenarios if we see good
interest. Using gem was a quick way for us to get the idea out.

~~~
chapel
I like the idea, and had you not have used Node.js I was going to spend a few
hours and create a clone using Node.js since it would be that easy. Mind you
not that easy if I were to match your level of service and the site. Hope it
has a lot of success.

------
larrik
I love this idea, and the pricing seems spot-on.

However, it's not obvious if this is Ruby-only or not? I don't use Ruby, so
that's kind of a big deal.

~~~
crikli
I had the same question as we do mostly PHP; I'm guessing it just uses Ruby as
the host software.

I installed the Gem and was able to acquire a URL but kept getting an error:

An error has occurred: {"stack":"Error: socket hang up\n at Socket.<anonymous>
(http.js:1271:45)\n at Socket.emit (events.js:64:17)\n at Array.0
(net.js:825:12)\n at EventEmitter._tickCallback
(node.js:126:26)","message":"socket hang up"}

~~~
jimmyjazz14
You need to have some server listening on your local machine at whatever port
you are creating the tunnel for.

If you just wanted to test it out you could start something like "python -m
SimpleHTTPServer" and then "show 8000", which will serve files from your local
machine at your showoff url (I might recommend running the server in an empty
directory).

~~~
crikli
Right you are; I did that and was able to see a bunch of stuff I'd not want to
share over the web. :)

Sheesh. Ruby runs over 3000, if you're not running the ruby server on 3000
there's not going to be anything listening.

Facepalm.

~~~
jimm
A pedantic correction: Rails runs its server on port 3000 by default; Ruby is
the language Rails was written in.

------
sciurus
Is the source code for the server running at showoff.io available? One thing I
like about pagekite is that both the client and server are open source. If you
have a team of people who regularly need to to allow access to local servers,
setting up your own pagekite server seems attractive.

<https://github.com/pagekite/PyPagekite>

------
nikcub
I just use dyndns.org. free and easy to use and update

~~~
thomasdavis
Yes indeed, not as easy as "show 80" though

~~~
nikcub
nope, easier - I have the following aliased as 'ddu':

    
    
        lynx -dump -auth=user:mypass "http://members.dyndns.org/nic/update?hostname=myhost.dyndns.org
    

I have 'ddd' set it to a random IP, so that I can determine when it is active
and not have to deal with random proxy scans etc.

If you aren't UNIXy you can use one of the dozens of update clients:

<http://www.dyndns.com/support/clients/>

dyndns is just one provider. you could host it yourself. There are dozens of
routers and clients that support DDNS protocol, no need to reinvent things.

------
huherto
I am not picky about design. But please change the colors. There is not enough
contrast. I am really making an effort to read just because everybody says it
is worth it.

------
hardik988
The website looks really great, and I've had great success using localtunnel
and I'm very happy with it. Kudos to the folks over at Twilio for opensourcing
localtunnel.

Not to take anything away from Showoff, the execution looks near perfect.

------
seats
Here's the one question/problem I see-

How often do you really want to show someone something badly enough that you
are willing to block your local dev environment to do so?

I could see it working if you are interactively talking to someone in chat,
but over email, often times you could be waiting hours for someone to actually
try out what you want them to see. You could certainly get around this by
setting up a separate local 'dev-show' environment, but if you are going to
all that effort you really could/should just set up a dev version on a
vps/cloud server.

If you are talking to someone interactively, chances are they are another dev,
which means they really don't need to see your environment running, they
should be capable of using their own.

Also, in this thread I really feel people are exaggerating the level of effort
to set up a 'showable' environment on a cloud instance. For rails as an
example, I can go from server launch to a running app with db in less than 15
minutes (easily) with manual config and I really doubt I'm the exception here.
Remember, this is a 'dev' environment still, your apache/nginx config doesn't
have to be airtight, it just has to work for the single user you are showing
it to (all defaults on everything is going to work at least as well as the
built in rails server).

Not to mention the fact that if you aren't thinking about automating
deployments yet, it's a really good investment of time and would work just as
well for this case.

~~~
bobwaycott
The thought of helping a dev run my code in his/her environment, or moving it
out via git push/pull to one of my dev servers (a process that takes but a
minute or so when I'm being really slow) decreases in attractiveness the
longer I have been working on feature/fix X is. Even within our organization,
few devs work on the same project, but sometimes I want someone's
thoughts/opinions/suggestions. Some of the devs are in the office, some
aren't. Whether they are or not, the fact that I am the only one who has been
working on feature/fix X for the last couple weeks means another dev is
nowhere close to being able to just run my project as quickly as I can show it
off.

Sometimes I want to be able to help a client see a quick implementation of
something in a local clone of their live site to show them that their
suggestion for feature/fix X isn't such a great idea (like I tried to tell
them when they asked for it).

I want to block my development when needing to show something off for as short
a period as possible. The time & friction of firing off `show` (or whatever
local variant I might be using, like any of the others mentioned in these
comments (e.g., localtunnel)), is close to zero. This is time & friction to
me, not them. No matter what process I follow, all they have to do is click a
URL. Showoff offers me the shortest path from A to B.

------
johnrob
Since this uses SSH, how do you deal with the fact that any user could login
to the remote server? Is there a custom daemon running that implements the SSH
protocol, or does the client use the real SSH daemon? If it's the latter,
someone could easily get a command shell. In that case, there would have to be
some sort of sandbox to make sure that user can't do anything dangerous. I'd
love to hear how the creators deal with this - great product btw!

~~~
progrium
Check out localtunnel which is open source and does the same thing:
<https://github.com/progrium/localtunnel>

------
voidfiles
So, the short story here is to use localtunnel?

<https://github.com/progrium/localtunnel>

------
Erwin
Does this use SNI ( <http://en.wikipedia.org/wiki/Server_Name_Indication> ) to
allow for multiple vhosts on same IP? (since they use a *.showoff.io wildcard
certificate). As I understand it, SNI does not work on IE7 on XP (Konqueror
apparently has trouble with it too).

~~~
jimmyjazz14
It is not using SNI so it should work fine on IE7 and others.

------
dools
I'd much rather be able to do this over an SSH port forward than having to
install a Ruby gem.

I think the <http://browserling.com/> guys are working on a solution where you
can proxy your local web server over an SSH tunnel for previewing your website
in multiple browsers without deploying it.

~~~
bobwaycott
That is exactly what this is. Ruby is merely an elegant wrapper. Installing a
gem is quite lower in frictional value than setting up the proper tunnels
(especially if you don't already know how).

To each his own. :)

------
IgorPartola
This looks awesome. I would not use something like this because I have lots of
ways to make it happen without paying extra (as in I already have a bunch of
servers I can use for ssh tunneling). However, I can see how you would get a
bunch of dedicated users. Good luck.

My only question is: won't this service be completely obsoleted by IPv6? I
already use IPv6 instead of having to VPN into a NAT'ed office from my NAT'ed
home. Just giving someone who has IPv6 connectivity a URL that uses one of my
IPv6 addresses will accomplish something similar, will it not?

~~~
HerraBRE
Not really.

Just because you have an IPv6 address doesn't mean you won't be trapped behind
a firewall that blocks incoming connections.

And when you have an IPv6 address and want to show something to a person with
an IPv4 address... then you will definitely need either showoff or pagekite,
or something like that to act as a bridge.

------
hugh3
I don't understand why it says "laptop". Why not my desktop machine?

~~~
robrighter2
We wanted to make it super clear that the primary use case is local
development. By saying laptop it removed any ambiguity that it might be a
production deployment tool.

------
pixeloution
I've got MAMP Pro running on my notebook and have a half-dozen "local" urls (
only valid URLS for me ) - is there a way to point this service at those URLS
in addition to localhost?

~~~
senex
Yup, try using something like `show --host=mysite.local 80`.

~~~
pixeloution
tried this and its still connecting to the folder <http://localhost> points to

------
swolchok
I'm a little surprised that no one has mentioned webfsd
(<http://linux.bytesex.org/misc/webfs.html>), which I use to solve this
problem (specifically, as webfs -r .).

Caveats:

\- I'm sure showoff is better if you're firewalled.

\- It's probably slightly easier to share just one file in a directory with
showoff, but this could be remedied with a script that made a temporary webfs
root and symlinked the shared files thither.

------
dools
This is similar to <http://proxylocal.com/> that was posted on HN a few months
ago.

------
andrewheins
I was looking for exactly this service a few weeks ago and would be a paying
customer, but I develop on Windows.

A future market, if you're interested.

~~~
HerraBRE
Check out <http://pagekite.net/> , it's Python and it runs on Windows just
fine. We are working on a user-friendly installer and GUI, but if you're a
developer you don't need that. :-)

~~~
ChuckMcM
Hmm, I also think you need a new name. 'Showoff' says exactly what it does,
lets you 'showoff' your work. What's a pagekite? (reminds of the 'mint' vs
that unpronouncablely named finance site naming issue).

I'm an ops guy, lets say I want to give access to my next generation product
to a usability lab for feedback. Can you imagine what that whole experience
would feel like?

I'll want some reporting of when the site was used and what was done.

I'll want full cookie transparency so that the user experience will be 'real'
but not require the developers to do anything special to get there.

I'll want to know that I can turn it off pretty much instantly if I think
there is a problem.

That is perhaps a product that is orthogonal to the 'put a demo page up' kind
of thing though.

~~~
HerraBRE
Regarding the name, I actually think PageKite is an excellent name and we are
lucky to have it. It's googlable, we got the .com for cheap, it's a strong
trademark. If I draw you a picture of your site flying like a kite in the
clouds, connected by a string to your laptop, you'll find the name is a
perfect fit... :-)

Admittedly, I do need to get that picture drawn.

Regarding the technical side, you do get all those things. Some you get by
collecting your own server logs, some (like cookie transparency and instant-
off) you get through the nature of the system itself.

But if focusing on the website demo market, then making things easier by
adding reports etc. would probably make sense at some point.

Thanks for your comments!

~~~
ChuckMcM
HerraBRE you need to internalize this:

"Some you get by collecting your own server logs, ..."

When I say 'internalize' I mean you need to shift your perspective mentally
from 'techie' to 'customer.'

Anything you can do for the customer, by default, you _should_ do for the
customer. A successful product starts "click here", "use now". Leave the
'collect your own logs' as a thing you can do if you want to, but not you have
to. And don't get hung up on this exact feature request, it is a mindset for
_every single feature_.

You have no less than 10 comments in this single submission, and in seven of
them you are explaining why someone who is a potential customer is wrong about
what they are asking for. That is a pretty strong signal, and one you ignore
at your peril.

~~~
HerraBRE
"You have no less than 10 comments in this single submission, and in seven of
them you are explaining why someone who is a potential customer is wrong about
what they are asking for."

Really? I thought I was saying we were was working on all these things, that
it was a work in progress, and I appreciated the feedback. I'm honestly quite
confused that you got that out of my comments.

I may have misunderstood your question here, I thought you were asking whether
you could accomplish something using PageKite, but perhaps you were being more
hypothetical about the desires and first impressions of a potential customer?

~~~
ChuckMcM
Ok, here is a concrete example of a communication style that I'm talking
about.

I wrote: "Hmm, I also think you need a new name. 'Showoff' says exactly what
it does, lets you 'showoff' your work. What's a pagekite? (reminds of the
'mint' vs that unpronouncablely named finance site naming issue)."

That is feedback from a potential customer that I, as the customer, don't get
any sense of what your product is about from the name. I cite by inference a
great postmortem written up about the 'Mint' startup, and had you searched for
'mint postmortem' you could have come up with the link [1] below. The
alternative to Mint was a website called Wesabe. Both Mint and Wesabe did
personal finance, Wesabe was in some ways technically 'superior' to Mint and
yet Mint "won."

So you have this bit of feedback on how the name you've chosen isn't helping
your product get any visibility and you respond like this:

"Regarding the name, I actually think PageKite is an excellent name and we are
lucky to have it. It's googlable, we got the .com for cheap, it's a strong
trademark. If I draw you a picture of your site flying like a kite in the
clouds, connected by a string to your laptop, you'll find the name is a
perfect fit... :-)"

You tell me, your potential customer, that _I_ am wrong in thinking your name
doesn't tell me what I need to know about your site. And you go on to tell me
how all it would take would be some graphic, which you don't have time to draw
right now, of a kite made out of a web page flying in some clouds attached to
your laptop to make it obvious.

Your name is a 'visual pun' which you no doubt find exceptionally clever, you
know "in the cloud", "easy as flying a kite". Except that nobody types into a
search engine "How can I make my web site look like a kite?" but they just
might type in "How can I show off my web site?" Search engines are stupid,
they will give lots of positive ranking love to the word 'showoff' is in the
URL to showoff.io and zero ranking love to a site named 'pagekite'.

You added "we got the .com for cheap" which should be a clue. If you read the
Mint postmortem Kagan says, _"The site was originally called mymint.com. I was
initially against buying Mint.com but Aaron / Anton spent months acquiring the
domain. This may seem inconsequential, but would you feel more comfortable
entering your bank details on Wesabe.com or Mint.com?"_

Do you see the difference in thinking there? One person thinking 'well we
already have the domain, so we'll go with that' and the other saying "I'm
going to ask my customer to come to this site, what would they be more
comfortable with?"

When I look back at your responses in this thread it is clear you are
passionate about this project of yours and that is great. There have been a
number of comments offering you feedback on both your product and your
presentation. In nearly every case your response to that feedback is a
combination of "thank you for sharing, this is what you (the commenter) missed
about that particular feature and why ours is better."

When you responded as you did about the name I just thought to myself, "Here
is a brilliant guy who is going to be frustrated at how little traction his
project gets until he can move himself mentally to a place where he can
internalize the feedback and act on it."

Its only an observation, I probably should have kept it to myself, and I have
no doubt created more problems than good at this point. I'll go back to
reading now.

[1] <http://okdork.com/2010/10/14/how-mint-beat-wesabe/>

~~~
sciurus
How many web-based products do you use whose name directly describes their
functionality?

------
kaffeinecoma
Perhaps I missed it in the FAQ, but how do you turn it off? CTRL+C?

I understand that you're aiming for simplicity here, but it would be handy to
have a menubar icon (or whatever is appropriate for the given platform) to
indicate that it's running or not.

Or maybe you actually have that, but it's not clear that you do from the
website.

~~~
bobwaycott
A menubar icon (assuming you're meaning Mac OS (or any OS really)) is not
something you get from a simple shell script, typically. Please correct me if
I'm wrong.

~~~
bxr
Normally a gui tool doesn't advertize how you invoke it from the commandline,
but there are plenty of cases where the command-line invoked application
doesn't retain the foreground while running. This tool is probably non-
interactive at the console, I have zero expectation that it won't fork off
into the background.

------
jamesgeck0
I've used Opera Unite like this occasionally, via this [proxy
plugin](<http://unite.opera.com/application/272/>). Unite's fallback proxy
servers are usually on the slow side, though. It doesn't support HTTPS,
though.

------
seiji
Why is your site so pretty? I feel lucky when I style a <ul> enough to not
make me gag.

------
huhtenberg
May want to fix this - <http://i51.tinypic.com/2a00yyv.png> \- this is in FF4
on Windows XP.

(edit) I meant the text overflow, not the lack of the background image (which
appears to be a problem on my side).

~~~
senex
Thanks, we'll take a look!

------
Travis
Text is hard to read. I'm still not exactly sure why I would use this over a
VPS (maybe it's for devs who don't use VPS/EC2 as their dev machine?)

Is this for live demos or for sharing documents? If the former, why wouldn't I
just turn on apache and give them my IP?

~~~
cmelbye
Because "show 3000" is much easier than setting up apache, turning on apache,
forwarding ports, and giving them your IP.

~~~
Travis
Ah, gotcha. So the product that is being sold is simplicity. Are you the
creator? If so, I would suggest:

\- more contrast between text and background

\- explain who the intended user is (web dev w/o strong LAMP background. I
would find it easier to turn all that stuff on than to try to use a new
product, and it's not worth even $1 to me to do that... so I'm clearly not
your target customer)

\- explain what your value prop is (it's not "Now You Can Share!", it's, "Now
You Can Share With One Click"). The way it's explained, it feels like a new
capability...

edit, formatting.

~~~
bobwaycott
Well, to be fair, and this is personal opinion, Showoff has little to do with
whether or not a developer has a strong LAMP background (or .NET, or Haskell,
or insert-your-favorite-stack here). And yet it has everything to do with
whether or not a developer has a strong LAMP/whatever background. Showoff is
not intended to replace your stack--at all. In fact, this product came from a
strong server-side background. If you find it easier to set up Apache & MySQL
& DNS records and all that to show a client/person a development site/feature
you are working on locally (that has not yet been moved to a server), that's
fine. Slightly masochistic, but still fine.

It's just that's more than most of us, as well as most of the devs we know,
want to have to do to share local projects-still-in-development with our teams
and clients.

Example use cases:

CASE ONE. You are working on a new site or feature for a Django/Ruby/.NET site
on your local box. You've been banging away at it for the last couple hours,
and are trying to explain it to your client, coworker, boss, or friend. You
have it running locally just fine, are playing with it at
<http://localhost:1234/> and it looks pretty good. Everything's in good shape
to show off your great new thing. If only they could both see it & interact
with it, they'd be able to try it out and let you know what they think. How
are you going to do this?

-Option 1: Leverage your strong LAMP/whatever background & ssh to your development server, get all your proj files up-to-date, migrate/upgrade a db schema, restart your instance, test everything out to make sure there were no unforeseen impacts from the change before you let anyone else see it (you don't want them to hit the page & get a 500 (you do test before you let anyone try a new feature, right?)), then paste the URL to your client, coworker, boss, or friend.

-Option 2: switch to a shell & execute `show 8000`, then paste the URL to your client, coworker, boss, or friend.

CASE TWO. You are updating a site that's been around for a long time and is
already live on the web. Some important changes and new features have been
requested & you've been banging 'em out for a couple hours (or days). You need
to get them before your client, coworkers, boss, or friend before they are
live on the site. You currently have everything running locally at
<http://localhost:1234/> and it looks good to you. Maybe you have a few
questions about whether you're on the right tracks. What'd be really nice is
if you could put up what you have, let your client, coworkers, boss, or friend
check it out, and maybe go thru a few page refreshes rapidly to see some other
options (especially helpful with CSS changes/fixes).

-Option 1: Leverage your strong LAMP/whatever background & ssh to your development server, get all your proj files up-to-date (including making sure the dev site is exactly identical to the live site and then apply your changes), migrate/upgrade a db, restart your instance, test everything out to make sure there were no unforeseen impacts from the change before you let anyone else see it (you don't want them to hit the page & get a 500 (you do test before you let anyone try a new feature, right?)), then paste the URL to your client, coworker, boss, or friend. Time to try the next change? Repeat all over again.

-Option 2: switch to a shell; execute `show 8000`; paste the URL to your client, coworker, boss, or friend. Time to try the next change? Usually just a quick local Save action away & asking them to refresh.

If anything, you might even argue that the people who have a strong
LAMP/whatever background are exactly the target customer for Showoff --
they're the only ones who can read Option 1 and groan in disgust at doing all
that just to try out a pending feature/fix.

The value prop isn't merely "Now You Can Share With One Click" (and not just
because there is no clicking involved) ;). It's that and much more.

~~~
Travis
Sure, and I didn't mean to appear like I was stating the service was useless.
It obviously has use -- it is a cheap shortcut that will reduce a very obvious
pain point. An excellent business idea.

All I was saying is two-part:

1) the marketing copy on the landing page needs some work. the design needs
some work as well. The main message was unclear to me

2) this product isn't for everyone. E.g., I do all my dev work on virtual
machines. One of my colleagues has a custom deployment script. Many people use
continuous deployment.

I guess all I'm suggesting is that the creator move to market themselves to a
certain segment of the population. I'm not in that segment, but it was
difficult for me to determine that. I suspect it's because the copywriter is
loathe to exclude a possible customer. In my opinion, the "grab at everyone"
approach hurts more than it helps. Go specific!

And finally, not everyone has Ruby running. I've never installed a gem in my
life. Which would I rather do: something that I have done a million times and
have partially/fully automated (depl to internet), or try to setup a ruby
system?

~~~
pixeloution
If you're on osX there's no "setup a ruby system" you type a one line command
and then you can use "show". You _might_ have to use the full path to `show`
to get it to execute depending on how it installed. You don't need to know
anything about ruby -- I've never touched ruby and I was up and running in
less then 60 seconds.

~~~
Travis
Fair enough. Again, I was just trying to analyze their landing page copy from
the point of view of a potential customer. I am not a potential customer.

But for people without any Ruby experience, you don't know that fact ahead of
time. All you see is the unknown ruby command. And my impression (as a non-
user of ruby) is that it's hard to get going. So a potential customer may see
these issues as a hurdle to jump.

------
mkrecny
Great idea yes. Anyone heard of tunnlr - they've been doing this for ages.

------
andrewl
Very nice tool. I expect to use it, and happily pay for it.

I like subtle, minimalist design, and the look grabbed me. But I also have
somewhat diminished vision, and I had to blow the page up a _lot_ to read it.

------
dpritchett
I love it and I'll probably buy a few day passes here and there.

I also think Fortune 500 security teams are going to be blacklisting this
domain soon just to keep their devs from opening holes in the firewall.

~~~
pakeha
At the corporates I've worked at, this product would have been preemptively
blocked anyway because it relies on an outbound ssh connection through the
external firewall, which wouldn't have been allowed. I'm not sure if that's
standard practice at other SuperGloboCorp organizations.

~~~
eru
At Citrix say allow outbound ssh, but not, say, telnet.

------
known
[https://addons.mozilla.org/en-US/firefox/addon/browser-
serve...](https://addons.mozilla.org/en-US/firefox/addon/browser-server/) has
similar functionality

------
meow
Gr8 idea, but I wonder how many would be willing to use it (especially when
there is an option of firing up a amazon ec2 instance when needed).

------
Dramatize
I really like the design of the site. Nice work.

------
geuis
One note about the setup. When you have multiple ssh keys available, the "pick
one" menu looks like this:

Choose the public key you'd like to use:

[0] id_dsa.pub

[1] id_rsa.pub

[q] Quit

This should start with 1, not 0.

~~~
Timothee
Considering the likely audience, starting with 0 seems adequate. (see
<http://en.wikipedia.org/wiki/Zero-based_numbering>)

~~~
tmhedberg
True, but when using numbers to make a menu selection, it makes more sense to
start numbering at 1, because of the way number keys are arranged across the
top of the keyboard. It's slightly less intuitive to have the key
corresponding to the first menu option positioned far to the right of the
subsequent options.

~~~
Timothee
Good point about the positions of the keys.

In fact, I had never thought that one could argue that the '0' key should be
to the left of the '1' key… keyboards predate computers, so I see why this is
not the case, but it _could_ be argued.

------
southpolesteve
This is so completely awesome. Just yesterday I was looking for something
similar. I will start using this immediately.

~~~
HerraBRE
Out of curiosity, how did you go about your search?

------
maheswaran
i havent tried showoff.io and little curious about how about internal
reference translations? for example css files?

does this <link rel="stylesheet" href="localhost:3000/mystyle.css"/>
translates to <link rel="stylesheet" href="myserv.showoff.io/mystyle.css"/>
???

~~~
danparsonson
Out of interest, why use absolute URLs at all if the files aren't on a
different server? Won't you have to go through and change them all when you
deploy?

Anyway, re: translations, I believe it's a tunnel so your local server is
visible to the outside world as myserv.showoff.io - thus, no translation of
anything.

~~~
maheswaran
my bad, internal references will be relative only (<link
href="../Images/favicon/16x16.ico" rel="Shortcut Icon" /> ) so no need for
translation. i dont know why i thought what i thought

------
allanscu
The concept is so simple and needed. I've run into this problem so many times.
I like it. Wow!

------
teyc
The design is absolutely beautiful too. Congrats. Did you do the design
yourself?

------
erik_p
great idea - definitely why haven't I thought of this pain point that I run
into all the time. No fussing with dynDNS, opening ports, or scrambling to
deploy a public interweb accessible version of dev code.

Kudos, man.. kudos.

------
josiahq
Happiness, is a warm socket.

------
thomasdavis
Man, the whole site was a pleasant experience to browse. I was browsing it
because it was just fun to.

The idea is perfect and I encounter this problem daily and always too lazy to
bother setting up a dynamic dns.

Signing up for an unlimited plan right now.

Well done.

------
blahed
rock & roll!!!!!!!!

~~~
kainosnoema
Congrats on the launch, guys! We've tried it and love it.

