

Is Tokaido (rails.app) Dead? - remear
http://www.kickstarter.com/projects/1397300529/railsapp/comments

======
wycats
Tokaido is not dead. It's taken longer than I expected, but I've been wrapping
up the requirements for the MVP over the past few weeks [1][2][3] and hope to
integrate the code I've been writing into the UI in the next few days.

I initially anticipated that I'd be able to spend a number of full-time months
on the work. I ended up being able to allocate time on a less consistent
basis, largely because starting a company (tilde.io) ended up offering fewer
opportunities for dedicated, isolated work than I expected. Thankfully,
Patrick Gibson (of Tilde) and Austin Bales (of Do.com) ended up doing some of
the iOS and design work, respectively, and I've focused my energies on the
Ruby parts of the architecture.

My talk at RubyConf[4] goes into some detail about the architecture, and we're
very close to shipping an early beta.

During the (long) time it's taken me to get this out the door, I've worked
closely with Michal Papis (of rvm) to make the static binary build viable on
both OSX and other Nix environments. Michal briefly shipped the binary Tokaido
build as the primary build for `rvm install 1.9.3`, but difficulties in
reliably building more recent patch levels have pushed that back some. We
expect to be able to use the Tokaido build process to permanently ship binary
rubies with rvm (and other ruby managers that are interested) once the build
process for the current patch levels stabilizes again.

My plan for the MVP release of Tokaido is:

* Shipping the binary with a .app that can be dragged into /Applications

* The ability to add and remove applications via an application UI. You can then open a terminal window for these applications with a rock-solid Ruby environment that uses the binary build and makes sure that the ENV is set up correctly.

* The ability to start and stop any of these applications (via the web section of a Procfile) and browse them via `appname.tokaido` in the browser. This involves installing and executing a pure-Ruby proxy that supports the `app.tokaido` domain (see my RubyConf for more details on the nature of this beast; SMJobSubmit ftw!).

All of the above is largely complete (see the `tokaido` organization on GitHub
and the links above for more). We have worked out how to use `SMJobSubmit` to
enable the parts of `appname.tokaido` that require superuser access on first
boot of the application bundle, and Patrick is just waiting for me to give him
a fully self-contained zip of `tokaido-bootstrap` to execute from within the
application. Of course, error handling is crucial for this, especially for
low-level things like DNS servers and HTTP proxies.

Post-MVP, we hope to work on some of the more ambitious logging aspects of
Austin Bales' original design.

[1] <https://github.com/tokaido/tokaido-bootstrap>

[2] <https://github.com/tokaido/tokaido-dns>

[3] <https://github.com/tokaido/muxr>

[4] <http://www.youtube.com/watch?v=4iv3Gk95-v0>

~~~
biot
Based on the comments, it looks like people are still waiting on handwritten
thank-you notes and stickers which the Kickstarter project says were to be
delivered in June/July 2012.

    
    
      > I ended up being able to allocate time on a less consistent
      > basis, largely because starting a company (tilde.io) ended up
      > offering fewer opportunities for dedicated, isolated work than
      > I expected.
    

The stated goal for raising $25K (and any excess) was to take time off of work
to dedicate 100% to this, at least until Rails.app shipped. What happened?

~~~
wycats
> Based on the comments, it looks like people are still waiting on handwritten
> thank-you notes and stickers which the Kickstarter project says were to be
> delivered in June/July 2012.

I have been furiously writing them over the past few weeks (at a pace of about
30 per day). I have about 500 to do in total and I've done about 300 so far.
My intent was to deliver them around the same time as the beta release, so
that the thanks would be meaningful.

> The stated goal for raising $25K (and any excess) was to take time off of
> work to dedicate 100% to this, at least until Rails.app shipped. What
> happened?

You're absolutely right. The original plan was to be able to take a few months
off of work and use it to replace any lost company revenue. In other words, I
was going to pay for my own time to replace consulting revenue. Co-founding a
company turned out to be more time-consuming than I expected (I know that
sounds stupid, but it's the first time I did it), so I wasn't able to purchase
my own time in a single block. Instead, I used whatever available time I could
manage and used the money to fund smaller blocks of time.

I also used some of it to fund full-time work by Patrick Gibson, an amazing
iOS/Cocoa developer (he worked on the original iPad build process for Apple
and the Batch app) who works for Tilde, so I could focus my energies on the
necessary Ruby code.

I'm really sorry that my original estimates didn't work out. That was
absolutely a mistake on my part and I have learned a lot from the mistake (and
my inability to follow my original plan precisely has caused me a great deal
of heartburn). In the long run, I will not allow this error to prevent Tokaido
from shipping. See my other comments on this thread for more details.

~~~
bdcravens
I think some folks might take issue with the idea that you were starting a
company while this project was in progress. (I didn't contribute, and I
understand multi-tasking, but my impression was raised funds were to capture
your undivided attention; unsure if others had same interpretation)

~~~
wycats
I had publicly started Tilde about six months before starting the Kickstarter.

I said that I would use the money to take time off from work to dedicate to
Tokaido. I naïvely assumed I would be able to take that time off in a large
block, but that wasn't possible. Instead, I took off time as I had it
available, in spurts rather than all at once. I isolated the money so that I
would mark portions as "earned" only as I (or Patrick, who did much of the OSX
work) actually worked on the project, so I did use the money to dedicate time
to work on the project.

I am extremely sorry that my original plans for dedicating a block of time
turned out to be infeasible. It was my mistake and one that I have learned
from the hard way.

~~~
bdcravens
It's great that you've isolated those funds, and are accounting properly. I
think a number of "failed" crowd-funded projects fail in this regard.

I know on the project you referenced using Harvest to track time - perhaps you
could use Harvest's API to publicly disclose how much of the funding has been
"burned down"? (I think this would be a good idea for all Kickstarter
projects)

------
knowtheory
It is not dead, and Yehuda talked about it at Rubyconf:

<http://www.youtube.com/watch?v=4iv3Gk95-v0>

<https://twitter.com/wycats/statuses/293594028518277120>

~~~
iamchrisle
TL;DR: Not dead.

Also, he replied to me when we asked him on Twitter:

<https://twitter.com/wycats/status/292391457313132544>

then clarified: <https://twitter.com/wycats/status/292391589643423746>

------
RailsInstaller
<http://railsinstaller.org> anyone? Code too:
<https://github.com/railsinstaller/railsinstaller-nix>

~~~
cuttooth
JewelryBox is vastly underrated and undermentioned, as far as I can tell. It
takes away pretty much all of the work involved with dealing with RVM and has
been nothing but a great help since I first installed it a couple months ago.

~~~
remear
For the curious, <http://jewelrybox.unfiniti.com>

------
haven
You can look at Tokaido's source code or even build it with Xcode if you want:
<https://github.com/tokaido>

~~~
esparkman
Is HEAD the latest and greatest?

~~~
wycats
Most of the interesting parts of Tokaido are in tokaido-bootstrap, muxr,
tokaido-dns, and tokaido-build. They will be integrated into Tokaido.app in
the next few days.

------
nachteilig
While I'm interested in this (on a similar note, heroku's postgres app has
been great for me), it seems like having to install and manage Rails is an
important thing for new people to learn.

This is especially true if one wishes to push code to production and so on--
even with when using Heroku, one still needs to understand the command line
side of all of this.

It's also pretty easy to do these days.

~~~
danso
Yeah, I was wondering the same thing. Rails, on a relatively clean system, is
so easy to install through the command line that if you can't do that
work...then you may not be the kind of person who can easily debug a basic
Rails app in the first place...Not trying to be elitist here, as I'm the kind
of person who runs homebrew scripts without reading the actual scripts. Just
saying that if you can't even do that, then all the post-installation work of
Rails is going to be a painful slog.

~~~
knowtheory
Having spent a morning this week showing journalism students at Mizzou how to
install Django, I would very much like the ability to say "oh you want to try
rails? Just download Postgres.app and Tokaido.app and you're set."

Also, this is a weird conversation to be having with a dude who has a book for
teaching beginners Ruby (<http://ruby.bastardsbook.com/> )!

~~~
danso
Ha! I'm all about teaching beginners how to use Ruby, which is painful in
itself. By the time they get to Rails, they had better be used to typing in
commands at a text prompt :)

No seriously, though...So many things can easily go wrong with basic
Rails...not because Rails is _bad_ , but because Rails has so many
features...that if people haven't mastered the art of Googling lines from
debug-output or command-line install instructions...then the time they've
"saved" by having a push-button solution will be more than spent in the time
trying to get off the ground.

But I'm obviously speaking from hindsight...as I've gotten more experienced,
I've seen that writing script for minimal apps is more efficient than
launching a full-fledged Rails app. However, I may have lost interest in the
whole web-app game long ago if I didn't have the chance to play around
(clumsily) with Rails 2.2

------
raingrove
you guys should try Action.IO <https://www.action.io/>

