JGate Blog http://blog.jgate.de JGate - The easiest way to get your ideas online. posterous.com Sat, 14 Aug 2010 04:04:00 -0700 An Improved Bespin-based IDE for AppJet http://blog.jgate.de/an-improved-bespin-based-ide-for-appjet http://blog.jgate.de/an-improved-bespin-based-ide-for-appjet

We have been following the Bespin project since its beginning and think that it is the perfect cloud based editor for the AppJet IDE. Since its so called reboot the feature list has dramatically improved. The latest TIP version (0.9a1) includes support for plugins. They were needed to tailor Bespin for its use in the AppJet IDE.

Commands

Beyond basic typing, everything you do in Bespin is controlled by a "command". Commands can be entered on the command line, or invoked by keyboard control. Over time, we expect Bespin to get an additional user interface for working with commands. For now, it's enough to know that commands are how Bespin gets things done. The help command is a useful command to know: it will list all of the commands available to you right now. The Wiki will mention some commands in the context of larger topics, but the up-to-date list of commands is available via help.

Settings

Our plan is to equip the AppJet IDE with a very configurable editor. You can see the list of available settings and change them by using Bespin's set command.

To use Bespin as your editor and to change its default settings go to "My Account". You can choose a white or a dark theme, switch tab sizes, font sizes and other settings.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Fri, 30 Jul 2010 10:17:00 -0700 Monitoring and the new Stashboard http://blog.jgate.de/monitoring-and-the-new-stashboard http://blog.jgate.de/monitoring-and-the-new-stashboard

When stashboard was released as Open Source earlier this week, it immediately caught my attention. This Software is the missing piece for a monitoring and dashboard solution for JGate. The ability to run independently from JGate's hardware makes it a perfect choice. Stashboard uses OAuth to authenticate write access, which is supported by JGate's lib-oauth library. Writing an event is a matter of a few lines of server-side JavaScript. See the source code of the monitoring app, if you are interested in the details.

There are currently three services which are monitored:

  • The AppJet Grid, which executes the AppJet apps and provides JavaScript object storage
  • The Backup Service, which provides daily backups of all user apps and their data
  • The Platform Service, which serves the JGate site and the browser-based IDE

The status application is running on Google AppEngine. If you ever need status information about any of the services running on JGate, use that link.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Sun, 18 Jul 2010 01:37:00 -0700 Nginx is doing well http://blog.jgate.de/nginx-is-doing-well http://blog.jgate.de/nginx-is-doing-well

As we announced in our change log, we exchanged the reverse proxy layer from Apache web server to Nginx. There are a lot of positive reports all over the net that favor Nginx over Apache especially for static content and high number of requests. This is due to the different architecture they are using. Apache is using a blocking IO model with threads and processes. Nginx on the other hand is using event loops and a non-blocking model.

The new servers are now running for 40 days with great success. The performance has gone up significantly, not only shown in monitoring values but also in real statistics measured by Google Labs:

Performance overview: On average, pages in your site take 0.7 seconds to load (updated on Jul 5, 2010). This is faster than 96% of sites. These estimates are of low accuracy (fewer than 100 data points). The chart below shows how your site's average page load time has changed over the last few months. For your reference, it also shows the 20th percentile value across all sites, separating slow and fast load times.

Non-blocking IO really seams to be the key to better performance. So it does not surprise that Node.js, which uses the same architecture, is currently getting so much attention. We are keeping an eye on this. 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Sat, 15 May 2010 01:38:00 -0700 Improved Statistics, IDE and new Check-In Database http://blog.jgate.de/latest-jgate-additions-improved-statistics-id http://blog.jgate.de/latest-jgate-additions-improved-statistics-id

In the last post, I introduced the new Aristo skin being available as lib-aristoforms. JGate is using it now to display all pages with form elements and it is looking great. The IDE profits from a consistent look on different browsers and OS'es. The new "click to publish" button hopefully inspires more developers to publish their apps. Currently only every fifth app is set to published. This is kind of sad, as learning from other apps is, what makes the JGate platform so powerful.

Once you have published your application, the IDE shows the Subversion controls. From that point you can commit versions of your app to the repository. The new commit database records your revisions and allows querying the history records. It also provides RSS feeds for every application and a consolidated feed of all applications.

Changes to the platform statistics allow now sorting, application statistics per month and additional metrics like storage use.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Tue, 13 Apr 2010 09:37:00 -0700 Fancy Forms Made Easy http://blog.jgate.de/fancy-forms-made-easy http://blog.jgate.de/fancy-forms-made-easy

HTML forms are central elements of nearly every web application. AppJet.jar supports HTML forms with its QuickForms library, which makes it easy to create even complex forms. It has some limits though and uses just the built-in browser control elements. Most UI JavaScript libraries shine through the use of skinning effects which provide a modern and consistent look and feel.

Pixelmatrix Design's Josh Pyles has written a cool forms skinning library based on jQuery. Uniform currently provides 3 great looking skins, among them the Aristo theme from 280North, which is also used by the Cappuccino framework. You can even design your own themes using the theme kit and the theme generator. 

We have combined the QuickForms and Uniform libraries, added missing theming for input fields and multi button support, both build on top of QuickForms. The resulting library is ready for use in your own applications. We will also adapt the platform code to make use of it.

See the lib-aristoforms library for its use and the source code.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Sun, 28 Mar 2010 04:48:00 -0700 Using the server-push technique called Comet http://blog.jgate.de/using-the-server-push-technique-called-comet http://blog.jgate.de/using-the-server-push-technique-called-comet

The AppJet protocol stack includes the org.cometd server component which implements the server-side Bayeux API. On the client-side there are implementations and bindings for the Dojo toolkit and the JQuery toolkit. Having all these components on-board makes JGate an ideal prototyping platform for server-push experiments.

I reactivated the comet-counter sample and the required libraries written by David and J.D. from AppJet Inc. The sample is now online and includes the complete source code as with every AppJet application. These server-push experiments are kind of fascinating and where the foundation for AppJet Inc's later EtherPad platform. It is now being merged with Google's Wave and also available as open source.  

See: http://comet-counter.jgate.de

 

Soundtrack: "Transitions I" by soundprank (CC) Attribution (3.0)

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Sun, 21 Mar 2010 03:31:00 -0700 Tutorial: Building a Task Web Application on AppJet http://blog.jgate.de/tutorial-building-a-task-web-application-on-a http://blog.jgate.de/tutorial-building-a-task-web-application-on-a

For those of you, who just started using the AppJet framework on JGate, we have prepared a short tutorial. It explains the basics from creating a new application, adding database support and designing the UI using Ajax. It also shows how to use server-side and client-side JavaScript and how to import libraries.

Time needed: 9 min.
Lines of code: 60
Difficulty: beginner 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Sat, 13 Mar 2010 08:03:00 -0800 Version Control Now Online http://blog.jgate.de/version-control-now-online http://blog.jgate.de/version-control-now-online

The JGate platform keeps now track of all versions of an application and makes it easy to see what has changed from revision to revision. Adding an application to the repository is easy.

  1. Go to the IDE and load your application.
  2. When you want to commit a version, just click Commit in the toolbar. Commit as many versions as you need.
    Toolbar

  3. Clicking Revision Log opens a list of all revisions of you application. From the log you can compare revision, create deltas and download old versions.
    Revision Log

There is also readonly public access to the repository using Subversion client tools. There are several of them for every operating system. When asked for the repository location enter the following URL: svn://jgate.de/appjet

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Fri, 05 Mar 2010 13:25:00 -0800 JGate Soon With Version Control http://blog.jgate.de/jgate-soon-with-version-control http://blog.jgate.de/jgate-soon-with-version-control

Ever had the feeling that something could break during application updates? With the next platform update, JGate supports version control using Subversion and ViewVC. It allows you the see what has changed from revision to revision, generate patches and download old versions of your apps.

The Repository

The repository is located on the JGate servers with a projects folder for each of your public apps. Whenever you wish to keep a version during development, just hit the "Commit" button in the IDE. That's all, not additional software or knowledge about Subversion is needed.

ViewVC

ViewVC is a Web-based browser interface for Subversion. It generates templatized HTML to present navigable directory, revision, and change log listings. It can display specific versions of files as well as diffs between those versions. The revision log is easily accessible right out of the IDE.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Sun, 21 Feb 2010 11:46:00 -0800 How It All Started http://blog.jgate.de/how-it-all-started-5 http://blog.jgate.de/how-it-all-started-5

AppJet was a website that let users create web applications in a client web browser, with no other client software. It went public beta in December 2007. "AppJet" also refers to the server-side JavaScript framework that powers AppJet applications. 

AppJet Inc. not only provided app hosting, they also released appjet.jar to the community with everything needed to run applications on own servers. Later it has been open sourced in the version used to run the EtherPad platform. The multi-app hosting technology however, was kept as their secret sauce.

The Clone

Using the original service, a few community members came up with the idea of an AppJet clone simply by executing (eval) sub applications from a running instance of appjet.jar. The idea of an alternative hosting platform was born. In February 2009, we at JGate took the idea and added multi-tenancy, multi-app hosting, thus building an alternative platform. Herby, one of the active community members added new ideas and provided security tips. He also came up with his own AppJet clone implementation following a different approach.

Taking The Torch

In June 2009 AppJet Inc. informed their users, that they were cancelling AppJet hosting a month later. This was a big surprise, because the platform was amazingly hosting over 2,500 apps at that time. AppJet played their joker with their new EtherPad realtime communication platform, which they had developed in parallel on AppJet. It was years ahead of Google's Wave platform which played in the same field. AppJet Inc. concentrated on a new business model and left app hosting out of focus.

AppJet users however looked for something to migrate their work to. Having the clone platform, it was time for JGate to take the torch and to start hosting migrated apps. Community members wrote libraries to migrate even the data to the new platform. Since then JGate is hosting the old jewels, like infinitecanvas from the Microsoft Live Labs, or Groupr as well as newly developed apps of all sorts.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Wed, 03 Feb 2010 09:13:00 -0800 AppJet: The Platform behind JGate http://blog.jgate.de/appjet-the-platform-behind-jgate http://blog.jgate.de/appjet-the-platform-behind-jgate

JGate was created and hosted using the AppJet Web Platform, a new platform, that has been developed by AppJet Inc. for building realtime web apps. We are providing a free hosting service, so that you can run and develop your own applications using this fantastic platform.

AppJet Features:

JavaScript execution on both the client and server

This enables authors to be more productive by writing all parts of the application in the same language, and shuttle data between the client, server, and database all using JavaScript objects.

Flexible, memory-cached JavaScript object database

All the objects that the AppJet application code works with are JavaScript objects, so why on earth would we convert them to and from any other format when storing them in the database? JGate stores all its data in the AppJet Database, which automatically scales and caches itself in memory as necessary. This makes it fast to implement new features, fast to change storage models, and fast to serve requests in production.

Access to the world's biggest collection of libraries: the JVM

There are more high-quality and well-documented libraries written for the Java VM than for any other runtime. We wanted access to all of them when building JGate, so we made an easy way to import Java libraries for use in JavaScript, based on Rhino's JavaScript/Java bridge.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Tue, 02 Feb 2010 20:46:00 -0800 About JGate http://blog.jgate.de/about-jgate http://blog.jgate.de/about-jgate

What is JGate about?

JGate provides cloud-based application hosting using the AppJet Web Platform. It features a web-based IDE, an object database and everything needed to run modern web applications. We launched in February 2009 and we've been steadily growing and adding features.

Who is behind JGate?

JGate is driven by a small team of technology professionals and internet enthusiasts. Our aim is to make internet developers' lives easier by providing everything to run web applications without the need of deploying the necessary infrastructure. A modern web browser is all that is needed to start developing. 

More Information

To contact us for any reason, please use this form and we will respond as soon as possible. We love to hear from our users. You may also follow us on Twitter.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal
Tue, 02 Feb 2010 09:47:00 -0800 Welcome To The JGate Blog http://blog.jgate.de/welcome-to-the-jgate-blog http://blog.jgate.de/welcome-to-the-jgate-blog

This blog is about interesting product or technical stories regarding JGate.

You may also follow us at:

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/432472/gravatar.jpeg http://posterous.com/people/36uaAvWGell7 dvbportal dvbportal