Updated Blog with Demisauce Polls, Feedback, Comments

I did a release of Demisauce (Source code on github) recently and wanted to show off what it is, so include the capabilities for Comments, Polls, and the Help/Idea/Feedback badge on my Potlatch Blog code (hosts this site). Also, the demo Django app shows how to use these services.

With Demisauce.com now hosted on Amazon EC2 I am more confident it can handle the load and I will look to start using it for higher volume applications, so if you are interested in using it please go to the signup page and enter your email. I am only allowing a few signups for right now to ensure the servers have capacity but will allow a few to start.

Comments I know that Disqus.com is a great comment service, currently vastly superior to the one offered here. BUT, the difference I believe is use case. Demisauce comments are meant to be embeded within an application more like native functionality or added to corporate apps whereas Disquis is more of a consumer oriented (IMHO) service. By embedded I mean used as a component for development, the component happens to be a service, but allows for distributed application development.

Feedback Badge Again, there are great services like Uservoice.com, and Getsatisfaction.com that offer great feedback. However, the use of Javascript as integration is convenient and easy but can cause performance issues, and you would still need to do user integration. These seem to be catering to consumer oriented applications. The applications I want to use them on at work would be corporate employee applications. I see the API's and ability to have private have improved at UserVoice and Getsatisfaction, however maybe it just comes down to wanting open-source products as an option. Also, the ability to use one identity integration.

Polls This is a simple polls service, however I believe the big advantages are: Open-source, more able to be embedded in corporate applications, but also it is a able to be cached (memcached, or your local cache) so that client side javascript is not a performance issue.

How to EmbedHere is an example of how to embed the poll (in Django app, there are php examples in the demos folder).

    
        {% dsview "feedback" "badge" %}
    
From source.. Or Service definition on demisauce.

I have the Activity Graphs also ready to go, but have not created the Services API for how to use them so will get those next time along with an article on how to embed these services in your app.

tags: demisauce, commentsystem, feedback, polls

Demisauce 0.1.1 and hosting on Amazon EC2

Its been a long time, but I have been working hard on getting another version of demisauce out. This time the focus was on moving the hosting to Amazon EC2 and getting my Blog updated to utilize it.

So, whats new?

  • Installer, able to install easily on vmware image, or on EC2
  • Service Registry, a very webby simple service registry. Able to have other users add plugins (services), and utilize them without new libraries or installs.
  • New CSS theme on the blog
  • Support for Google App Engine, changes to the library to support GAE memcached and fetch url.
  • Django Demo a simple demo to show Demisauce consumed and used within a Django App.

tags: demisauce

Demisauce Summary, what is it?

A friend was asking "what is Demisauce", of which i have been horrible at articulating, so here goes an attempt:

Demisauce is a set of Services, and a Services framework

  • A set of services to use within your app (as service oriented/easy to integrate javascript or xml): "feedback/help/ideas", activity tracking (per person google analytics), comment system, poll's, group management. All very boring EXCEPT: these are all services able to be plugged in to your app instead of having to build on top of wordpress/joomla/sharepoint to get access to them.
  • A plugin services framework: think service oriented Wordpress plugin's, again available to any app for plugin. (cloud service plugin framework). The goal was to create an plugin based open source tool, that cater's to developer's adding in their own plugin's. However, since it was service oriented, a services framework was needed. Instead of having each developer integrate with 50 api's (see below) this provides a common place to exchange services similar to Opensocial gadgets, or Google gadget's but not based on javascript client side integration (slow, slow, slow).
  • Integration as a service: As a side product of moving to a cross-application, cross-data-center services framework you can now provide integration as a service. Think of an "add user" web service that you call, you have previously configured through web based admin what you want to happen: "when new user gets added, add them to: (wordpress, google apps, salesforce.com, basecamp, etc,etc)". Think of having one api for add user, behind which is integrations' with services so instead of each developer/company doing integration with google apps, Salesforce.com, Wordpress, instead you call this one and it has pre done integration. The idea, as more and more cloud services pop-up you are going to need to register your user's on those systems. Why have each company do 50 "add user" integration services? Instead of integrate with one, then it integrates with the 50?

tags: demisauce, saas, plugin

Help and Feedback system on Demisauce

I have been quiet but still making lots of updates to Demisauce. Most recently i have updated the Help and Feedback processing system. It is somewhat of a light scale embeddable app that can collect feedback and suggestions, ideas, and trouble from your user's.
demisauce help system with tags
It shows off several of the new features i have been working on. The biggest of which is the tagging system. I am working on extracting the tagging as a fully embeddable service (json, javascript, xml, html api's).

So, this help system is definitely not a full blown ticketing system. It is geared towards several things: More towards feedback, and easy to embed. If you are looking for full blown open source trouble ticket or help systems, here are a few: http://www.eticketsupport.com/, Simpleticket.net, OTRS.org, TroubleTicketExpress.com, http://www.osticket.com/, http://www.hulihanapplications.com/projects_mystic.php.

  • Easy To Embed in Your App: Using Javascript, or xml api's easy to put collection of user's input. Since it is service oriented, you can serve many app's with the same implementation (hosted on Demisauce.com soon) or install on your servers.
  • Feedback Processing: It is geared more towards feedback and suggestions by end user's. So, you can put a link inside your footer or in your website to ask for feedback. It pop's up a form that is hosted on Demisauce, allowing zero install implementation's other than javascript. But, more XML api's are available if needed. Currently tagging works great, working on ability to assign item's to other user's as task's that send notifications.
  • Event Driven Architecture: Currently being worked on is a set of Event callback api's. So, you can recieve call back via web service api's or simple Web Hooks API.

tags: demisauce

New Demisauce Dashboard and Google Visualization API

The newest version of Demisauce in svn includes a new activity tracker (I will blog in more detail in the future). This activity tracker utilizes the Google Visualization API on a new Dashboard (screenshot below) to present visual graphs of user activity. Big deal, its not as nice as Google Analytics you say? Well, true, but it does allow you to track information about users so that you know the exact usage for a particular user, instead of anonymous statistics for all users.

demisauce dashboard with visualization api

However, while playing with the Visualization API, which I found to be a great product and a great abstraction, I really was wanting some different graph formats. So, I went in search of some different visualization API's in Flash which were hopefully opensource, here are some i found. I am maybe going to dig in and make a treemap version of a Google Visualization API? We will see....

tags: demisauce, python, google, visualization

Demisauce Comment notifications and Help System

A lot of work on the Demisauce Help system, using facebox jquery plugin for the popup page, or at least a heavily modifed version of Facebox. I had to implement quite a few changes to allow for content to be gathered from the Demisauce server, which would be a different domain. Therefore, the traditional ajax get in the Facebox wouldn't work, and i had to modify it to do a Document.write instead.

I added this method to Facebox to route requests via an inserted script.

// in facebox.js 
function fillFaceboxFromDocumentWrite(href, klass) {
    if ($('#facebox .content').attr('src') == href){
        $.facebox.reveal(null, klass,href);
    }else {
        var ds_html_script = document.createElement('script');
        ds_html_script.type = 'text/javascript';
        ds_html_script.src = $.facebox.settings.base_url + href;
        document.getElementById('facebox').appendChild(ds_html_script)
        $.facebox.reveal(null, klass,href);
    }
}

The script that gets called is dynamically generated to produce javascript, which will get inserted into the Dom of the remote server.

//  python code to generate ds_help_output
document.getElementById('facebox_content_holder').innerHTML = ds_help_output;

The end result is this help system. You can edit content at the Demisauce Hosted Server or can host a version of demisauce, then include a line of javascript in your apps to get built in help system. Here is a screenshot. Help System

Also, modified Demisauce to allow for Comment notification's. demisaucecommentsnotification

tags: jquery, javascript, demisauce, commentsystem

Demisauce Upgrades and Help System

Another release of Demisauce including bug fixes, and the start of a help system. Here is a screenshot of the Help System which is an popup over the rest of the page. There are a couple of different styles. The content comes from Demisauce, and both the help (javascript) and its content come from Demisauce server and are easily embeddable in an app. ds04help
tags: jquery, javascript, demisauce, python, release

First Version of the Demisauce Comment System!

Wow! A whirlwind of hacking has produced the first version of the comment system that i am going to use on this Potlatch blog, a Google App engine powered blog. The comment system is built as a proof of concept for Demisauce, the open source project i have been working on. The core idea of Demisauce is an open source set of web services that allow you to add functionality to your app. This service is mostly a javascript service that you embed on your app, allowing comments on anything. The other Demisauce services so far are XML services and html. This service (comments) is not better than the other comment systems out there (Disqus.com is very nice, and obviously Wordpress.com has comments for all blogs at Wordpress), but it is able to be installed and run behind a corporate firewall. I am thinking of using it for some applications at work to comment on just about anything, not just blog posts. Think of comments on images (flickr), or commenting on a purchase order, or requistion, or request to hire someone that are in corporate systems.

The configuration Page with the javascript you would need to copy, and embed in your pages. Also shows comments by this user.
Comment configuration
Here is an actual view of the comments in a blog, showing comments, comment box, login etc.
Comment box for Authenticated user
Here is a view by a user not logged in (uses google Authentication or you can create an account).
Comment form for Anonymous User
This shows a user that has clicked on "Logon" but is already authenticated.
Logon Page for logged on user
These are the Logon Comments
login comments


The features

  • Google Authentication for Users (optional)
  • Gravatar Icons
  • Native authentication for users (if Not using Google)
  • Configuration tools to setup javascript for your app

The application is built on the Python, Pylons base of Demisauce, but the core of the presentation is Javascript/Jquery. You can get the code at Demisauce on google code or get this blog code at Potlatch Blog on Github.

Although Comment systems are not the services I wanted to build first for Demisauce, I decided it is a great example for a service that combines Javascript, Data/Persistence, Widget/Embedding. I am planning on enhancing this a bit more, possibly doing a Django Book style pop-up comment system. Also, been wanting to enhance the help system some more, which uses the content management system which although not fancy is usable. If anyone else has some ideas on what they would like to see first I would love to hear them.

tags: jquery, python, demisauce, opensource, commentsystem