Hacker News new | comments | ask | show | jobs | submit login
Show HN: My 1-year project, iPad IDE with GitHub and Heroku integration (worqshop.com)
183 points by donny on May 20, 2012 | hide | past | web | favorite | 73 comments



Hi HN,

I've been implementing it since July last year. I'm still developing / improving it. Well, Apple just approved the latest version.

Well, it's not LightTable, but with it, you can commit to GitHub and deploy to Heroku, StackMob, or AppHarbor from your iPad.


No, it's not lighttable, it's real working software that you can buy/use now, not slideware. Kudos to you.


What I really miss in this one is a key helper like the one Textastic brings: http://www.textasticapp.com/images/screenshot2.png. This feature alone made me buy the app.


Thanks for posting that! I've been using Textastic for a while but didn't know about that feature.


It's exactly the same for me!


Most probably after this, I'll add server side execution (since Apple doesn't allow execution of downloaded code on iPad)

Thus, you can run Python, Ruby, etc from the iPad. Worqshop will transfer the code to server, execute, and bring the results back to the iPad. Seamlessly and transparently.


You may be able to do it through emsctipten versions of ruby and python which you can load in webkits JavaScript engine. http://repl.it works like that.


Apple's gotten more lax with that recently. Check out the app 'Python for iOS'!


I think that would a huge addition. Only thing is how could you handle execution of web apps (not just services)?


Oh, I need to clarify. In my mind, it's like a shell, eg Python shell or Ruby shell. And execution here refers to the traditional execution of programs / scripts. I don't plan to become a PaaS like Heroku that handles web apps execution.


Is there a custom keyboard like with iSSH: http://www.zinger-soft.com/support_g_3.html

The problem is that certain punctuation symbols (: . { }) are used often and they require a modal change to input them. I point to iSSH because the ability to reconfigure the keyboard makes it easy to type large blocks of code.


Hmm.. Not at the moment. I need to think about it. I'm a bit wary to add additional keys. On landscape, the text window becomes a bit too small to my liking. But. I'll think about it.


Have you seen Codea (nee Codify)? It implements what looks like the standard keyboard with an extra row on top containing things like parenthesis, quotes, tab and left/right cursor keys. Screenshot here http://www.twolivesleft.com/Codea/Talk/discussion/206/progre...


http://www.youtube.com/watch?v=Heq16nJvTKA

the next version codea supports hooper selection


You can make a custom keyboard smaller than the standard text keyboard, solving your problem :)


That's a really good way to confuse and annoy iPad power users. Moving the key positions slightly in just one app just leads to typos.


Agreed, don't do that. It's probably also against Apple's guideline and will get your app blocked (and rightly!)


iSSH has done it and it has been in the store for years.


The one thing I always miss on iPad editors is VIM Binding support: Especially on the iPad, where making selections with your finger is a pain, it is so relieving to be able to do a shift-b, 5j to select a piece of code, copy it and paste it somewhere else.

On normal computers, the existence of a trackpad or mouse makes navigating code possible. But on the iPad, I see a huge need for the kind of editing that VIM (or Emacs) enabled where you don't need to move your fingers from the keyboard to navigate. Sadly, the only way to have that on the iPad, right now, is running VIM in iSSH (needs server connection) or the ported VIM which doesn't run correctly on my iPad 3.


I have this vision of a custom Vim keyboard for the iPad where every key is labelled according to its function. Hence, in normal mode, 'd' would be labelled 'del' and 't' would be 'goto'. Then press 'd' once, and 'd' is labelled 'line' and 't' is labelled 'upto'. In insert mode, it would display characters, of course.

A keyboard like this (for Vim or otherwise) could seriously change the game for text editing.

Have a special 'keyboard' for entering snippets. Have one for navigation. Have one for actions. Combine them like you combine Vim motions/actions.

Now that is something I look forward to. Maybe that Logitech keyboard with little screens on each character was indeed a glimpse into a better future.


Except you're not supposed to be looking at the keyboard when typing. But yes, that does sound like a fantastic learning method.

And I think you mean the "Optimus" keyboards -

(http://www.artlebedev.com/everything/optimus/)


kickstarter?


I'm not American.


I see a huge need for the kind of editing that VIM (or Emacs) enabled

I'm gonna guess that people using VIM/Emacs is so small a part of the market that apple told us to go pound sand.

Hell, even running emacs across iSSH to a linux server is completely screwed up: Bluetooth keyboards put out multiple key sequences through the iPad.

Please correct me if my info is outdated. Pretty-please. Esp because I would love emacs on the iPad/bluetooth keyboard even if through ssh.


iSSH & VIM should be pretty sound. I don't know about Emacs, there may be more difficulties since it Vim doesn't use the command and meta keys so much. This guy does all his coding from Vim in iSSH:

http://yieldthought.com/post/12239282034/swapped-my-macbook-...

I understand your point about the small market, but if the target audience is developers, then I think that VIM or Emacs compatible keybindings (if only a small subset for movement and selection) are an attractive feature. On the Mac, SublimeText and AppCode, both beloved editors, feature Vim Bindings. And even some of the Cloud Editors (like Ace or Cloud9) have Vim bindings.

I hope it's just a matter of time until the first iPad editor with bindings comes out - and I'll buy right away :)


As someone who uses both iPads and vim a lot, I'd disagree with this.

The iPad screen should be ideal for making selections with your fingers directly because the keyboard and the code are so close together.

It currently doesn't feel ideal, I agree, because text boxes are designed to prevent you shooting yourself in the foot when you touch the screen by accident. A power-user tool could remove a lot of the safety and slowness from making selections.


Yeah, I think people keep expecting the iPad to work like a keyboard-monitor personal computer, when it's a totally different workstation, with its very particular all-in-one input device.

Vi(m) was designed too wire your brain to a cursor via a keyboard. Patching the iPad and Vim, Emacs, etc to work on a touch screen feels like missing the point. Kudos to the people behind Swipe and LightTable, who are looking for the next interface paradigm instead.


Cool. Is there or is there plans for a darker theme? A fair number of people don't like big expanses of white on backlit screens.


I have several apps on my iPad where I prefer white text on black. Within the general settings, I set my "Triple-click Home" button to toggle White/Black. Not perfect, but helpful.


This looks awesome! I've been casually looking for/thinking about something like this so that I could take my iPad and Bluetooth keyboard when traveling but still be able to get some coding done. Heading to the app store now...


I know the future might be LightTable ... maybe. But for now I'm happy to see that it's becoming fashionable to have your IDE "small" and "thin". Not only in the hardware that you use it on, but also in the features and functionality. Even the idea of distributing the execution of scripts is appealing. Sometimes it does feel as though I want my laptop to just deal with the text (format, highlight, modify with ease) and have some other device take care of the execution and simply ping me when things are going well/bad.

Right now our world it text based. And efforts like this make that circumstance better IMO.


I've been looking forward to a proper editor with GitHub integration, if only for writing notes and documentation into a git repo. (PlainText is great for doing so to Dropbox, but I miss the power of git.)

Downside, trying Worqshop out and it crashes as soon as I enter my credentials when creating a new project. Consistently. I really hope this gets fixed quickly. (I'm on a 3rd gen iPad, the "new" one, and am using a bluetooth keyboard. Edit: though it crashes without the keyboard on, too. Fully up-to-date and everything.)


Hi Alec, I'm sorry about this. Could you please send me an email. There is a bug where Worqshop crashes if you have empty projects on GitHub. It's a known issue and I'm fixing it at this very minute. Thanks. Donny


Thanks for the quick reply. I deleted the empty repos and it's working wonderfully. I look forward to the update. Being able to create entirely new repos from the iPad would be a big plus.


Nice job! Just shared it with people at my job.

One minor comment: the text in the screenshots is very hard to read without enlarging, and looks blurry at least in iTunes on my mac. I would make the font a little bigger, perhaps like Textastic or even slightly bigger.

Also, the bright green for the comments is a little too... bright.

This is minor stuff but it affects the first impression a perspective customer might have. An easy fix though. =)


Thanks. Yup, an easy fix. I've spent months doing the Heroku and GitHub integration; at the expense of better editor. Will improve the editor soon :)


This looks lovely! Nicely done.

Big question that I couldn't see an answer to in the screenshots: how do you tab?

Also, is there any chance of custom syntax highlighting for people like me who need to code in languages like (say it quietly) PHP from time to time?


Probably good to add PHP ; although it's cursing here on HN, a lot of people use that language and will not use this if not supported.


Thanks. Well, just tap the files and the tabs will open automatically. Send me an email. Syntax highlighting can be done quickly.


How do you type a tab into the text editor?



At a glance (not having used either one yet) it looks like textastic has more connectivity options (sftp, WebDAV) but lacks deployment integration like this one has. IOW it seems like you could use worqshop for the complete life cycle of your app from dev to deployment.


In my opinion the biggest win Textastic has is the amazing key helpers atop of the keyboard: http://www.textasticapp.com/images/screenshot2.png. This is the killer feature of Textastic in my opinion.


Yup. Textastic is a code editor. I've been developing Worqshop as an IDE.


This looks awesome and with it (when it gets a few more languages for syntax highlighting) I will really have to reconsider buying an iPad + bluetooth keyboard for on-the-road/on-vacation times when I need to make minor edits online for work. Also I would order an iPad today if it also included an ssh terminal. That would seal it for me! Also maybe some way to connect through sftp and edit files directly on a server would be great


I've just recently started using Prompt (http://panic.com/prompt/support.html) for an ssh app. Using it is what has pushed me to start looking for something like this app to do light development (as in having ssh on my iPad/iPhone has opened the possibilities of getting "real" work done when needed).


Prompt is really useful.

I use it to keep track of my servers while travelling. Doing Java homework for a class was OK also: ssh xterm emacs Makefile - really worked OK.


How did you integrate it with github? Do you have a git client in the app, or are you only using the github api?


There's no mention of FTP - is it possible to deploy to a server other than Heroku? The iPad IDEs I've tried are all lacking an integrated FTP client which provides a decent workflow for web dev, if you provided this in worqshop I'd adopt it in a heartbeat!


I've been developing Heroku and GitHub integration for months, at the expense of a better editor. But what people want is a better editor: themes, vim keybinding, extra keyboard, etc :) I'll try to do it after I finish with the server side code execution.


Buying and trying now. I'm hopeful. I've been thinking that this is an app that clearly needs to happen and (while I'm glad you're charging less) I'd easily pay $99 for if it was perfect.

If this is good, I'm going to buy a bluetooth keyboard for the iPad tomorrow.


While I applaud the effort, I do not understand the motivation. When I want to develop something, I use a desktop or a notebook, and I'm never away from one long enough that I would have no choice but to work on a mobile device.


Think about students in CS classes who already have their textbooks on their iPads but need to lug around a notebook just for some trivial coding. IMO this might be an interesting target group. HOWEVER the current language support does not really do that group justice. Add at least C, C++, Java and maybe Pascal and Basic (high school CS classes) syntax highlighting to cover a good portion of CS classes.


I would advise any CS student against tablets for the classroom.

A laptop is much more productive:

- A proper keyboard

- Ability to install whatever applications required for the classes

- No need of internet connection for software development

- Proper office like tooling for school reports


Pardon my shallowness, but the bright green on white on the home page screenshots screams all over the rest of the page for me (in a bad voice). The pills below the screenshots are also hard to click with a trackpad.


This looks really exciting. I know that coding will be done on iPads but the model has always been clunky. This looks like a good start in the right direction.


Awesome!

Just a very small issue with the website: I wanted to click on the screenshot on the homepage, but it didn't work. I expected it to be clickable and do the slideshow.


What about C? If not remote compilation/execution, then at least syntax highlighting?

I guess the obvious thing otherwise would be iSSH to your own GNU/Linux box and Emacs


Sidenote: Annoying how simple slide animations like that on the homepage that I assume are using jquery are super laggy on the iPad itself.


That looks excellent, I really like it.

Could you talk a bit about how you did the text rendering? Basically my question is, how do you render nice text?


Does this work with any Git repo or just GitHub? I've been using BitBucket recently for free private repos.


So I'm all for IDE's on the ipad, but why would you want to code on an ipad?

but regardless of my question, looks good man


What kind of sales are you getting with $7.99 as the price point? Have you considered increasing it?


Awesome! A fantastic step in the right direction for iPad development.

Feature request: hooper selection.


Apps like this make the iPad+keyboard a useful development tool.


nice, looks handy. any plans for coffeescript support?


With CoffeeScript, this might be the tool to get me off a laptop and using tablets for real work.

All our code is already on GitHub, with hosted Continuous Integration (Travis for the Open Source parts), and Heroku for deployment of the new Node.js projects. So migrating to a tool like this ought to be feasible.


How does it compare to Cloud9?


Crashes on iOS 5.1 after I successfully log in to github.


Poor you, it is obvious that one needs a real keyboard to code, any touchscreen just won't let you type quick enough.

The iPad is no good for any kind of authoring. I own one, love it but can hardly make myself even type a 3 sentence email on it, let alone code.

I'm afraid you've waisted a year.



Also known as a 'laptop'


I don't think it would be a primary environment, but when your on the road and there is a quick bug to fix, or you have a spare hour and didn't bring your laptop... boom




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: