Joyent Slingshot

Introducing Joyent Slingshot
Joyent Slingshot allows developers to deploy Rails applications that work the same online and offline (with synchronization) and with drag into and out of the application just like a standard desktop application. We have Joyent Connector and a select group of third party applications working under Joyent Slingshot. Joyent plans to have Slingshot available for general release on both Windows and Macintosh OS X in late April, 2007. If you would like to be considered for a spot an early release tester, please send email to slingshot [at] joyent.com You must be a Rails developer with an application we believe would help us put the final polish on Slingshot.
Joyent Slingshot is a game changer.
The framework is lightweight and customizable and allows Ruby on Rails applications to run offline with a simple and transparent data synchronization. You, the developer, make the decisions about exactly how their apps runs, what synchronizes – not Joyent.
Joyent Slingshot enables Rails to break free of the browser. It breaks down the wall between a Web application and a desktop application without losing what makes a Web application great: the ability to rapidly develop, deploy and update, now for desktop applications.

Joyent Slingshot allows Rails developers to easily create a hybrid Web/desktop application with the experience a user expects from a normal desktop application. Drag in and out of the Rails application for files, email, iCal events, vCards, bookmarks (html files) to begin with. Before final release, Joyent will be extending this to native filesystem integration and native datastore for additional data-types.
How does Joyent Slingshot work?
It provides a consistent and stable environment for a Rails application to run off Windows and Macintosh OS X. We remove all dependencies and conflicts with system binaries. Additionally, Joyent Slingshot allows developers to customize their environment as they please. Install any gems, plugins, binaries, whatever. We can handle it. Joyent Slingshot is like a virtual machine for a Rails application to run on. Sweet.
Simple and lightweight
Joyent Slingshot is a simple and lightweight mechanism to cleanly synchronize online and offline data. You, as a developer, can provide an ActiveRecord transport layer allowing easy customization of the data that gets synced to your application’s who, and when, and how. With the addition of about thirty lines of code, your Rails application can sync data from client to server. With another thirty lines of code you synchronize have file-based data.
The framework provides an extensible drag and drop abstraction layer. Hook into an application’s existing data import/export mechanisms without necessarily modifying any application code.
Finally, it allows the developer to easily deploy code updates and migrations, no matter how long a user has been offline.
We are evaluating applications to use Joyent Slingshot before the final release date. Please send mail to slingshot [at] joyent [dot] com to be considered. A very limited number will be chosen.
Joyent Slingshot Pricing Model
While we continue to kick around different business models for Joyent Slingshot, we can safely say that Slingshot will be available for free to developers that host their Rails application on Joyent Accelerators. Other uses of Slingshot will be allowed, but we haven’t finalized the pricing for those uses. Everyone using Joyent Connector will get a version of Joyent Connector on Slingshot for free.
Joyent Slingshot Demonstration
Here’s a quick tour of Slingshot. We’ll be putting up more/better screencasts in the coming days and weeks.
Update: here’s some further technical insight into the project from our partners at Magnetk.







62 Responses
Very cool!
Out of curiosity, how does this compare to Firefox’s POW plug-in or the anticipated local server that Firefox 3.0 will include which will allow someone to run offline apps?
Very interesting, and we’re very interested. It fits perfectly with the direction we’re wanting to take Ladybug in!
Unfortunately, the email address mentioned in the post bounces back as an “unknown user.”
Hummm would like to apply as well
: unknown user: “slingshot@joyent.com”
What about Django? I’d love to hear some more news on that front; getting it setup is hellish enough on a shared server.
Apollo what? Seriously, have you guys told DHH and the rest of the Core Rails team about this? This is a serious level of innovation right here. Game changer might be an understatement. Slingshot might just seriously eclipse all of the love that 37sig has been getting for Highrise this week.
Now you are FORCING me to learn Ruby and Rails…. I hate you (j/k).
Oh no, Joyent is now building a framework?! I say stick with office apps and hosting. A framework is a whole ‘nother headache, one that it doesn’t look like you have time for (unless maybe if you open source it which it doesn’t look like you plan on doing). For example, how hard would it have been to test the new slingshot email address before posting it here? You guys are always spreading yourselves too thin {insert peanut butter reference here}.
slingshot@joyent.com is working again. Sorry for the interruption.
@Ajay: You’re missing the point. Office 2.0 is a very tough sell if you don’t have an adequate offline story. Furthermore, if you’re going to deploy a rails app, there are a multitude of potential hosts. This API (if its as good as it sounds) provides developers with a compelling reason to choose Joyent over other hosts.
Tom, I didn’t say they shouldn’t include offline support in their office apps, although that is probably a big headache in itself. I said they didn’t need to open up the APIs and support it as a framework, which is a whole another level of distraction. As for this being a good API for developers, I believe that new frameworks that don’t rely on the web/HTML are going to send the web reeling as an application platform, because of the fundamental limitations of HTML/AJAX/browsers. WPF from Microsoft is an attempt to displace the web as an application platform and many more platforms are coming. Incrementalism using the web will be swamped in the process. As such, I believe Joyent is not just overextending themselves, but backing bad technology.
”…we can safely say that Slingshot will be available for free to developers that host their Rails application on Joyent Accelerators.”
So what happens if you start on an Accelerator, build your offline app. Maybe even sell a few copies of it, then at some point stop using Joyent for another hosting provider (it happens).
Do you still get to use the offline framework for free?
@Tim: We’ll have details for that sort of scenario by the time we ship late-April.
@Ajay: We believe backing Rails is the right technology decision. We also believe having an offline component is the right thing for both our Connector product (the suite) and Accelerator (the on-demand compute). What “fundamental limitations” are you speaking about? Slingshot was created precisely to address those limitations.
This is a very exciting technology. Thanks Joyent.
So is Slingshot the reason that API’s have not been developed and released for Joyent Connector? I mean there is a lot of third-party products that can be developed for the Connector:
1) A contact and calendar sync application.
2) Mounting Connector’s Strongspace on the local computer.
3) Bookmark syncing with the browser.
Is it possible that even with Slingshot available, Joyent will still release dedicated API’s for developers to build products for Connector?
@Frank: APIs are coming.
Did Joyent acquire HighGroove (highgroove.com), which provides Slingshot Hosting (slingshothosting.com)?
I ask because Slingshot Hosting specializes in providing Ruby on Rails web hosting.
Also, HighGroove (the company who provides Slingshot Hosting) happens to be based in San Mateo, CA … the same city as Joyent.
David, I never faulted you for backing rails nor for creating an offline component for Joyent’s apps, only for deciding to provide yet another disparate service with your slingshot persistence framework and for further tying yourselves to HTML. Rails is a backend technology and slingshot is for offline persistance, HTML is still the frontend. By developing a persistence framework yourselves, you tie yourselves more strongly to HTML, at the same time that WPF and other rich client platforms are arriving, obviating the use of HTML as an application development platform. I think Joyent/Textdrive need to think long and hard about their future if they tie themselves to HTML more deeply. There are many UI problems with HTML, things that you just cannot do in the browser, not to mention cross-browser incompatibilities. Things are changing fast and HTML is increasingly being left behind.
@Tim: We’re based in San Anselmo, CA in Marin County. We did not acquire Slingshot Hosting.
The more I think about it, the bigger I think this thing might be. For probably 5 years now, I’ve thought of a world where most desktop apps are basically web apps, perhaps even served by a local webserver. The other part of that is exactly the ability to work offline. I had wondered if you could cache data with Javascript and JSON or even use HTML tables in the DOM. But it’d have to be very simple data management ability written in JS.
I’m thinking that somehow distributed data storage, rather than central server, is part of where this might ultimately go. Maybe even distributed apps where different bits reside in different places. But I’m not able to articulate how or why.
Does this mean that we might be seeing Slingshot powered versions of connector / strongspace to be run locally?
@Sunny: yes.
David (& crew)
this is extremely interesting. I went to bed frustrated last night because of Connector bugs, and got up to read about Slingshot. I’m more than excited.
I come from 14 years of Lotus Notes work. The one thing, that makes Notes stand so far out it it’s replication technology (that make developing off-line apps trivial).
If Slingshot goes towards making that possible Rails apps, heaven just opened and the angels have been chanting.
I’m looking forward to seeing this in reality.
Kudos
jc
Wont a side effect of having an offline version of your web application be that your rails source code is available for people to look through? Not that I’m complaining mind, just wondering.
You must have known this question was coming – I’m surprised it’s not been asked already;
Any plans for a Linux version?
Paul
@Paul Livingstone: We’re working on some encryption technology, but, yes, the code has to be pushed out for the offline client to work.
“general release on both Windows and Macintosh OS X”
Wake me up when you have Linux support.
@Ajay: Your head’s in the right place, but you aren’t taking into consideration the fact that Slingshot can supplement, not replace, a dedicated OS-native application.
Rails’ REST-fulness makes developing a synchronized desktop counterpart much more practical, but many web app companies can’t afford to hire an extra team of cross-platform desktop devs. If I’ve already built my web app, but haven’t had time or resources to write an open API or develop a desktop app, Slingshot is the perfect stopgap. And for many apps, it could be permanently adequate.
HTML may be more limiting than OS-native interface builders, but if you’ve already built your web app, then you have literally no extra work required to render it (cross-platform!) on the desktop. Plus, HTML is entrenched and not going anywhere for the next few years. Even if Slingshot only makes sense for the duration of HTML’s lifetime, doesn’t that still make it a worthy platform? When you can afford to write a “real” desktop counterpart, nothing will stop you from doing so.
@Joyent: I’m very interested to see where this goes. If Slingshot can make offline app use and synchronization as painless as Rails has made app development, you guys have a goldmine on your hands.
This sounds really interesting, but from the pov of a mac user, the calendar needs to be a fully drop in replacement for ical, including the various sync / applescript hooks, so that using connector in this context makes sense.
Moving away from connector, slingshot looks really nice, I can see a say delicious library / librarything or corkd’d type applications making good use of this, though it seems the drive is towards complete replication of online and offline functionality. Many apps would probably benefit from thinner desktop apps, and more social online counterparts. Is this scenario supported in slingshot, or planned for?
@Ajay: I agree with what you’re saying but I think the keyword here is “stopgap.” In any paradigm shift there are technologies that exist for a limited amount of time (relatively speaking) in order to facilitate a greater change; Slingshot is one of them. When companies like MS and the open source community develop a more verbose solution Slingshot will be obsoleted unless, as Randy Newman always said, it rolls with the punches. Joyent is selling new tires for an old car but don’t lose heart, you’ll get your new ride eventually.
Are you upset that they’re not providing quality service for their current products or that they’re not devoting their time to other innovations?
I know it’s annoying to answer detailed questions this early in the game, but I’m curious: does Slingshot contain some built-in rendering engine (Gecko?), or does it piggy-back on the platform-specific engine (WebKit/IE/etc.)?
Wait… you decided to launch a product and name it Slingshot? Like, Slingshot Hosting, one of your competitors?
That’s really lame to do to someone else in the community. May I suggest a name change…?
-hampton.
@ Hampton: I don’t think that their naming scheme was done to hurt another company that they may have or not known about, but instead was chosen to easily convey what it is it does. Obviously, Joyent plans on implementing the technology for their own applications, but I get the sense that the Joyent Devs really came up with this as a means to help other Rails developers.
A big hurdle to more people using Web-based applications is the fact that they have no access to their files and accounts should they ever be in a place where there is no ability to connect to the Internet. Slingshot will be an answer for that. Imagine a Web-based word processor athat you could use connected to the Internet or no? Would not more people want to use such an application? I think that they would.
So, at least as far as the name of the platform is concerned. I think that we can cut them some slack on that.
This looks pretty shweet. I was just thinking the other day, “Gee, the Connector would be so much tastier if I could only take it with me even when I’m not connected.”
Now that functionality will be available to other developers ( ahem me cough) as well.
Thanks!
[ryan]
@ Joyent: There’s a lot of buzz floating around today about Slingshot (obviously). After reading a few of the posts out in the blogosphere, I was struck with a thought: Joyent should take Slingshot Open Source. Allow me to explain:
Obviously, proprietary code benefits you. As the sole arbitar of the code base, you have an edge over any competition that should decide to build in the same space. This allows you to innovate first and innovate fast while competitors struggle to catch up and maintain. However, there is also a negative: Code remains in control of one entity. Trust factor will be a hard thing to overcome with the paranoid out there. Taking Slingshot Open Source and releasing it to the Rails community solves this.
The gains for doing this of course, is that Joyent gains access to the many hundreds of Rails Devs that can help with code completion, bug squashing and innovation. But even more important than that, releasing Slingshot as an Open Source adddition to Rails, helps increase wider spread adoption of Rails (and Ruby) as a viable means of development. Slingshot could be the thing that motivates devs to rally around Rails (and Ruby). You think Ruby adoption has been huge in the last two years? It could be ginormous (yeah, I mashed that up) a year from now.
Who knows? Maybe you already have plans to Open Source the Slingshot code and are already in talks with DHH and the core Rails team. But in case you aren’t, I hope that I’ve given you something to think about…..
Are there any plans to protect the guts of your rails app? I’m not too keen on the prospect of releasing the source code to all of our competitors.
I suppose I could always use this to deploy a companion application that makes use of our API instead of releasing the full source of the thing itself. With that, i’d prefer people to be able to see the source code.
How are you going to sell this and keep people from simply buying it once and then replacing the guts a bunch of times?
This is a great announcement guys. My day job is as an engineering manager at a company that recently announced a new RIA platform with a name reminiscent of a Greek god.
That said, I think it is fantastic that we can still innovate with the key components of the Web: HTML, CSS, Javascript and HTTP. I’d love to learn more about Joyent Slingshot as I continue work on some new Rails applications for both the day and “night” jobs. Keep on innovating!
If this isn’t free, you’re not gonna survive against Apollo and other upcoming technologies like Dekho
I first want to say that I think this is very interesting technology, though nothing particularly new since it looks like similar technology will make it into Firefox 3.0 and add-ons already exist that do this to some extent (https://addons.mozilla.org/firefox/3002/)
What interests me is that this yet again confirms, to me at least, that Joyent is spreading it’s resources to thin.
For months now support has been greatly lacking. And for those products/services that do exist, they seem to be buggy or fail more than desired.
I hope that Joyent staffs up to assist with these new products/services in the pipeline in order to boost the quality of service.
Wow! Connector will run locally! maybe this will speed up the connector app enough that it is actually usable instead of just pretty
I can’t wait.
In a previous PS Grep episode, it was mentioned that the guys from Magnetk.com were helping on the release of an upcoming service.
Is Slingshot that service?
Also, Doug – I concur.
@Andrew: they mentioned on their blog that they did.
@David: interesting development. How long till we all get to use slingshot with the connector?
Sounds great – but must also support Linux in order to maintain true cross-platform support – one of the key features of Ruby on Rails – and therefore maintain support for the rising groundswell of Linux users.
I love this!!!
Put me down as another potential customer concerned about having my application source out and about in unencrypted form. I love the idea of a transparent offline experience, but not if I have to give my customers my raw rails source to get it.
Windows and Mac? What about Solaris?
It’s ok to complain about Joyent, but please provide a URL or specifics so that we can address the complaint. Otherwise, your comment will be deleted. Thanks.
I don’t know if you’ve considered this yet, so it might be an eyeopener:
I’m only off-line when my provider is down, that has been less than 24 hours in the last year.
Could this be a solution for a non existing problem?
@Mike: try travelling. Especially when you don’t want to pay exorbitant fees for casual WiFi access.
cool, but can we get some news on when y’all are gonna deliver on the small/medium Accelerator accounts?
@DL
The following page indicates the small/medium Accelerator accounts were available as of last week.
http://joyent.com/accelerator/pricing/
Is that not the case?
I would also like to signup for an small account, though I currently debating if 256MB of RAM is enough.
Completely off-topic: the “Textile Help” link below this box seems to actually, um, be parsed by Textile. Literal characters (underscore, asterisk) are processed; check out the source for the nested tags.
Will this work with Apollo?
Thanks Justin – I will correct this.
Thanks! I was going to actually offer a solution, but couldn’t get the message box to respect Textile 2’s raw HTML tags. Gave up and decided to let you crack the nut.
@Ajay and anyone who takes Flash / Apollo seriously as a platform: Why would you want to obfuscate your functionality behind some kind of pixel pushing proprietary format? HTML (or its decendents) will always be king of the internets. The reason: View Source.
Even the worst web pages are more accessible / repurposable / searchable than all but the most meticulously developed Flash applications. Flash will always make pretty widgets, but widgets are nothing without semantic context.
That said, I hope Slingshot makes view source (on the Rails side as well) easy.
I really like the sounds of this. This would fit very well with the work I’m doing with culinari.us
Nice work guys!!! I was considering developing a similar thing but this is further ahead and the synchronization and drag and drop is past what I had envisioned. Looking forward to using this for some great applications!
Not even an “F-U” for linux users yet?
Keep the awesome work and persistence guys!; your product fills very well the niche of RoR Developers who need a clean solution for desktop enabled webapps ( no more web-enabled desktop apps!!!)
Spell checking works in my safari browser.
It does not work in the app i am trying to port using slingshot.
Why ?
Anything youd recommend to enable spellchecking ?
Hi! I was surfing and found your blog post… nice! I love your blog.
Cheers! Sandra. R.
I love your site.
Love design!!! I just came across your blog and wanted to say that I