6 ms·
Review my startup: Akshell, a web application network
- petervandijck 17y agoMaking money from this is going to be an uphill battle, especially because getting people to use it is going to be an uphill battle. Looks very cool though.
- Isofarro 17y agoIf it's using node.js (or other JavaScript-based) server-side framework, it could be very useful as a live 'gist' or pastebin. Show/Review the code and see it in operation all in one place. Collections of lots of little scripts. I'm also thinking of it as a community-based implementation of something like Yahoo YQL, so mashing together several useful datasources and using JavaScript as the glue.
- korenyushkin 17y agoIt doesn't use node.js because node.js is asynchronous and the main goal of Akshell is simplicity. But it definitely can be used the way you pointed.
- Isofarro 17y agoI'd second the recommendation that you have a look at the commonjs stuff that olegp mentions above ( http://news.ycombinator.com/item?id=1262380 http://news.ycombinator.com/item?id=1262380 ) and seeing if there's an opportunity there to be a prototype / working platform for such an endeavour. (Assuming that there's a good degree of fit between your platform ideas and commonjs)
- korenyushkin 17y agoThank you, I'll check it. Even if it doesn't fit into the basic Akshell library, nothing prevents from creating an alternative basic library.
- zitterbewegung 17y agoBest way to make people use it is to create a killer example app but that is quite difficult (appjet / etherpad)
- megamark16 17y agoLooks pretty neat, especially with all of the libraries you've got available (forms, S3, etc). Is anyone currently using it for a live application?
- korenyushkin 17y agoThank you. In fact the s3 library is not ready yet :) Currenly the most live application is blog: http://blog.akshell.com/ http://blog.akshell.com/, but I launched the public beta only 30 minutes ago...
- thejash 17y agoLooks nice, but I'm a little confused. Why would I want to use this over something like Django?
- korenyushkin 17y agoThank you. There are two reasons: 1. The deployment is just two clicks. 2. Applications can interact, i.e., your app can use the log app for logging, the profile app for accessing user profiles, etc. So each app does only one thing, but does it well. It can be imagined as a social network, whose logic and content is formed entirely by users.
- wlievens 17y agoHow do you solve the trust issue in this? Is that like friending in a social network? For instance, can anyone link their app with mine? How do we keep everything consistent?
- korenyushkin 17y agoA simple example of an utility application is log. To use it in your application you can write: use('log', '0.1'); ... log.debug('Your log message'); The first line includes the file http://www.akshell.com/apps/log/code/0.1/__init__.js http://www.akshell.com/apps/log/code/0.1/__init__.js which is an interface of log. Then you can view your logs at http://log.akshell.com/ http://log.akshell.com/ The admin of log maintains consistency of the interface; so other developers can use it. Anybody can use your app if he trusts you. If you don't maintain consistency of your utility interface, nobody will use it. It is not like friending. The friending itself can be implemented as an application.
- jsankey 17y agoLooks like a great way to shorten the edit-run cycle, but my first question would be: where is my source? More specifically, is Akshell storing it in some kind of version control? Is there any possibile way to take it offline, and edit it on my local machine (still in my browser)?
- korenyushkin 17y agoThank you. There is a tool for accessing Akshell: http://www.akshell.com/docs/guide/using/#tool http://www.akshell.com/docs/guide/using/#tool You can use it like this: sudo easy_install akshell akshell get your-app # make changes akshell put your-app -e "test()" # send changes and run the test() function It can be integrated into an IDE (I use it from Emacs). But it isn't a substitution for a version control, which wouldn't be handy here because of short put cycles.
- deleted 17y ago[deleted]
- davnola 17y agoI like the idea of a constellation of small applications but I cannot envisage how it work. If you have written an app (library) that I want to use, I use it directly, or I can clone it. The former requires that I trust you completely and permanently and is therefore not likely to happen in serious contexts. The latter requires a round-trip through my VCS anyway, so what benefit does this feature bring over e.g. Github?
- korenyushkin 17y agoThe Akshell is all about the former way. The idea is the following: I administrate basic utilities and libraries and you trust me because you use Akshell. These applications are free, they have public repositories at http://bitbucket.org/akshell/ http://bitbucket.org/akshell/; so the development is driven by the community and is beneficial for everyone. I am responsible for consistency, stability, etc. The resulting environment is easy for development, is formed by a community, and is stable. Other developers could gain an authority and authour such applications as well. In future, they will be able to make money on it. The cloning is a good way for libraries, but in Akshell you could create utilities as well. It's easy to explain by an example: in the profile application users save their profiles; other applications could access them. Cloning the profile code is senseless, because its data matter.
- tamberg 17y agoIs this an AppJet clone? I'd be so happy to have AppJet like functionality again...
- korenyushkin 17y agoI never used AppJet, but according to its wikipedia page Akshell provides its functionality.
- olegp 17y agoAppJet open sourced some of their code and JavaScript libraries. They don't seem to be online any more, but if you want them to see whether and how they could be integrated with Akshell, let me know.
- korenyushkin 17y agoSurely I want! Please contact me at anton@akshell.com. Thank you!
- vinodkd 17y agoYes, this does look like an appjet clone. Not to take anything away from this implementation, however, because it looks like the author didnt know of appjet. Appjet had the same concept: server side js based on rhino, persistent js object store, etc.The concept, however, was a little bit rudimentary: one app consisted of one js "file". You had to write every possible interaction as functions within that file. It did have an interesting function call based templating mechanism, however, something like so: print(DIV( FORM({action:"/", method:"get"}, SPAN({style: "float: left;"}, "Show"), INPUT( {name: "count", value: count, size: "2", className: "in_box"} ), SPAN({style: "float: left;"}, "items"), INPUT( {value: "Go", className: "in_box", size: "1", type: "submit"} ), DIV({style: "clear: both;"}) ) )); Appjet the company had made the source available for download a while ago, and it seems like these folks have run with it:http://apps.jgate.de/ http://apps.jgate.de/
- gfodor 17y agoYou're going to have a near impossible time turning this into a business. My suggestion is you open source the whole stack and figure out how to sell it to enterprises for internal application development.
- korenyushkin 17y agoThank you for your reply. But I think that benefits of Akshell grow with its community; so I'll try to promote it as a single service.
- kno 17y agoThis is what happen when you first open your app the public, you get feedback that may not line up with you primary vision. I found these primary feedbacks invaluable because it tells you that your product is not doing exactly what people want, you learn from it and shift direction. Your idea is very good and well executed, you should minimize the trust factor by making it less social based ; make it possible for someone to take his code away from your platform.
- korenyushkin 17y agoThank you! In fact, moving code away from Akshell should be possible. All libraries and utilities are BSD-licensed, one only have to clone the core to run Akshell applications.
- kilps 17y agoCloning the core doesn't sound simple (even if it is). Making it easy to move away lowers the potential cost of using Akshell - I really don't want to be locked in. How about open sourcing whatever is needed to run an app on your own server and then working on keeping customers through convenience and the interoperability between apps?
- korenyushkin 17y agoMay be I'll take this way. But now it's too early do decide. At least because currently Akshell doesn't have many users and applications; so if I opensource the core, anybody would be able to setup an absolutely equivalent server.
- kilps 17y agoSure - you'll need to take a bit of a wait and see approach, but personally I'm hesitant to build anything at this point. If I wanted to build something serious on it I'd be relying on you to stay in business... And when I suggest open sourcing I am thinking in terms of the bare minimum to setup an app on another server - so your very cool editing system wouldn't need to be part of it, that would be what makes you different from anyone else who sets up their own server.
- ssriram 17y agoThis is quite innovative, a javascript appengine if you will. I am not so keen on the enforced sharing, I think separating "library modules" from "user apps" and providing opensource access to the "akshell" engine so folks could host their own, port the db over to google appengine etc. would make this rock. So, is the akshell engine's source open/available now/later??
- korenyushkin 17y agoThank you for your appreciation! Currently I don't have plans to opensource the engine. It isn't a noncommercial project; I spent a lot of time on it. What business model would you suggest if I opensource the engine? In fact, it's impossible to port Akshell database to App Engine. The database system is my pride: Akshell provides a special query language for it, which is based on relational calculus and easily integrates into JavaScript. A relational database couldn't be ported to Big Table. Akshell features another approach to scalability: each application has an access to a fully functional relational database with transactions, complex queries, etc. Application databases are completely independent; so the whole system has a non-relational database, which should scale well if multiple applications are loaded. You may imagine it as "relativity islands". The database API is described here: http://www.akshell.com/docs/ref/core/db/ http://www.akshell.com/docs/ref/core/db/
- ssriram 17y agoHere are the cons 1. business lock-in: Having one's whole web business(code/website&data) be hosted by a small startup out of russia(ssor) will be a non-starter for most. 2. code lock-in: Having "code lock-in" for developers, meaning writing to a proprietary code-stack for an ssor will also be a non-starter. 3. scaleability: akshell does not currently provide a clear path to scaleability for any one app let alone the potential of hosting 1000's of apps. This very rapidly becomes a cloud-scaling issue that the ec2, gae's are attempting to solve and will be a non-starter for an ssor . 4. dynamic code sharing - use'ing other libraries within askell might reduce development time, but unless there is a static version of that library associated with each instance, with any change the possibility of breaking the web services makes this a non-starter and everyone would revert to a github like "static code sharing" model. Here are the pros 1. A custom webhook pipe builder: Say I wanted to build a "dynamic form" get user input, save state (in a db) and run it through a series of dynamically created "webhooks" and process the final output. If akshell provided "an app development api" I could dynamically create an app, generate the code have it hosted and throw the url up for user input and have the user walk-thru various webhook/needed steps to process & generate a final response. - this is not now possible w/ appengine or ec2 - propietary code/data lock-in is a non-issue since I am not "storing" as much as I am processing. - leveraging "dynamic community code" would be a pro/ not a con in this case. - a freemium model would be possible as i'd need free to wade in/ test etc and with load expect to pay a per use fee. - see some of Jeff Lindsay's webhook related work i.e. webhooks, mailhooks, scriptlets.org etc at http://github.com/progrium http://github.com/progrium for related work 2. A mashup test/use-bed: Web sites with apis could create "canned akshell apps" that not only allowed developers to use("foo-api") to test but also provided examples of use and each web-service could possibly subsidise the hosting / bandwith costs of using their api-apps so developers could just plug-n-play. 3. There are a few more use cases i can think of, you could shoot me an email if interested.
- allang 17y agoThis is a good start. You should do a better job of selling the idea of the service to developers. Come up with some pain points that Akshell relieves, and use that as the basis for the language on the homepage. A directory of apps written with Akshell would be more powerful than a screencast or explanation. If you don't have very many users yet, write the applications yourself. It might be wise to hire or find someone to narrate the screencast. Great work!
- korenyushkin 17y agoThank you for your appreciation! Yes, currently I am working on creating new apps. Sorry for my accent, I'll fix the screencast.
- furtivefelon 17y agoI'm just curious as to which library (if any) you used for code editing. It looks nifty!
- korenyushkin 17y agoIt's EditArea by Christophe Dolivet. http://www.cdolivet.com/index.php?page=editArea&sess=c0ffcf787803bdc0c09354c17d0ce8cd http://www.cdolivet.com/index.php?page=editArea&sess=c0f...
- dirtyaura 17y agoBased on the name I was so waiting for a web application framework in Haskell.
- zach 17y agoI thought it involved Cucumber creator Aslak Hellesøy.
- olegp 17y agoYou should make your module loading code CommonJS compatible: http://commonjs.org/specs/modules/1.0/ http://commonjs.org/specs/modules/1.0/ Check out the mailing list as well, if you're not on it already: http://groups.google.com/group/commonjs http://groups.google.com/group/commonjs
- korenyushkin 17y agoThank you for your advice. I'll check it.
- kilps 17y agoThe authentication functionality demoed in the screen cast is cool - but looking at the notebook app it seems that it is a Akshell branded system. Are you going to offer customisation of that?
- korenyushkin 17y agoYes, I will offer customization, but not complete rebranding in order to prevent fishing (Akshell login is shared among applications).
- kilps 17y agoExcept how many developers want a random (to the user) shared login? I'm doubtful that logging into a non-Google site with a Google account or using Facebook Connect is yet a standard user experience. The way I see it, this could just confuse users. Why not provide a login system specific to each app?
- korenyushkin 17y agoA specific for application login system can be implemented as a library in a few lines of code. But using it will prevent an application from benefiting from the Akshell environment.
- olegp 17y agoI actually think a common login across all Akshell apps is what will make this superior to AppEngine, AppJet etc. Also, it would be good if there was a per user data store in addition to a per application one.
- korenyushkin 17y agoA per user data store could be easily implemented as an application :)
- adharmad 17y agoThere was something similar by Sun a few months ago: www.zembly.com Unfortunately the project seems to be shelved now.
- messel 17y agoI was just poking around for and found two ruby to javacript translators. Now there's a javascript web framework. This is quite impressive, I enjoy the availability and ease of entry of the javascript language. Everyone with a browser has access to it. I signed up Anton :D (does it work with jQuery)
- korenyushkin 17y agoThank you for signing up! You can use any client-side JavaScript library with Akshell, including jQuery.
- malkia 17y agoDunno but I've read it as AskHell.com - heh, and AskHell.com is not taken!
- mattiss 17y agoYou should make this into a Django app that people can plugin to their admin interfaces. It would be a great tool for on the fly code development, bug fixes, etc.
- cmelbye 17y agoThis looks very cool, but there's no way in the world that I'll actually create anything on the platform if there is no way to run apps on my own server or locally. I have a feeling that this won't go anywhere unless you use completely open technologies (and frameworks, middleware, etc) or you open source Akshell itself.
- korenyushkin 17y agoThank you! I understand your point. There definitely will be a way to run Akshell applications outside of Akshell.
- houseabsolute 17y agoIt is unfortunate that you have designed your own query language rather than allowing true SQL. Maybe get someone else to voice-over the intro video.
- korenyushkin 17y agoBut the query language is much simpler than SQL and integrates seamlessly into JavaScript. It should be easy-to-use for beginners. Yes, I'll fix the video.
- greenlblue 17y agoI like it. It's pretty cool.
- vsolomenchuk 17y agoMay be, you should reposition it like quick application prototype tool (it differs a little bit from live pastebin ;)).