Archive for June, 2009

Making of the Apsona user experience

Saturday, June 27th, 2009

The primary focus of Apsona is its user. A smooth and easy user experience is a cornerstone of Apsona’s design.

The first aspect of the design is simplicity. We wanted to provide powerful functionality, but tried at every design step to keep things simple for the user. For example, creating a cash flow forecast report by week or month can be done in seconds. Selecting  as fields, Possible close date, Potential values:Sum and Opportunity ID count from an Opportunities table generates a report in a second. This raw data can now be interpreted for a clearer picture with Apsona’s Visualization feature in a couple of seconds. The visualization allows the user to flip between the week forecast to the  month forecast with just a click. Multi-table reporting and filtering of data is also very simple and easy with Apsona.

A second design aspect is consistency, also thought of as the principle of least surprise. The idea is to not surprise the user: once she has learned a concept in one part of the system,  she will find it far easier to learn if that concept is presented the same way everywhere else. For example, the drag and drop of fields feature feels the same whether it is used in the edit field layout, in the tabular view layout or in rearranging fields when creating a report. Similarly creating of filters, advanced search and the using of filters in reports give the user a feeling of deja vu and the learning curve is lessened.

A third aspect of the user-focused design is the choice of technologies to support it.  Apsona makes heavy use of  JavaScript and AJAX on the front end. So the browser’s and local computer’s capabilities are much better utilized, with far fewer data requests to the server. Less trips to the server makes for faster response time. This technique is widely used in many Rich Internet Applications (RIA) .

Finally, there is the melding of all aspects in the smoothest possible fashion. An example is the importing of data in Apsona, consistently using the same import wizard component for both import and update for all tables. The import  happens in three simple steps. Step 1 is pasting data, step 2 is validation of data and step 3 is the import. Steps 1 and 2 happen entirely on the client side and only at step 3 is there a trip to the server, and this is where the technology choice plays its role.

The first phase of Apsona’s development is now complete, and we would love for you to try out Apsona. User experience, comments and suggestions are welcome. We are curious about what features would be of most use to you. We are preparing a road map, but users’ wants are Priority One for the Apsona team.

Try out Apsona and we await your ideas and views. Happy app making.

Welcome to Apsona

Saturday, June 27th, 2009

Apsona is an application for creating online databases very rapidly. Starting with a data source (typically a CSV file), it lets you create the database and maintain relationships among the data records, while providing an easy-to-use UI. This also enables easy querying and reporting off the data.

Apsona makes very few assumptions about the data — it is driven completely by the metadata (information about the names and types of your data fields). So you can use it for creating a wide range of custom systems, ranging from simple lead management to insurance, real estate, project management and CRM.

When creating an Apsona application, you typically start with CSV data, but not necessarily so. It is possible to customize an Apsona application to use your own database for its back end. With this approach, you can “bolt on” the Apsona user interface and feature set on any database. You can even create multiple Apsona applications, all of which talk to one database — for instance, your operations personnel can see a detailed user interface while your executives can see a summary.

Apsona’s technology is JavaScript and Ajax on the front end, and a pure JSON data service on the back end. The Ajax front end makes it responsive enough to give it a desktop-like feel, while the JSON back end enables web services to be built around it very easily. The back end is implemented using Rhino, a JavaScript interpreter that runs inside the Java virtual machine.