6. Frog Structure

Continuing our theme of Frog Software Design Principles (First Post):

Under the skin, Frog is a web based development platform, built from the ground up specifically for web applications. The first tier of the platform contains:

  • document storage in a typical directory structure (as per “My Computer”)
  • a sophisticated user permissions system, including user profiles (what users can do), group systems and individual user rights
  • state management (allows “web pages” to operate more like applications)
  • web based, drag-drop content management system
  • API’s, web services and developer hooks to allow the platform to be extended

Overlaying this development platform there are a large number of “Frog Bricks”.  The stock built bricks include components for e-learning, document management, network management, e-commerce, collaboration, social networking, multimedia, and so on. Users and third party companies are also able to build their own Frog Bricks, typically containing interfaces to third party applications, or mini-applications built for each customers specific needs.

The secret to the Frog design is the way that these individual components are built to:

  1. provide 90% of the likely uses with very little configuration, accessible by “ordinary” people (this is achieved by focusing the system around a specific set of problems, as described earlier)
  2. to provide the remaining 10% of special cases through the “Advanced” tabs, allowing them to be used in ways that we never predicted (give the power users what they want – “total control”)
  3. to interact with each other in a way that allows our users to put together entire systems through different combinations of Frog Bricks

In other words, these Frog Bricks are not independent islands of functionality, this is not a matter of just widgetising an application so you can change how it looks by dragging different pieces around a screen, it’s about creating a system of interconnected bricks that allows complete systems to be built in pretty much any way people want, doing things that we never envisaged when designing the software.

This is difficult and time consuming to achieve. We’ll cover that next.

7. Building for an Unknown Future

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s