Print

Platform Motivation

  1. What is the history of the platform? Why was it developed? The platform was initiated in September 2010 by NeuroSystems Technologies Pvt. Ltd. The idea was to provide a customized solution for various domain specific problems like catalog management, bookings, e-commerce, ability to bootstrap custom developed apps without the need to develop from scratch etc, that could not be achieved via a standard CMS without significant custom development. The platform has gone through around 7 years of validation with many projects of different types. It has also been tested by automated load tests on resource starved servers.

    The main goals of the platform are to address what is still missed out:
    • Scalability for small to medium sites : For typical small or startup projects CMS or custom developed; by the time businesses realize what shit is under the hood its too late. And they have to re-invest in their platforms. With our custom architected implementations, we consider traffic and scale from the get-go so that at-least at the fundamental level a business never has to re-invest in its technology.
    • Customizability and lower cost of maintenance : Being a java based platform, the projects enjoy a longer, more durable and maintainable life cycle., In addition since a lot of the components are used across projects, their reliability and upgrade is free and keeps improving.
    • Benefits of a SAAS model with Hosted environment : Traditional hosted environments do not enjoy regular feature upgrades. Because the platform core is common, the servers are frequently upgraded. So one enjoys upgrades servers and services under AMC just like a SAAS model with the added benefit of Hosted.


    Core backend technologies

    The core technologies supporting the platform are industry best of the breed (but not limited to), frameworks:
    Apache CXF
    Groovy Scripting Velocity Templating
    Spring IOC + AOP Java Apache Wicket
    JPA + Hibernate EHCache
    MySQL Relational Database Lucene Search Index
    Apache Tomcat Web Server Apache Maven Linux


    Enterprise / Cloud level level

    OrientDB NoSQL Doc + Graph DB HazelCast IMDG AWS integrations


    Additional Project level UI stack

    Foundation Susy
    SASS jQuery JavaScript

    Audiences

    The platform was written with the following motivations for various audiences:

    Business : Most CMS have a one size fits all approach. They do not differentiate between different types of users. Some users may only need to modify simple content, while some may be trained on deeper concepts without programming knowledge, and some may have basic programming knowledge to advanced platform level concepts. Having a platform that is sensitive to various user needs means you can hire cheaper resources to maintain the site. Only for hard core dev tasks you need an expert.

    Developers : Most SME level CMS package the solution only for end consumers. While this maybe the point of a CMS, one realizes that a good Solution is what can scale and allow developers to also build on top of it to deliver custom business solutions. In the Java community there were plenty of frameworks for anyone to re-invent the wheel however many operations are admin boiler plate stuff that a developer would have to still put together. Liferay was the only decent alternative in the Java community. The balance of developers using their own frameworks of choice while having the security not to rebuild everything domain specific was lacking. CMS were good for one thing and not another (be it in PHP or Java).
    The solution allows Java developers to use any Web framework of their choice while they can still rely on all the domain specific benefits its from an Admin standpoint. This is a huge advantage when building custom applications also.

    Enterprise quality @ SME level : This platform was written in Java. Java as a language is very widely adopted for scalable solutions but less popular for small scale or agile needs. Though true agility comes from matured reusable software components irrespective of the language it was written on. Java does offer that and so does Python. Within Java the options were limited for small businesses and other solutions were in PHP. As a business application driven language, Java has a more credible track record compared to PHP and does result in more maintainable solutions. The down side is that it does higher skill and is more difficult to execute and the costs do not make sense for small projects. However the idea of the platform was to reduce these costs with functionality that can be reused over time and thereby giving a cost advantage as it grew. the result, giving the site owner an enterprise quality experience @ an SME scale.

    Third party integrations : Coming from an enterprise mindset, a website is never an isolated system. Sooner or later as you grow you need to talk to other systems. These introduce complications in security, performance etc. Further admin interfaces have to be built. This is the reason why you cannot afford to build a custom Portal solution on something like Wordpress or Jhoomla, because they don't functionally scale easily let alone technical scalability. While one can argue they have 100's of plugins, plugins are again third party that require investment of time and effort. A plugin itself will come with limitations. At the end when you have too many plugins, making them work in coherence itself becomes a major challenge. Because we have standardized modules, new features can be added but with standard admin interfaces, protocols etc. Keeping the system agile, performant and yet easy to use.

    Scriptable : While the core has been written on Java + Spring + JPA 2, it contains a Groovy driven Scriptable support for business logic, and Apache Velocity driven templating support for content. Where code can be added and changed on a running server using Groovy Scripts. In the future more scripting support will be added for other scripting languages.

    Click here for developer level technical documentation
  2. Does the platform have a name? Stumps © ; based on Spring + Apache Wicket (Java). There are many other supporting technologies, but the mentioned are the building blocks and at the core of everything.
  3. What does the platform need to run? Any server that has a java Web Server like Tomcat. It can even run on a shared server as a WAR file (unlike other Java CMS that hog an entire VPS + Web server)
  4. What resources do I need to run this (Stumps ©)? We have been very sensitive to the types of people required to operate this. For daily tasks we have successfully enabled multiple businesses to run the show on their own without technical help in terms of operations. Anyone using the platform only needs to rely on us for custom new features. Additionally, an organization willing to invest in its own developers can also higher more fresher inexperienced developers as the backend is abstracted into (1) Core Platform , (2) Project Code. The project code can be worked upon by anyone with basic HTML, Java, Spring experience and they can write whatever front-end code they want. The database schema is so simplified that you do not need a MySQL or NoSQL guru either. All that is abstracted to the platform with common tips and tricks for optimizations.
    For now the platform code itself is not Open Source, and we are working on deciding what aspects go Open Source and/or free usage license.

    The following diagram shows clearly defined resource roles/capabilities for custom site development:
    Types of resources for Stumps ©
  5. What is the future of this platform? The system is highly modular and demonstrated domain specific abilities in CMS, Catalogs and E-Commerce based systems. We are in the process of making parts of it Open Source to the Java Community under the LGPL or Apache2 license. This will contribute other developers from around the world to contribute back and also use and further validate the success we have had building and using it.

    We will also allow API integration with other CMS and cross migration of data and content to and from other systems in the future with also allowing other developers to contribute new modules for other domains and verticals like CRM. This will follow once we have additional developers across the world supporting the initiative.
  6. What about protecting the sites from hackers? Thats why we built a rock solid platform. We setup everything from scratch including your base UNIX server by hand. While it is prudent not to arrogant but we can claim we are one of the most stable and secure. Security is not just a question of platform but also practices. Which we inculcate. For example: You may have CCTV's in a house but if you don't have Power Backup then , a robber can still strike. Similarly, say a Wordpress plugin cannot guarantee any security. Somewhere you need an expert to think through and design a system, Plugin based solutions will not always fix the problem. We understand security deeply. Security works at multiple levels, you cannot think security just in terms of your website. Like Ithe CCTV example.
  7. Does the platform support auto backup? Yes we can do that. Please refer to our support and AMC for more details.
  8. Does the platform support 3rd party plugins? Currently No. As the system is custom, the development is always custom. Plugins are always designed for a platform. We have ready made components that we keep upgrading the admin, each time there is an update free of cost for any of the features you have purchased / in use.
  9. When not to use Wordpress? WordPress is a great place to start as it is easy to use. However, if you see custom data driven needs coming up it will not scale beyond a point. If you are certain you are just a website with modest needs, then by all means stick to WordPress. However if you see this becoming more than a Website just driven by HTML content you you need to think bigger. Additionally, we have seen numerous Wordpress projects suffer exponentially in terms of performance, security as things scale. Wordpress boasts a large number of plugins, however again free plugins are not built to scale as they have to assume minimal common infrastructure. Here are some issues with the use of multiple indepndent plugins:
    • Plugins do not interact with one another
    • Use of multiple plugins mostly degrades performance on browser and server levels (See references)
    • Developers ususally do not touch plugin code, leaving the site internally uncontrollable and also vulnerable. This attributes to lower security.
    • Each plugin demands a separate admin interface. Integrated tasks become complex to manage. (See references)

    References:
    https://www.sitebuilderreport.com/website-builders/review/wordpress | https://wpengine.com/blog/plugins-and-fast-wordpress-sites-its-not-the-number-of-plugins-its-the-quality/
  10. When not to use a SAAS based solution like Shopify? Shopify is a great place to start if you are unsure about your online business model and do not wish to commit a large sum upfront. However, you will run into the following problems long term:
    • Aggregated costs are higher long term - Over time as your needs rise and you use plugins, your monthly costs will rise. In addition to that each transaction incurs an additional cost. Based on empirical calculations, in about 2 years your costs of running Shopify will be higher than a private hosted model.
    • Lack of the ability to customize the solution - SAAS based models are limited in many ways from the backend, they only allow customizability in terms of how your website looks (template driven). As you grow you will realize that E-Commerce is more about optimizing your supply chain and the ability to update, be updated and address bigger issues customer fulfillment, tracking etc.
    • Not in control of your own data - SAAS solutions host all the data on the cloud, unless you incrementally take that data from the cloud to an offline private location you will have very little control of it.
    • Only B2C - Be is Shopify or any other commercial grade (specially free) software, they are B2C oriented. We are also working on catering to B2B needs.

    Having said all the above our platform can run as a hosted as well as SAAS solution (in progress). In addition we are working on a new product that will allow customers from platforms like Shopify slowly migrate, without having to take knee jerk reactions. We are the only solution that look to provide E-Commerce on all platforms for a wide array of customer types in the near future.
  11. When not to use Magento? When comparing E-Commerce platforms things get more complicated. We can start by saying Stumps © is not just E-Commerce but the ability to write custom applications on the back of pre existing admin side capabilities. Magento was specifically designed for B2C e-commerce. Stumps © can address B2C, B2B and custom needs. additionally Stumps © can be fractured into multiple core modules in Java; which can be mastered and worked with independently. Magento is a monolithic solution built in PHP. A consequence is to do anything you need Magento specific developers over and above knowing PHP. With Stumps ©, any Java Spring developer can be up and running. Additionally Magento does not give much flexibility in reporting options, ETL etc. Furthermore, Stumps © does not attempt to differentiate its core offerings between community and enterprise. A typical Enterprise Magento installation will be no less that $10,000 (rough) a year as additional license costs. Stumps © is free in all its glory to use; you only pay for the final site you want tailored to your exact needs.
  12. When not to use Life`Ray? Too heavy, LifeRay is a dinosaur! You cant afford LifeRay solutions where you want to be a Wordpress today and an E-Commerce site tomorrow. In addition to the business restrictions it would put, it requires a massive investment in training and resources to run and inspite of all that it does not handle things like ETL.

Platform Content Handling

  1. What is the exact level of expertise needed at our end to manage your dynamic platform? As I will be doing it and I don't want to land myself in a situation I can't handle. In other words it should be simpler and faster than word press or any other basic solution available. It's fairly intuitive, but even being conservative; once we give you the initial training you should be up and running on your own in 3 days. In addition, after the initial face-to-face training you can:
    • Grab us on Google Talk, and we can Skype or use a screen software like join.me and can do a Screen share and provide Live Help on the spot initially.
    • We have documentation that pretty much spells out things, but I understand docs are boring. Everyone feels secure they are there but no one wants to read them :) and that is why we are willing to assist in other ways also.
    • Please understand, that even with wordpress to get beyond a certain level you need to know HTML/CSS. Making basic content changes is fine but the moment you want to go beyond that you will find it harder and harder with any platform.
    • Chat - We are almost always available on GTalk. Chats are best. Live help anywhere.
    • Last, for absolutely lazy clients or hands of, we offer content support also @ a monthly cost already mentioned in the document.
  2. If I get stuck while making basic changes, what kind of support do I have? What is the charge? Answered above of your options, and all except the last do not cost anything. We'd rather make money on Development than petty change, though we also appreciate if the client makes an effort to learn so we are not constantly engaged in low level support activities. We are more than happy to see you self sufficient. Its also important for optimal use of our resources. We don't think its ethical to charge for any inconvenience a customer may face in using it. Either we will make it better or help you .... yes, if a client wants to be lazy and not do it at all then we charge the monthly amount. But if you want to do it yourself .. we will back you 100%.
  3. What changes can't I make? Short Answer: You can do anything. The following explains the details and complexities involved.

    Before we answer this question, lets assume "I" here implies a person with very basic computer knowledge and almost no Web Skills.
    So the changes (by default) we don't allow you to make is for your own protection; and when I say "You Cant" its via the standard options in the CMS. There are still ways you can or have someone do it with some more HTML Skill. Here is a broad classification of restrictions:
    • Anything to do with Website common elements. Like Header, Footer, Navigation. These are common elements that you do not want to concern yourself with anyway. And changes to them require thought and skill. (There is a way for you to do this also with added skill)
    • Any Dynamic element, like any animation (which isn't on your site at the moment) - Again can be done via CMS, but requires a Web programmer level skill to work via the CMS.
    • Any feature that requires complex processing. Like a Form, or some automated features. An automated feature is something that is driven by Data rather than content. For example, if I have 5 products and we decide on a List where these 5 products appear in order of DATE or PRICE, then you cant manually override the order since that is computer controlled. This is good and bad. Good because it abstracts you away from the details of how it will appear, bad because you cant control the order of each product in the List ... now while developing we can discuss where you want automation and where you want it manual. But when decided its one way or the other.
    • It is better to let the computer handle these things than waste your time placing products. And there are other smart ways of controlling even automated results. ... but manual intervention is limited or will require a customized way with some additional training.

    The image below shows the structure of a sample page and the ones not in colour are the ones that are pre-set as part of the template.
    Please keep in mind that this does not imply this is the only template possible, this is just to serve as an example:
    page structure

      Geek Stuff : The HTML template files are located in /html folder relative to your web folder. Some files may require the File cache to be cleared, as these template files are cached for better performance. These can also be edited by the Template Manager.

Platform Mechanics

  1. How do all the associated mechanics work - hosting, SEO, google analytics, etc? SEO and Social Sharing - Basic SEO we set the site up. but Since SEO is dependent on content and also links of your pages on other site, thats beyond our scope. Since you control content thats in your hands or in the hands of your SEO consultant. Additionally, SEO is greatly impacted by what we call "OFF PAGE" SEO. Like for example you will notice your Facebook page is ranked high, but its very unlikely you spent any effort on SEO optimizing it. Beyond a point it does not matter whats on your website, you need credible websites writing about you on their sites (Domain Authority). For E-Commerce or sites with dedicated landing pages and a data model we can also automate the Tags and Social Open Graph tags so that for example, for a product page the Product name and image come automatically when shared. The CMS also allows one to customize file paths to be SEO optiized. For dynamic pages, we can create URL structures like https://<mydomain.com>/womens/tops/.../cool-jacket.html

    SEO and Ajax -
    One of the problems of Ajax is that the Web crawler does not recognize JavaScript calls.
    Without any effort, we can make the Webpages that use Ajax on first load, also SEO friendly.
    This requires a very small configuration @ the web filter level.

    Analytics - As part of Standard pricing, we give you Page level Google Analytic so you can see people are visiting what pages. But we have the ability to also do EVENT based analytics. Like say within a DETAIL page how many people are clicking MAP and how many people are actually CLICKING some other tab. As you can see these level of details are more finer than page level and hence require more diligence. We can do it for an added cost. All your analytics are visible by Google Analytics Admin, and we will advise you on secure practices to share your account with others. I have seen many companies do Analytics integration on their account rather than customers account (which is wrong). Customers don't even realize these things till its too late and have to create a new account and loose all that data.

    Hosting - This is mentioned in detail in the Dev estimates document. Hosting can be on our server or a third party server. We know some good options that we trust and recommend. However, the issue with Hosting level support is that they are insensitive to website related problems and getting them to do anything is painful. We have tried dozens and can tell you they are similar. So we offer an optional added service where we ensure: Your site is running 24x7. If it goes down we get an email and get on the job ASAP and we will also inform you We take regular backups and in the event of a disaster can recover your site from the disaster. Its rare these things happen , but when they happen you wish it never. It's like Insurance .. infact it is insurance except we also do some work to ensure there are no problems
  2. What are the limitations of your platform - if any? "Limitation" is a very ambiguous word, but I'll try to address this. There can always be problem and I don't say there will never be, but what makes it quality is other than trying to be defect free how quickly we can react to a problem. Lets rate any platform on all the characteristics and I'll be honest and you can be the judge Reliability : We run E-Commerce sites with 50,000 products or more in less than 500 MB of RAM. The site has never gone down on its own accord, we have had hosting issues in the past where we have to restart the server and its up in a minute worst case. So our Uptime is the same what uptime the Host provider guarantees. Most Host providers say 99% but thats bull shit. However with our setup and added support we can ensure 100% reliability on a single server.

    Scalability - Scalability is the ability on your site to gracefully grow without impacting Security or Performance. The problem with PHP sites like Wordpress or Jhoomla type CMS is that as your site grows it becomes sluggish and bugs crop up. Everything we have built is tested again and again, and is validated by multiple clients. So if there by chance a Bug (problem), then we fix it and ensure the update is passed on to all the clients we are giving active support to. We are also innovating things that we pass on on the Admin front FREE many times. This is mentioned in the Dev Document as well. So if there is any perceived limitation we work on improving it based on feedback. The limitation with this , is we cant guarantee what time it will take to give an enhancement to any backend. But again this is for the backend; as far as your website is concerned any issue is fixed immediately. We can scale as your business scales. Yes scaling costs, but you don't have to junk the system and start again. The idea of scalability is continuous growth. This is very important for projects that tend to get ambitious.

    Features - One "perceived" advantage platform like Wordpress has is that there are 1000's of plugins to do many things. However many of thee plugins cost and some are free. And each is a mini system in its own that requires its own knowledge and training. Though I can state that this isnt a real advantage as many times you cannot customize these plugins or the way they work so you are stuck with their limitations. We may not have 1000's of plugins out of the box but the standard features we provide and advanced ones are mature and sufficient for your needs. Furthermore they all have a consistent interface so they are easy to work with without significant added training etc. Plugins also can impact the speed of the site, since they are built by 3rd party vendors with no guarantee. We can provide guarantee for everything we provide. In wordpress the developer will simply say "Sorry, this isnt in my hands. Live with it".

    Concurrency / Load - This is something you only know when your website is popular and its too late if it your site cant handle it. So while there is speed but your SPEED of the site drastically changes in a dynamic site based on the number of concurrent / simultaneous users who use it. To give you an idea; one of our clients had a modest site and we launched them on minimal hardware needed. However within a few months they became so popular that there was a point where they had 3000 people hit the site within 30 minutes. That did take the site down ... once we decided to upgrade, within couple of days we upgraded the infrastructure and the system that it was able to take 6000 in simulation in an hour with a few drops. While a lot of this depends on the HOSTING HARDWARE also but its a combination of HARDWARE and the platform. Similar to you trying to open too many files on your computer and realizing its slowing down the operating system. Now you can upgrade your RAM or just get better software or both. But at-least if you increase the CPU power you know it can handle the load. So yes there are physical limits but these are well above any Wordpress site. We contractually agree to 30 at any given second. Which is high but in practice we can go upto 100 or more.
  3. What does the platform do better than anyone? While there are lot of custom websites that may individually do things better after spending considerable resources on them, out of the box the platform can perform exceptionally well in the following areas:
    • Minimal Data footprint - The data model is designed to be lean and agile. Data models supporting any application are critical to the application. The platform can load only the tables of interest to the application and not junk tables that pollute your backend system when they are not even required. This is great for anyone with OCD when it comes to wanting lean models and just not having to see junk schemas with cumbersome relations, in their database.
    • Search - Searching can get pretty complex. Google has spoilt peoples expectations of how Search works, but not everyone can afford Google. A combination of multiple tricks allows the out of the box Search API to work and scale well. It works on top of core Lucene libraries. Furthermore, it is capable of doing multi dimension and geo-spatial searches without involving the database. Given the need for mobile based apps these days, this can be really useful. Lately there has been talk of Elastic Search. While we can integrate and use that also, relying on Lucene has been more than sufficient, but there is no reason why you cannot try any other Search engine of choice for your application.
    • ETL - This is the best and brightest, that I personally have not seen anyone come close, specially in the SME Segment. ETL is your ability to import and work on Bulk data without time consuming steps. Were you can aggregate and work on multiple content / data in an automated fashion. ETL can get pretty complex and we have re-invented the wheel on this one.

Change related costs


We are in the process of determining a RATE CARD for every client; so frequent requests have common rates and is a more efficient process for us and the customer. Even though every custom requirement is different, based on 7 years of experience we are colating all the data and figuring what the best and most efficient deal can be for our customer.
  1. What kinds of changes are charged? We prefer to keep a monthly amount so the client and we can work within that with peace of mind. The following incur a monthly cost. The exact costs vary from project to project depending on level and frequency of involvement.
    • Basic Site maintenance - Ensure the site is running always and if there is any problem or the site is down we ensure we immediately take it on. In this we also take regular backups of your website and also are available for any questions or queries or help. We no not cover changes or additions in this.
    • Content maintenance - For CMS based sites we give you all the tools to maintain the site yourself. However if a client wishes to be lazy or have us still upload and update content on the site, we can do that for an additional monthly cost.


    Development costs are always extra and depend on the type of development required. Cannot be quantified upfront unless the requirement is clearly stated.
    See more on support and AMC.
  2. Will you charge for minor adjustments in existing features at a later stage? In general it may seem trivial, but every change we have to get into the context, discuss with the client, make the change and test multiple places. This does require effort not just to make the change but then to re-package and upload and test. Additionally the client may not agree or want further adjustments again and again on the same thing, so these small things add up and take hours to days some times before we can close it with a customer. The idea of charging is also not to make a profit but to make the client responsible in thinking through changes they need. At some level you have to trust us on when we do charge and when we don't. If we genuinely feel it should be there we even accommodate and adjust free of cost but that's at our discretion.

Back to Top