Building an Analytics App (Part 2 of 3)

In part 1 of this series I provided an overview of how to get started building an Analytics App with GoodData. Now I'd like to address why apps are the ideal model for applying robust, usable intelligence to the flood of operational business data that has been steadily migrating to the cloud over the last 5 years.

We've all had that 'aha' moment after installing an app on our mobile device, tablet, or browser - that sense of, 'Yes! It does exactly what I want, simply - and it just works.' If it doesn't? We delete the app and move on. That epiphany came for me the first time I tried Evernote on my Android. With one tap of my finger I had access to every task-list, whiteboard session, keynote recording, etc. synced across all of my devices and easily shareable.

At GoodData, we're working hard to provide that same 'aha' experience for our customers and the customers of our partners and developer community. We're doing this by delivering analytics apps (Twilio, Zendesk, Salesforce, Google, Facebook, etc.) with data intelligence capabilities far beyond what's possible using spreadsheets or visualization tools. These apps address pressing business needs, are simple to use and 'just work'.

The technology that allows GoodData to deliver is our Analytics App Platform. And the purpose of this series is to enable you, the reader, to leverage this powerful open platform and build amazing analytics apps of your own. 

First an overview of what makes the GoodData Analytics App Platform unique, and the resulting apps so flexible.

The Analytics App Platform

Architecturally, GoodData is purpose built from the cloud up for analytics. Our distributed file system and workflow engine efficiently manage resources, providing massive scale and reliable performance for a fraction of the cost of traditional data intelligence stacks. Our event store acts as a cloud enterprise data warehouse, and offers order of magnitude performance improvements in terms of both volume and data storage when compared with loading data directly into a data mart.

GoodData data marts can be created programmatically in a matter of minutes without having to provision separate infrastructure (no VM's, no databases, no software). Our fluid data modeling framework makes it simple to adapt underlying data models with new metrics, aggregations, data sources, and data connections without having to rebuild reports and dashboards. The result is non-destructive change, allowing users and developers to spin analytics projects up and down quickly, as dictated by their business, not their backlog.

The UI is built completely in JavaScript as an AJAX application, so GoodData reports and dashboards are easily embeddable, putting KPI's where users already work. Dashboards can be embedded into SaaS applications like Salesforce or SugarCRM, Sharepoint portals, Google Sites, or any application that supports widgets or iFrames. Users can stop sending outdated reports and spreadsheets as email attachments.

Another benefit of GoodData's multi-tenant architecture is rapid innovation. Typically we release new features every two weeks, and since GoodData is offered as a service, all of our customers, partners and developers benefit from these enhancements.

Beyond Dashboards

Remember in part 1 I demonstrated how to replicate the Chatter usage adoption dashboards in GoodData? Now let's look at some of the concepts and features that allow us to move beyond dashboards...

to an interface more suited for ad hoc analysis and deeper understanding of the impact collaborative activity (Chatter) has on sales...

I'm not going to walk you through step by step how to build the reports and dashboards from the screen-shots above (we did that exercise in part 1), however I will provide an introduction to working directly with our REST API's to model and load data directly from salesforce.com using the GoodData CL tool. I'm also going to give you a sneak preview (spoiler alert!) at the notification capabilities coming in our next release.

Beyond Flat Files

Last time I showed how easy it is to import CSV flat files (which can be exported from almost every data source) into GoodData through our user interface. This works great for one time analysis, but for ongoing batch loads of data this process is tedious and unnecessary. And after all, the ability to analyze trends over time is one of the core capabilities required of any data intelligence solution. Thanks to GoodData's wonderfully extensive API's, there are tons of options for modeling and loading data programmatically. In this post I'll cover the most popular, and next time we'll walk through a few other options.

Introducing GoodData CL (on github):

GoodData CL on Github

Don't worry if working with shell scripts and Java API wrappers aren't your thing. I'm not going into that level of detail on this blog (we have our developer community for that). Just know that our amazing GoodData Customer Success team and partners are always available to assist you. If shell scripts and Java API wrappers ARE your thing, definitely read this recent post to our developer blog by Jiri: Building a Project in GoodData programmatically.

So, for a Chatter+Opps Analytics App like mine shown above, use the GoodData CL tool to create a project (data mart), model the data sets, migrate that model to the cloud, and then transfer the Chatter Opportunity Feed data directly from Salesforce on a regular basis via the API's.

GoodData Gets (More) Social

We're now just days away from Dreamforce 11: Welcome to the Social Enterprise. If you're attending, come find us at the Expo (Booth #1015). We'll also be in the DevZone and doing some great sessions. For those of you who can't make it, we don't want you to feel left out, so here's a preview of an exciting feature dropping in our next release - notifications!

In this example, sales collaboration activity has fallen below a predefined target threshold, triggering a GoodData notification.

The GoodData notification is posted to Chatter, encouraging sales to update their opportunities and review their feed.

Thanks to our friends @twilio we'll also support notifications via text (sms) message in this release - with support for Jive, Yammer, Twitter, and more soon to follow.

Conclusion

We're now well on our way to finishing our first GoodData Analytics App! We have a useful interface, data model and connector. In the final installment we'll finish our app and explore providing more ad hoc analysis capabilities, user provisioning, embedding our app in other applications, and hosting our connector.

If you have questions or comments about anything I've demonstrated here today, or need help building your own Analytics App on GoodData - leave a comment below, @gooddata or on our support forums. You can also connect with me directly to discuss @cvanderjagt or cvjpl.us

Leave a comment

This will not be shared

Optional

Limited HTML is allowed.