Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What’s a BIC anyway?

If how your application looks and performs is as important as what it does, then you’ll need to know about the capabilities of the Blink Intelligent Client, or BIC to its friends. There are all sorts of changes in the BIC right now that will make your answerSpaces look better, run more quickly and, importantly, allow you much more freedom to add functionality beyond what you get “out of the box”. Here’s a quick and straightforward explanation of what the BIC does and how the latest version,BICv3, achieves these goals.

Some BIC and Forms basics.

The main reason you can get apps delivered so quickly with the Platform is that an answerSpace is a ready-to-go application framework. In this framework there are a very large number of things you’d otherwise have to program yourself which are, instead, driven by configuration decisions you make in the Interaction Manager.

The answerSpace framework has a server side which runs in our infrastructure servers and a client side which runs on the destination device. So when you load a BlinkMobile app you’re firstly downloading onto your phone or tablet a device-side framework that we call the BIC. Separately there is an associated client-side framework and library that works alongside the BIC to deliver our advanced forms capabilities.

The BIC not only interprets all of the configuration decisions you’ve made about the look/feel, navigation etc of your answerSpace for the device it finds itself on, it also works with the BlinkForms client-side framework to provide a lot of the functionality that allows your answerSpace to work offline.. The BIC effectively protects you from a lot of the device and browser specific differences you would otherwise have to deal with yourself. As part of the ‘write-once-deliver-to-many-devices’ magic, if the BIC finds that there’s an App Shell around it then it also passes control of some of the things it would do itself (for example memory management and accessing certain native device features) to the App Shell.

A BIC choice to make.

The BIC is a very important part of the Blink Mobility Platform. The current version, BICv2, has served us well and will remain in operation for a long time to come. Meaning that while you can use its successor, BICv3 instead of BICv2, you don’t have to. 
Why would we release a major functionality update of a module and then not compel you to use it? Mainly because they work in different ways and suit different types of users, rather like having two models of cars from the same manufacturer. 
So what’s the difference? BICv2 made a lot of assumptions about how answerSpace behaviour and look/feel should work on a device. At the time that made a lot of sense, and still does, particularly for users who don’t want to do much programming. Unfortunately it isn’t very extensible for those partners and users who want to do more and customise their look and feel beyond what the BICv2 provides them with. 
So, when we designed the successor to BICv2 we listened to our partners and made BICv3 highly customisable. We also took the opportunity to re-arrange where responsibilities sat between the BIC and BlinkForms frameworks for performing some of the clever heavy-lifting activities, particularly to do with offline operation. This new BlinkForms framework is called FORMSv3.

A non-intrusive upgrade. Really?

The first thing to note about BICv3 and FORMSv3 is that you choose when to turn them on. It’s no longer a Platform-wide decision requiring testing and signoff by a given date. You can choose to apply your upgrades answerSpace by answerSpace, and it’s a simple switch.

Also, almost all of your existing answerSpace code will work fine in BICv3 and FORMSv3. There are a few quite underused features that are no longer supported, and if any of them turn out to be important for particular customers we’ll look to bring them over too. There are also some limitations on offline activity so that we can be confident that when we say offline operation will work on a device we can be sure it will do so in a robust manner. That means that BICv3 will only allow offline operation with App Shells and on supported browsers.

Look, you can feel the difference

One of our long-term objectives has been to provide the tools to enable answerSpaces to look as good as any native App. Much of this becomes possible with BICv3.

The biggest difference is that whilst BICv2 made a lot of formatting decisions for you and limited some of your choices, inBICv3 we pass complete control of look and feel to jQueryMobile. This allows the programmer to use any of the look/feel tools that are available with it to create the customised views that you want. This gives the answerSpace developer significantly more control over the presentation of the answerSpace but, on the other hand, means that you need to do a bit more work to get there.

That’s why we’ll be supporting BICv2 for a long while to come. For those customers who don’t want to have to deal with those higher level look/feel decisions, the BICv2 will still give a very decent result without any programming. For those that do, then the BICv3 will be the best choice.

Open sesame

By design, the BICv3 is much more structured, documented and extensible. This means that right now you can more easily add to the default behaviour and extend the functionality of the BICv3.

We’ve also made the decision to open source the BICv3 code to our partners & customers. This means that the BICv3 may benefit from increased input and technical feedback.. If you wish, you can even help us improve BICv3 for the benefit of the wider BlinkMobile community.

With the next major release, you’ll be able to use a BIC of your own design on a per-answerSpace basis. So if you’re a really gun developer who wants to use the power of the BlinkMobile infrastructure but want to do very unique things at the front end, you’ll be able to write your own equivalent of the BIC and call our FORMSv3 libraries when you need them.

So, if you want to make your answerSpaces look really smart and extend the look and feel of them, then you should be moving to using BICv3 now. However, you’ll need to make sure that all of the functionality you need in your forms is also available from FORMSv3. If you’re happy with the way things are (and don’t want to do much programming) then stay with BICv2, at least for now.