Sencha Inc. | HTML5 Apps

Blog

Implementation Spotlight: Spiral Universe

January 05, 2010 | Dave Blickstein

What is Spiral Universe?

Spiral Universe LogoSpiral Universe is one of the most ambitious projects to rely on the GWT platform and the Ext GWT Ajax framework. Currently available in 5 languages and comprising more than 1 million lines of code, Spiral manages all aspects of a school’s operations.

Spiral features a proprietary browser-based desktop (also known as a “webtop”) and includes modules for assessments, calendar, course management, email, file storage, gradebook, medical records, report cards, scheduling and more.  Spiral Universe is a comprehensive software suite used by schools to increase efficiency, reduce costs, and improve their management and administration. It is used by a K-12 public, independent, religious and charter schools as well as small colleges, universities and other organizations in over 15 countries throughout the world.

Spiral Universe screenshot

Why did you choose Ext?

We had been using alternative GWT ajax libraries for building applications with marginal success. We had chosen GWT as our  to avoid dealing directly with JavaScript, and felt we were getting bogged down by having to deal directly with a JavaScript framework. About that time, Ext GWT seemed to be maturing as a product. Thus, there would never be a better time to update our technology stack.  We bit the bullet and have never regretted that decision.

Do you have any advice for developers just starting out with Ext for the first time?

Absolutely. When we first adopted the Ext GWT Ajax toolkit, we ran into the problem that the look and behavior of screen components varied widely depending on who coded that particular module. There was also a large class of common errors that we had to fix in each location. One prominent bug class example would be forgetting to execute a refresh of view.

To address these issues, we created Spiral versions of each Ext GWT component by subclassing the Ext GWT components. These “Spiral Components” imposed restrictions on the components to enforce a common look, uniform behavior. Most examples of common errors could be fixed across the application by putting the correct code in common code.

This approach has many other benefits. Certain kinds of theming and program options are much easier. It is also easier to make design experiments. The Spiral components also provide common code paths which serve as a quasi-AOP scaffolding upon which cross-cutting concerns such as security and logging can be placed.

What makes Spiral Universe unique?

It’s hard to look at our company from any perspective and not immediately see that we are doing things completely differently from anyone else. Our business model is unique.  To our surprise, no other integrated, web-based offering  with a “software as a service” model existed.  Our delivery model is “hosted” and is offered free-of-charge to all schools. We are using open-source solutions.

Perhaps most pertinent to this audience, our interface looks nothing at all like a web page. We didn’t want to create a “web site”. We wanted to create an environment that users could “live in”. A place where they could not only just perform school-related functions, but also read emails, chat, research, maintain their calendars and collaborate.

To accomplish that, we decided on using a “webtop”.   A webtop is a web-based “desktop”.  Our webtop has all the components of a standard Windows or Mac desktop including application shortcuts, a menu system, resizable/drag-able/shrinkable windows, and a notification area.  The webtop, being server-based, also has all the advantages of a web application (accessibility from any connected PC, automated backup and virus protection, etc.) but provides an interface that is entirely familiar to all users.

How have your customers responded to your new interface?

Spiral Universe Family Early in our research and development phase, we learned something very important: most of the competition in our domain sees the “customer” as the school’s IT administrator. We learned that while they may be the sales target, the “users” are the school community: the teachers, the students, the parents, the staff, and of course, the students. Complex systems that offer lots of on-screen options are attractive to IT administrators, but are a turn-off to the end-users. Most IT administrators seem to have come to the conclusion that the hardest part of the adoption process for a new system is getting people to use it.

So where most competitors are looking to see how much they can pack onto a screen, we are looking to see how little we can provide without compromising the workflow.  As such our interface is very simple, clean and easy to use. It is probably the #1 reason why Spiral is the fastest growing School Information System. The extensive and flexible features of Ext GWT  played a key part in this success.

What features could we add to the Ext GWT ajax framework to make building a rich application easier in the future?

The first thing that comes to mind is, of course, better documentation. But as must be the case with all of your users, we managed to learn the system fairly easily by looking at the code examples that Ext JS provides on the website.  So putting that aside, I’d say that our priority from here on out is a more robust architecture for controlling the layout such as the Swing notion of “preferred size” and a deeper collection of layout managers. In fact, we’ve written our own layout manager patterned after Miglayout. ??We’d also like to see a top-quality visual designer.  Not so much to write our code for us, but for creating mockups using actual Ext GWT and Spiral components.  We know that you provide one for the Ext JS library and hope to see it adapted to Ext GWT.

And very high on our list is support for right-to-left languages such as Arabic and Hebrew.

Final thoughts?

Ext GWT is usually referred to as a “component library.” But to think of it that way ignores half of the value.   Ext GWT provides a ready-made rich client-side architecture that is well outside the reach of typical Ajax toolkits and would be the envy of even Swing and SWT developers.   The contribution this makes in accelerating development and quality could not overstated. ??We think the combination of Ext GWT and GWT itself is unbeatable.

Written by Dave Blickstein
Dave Blickstein is the highest ranking software engineer at Spiral Universe where he overseas all software architecture and development. Prior to joining Spiral, Dave spent 26 years at Digital Equipment Corporation where he co-founded the GEM compiler system and project-lead the GEM optimizer used in all of DEC's compiler products across all languages, operating systems and CPU platforms. He also contributed to several of DEC's Java offerings including an ahead-of-time optimizing Java compiler. He has published papers in refereed journals and is the inventor on numerous patents.

Share this post:
Leave a reply

There are 36 responses. Add yours.

Tweets that mention Ext JS - Blog -- Topsy.com

5 years ago

[...] This post was mentioned on Twitter by extjs, Open4G Media. Open4G Media said: Implementation Spotlight: Spiral Universe - http://bit.ly/8Vy17D [...]

Juan Mendes

5 years ago

This app looks great! Extending ext components to enforce a look or behavior is a great idea that we have applied in some cases here!

I’ll second the request for rtl support. We currently load a css override file when users are logged in using an rtl language. That file basically flips most right/left css directives. Also, when creating layouts, we have to specify east/west based on the current direction. It’d be much nicer to just say start/end or something like that.

Bobby Jones

5 years ago

This looks great!! I can’t believe this was all done in GXT!

Henry D

5 years ago

So when is Google gonna buy you guys?  This is simply stellar work.

googlefan

5 years ago

Why would google buy this compnany? I dont see how google’s gets enriched by buying a school information system. Of course google does get enriched when its platform/APIs are being used but thats how far it will be useful for google.

fades

5 years ago

Google loves web apps of all kinds, and information of any sort, especially detailed information that is verifiably accurate (such as school course details). In the vein of Google Health, which is a portal for health records and information, a Google Schools or Google Education service would be a great way to get tons of data. Spiral is a great candidate for an already existing codebase using Google technologies to form the core of such a service.

rags

5 years ago

Google will not want to run a whole school administration system if it
only wants the data. Google health (as far as I know/remember) is only
a repository of our health records. It wont really do anything
regarding our treatment or insurance.

It may only be interested in a tie up with spiral, so that it can get the
data, not in getting into running schools.

fades

5 years ago

Google wants to control any service that will allow it to a) harvest data and b) display advertisements. Google rarely partners with other companies, they either buy them or roll their own.

Henry D

5 years ago

An entire school management system - what’s not to love!  Google wants to promote appengine, gwt, etc.  Is there anything more progressive than helping our deplorable schools improve their communications?  This could be larger than Facebook.  While they are at it, buy Ext too - these guys are ‘da bomb’!

Luc

5 years ago

ExtJs has no garbadge collector, please stop to use it to do persistant applications !
After 3 hours of use of this desktop, your browser (firefox, netscape) will use 2Go of Ram. Else write somewhere that it’s only for IE.

Venessa Norquist

5 years ago

That was pretty interesting ready

Chaffe

5 years ago

Great read. Nice work by the SU team.  Is there a demo of the product?

David Kaneda

5 years ago

@Luc — We have a garbage collector and also, if anything, IE’s the worst offender in GC…

sosamv

5 years ago

Extjs has opened my eyes to js development, i’m totally into it! Thanx for the excelent work guys, you make our everyday job totally aWeSoMe =)
I do recommend using the js framework insted of gwt but great app guys!

Türkiye Okuyor

5 years ago

If you think this a great Operating System ?se a system can be used to facilitate future training .

ikram

5 years ago

I am surprised to find out the details of this comprehensive software.I am not sure to get it. I have just submitted my school particulars. let see

??

5 years ago

??????????extjs

Dancing Baby

5 years ago

It’s weird how many sites the internet has about this subject. I don’t know if I’ll need to be back, but it’s nice to know I stumbled upon the one that provides a lot of practical info if this should come up for me another time

MuadDib

5 years ago

Looks very nice!

Have Spiral given some of their custom objects back to the ext community? E.g. their layout manager…

calis

5 years ago

this is nice information need to know more

Gregory Despain

5 years ago

The program is clean from malware and other bad things, here is a proof of that according to virustotal, i’ve shorten the link coz it is enormous.

bi9foot178

5 years ago

I am not sure to get it. I have just submitted my school particulars.

car wallpaper

5 years ago

Great read. Nice work by the SU team.

Online Review

5 years ago

great Operating System ?se a system can be used to facilitate future training .

BPM Tools

5 years ago

Interesting stuff.. I’m trying to learn BPM myself.

Online Review

5 years ago

Why would google buy this compnany? I dont see how google’s gets enriched by buying a school information system. Of course google does get enriched when its platform/APIs are being used but thats how far it will be useful for google.

car wallpaper

5 years ago

The program is clean from malware and other bad things, here is a proof of that according to virustotal, i’ve shorten the link coz it is enormous.

Technology meets news

5 years ago

this is nice information need to know more

Information Security

5 years ago

Very impressive looking application regardless of what language it is written in.

Dex is Fat

4 years ago

Mmmmmm pie

bayilik

4 years ago

We entered to a software as Bayilik Franchise Software. This post made help us for develop our software. We will send our program for your ideas.

Ex Spiral Employee

4 years ago

Spiral Universe is a horrendous company.  It is some of the worst software out there, and would be a serious waste of time and/or money for anyone to ever even attempt to use it.  Terrible.  GWT may make things look nice, but can’t make a pile of @#%@ into a real application.

Ex Spiral Employee II

3 years ago

I agree.

Kristy

3 years ago

Four score and seven minutes ago, I read a sweet atricle. Lol thanks

Saaim Khan

3 years ago

Interesting article. Software for school management has thus far been dominated by Moodle, and other similar systems. Nice to see an alternative.

What about its security? How secure is this?

Cheers,
Saaim
http://www.contentsecurity,com.au

Kevlyn

3 years ago

Why do I bother calinlg up people when I can just read this!

Comments are Gravatar enabled. Your email address will not be shown.

Commenting is not available in this channel entry.