Hacker News new | past | comments | ask | show | jobs | submit login
Create web apps in JavaScript right from your browser (akshell.com)
373 points by yogsototh on March 21, 2011 | hide | past | favorite | 95 comments



Thank you so much for making this. I'm learning to program, and an intern at a place where I can't use my computer, can't install anything on their windows machines, and have a lot of free time. You just made my life a LOT better.


Sounds like you need to get a better internship =]

Mind you, if it pays well and you have enough spare time to pursue your own interests then it might not be such a bad thing overall!


Maybe we should start paying you for building Akshell apps for our clients? That way you can do what you enjoy and get paid for it, while getting your CV points as well ;)


Oh, it's unpaid. But I have to do it for school credit to graduate :(

I'm a political science major.


You've no idea how good it is to see an IDE on an iPad. Editing doesn't seem to work, but so what; it's _there_


We are aware of this and are working on an on screen keyboard, kind of like this: http://googleblog.blogspot.com/2010/04/integrating-virtual-k...

To answer the question below: we would need a custom layout to ensure all the curly brackets and other common JS chars are one tap away


The Google docs team stopped to use contentEditable and developed instead a new "editing surface and layout engine" in Javascript. http://googledocs.blogspot.com/2010/05/whats-different-about...

I don't have an iPad(yet), but I tried a very basic page you can get at http://beebole.com/brol/contentEditable.html Tap the blue screen and start to type. On an android phone it works ok.


Why not use the buit-in keyboard-UI in the iPad?


Don't work on iOS. In my web app, I display a plain textarea for iPhone and iPad, but it's not an IDE.

Why doesn't @contenteditable work on the iPhone?

http://stackoverflow.com/questions/723592/why-doesnt-content...

Is contentEditable not supported by iPad?

http://www.quora.com/Is-contentEditable-not-supported-by-iPa...


AFAIK it supports contentEditable, but just doesn't show the keyboard for those elements. So theoretically formatting commands and such work.


It looks like the UI uses an editable div. I believe that editable divs do not trigger the built in keyboard on an iPhone, and there's no way to force it to do so.


I have played with making an absolutely positioned single-char text input box in my custom editor (https://github.com/dnewcome/richie). The idea is that it forces the built-in keyboard to show but the input is caught and inserted into the DOM. I don't use contenteditable since it doesn't work on most mobile devices. My hacks are really rough but I think the technique could be polished eventually.


Alright, but shouldn't the solution be to allow the user to use either Google's keyboard or the built-in(by using textarea)?

The built-in one has a dictionary and some autocompletion, which could be good or annoying... :)


Most likely annoying if you're writing code.


Yes, a custom keyboard for this kind of app should include the necessary buttons for JavaScript. Curly braces, etc.


Perhaps, maybe on par with seeing some home-made keyboard on screen. IMHO.


This is pretty good timing given we (Akshell) submitted to YC last night. Bad timing in the sense that I've only had two hours of sleep.


Good work. As author of Ace (the source code editor) I'm always happy to see it being used. Do you guys have Cappuccino bindings for Ace you might consider sharing?


Sure, happy to share anything you find useful and thank you for the awesome work on Ace! Please send us an email here http://groups.google.com/group/akshell and we'll take it from there.


We will share it on our blog and mailing list. It's quite simple, only 200 lines of code.


In a similar vein, people should check out Ares SDK from Palm for WebOS. It is an entirely browser based IDE for creating apps for WebOS, which are also written using their Javascript/HTML/CSS based APIs.

edit: https://ares.palm.com/Ares/about.html


Can somebody who has used both Akshell and Cloud9 IDE post a brief comparison?


From my very brief test of both:

The main difference is that cloud9Ide is a general purpose IDE, while akshell is intended as a tool for Akshell platform development.

Akshell is an IDE (version 0.3 currently) to create javascript apps on the Akshell infrastructure. Which seem to be based nodeJS, or something similar:

  "The Akshell engine is based on Google V8. It compiles JavaScript code 
  into native code; so execution is utterly fast."
The Akshell infrastructure seems to be composed of a javascript/html framework, a relational database javascript API, the IDE to create apps, a git server to host code, and a infrastructure to handle deployment and scale of apps. It claims that the platform will be open sourced soon, so you will be able to host apps on your own server.

The cloud9ide is a more general IDE, with syntax highlight for various languages: javascript, ruby, python, html, css, coffee script, XML, PHP, and more may be added in the future. Some features provided are integration with github, nodeJS debugging, team chat and team management, an extensions mechanism, and themes.

I find syntax highlight to perform similar on both IDEs.

Cloud9ide license is free for open source projects, with a monthly fee for private projects. I couldn’t find license terms on the Akshell Ide. Currently they are on open beta, and I suppose that pricing terms will be announced at a later time.


I didn't used both but gave try to bespin when it appeared (it evolved to cloud9 as i know) and liked. it's an advantage to have a universal gui, to not ignore users of other platforms.

btw, i put some effort to build an online ide 4 years ago. i stopped maintaining it because my dream tool was evolved to firebug lite. anyway, my died ide can be seen at vimeo.com/azer for some web nostalgia


Just a small correction, Bespin evolved into Ace (which Akshell uses as their code editor), which was created by the guys that created Cloud9 (Ajax.org). Cloud9 is the actual IDE that uses Ace as its code editor.

Find ace here: http://ace.ajax.org and Cloud9 here: http://c9.io


thanks for correcting. I've tried akshell also, it seems great.


That's really impressive. I've been working on a web only code editor for a few weeks (on and off), so I can appreciate the work gone into this.

They built it using Objective-J (according to the source code).


It took a while before I could find anything about the possibility to run on own/3-party servers.

So far this is the most specific I've found:

    The engine will be open sourced soon to eliminate the
    vendor lock-in: you’ll be able to launch Akshell
    apps on your own server.
Anyone else knows the details?

Edit: Found some more details: http://news.ycombinator.com/item?id=1261786


This is really cool. Your docs are well put together, and simple. It looks like you put a decent amount of time into them, which I really appreciate. Too many apps write the docs as an after-thought just before launch.


Is it just me or is the Name field actually a single word "username"?

I tried my name with space, it did not work but a single username worked just fine! If latter, you might want to change the Name: field to Username:.


You're right, we're changing the copy to "Username". We also want to encourage people to use the same username as on GitHub to make way for tighter integration with GitHub in the future.


yogsototh thank you for submitting this. We are seeing 150 or so concurrent users on the site due to this at the moment. I'm retweeting some of the other online reactions we're getting at https://twitter.com/akshell_com


150? It's only the beginning :)


You were right ;) I'll write a blog post about it once things calm down a bit.


Interesting tweet: "... someone made the old @heroku for node.js" -- did Heroku start out as a browser-based app builder?


Yes, Heroku was the first. I tried it out. It was fun, but I think they realised that though it was a novel idea, it was not the _Big Idea_, and they replaced it with what they now have. That's pretty inspiring when you consider how much work they threw away and how that decision has been rewarded.


Maybe the timing was just wrong? The browsers are fast enough now and users, including developers, are much more comfortable with web apps.


I think it was less about speed and more about trying to replace peoples' editor / workflow. People are very particular about the tools they use and putting the editor and deployment in the browser doesn't do much in terms of productivity (and probably more counterproductive than anything else)

Screenshot: http://weblog.rubyonrails.org/2008/2/7/write-rails-apps-in-y...


Yes, I remember speed being an issue, and I wasn't trying to subtract from the usefulness of this creation.


I would say what they threw away was essentially a gimmick. Assuming the functionality of Heroku was the same before and after, publishing from github rather than publishing based on editing files online doesn't change their offering.


Yes they did, they were in the same batch as AppJet as well.


Actually AppJet was summer 2007, Heroku was winter 2008.


Oh, then I've had it wrong for a while now. Thanks for pointing it out.


Impressive. May I ask what libraries do you use for the menubar and all UI widgets?

Also, is the web a "pretty proxy" that redirect everything to a node.js server which does the actual work?


We use a custom built server on top of V8. Unlike Node it's sync and modelled after http://httpd.apache.org/docs/2.0/mod/prefork.html


It's a kind of a Javascript framework called Cappucino, I assume.


Correct, link here: http://cappuccino.org/


Just for the sake of references, the same is also possible with 280 North!


Cool, but as a developer I'm having trouble seeing the market fit.

Like many devs, I have my preferred IDE and I'm religious about it. And I'm fine with running my own server if it means I don't have to commit to a new proprietary framework; that's kind of a huge deal.

I can see the benefit to budding web developers looking to get started, but those are probably also least likely to be paying for dev tools. This seems to be your approach in the docs, though.

Thoughts?


The Akshell engine will be open sourced soon, it will eliminate the problem of vendor lock-in. We strongly believe that web-based development environment are the future; so we'll improve our IDE and add more advanced features to it to provide cool experience.


Looks great! Do you think you'll be including support for CoffeeScript?


Yes, we think about it. CoffeeScript support should be easy to implement and seamless to use.


Very cool, now if someone could just make a Javascript IDE that works on the desktop, I'm just beginning to work in node.js and do most of my PHP in NetBeans, I really want an IDE that recognises that a project can be JS!


We are considering HTML5 offline support. So essentially you could do all the editing locally and even test/run the modules that don't have core library dependencies from within the browser rather than on the server.


They already have one, it's called Vim. :)


Great work, congratulations!

- Can you make the save-preview-reload cycle (much) faster? I found out that command-S triggered a Save, that's great. Does "Preview" have a keyboard shortcut as well? Could you have tooltips (when 'mouseovering' the toolbar icons) show the keyboard shortcut?

In TextWrangler (and BBEdit in the past), I have F1 as the "Run" item of the shebang menu. It even works with unsaved files; developing/testing in Python gets addictive: type, F1, type, F1, etc. (yes, yes, I think before I type... ;-) it's still nice to be able to quickly run your code..!)

- Will it be possible to console.log() strings and/or objects?


Thank you for the suggestions! We'll add shortcuts and tooltips. We were rather conservative about it because wanted to collect some feedback.

The IDE will have real-time console for logging.


Took an hour and a bit yesterday to improve my eBay listings, like so: http://tinyurl.com/67dou5n (link to the app, not eBay).


That's neat Roman, didn't know you were working on this. I'll have to put you in touch with somebody else who wanted to build an eBay app on top of Akshell.


Be nice to see a non-OSX skin. :P


You could write your own, the interface is fairly open and Firebug is all you need.


Slick design, however, I don't understand the buttons. Why is 'eval' a joystick and commit a box?

Also, whenever I hit Preview I get a 500.


Sorry, guys. We have SSH key pairs pregenerated for speed reasons and we've just run out of them today. Now everything should be OK.


We're changing that joystick to a VCR like play button.

The commit one being a box hints at a shell or terminal, since we couldn't find an official Git icon. Could maybe put the GitHub Octocat there - what do you think?


How about the icon from the Git website?

    ---
    +++
http://git-scm.com/


Octocat gets my vote.


You would have to ask Github, as they own the copyright to Octocat.


Thanks for pointing out the 500 error occurring for new apps. Existing apps are unaffected and we are looking into it.


* A little bit faster. It's just fine for typing, but the menus and toolbar are a little bit slow.

* Why only GIT? Support Mercurial with bitbucket if possible.

* Add a context menu when user right clicks the mouse. It's important to have a copy/paste feature for files for example.

... and I'll move my JavaScript coding to it.


awesome work, but FWIW, the first thing I get in the git console for help is two lines of "undefined", and an internal server error for "lol" in the eval screen, using chrome on ubuntu. But you are probably being overloaded ATM so I'll just wait and try again later :)


Yes, we're being hammered pretty hard. Thanks for pointing this out, will look into it right away.


Stupid question but what colorscheme is used for the editor? It's so easy on eyes.


It's a standard colorscheme of the Ace editor http://ace.ajax.org/



Wow, this looks really great.

One small suggestion: can you s/git// on the git shell? because I'm really used to type "git <cmd>" in a shell and it's hard to change the habit.


Thank you! We'll do something about it. May be we'll have a more universal console, where git will be only one of the commands.


I ran into this immediately as well.


Fantastic job. You made great progress on the IDE.

To get people's trust to invest work into your platform, it is essential to provide a solution running on a server of their choice.


I have Firefox "3.6.16pre," through Ubuntu.

When I try to access the app, it tells me that my browser isn't supported and sends me to mozilla.com to download... Firefox 3.6.15

Version check bug?


Have you tweaked the User Agent header? We just check for the 'Gecko' substring in it.


Thanks, now I'm not going to pay attention in class... :)


What class is this? If it's anything programming related, perhaps we can introduce Akshell into the curriculum? I'm already talking to some universities in Europe.


Some worthless Communication class, I'm all for introducing Akshell into that class!


Great stuff. Thanks! It would be cool if left side panel be collapsible also not just draggable. In manner as it in visual studio.


I've been thinking about building something like this, but haven't had the time. I'm glad to see someone did it!


Well. This is a good way to make my JS looking insignificant by comparison.


Looks like it's built on Cappuccino:

http://cappuccino.org/

It's only recently become viable to use because of the performance improvements all the browsers have been making to their javascript engines. Last time I tried 280 slides it was painfully laggy (http://280slides.com/Editor/).

Not that I'm belittling the effort, it's pretty amazing work nonetheless.

But have a play with cappuccino if you want to see what's doable!


Yeah. I saw a 280North presentation at FOWA Miami a few years back. Those guys are great.


Looks very well done. What I don't like is that is has a slow feel to it.


We're working to optimize it as much as we can. Which browser/OS/hardware are you on? If you're not on Chrome, can you try running it in that first and let me know if you see a speed increase?


Nice job. a portable js IDE !


That's really cool.


No love for IE9?!


It works, but there are slight rendering errors with popups. We wanted to make sure it was perfect before officially supporting it. If you're really keen to see it in IE, you can fake the user agent headers to pretend to be Firefox or Chrome.


awesome stuff!




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

Search: