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.
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:
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:
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:
We think that Angular + AppEngine is an unbeatable combination for quickly creating maintainable web applications of all shapes and sizes.
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:
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:
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
"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.
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:
Please email us firstname.lastname@example.org with any questions you may have, or to schedule a call.
We look forward to speaking with you.