Selvam Palanimalai – Maryland Institute for Technology in the Humanities https://mith.umd.edu Thu, 08 Oct 2020 20:00:42 +0000 en-US hourly 1 https://wordpress.org/?v=5.5.1 Wrapping up GSoC Work on MITHgrid https://mith.umd.edu/wrapping-gsoc-work-mithgrid/ Tue, 12 Nov 2013 18:36:09 +0000 http://mith.umd.edu/?p=11536 Google Summer of Code 2013 (GSoC 2013) has successfully come to an end. I would like to thank James Smith for his patient mentoring. His conceptions on professionalism and pragmatic problem solving approach were highly useful. It was a pleasure working with the MITH team. The MITHgrid library is a data-centric, event-driven, responsibility-based library. In the [...]

The post Wrapping up GSoC Work on MITHgrid appeared first on Maryland Institute for Technology in the Humanities.

]]>
Google Summer of Code 2013 (GSoC 2013) has successfully come to an end. I would like to thank James Smith for his patient mentoring. His conceptions on professionalism and pragmatic problem solving approach were highly useful. It was a pleasure working with the MITH team.

The MITHgrid library is a data-centric, event-driven, responsibility-based library. In the past three months, we have tried to make use of the library to build cool data-driven applications. Our objective for building these applications were three-fold:

  1. to add more components (presentations and controllers) to MITHgrid;
  2. to demonstrate the perks of using MITHgrid in terms of modularity and scalability;
  3. to drive public interest in MITHgrid.

MITHgrid builds on the data storage model from MIT’s Exhibit project. The model provides some benefits over a relational database. MITHgrid is different than more commonly available MVC JavaScript frameworks and is aligned to scale with the requirements of future graph-based web applications.

What we accomplished

The primary objective of GSoC 2013 was to learn and contribute to open source endeavors, learn programming ethics, and collaborate with team members. We are satisfied with the results, and I hope to internalize the lessons from this endeavor.

Over the summer, we managed to create two MITHgrid applications of varying complexities and a skeleton application template for use with Yeoman (available here and here):

A Data Visualizer: This is a simple application which allows data imports, visualizations of those imports using available plots, and live editing of values. The modified data may be exported for use later. For the visualizer, we created graphs, spreadsheet, editable table, and tab presentations (comparable to Backbone.js views). These presentations can now be used for any other MITHgrid application.

ToDo App: Very simple to-do list for your day. The reason why we wanted to build such an easy application was to get listed on todomvc.com, a site that allows you to compare JavaScript frameworks by showing the same application implemented in all of them. As part of this application, we created custom mouse controllers for capturing browser events. Now they can be used with any MITHgrid application.

Problems we faced

Well, you do face problems whenever you start using a new library, but we would like to mention some notable difficulties that we came across:

  1. There is no memory of the order in which the data was loaded;
  2. The absence of global (within the scope of MITHgrid) namespace in which to save and access variables. Because a web page might have multiple instances of an application, we employ a more roundabout approach: we pass the application object reference to components that need central management of some piece of information.

Future plans

We have a good head start, thanks to GSoC. Our focus henceforth will be to streamline and build reusable components for MITHgrid. For users to truly appreciate the usability of the library, they should have access to a  comprehensive toolkit. Similar libraries such as backbone.js offer an extensive toolkit that MITHgrid currently lacks. Another focus will be to build more complex scalable applications using third party APIs. In today’s world, inter-operable systems are everywhere, and a library that wishes to be widely accepted needs to embrace it.

The post Wrapping up GSoC Work on MITHgrid appeared first on Maryland Institute for Technology in the Humanities.

]]>
Visualizing Data with MITHgrid https://mith.umd.edu/visualizing-data-mithgrid/ Tue, 10 Sep 2013 14:27:52 +0000 http://mith.umd.edu/?p=11306 We are quite a way through GSoC! It has been very interesting and informative experience until now. MITHgrid is a very powerful library because it places data at the center of its activities. It is very structured taking into the fact that JavaScript lacks many of the classical object oriented concepts. We are working on [...]

The post Visualizing Data with MITHgrid appeared first on Maryland Institute for Technology in the Humanities.

]]>
We are quite a way through GSoC! It has been very interesting and informative experience until now. MITHgrid is a very powerful library because it places data at the center of its activities. It is very structured taking into the fact that JavaScript lacks many of the classical object oriented concepts.

We are working on making interactive use cases of MITHgrid, focusing on visualizing data. The current objective is to be finish building the data analysis web-app which facilitates in importing and visualizing data with help of MITHgrid. The flow of the application is import data, tabulate the data, clean the data, plot the data, and then allow data export. We created a new CSV importer to get data into the application. New presentations (graph and spreadsheet) have been added to MITHgrid to present and let the user interact with the data. Since it’s a two way binding, changes performed by the users on the data in these presentations get reflected in the MITHgrid data store.

Todomvc is a javascript library comparison initiative which helps developers choose the best library for their project. We created a todo app that we will be publishing in the todomvc labs. The demo is temporarily hosted at http://goo.gl/MF9vN1.

What’s next? The graph presentation only supports scatter plots between any two variables as of now; we will add more plot types. We plan to add more presentations such as a tab presentation. Options to export data (JSON/csv) need to be added. Good progress has already been made on the exporter. There are many ideas and concepts at the heart of MITHgrid which need more documentation. Attention now turns to documenting the summer progress and creating a getting started manual to talk about the guts of MITHgrid and how you can use them to build responsive web applications.

The post Visualizing Data with MITHgrid appeared first on Maryland Institute for Technology in the Humanities.

]]>
MITHgrid Demonstration Development https://mith.umd.edu/mithgrid-demonstration-development/ Fri, 21 Jun 2013 13:00:40 +0000 http://mith.umd.edu/?p=10446 I am really excited to be part of MITH team and I am thankful to James Smith for selecting me to work on augmenting MITHgrid to make it more powerful and popular among developers. MITHgrid is a JavaScript framework for building data-oriented, event-driven browser applications. It is for building browser-based applications composed of a small [...]

The post MITHgrid Demonstration Development appeared first on Maryland Institute for Technology in the Humanities.

]]>
I am really excited to be part of MITH team and I am thankful to James Smith for selecting me to work on augmenting MITHgrid to make it more powerful and popular among developers. MITHgrid is a JavaScript framework for building data-oriented, event-driven browser applications. It is for building browser-based applications composed of a small core and a set of plugins.

I have been fascinated by Browsers and JavaScript from the start and have been working on it for quite some. JavaScript is a very powerful and dynamic language. It is one of the only few languages ever to get so much attention and investment (in terms of money, developer time). Browsers are becoming powerful everyday. Google and Mozilla have invested a lot in it and they speculate that most of activities the end users perform can be done on just a browser (remember Chromebook!). Firefox mobile OS apps are made natively through HTML5 and JS.

I have been developing single page web-apps for the a year now and with experience I can say its very easy to end up with spaghetti code. Concepts of test driven development, version control and a very robust JS framework are imperative for building scalable webapps. I am particularly excited about this GSoC because I will working on extending a JS framework which will expose me to low level nitigrities of JavaScript. MITHgrid places graphDB at the center which is a very promising approach to create framework for JavaScript.

The post MITHgrid Demonstration Development appeared first on Maryland Institute for Technology in the Humanities.

]]>