Showoff
showoff.io
showoff.io
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.
Where are my buckets of money? Oh yeah, I don't care.
If a fancy website is all I need, I guess that's what I'll be doing this weekend. And I guess SSL and CNAME support...
To be fair, the "fancy website" is a byproduct of designers who like to make stuff look good, and the rest of Showoff's team caring very much about not just making stuff that works (of which they make a lot, much of which is hidden away in obscurity), but about making it easy for people to use who wouldn't perhaps take on the task themselves—and I don't think there is anything at all wrong with that.
However, I don't think it is fair to imply creating this tool (and its website) was a product of caring about money, or duplicating and obscuring your (or anyone else's) efforts. It is like many other ideas out there that came from a real need, hacking it together, and then asking if people might find it useful enough to pay for it. That's not a reason to disparage or diminish a job well done.
In the end, it looks like Showoff's also brought attention to your project, pagekite, and plenty of other ways people have shared to do the same thing. Today was the first time I'd heard of localtunnel, but I've done this same bit of showing off localhost before for clients and coworkers on my own--and it's a bit like splitting hairs to call it duplication. Hackers hack. It's what we do. I definitely like open sourcing when it makes sense. But I also like to eat and have a roof over my head. Open source does not hold a monopoly on good intentions.
The idea is clearly communicated, pros and cons and alternatives discussed... and now it's a tiny bit easier to explain to people what we are doing.
Hats off to the Showoff team for a job well done! :-)
It's great to have the idea validated, especially since mine and showoff.io's user experience are nearly identical. And this will force me to make a pretty homepage and add features.
So now that I've complained, I don't think I can complain much more.
Now... open source vs commercial, that's a whole different discussion (although probably not what you'd expect).
Casually suggesting NIH can be an insult to the intellectual & creative abilities of a team. Sometimes it is warranted. Other times, it is not. I believe most guys and gals in the developer community are astute enough to ferret out NIH and ignore it.
P.S. On the other hand, you have a very impressive set of github repos. Kudos. You have successfully made me both care and jealous that I never get around to open-sourcing anything because I never feel like any side project is perfect enough to let others see (and because most of what I work on is closed-source for clients). Sad.
The whole simultaneous invention thing is really interesting to me. It was covered in two great books, What Technology Wants and Where Good Ideas Come From. Both seem to imply that the more utility something has in the "adjacent possible", the more likely it will be invented by many people in roughly the same time period. This actually quite frustrates me about technology! What's worse is that this phenomenon will only increase over time. And because it's about utility (never mind the illusion of unique "UX" of products now), there is little room for expression or creating something unique to you that matters.
On a positive note, this is the first time I thought about doing something like this, and it's also the first time I heard about your project.
I'll try it out, thanks!
Marketing is critical. And marketing isn't just telling people about it, or advertising. Marketing is making a site that is attractive (to the audience), giving your project a name that is easy to understand and remember, and easy to google for, and making it easy to use, to install, work with it, share it, troubleshoot it, making it easy to find help, easy to find other people who use it in a community. Marketing means making it clear as hell what the user gets out of your "product," and keeping the focus on the user at all times.
These are all relative, depending on your audience. (Ex: Lots of developer types actively enjoy the simplest possible visual design, and enjoy the thrill of conquering something that's a little bit technically hard. But not all. And none of them enjoy searching & searching and being unable to find the thing.)
If you don't to make money off your work, great. But if you want people to use it, you have to market it, that's just the way it works. It's not good enough to simply make something you want to make and stick it out there. Just being "free" and "open" isn't enough.
If more open source developers would take the time to learn how to effectively promote their own work, the world would be a better place. But sadly, because most OSS developers belong to a group that considers marketing "evil," and has a chip-on-the-shoulder reaction to the idea that marketing is required for even free-as-in-beer projects, it won't happen.
I know it's human nature to like prettier things, I'm just surprised when localtunnel was posted on Hacker News originally, it did not get as much attention as showoff.io and it does the EXACT same thing. I guess I'm disappointed in the community for that?
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?
show 3100
I dunno, I'm a busy dude and my time isn't free. So I'd rather pay $5 a month to have someone figure this out for me and let me spend time leveraging it to build cool stuff of my own.I get it that some people aren't great at networking, but all this stuff is really basic. Not that hard to learn.
Even works at Starbucks, which I don't think DynDNS does.
This app is really neat, though. Creating an SSH tunnel is trivial once you learn how it works, but before, it seems insurmountably complicated. This service makes it super easy.
Oh, and using the same trick in reverse, I get to use Netflix, Hulu, Pandora etc. when I'm out of the country. Or just protect my privacy from Coffee shops.
:)
Um,
Assume none of the above - and instead assume that I am a designer with a local copy of the new t-shirt site im making for my hipster clients - and I am working from the local Java Jungle, not behind my 'cheapo dd-wrt + dyndns +blah blah blah'
I want to show them a latest rev and get feed back.
Use this, and its no problem. Yours is doable, non-trivial and zero elegance.
But that's just me.
On top of that, you're using your own domain, which is more professional in my humble opinion. It's lappie.yourdomain.com and not lappie.theirdomain.com ... oh yeah, and it's free. Just get one of your nerd friends to set it up. Once it's up, it'll run forever.
There is nothing wrong with your method, except that it is longer than "Step one."
This could be a great step forward in helping peopole understand, and take responsibility for their online presence.
call me oldschool, I know...
ssh -nNT -R 8080:localhost:3000 myserver.com
Et voilà, myserver.com:8080 now points to localhost:3000.$ 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...
* HTTPS * Works without access to public-facing server. * Pretty URL * Eventually will support more stuff besides just port-forwarding :)
Servers are awesome. :-)
Showoff is a great idea though, best of luck!!
EDIT: Also, Showoff isn't suggesting it's doing something you couldn't do before. It just does it in a simpler & pain-free way.
You'll have to make sure to build your app to not make any assumptions about where it's running (ex: links to "http://localhost:3000/path), but you should be doing that anyway.
You have to have Apache setup (which, when developing a new project, you may likely not have even reached that point).
You can also save your current file by going to File > Save. But Ctrl/Cmd+S is easier (and probably what you use every day).
Then again, I'm quite happy with a VPS setup since I get all of the extra benefits of having the server around...
Showoff project is definitely cool, but instead of apache, nginx installs in one command and can easily proxy like this with about 10 lines of easily googled config using 1/10 of the resources on a simple prgmr account or the like.
EDIT: It's not a bash script. It's a Ruby wrapper.
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.)
I even tried playing with the bookmarks on the top right corner to see if they would light up the site.
They're out-marketing me, I guess. It looks nicely done!
Here is some honest critique for you: It's about more than marketing. Where they are blowing you guys away is usability -- partly in the product itself, but more on the website.
In less than 100 words I know: a) exactly what showoff does, and b) exactly how to get it up and running.
Compare that to your Quick Start guide: https://pagekite.net/support/quickstart/
I mean, my eyes just glaze over when I see that. Get me running and get out of my way. As someone else in the thread said, don't waste my time selling me "benefits" -- that's what enterprise salespeople do to enterprise buyers.
Also, I like that you have a free trial, but when are you going to tell me how much it costs? And do I really need to complete an optional survey and check a terms of service box?
Sorry if I sound like I'm being hard on you guys, but even though I don't know you at all I'm confident you're capable of more. :) Don't fall back on the "we're not good at marketing" excuse. Spend a lot of time thinking about how you can simplify, simplify, simplify, simplify every single aspect of the interaction on your website and your product itself.
I'll keep my eye on your product though. Thanks.
Our problem is we have a highly technical, generic tool and we've found it really hard to write docs that are easy to understand and a product description that resonates with people.
It's quite eye-opening to see how someone with a relatively small subset of our features can completely wow everyone by very clearly presenting just one use-case. Simplicity really seems to be key, at least to getting this kind of attention.
I would even suggest taking inspiration from the clearly annotated three-panel diagram on the showoff.io homepage - very clear and simple. I am guessing that pagekite might offer more functionality than this, but again, I am having trouble figuring that out.
Best of luck!
Thanks!
Take a look at "How We Increased Conversions By 25% (Again) With Our Latest Redesign (carwoo.com)" http://news.ycombinator.com/item?id=2420447
You have a whole wall of words about features, but I can't judge in 5 seconds what it does and if i'm interested. Switch to user stories.
If you sign up for an unlimited account and you're _really_ unhappy, send an email to support@showoff.io and we can talk about a refund :)
I happen to be working on an account/authentication service right now, so being able to rig it with a working domain name (via CNAME) so cookies work with my app is definitely big on my list.
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.
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.
"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...
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.
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.
p.s. surprised they didn't go for 99 cents
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.
ssh -R8000:127.0.0.1:80 my.vps.com
This will forward all connections to http://my.vps.com:8000/ to port 80 on your local machine.
Adjust ports as necessary.
Then you also have the VPS where you can actually host a copy of your app - but that's off-topic.
It's also really nice for testing web hooks or API callback URLs against a local web server (e.g. ecommerce sites with IPN, &c). If you sign up for an unlimited account, you can choose a permanent URL to use for your tunnel (e.g. "my-name.showoff.io").
Working independently on a project or projects with distinct clients who either need or want to give input/feedback on feature development can be greatly alleviated: work up a quick prototype, show off from my local dev machine (never have to touch a server), call/IM my-name.showoff.io, and they get to see it right away, in the same medium they will eventually be using it. This is so much nicer than sending a wireframe or design of a feature.
The long-term benefit is that the my-name.showoff.io URL can be pretty easy to recall & reuse for any number of clients & features.
I'm not a big fan of dark gray background with darker gray text though.
I don't have a credit card, so can't try it.
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 :)
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.
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.
I'd also consider a "Enterprise plan" which is monthly plan with possibly some restrictions based on IP or with password protection etc.
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"}
"Woops, you said your server was running on port <port>. Is it?"
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).
Sheesh. Ruby runs over 3000, if you're not running the ruby server on 3000 there's not going to be anything listening.
Facepalm.
Since Showoff is basically a fancy SSH tunnel, it should work with any kind of webserver. If there's enough interest, we'll probably bundle up client software in ways that don't depend on `gem install`.
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.
Not to take anything away from Showoff, the execution looks near perfect.
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.
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.
When a client connects to the showoff server, the custom shell is started. It only supports a showoff-specific API, so there's no way to execute arbitrary commands. It's similar in spirit to custom git shells like gitosis.
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.
To each his own. :)
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?
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.
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.
A future market, if you're interested.
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.
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!
"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.
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?
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.
The only tough part is getting it to find your ssh-keys. I did this by running it inside git bash, which as a Windows user you might have anyway if you've installed msysgit. Of course cygwin would also probably work. ssh-keygen to make your keys, and then run your server and then show.
I couldn't figure out how to get the -i command to work properly so it found your ssh keys, maybe I should try that again and see if you can do everything with PuTTYgen for a 'true' windows solution.
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.
The interesting part of the gem starts off like this:
def showoff(rhost, rport, lport=80, host='localhost')
@session.forward.remote lport, host, rport
[1] http://rubygems.org/gems/showoff-io(edit) I meant the text overflow, not the lack of the background image (which appears to be a problem on my side).
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?
- 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.
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.
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?
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.
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.
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.
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.
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.
When you go to a restaurant and you order the first thing on the menu, you don't say "I'd like to have the zeroth item" do you?
does this <link rel="stylesheet" href="localhost:3000/mystyle.css"/> translates to <link rel="stylesheet" href="myserv.showoff.io/mystyle.css"/> ???
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.
Showoff doesn't touch the body of the requests, so you'd need to use relative URLs, change the "domain" config variable each time you make a new showoff tunnel, or set up an unlimited account where you can choose a permanent subdomain like "myserv.showoff.io".
Kudos, man.. kudos.
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.