Botonomy logo

Services. Software. Solutions.

Botonomy LLC is a Philadelphia-area software and consulting services firm serving clients in a variety of industries since 2005.

We specialize in a set of modern technologies centered around the Python programming language and Google cloud-based products and services.

We live by strict adherence to simple, lightweight processes that maximize small team productivity.

And while we've witnessed tectonic shifts in the IT landscape over the years, we humbly submit that the art of custom software development remains a social exercise where effective communications ultimately carries the day.


Our Platform

These are the tools we use to craft solutions for a web-enabled, increasingly-mobile world

Python is a dynamic programming language.

We've been a Python-centric shop since our founding in 2005. Python plays nicely in mixed IT environments, and is one of the few technologies embraced by Microsoft, Google, Yahoo! and IBM alike. And for good reason:

  • It is easy to learn
  • Python programs have far fewer lines of code than their Java or C# counterparts, resulting in smaller, easier to maintain applications
  • It is Open Source and cross-platform
  • It can be used for everything from web application development to automating Microsoft Excel
  • There are Python implementations that plug into .NET (IronPython) and Java (Jython) environments
  • Python's high productivity, low learning curve, and robust set of libraries make it a great choice for most organizations looking to do more with fewer resources.

App Engine is a service offering from Google that lets you run custom applications atop the scalable Google infrastructure.

Google App Engine is an interesting proposition. It is both:

  • A cloud-based application platform which harnesses the massive scale of Google's infrastructure
  • A unique approach to structuring and deploying applications, concurrently optimized for maintainability, simplicity, and scalability alike

App Engine lets developers focus on their custom application, and not worry about infrastructure. In other words, App Engine can be thought of as a Content Management System (CMS) for custom server applications.

Thanks to the Open Source AppScale project, App Engine applications can be easily deployed outside of the Google environment on a variety of traditional and cloud-based platforms. This allows firms to capitalize on this innovative application model without fear of vendor lock-in.

AngularJS is a framework used to create interactive web applications.

The idea behind AngularJS was to re-imagine how the web would operate if it were designed for dynamic applications rather than its initial purpose of static document sharing.We love Angular because it provides a very clean separation of concerns within your client-side code, and makes it very easy to write web apps that are both dynamic and maintainable. Specifically:

  • Performance: Angular applications are more responsive to user interaction and put less load on web application servers, since more of the heavy lifting is handled client-side
  • Productivity: Angular applications require far fewer lines of code than a similar application using competing frameworks. This has two benefits:
    • Less custom code to understand, maintain, and test
    • Improved speed-to-market for additions, changes, and bug fixes.
  • Modularity: Angular applications have a clean, compartmentalized architecture by their nature, so your application will not suffer under its own weight as it grows in size/complexity.
  • Testability: Angular was designed from the beginning to support automated testing tools and techniques.

We think that Angular + AppEngine is an unbeatable combination for quickly creating maintainable web applications of all shapes and sizes.

Cordova is a platform for building native mobile applications using HTML, CSS and JavaScript.

Standard client/server web architecture is great for most applications, even those which are used on-the-go from a mobile device such as a tablet, iPhone, or Android phone.

However, there are three scenarios where the standard model of browser-based application design is not applicable:

  • Hardware Access: For example, if you want an app that can use your phone's camera, compass, or accelerometer.
  • Offline Functionality: If you need your application to function when network connectivity is unreliable or non-existent.
  • App Store Distribution: If you want to sell or distribute an application through the Apple, Google, and/or Amazon app stores.

For scenarios such as these, we recommend the use of the Apache Cordova (aka PhoneGap) toolset. Cordova packages your HTML5 app within a thin native application wrapper, and provides your application with access to device hardware (camera, GPS, etc.), as well as offline data management capabilities. You can then submit the packaged application for distribution in the Apple, Google, and/or Amazon app stores.

There are certainly some performance and platform integration benefits to writing native applications for mobile devices, and some types of applications (computatationally-intense games, audio/video processing, etc.) will always benefit from native platform implementation. However, Cordova provides an compelling value proposition whose performance is than adequate for most business and consumer/lifestyle applications. Most importantly, we expect that the Native-vs-HTML5 performance gap will continue to narrow as time passes.

We used Cordova to develop PlanZent and package it for distribution on the Apple App Store.

Bootstrap is a framework for building web application user interfaces.

We like Bootstrap because it provides a flexible model for designing what are known as "responsive" web application user interfaces. Responsive apps, understand how to render themselves appropriately regardless of screen size.

It also provides aesthetically pleasing default page layouts that can be easily customized.

But most of all, we've hitched our wagon to Bootstrap because the line between desktop and mobile applications is quickly blurring: We're starting to see enormous tablet-sized phones ("phablets"), and were seeing desktop-class machines with tablet-like touch screens. This makes responsive design all the more important moving forward, as there will be an increasingly artificial distinction between the desktop and mobile computing worlds.

Cloud Computing refers to flexible server infrastructure where you can dynamically allocate resources on an as-needed basis.

Cloud computing brings many things to the table. We believe that the most important of these is choice in the vendor/nature/quantity of hosting services purchased and used.

One of the reasons we find the combination of App Engine and AppScale so compelling is that it abstracts your application from its specific deployment environment. This allows companies to build App Engine apps in-house atop a VirtualBox environment, and then deploy them to Google App Engine, Amazon EC2, Rackspace, etc. This model of platform abstraction also greatly simplifies pre-deployment/load testing, failover and/or disaster recovery contingencies.

In contrast, most other application development models either require lock-in to a specific cloud services stack, or do not take full advantage of the elasticity of the cloud computing model.

Google Apps is Google's web-based office productivity suite (spreadsheets, documents, etc.)

Google Apps Script can be used to quickly create sophisticated multi-user workflow solutions.

Think of it as Excel macros on steroids.

Since Apps Script rests atop your existing user security model, you can quickly build tactical process automation tools that leverage your investments across the Google Apps platform, namely:

  • Spreadsheets
  • Documents
  • Calendar
  • Gmail
  • Forms
  • Etc.

Apps scripts can also be used to process and present data originating in Google App Engine apps. For example, in PlanZent, we use Google Apps Scripts to automate document generation from sales meeting data captured


Our Products

"The best way to predict the future is to invent it." --Peter Drucker

PlanZent is a new type of sales presentation software that merges the familiar look and feel of a traditional slide deck with dynamic rule-driven data capture.

Learn more by watching a one-minute video overview at PlanZent.com

We have spent the last five years designing and implementing an end-to-end academic resource management system for a large Canadian university. The system we developed has been the subject of several presentations at higher ed conferences (SCUP, ARUCC, etc.) in both the US and Canada.

Along the way, we have learned a lot about the challenges that universities face in the areas of forecasting, planning, and budgeting. We are developing a suite of planning and data visualization tools that integrate with Google Apps. These tools will be marketed under the AcadaCloud brand, (with a product website coming soon)

Please contact us if you have any questions or feedback regarding this service offering.

Our Services

We help small teams solve large problems

We have decades of experience building and integrating custom solutions on a variety of platforms, but specialize in solutions that leverage the Python programming language.

For customers looking for a traditional SQL database-backed 3-tier application, we recommend and use the Pylons Project (aka Pyramid) atop Oracle or PostgreSQL.

We offer the following advisory services:

  • Project Estimation / Feasibility Studies
  • Technical Due Diligence
  • Project Risk Analysis
  • Project Rescue/Remediation
  • Technology Migration Roadmapping

How Can We Help Your Team?

Please email us sales@botonomy.com with any questions you may have, or to schedule a call.

We look forward to speaking with you.