Skip to main content

Google Apps integrated Business System

Towards a Cloud Business Operating System (BOS)

Over the past few months we have been moving our business management application over to the cloud, and using Google Apps as the "glue" between all the pieces. Gapps provides a nice core for this since it has an API for everything, include user authentication, and allows our users to sign in to one place, and even potentially use two factor authentication.
Google docs also provides an pretty good interface, primarily using Spreadsheets to deal with tabular data, (which is most of what we deal with), and the occasional GAS UI for managed data entry. 
The Goals
The goal is to provide a unified, completely cloud based Business system for our internal users (and eventually our customers).  We want to let our users have access to all mission critical information, reports, documentation and analysis using only a web browser, which keeps our desktop maintainance costs close to zero (currently we mainly use Sun Ray thin clients, hope to move to Chromebook style netbooks in the future).  We want to:
  • Reduce the time spent creating internal and external reports.
  • Reduce the time and effort required to implement a new client.
  • Have real-time tracking of our sales pipeline and greater transparency of our future revenues and salesperson performance.
  • Have realtime tracking of expenses and revenues.
  • Have realtime access to all business documents, both internally generated and received from outside organizations
  • Reduce the time elapsed between the end of a client engagement and when they receive fill reports on the success of campaigns.
  • Improve internal communication as the company grows.
  • Improve process documentation, and make it easy to record our internal business knowledge.
  • Simplify the desktop environment
  • Enable mobile access to all crucial business functions.
  • Provide real-time dashboard insight into key business metrics for management and employees.
The Tenants
The main tenants of this initiative are:
  • Accessibility: Access all key information using only a web browser, enabling a single application desktop environment (using only Chrome or Firefox web browser).
  •  Availability:  Give our users a 99,97% availability experience, while keeping costs as low as possible.
  • Security: The system must support strong security policies, including password complexity and expiration policies, and support the possibility of multi-factor security.
  • Usability: Since we do not have the time or resources for extensive system training we need to stick to commonly known UX paradigms as well as simple UI's when new ones are needed.
  • Extensibility: The business is gauranteed to grow and change, every component we choose must have quality API's to enable "bolting-on" of new functionality.
  • Collaboration: Things like activity posting to G+, email notifications, etc are crucial, since we are all very busy, and work on multiple initiatives at one time.
  • No data reentry- Data should be entered only once, and then used across the whole ecosystem. This means heavy use of APIs.
  • Scripty - Try to avoid building core components ourselves, find best of breed in the cloud (even it it is only "good enough" for us) and focus our efforts on bolting together all the pieces.
The applications
We have functional needs for a pretty wide range of functionality across the entire organization. Here are the applications we need to support our business.
  • CRM- For tracking our sales pipeline, predicting revenues and providing a smooth interface between the sales organization, operations and finance.
  • Project Management - Each customer engagement that we have is a fairly complex project which requires resources and work from at least 3 or 4 separate departments. In order to ensure nothing is missed, we need to make sure work is tracked and hours spent on tasks are recorded for internal analysis and billing.
  • Staff/Shift Managment - Since we work with shift based work, and have fairly complex shift planning requirements, we need a system to track who will be working on which engagement, as well as the ability to report on hours spent per engagement for analysis and billing requirements. This system must also support european standards for employee hours tracking for sick leave, vacation, etc.
  • Finance: Aside from tracking what expenses we have and what clients we need to bill, we need to have tools which help us manage our cash flow, track payments, and allow us to analyze all expenses and revenues based on engagements, customer types, etc.
  • Reporting and BI: Our business revolves around our contact data, and the value and power of that data is measured by how well we can clean, analyze and report on it. This need is key both for internal use and presentation to clients.

Next time I will look at what traditional tools I would use for solving these issues, and see if they meet our Tenants and goals.







Comments

Popular posts from this blog

A more sane approach to elastix call recordings

We put together this solution a while ago (thanks Brother Miles!), but never documented it, thought it would a good idea to put it here for anyone else who might need this (and anyone who uses Elastix for high call volume, probably does. The challenge. Elastix/Freepbx has good call recording abilities, but very strangely just dumps everything into a single directory. This can get REALLY bad if you have tens of thousands of calls per day, I have run accross a few scripts to convert and mode call recordings after they are saved, but that is a waste of resources, and makes it hard to integrate call recording UI's. So we figured out the 2 places that need to be changed so that all recorded calls are saved in a Year/Month/day file structure. Just 2 files For regular calls, we need to alter the included and symlinked extensions.conf, this is found at /etc/asterisk/extensions.conf we just need to add the macro-dialout-trunk-predial-hook, which already exists as a secti...

Cloud Enterprise Project/Program Management Tools

In our ongoing quest for an integrated, cloud/Open Source hybrid Business Operating System, we need to pick and implement a tool for project/Program management. Environment Our organization has 8 separate companies, which we need to track project progress across all 8.  For some companies, end users (project resources) will enter information themselves. For other companies and projects, a project co-ordinator will track progress manually from resource input. Task tracking can be on many levels, some projects will be quite detailed, other will be tracked at the milestone level only. Basic Requirements In order for this component to be successfull, it needs to satisfy the following requirements. Integrate with GApps for authentication. Integrate with GApps for document associations Support a fairly large number of project contributers/users (about 100). Handle multiple projects. Enable reporting on multiple levels, from detailed to executive overview. ...

Installing dependancies for Sun Ray on Centos 5.8

Ooo the beauty of Linux based proprietary thin clients... One of the best parts is that operating systems get updated, and SRSS doesn't. So re-installing/updating SRSS can be a bit of a moving target. So here are notes from my latest install. Dependencies and prerequisites yum install glib dhcp openldap-clients openldap tftp-server libXp openmotif22 openssl compat-libstdc++-33 libusb-devel compat-openldap gdbm.i386 openldap-devel pdksh libXfont yum groupinstall "Development Tools" wget http://pkgs.repoforge.org/htop/htop-1.0.1-1.el5.rf.x86_64.rpm yum install htop-1.0.1-1.el5.rf.x86_64.rpm (ok, not really required, but helpful on gauging load easily) wget ftp://mirror.switch.ch/pool/3/mirror/centos/5.8/os/i386/CentOS/glib-1.2.10-20.el5.i386.rpm yum install  glib-1.2.10-20.el5.i386.rpm --nogpgcheck -y cd /usr/lib ln -sf libldap-2.3.so.0.2.31 libldap.so.199 ln -sf libgdbm.so.2.0.0 libgdbm.so.3 ln -sf liblber-2.3.so.0.2.31 liblber.so.199 extract the include...