The Invasion of the Books

by Luca Baldini on 04/29/2014

Version 13.0 has been out for a few weeks, and as you’ve undoubtedly noticed when reading the release notes, this version is brimming with innovations. One of the improvements I found most gratifying to implement was the possibility to directly edit the objects in a Book shown in preview, without needing to reprint the entire Book.

Books are very powerful visual components that allow you to display data free-form on screen: they allow you to work as if you were page-setting a newspaper. You can do everything with Books: portal type applications, catalogs, Gantt charts, Facebook-type applications, and – why not? – games like checkers. But because they are very powerful components, they can also be a little difficult to grasp fully.

One of our clients had implemented a really nice offline mobile application that used a relatively complex Book: it was made up of multiple pages, it displayed a lot of grouped data, and was modifiable and clickable. However, the Book was not fluid on slightly dated devices. The problem was due to the fact that if for example you needed to change the background color of a box, the Book had to be reprinted.

Reprinting the Book is no problem if it’s run on a server. If you try out the Checkers example, which you’ll find in the Application Gallery in Instant Developer, you can see that reprinting the Book when the piece is moved is no problem: the Book is modified instantly. But if the Book is complex and is displayed in an offline application run on an iPad2 or a Galaxy Tab 2, the Book reprint procedure may take time.

So it was time to implement a new functionality that I’ve had in mind since we have allowed Books to be shown as web previews, by which I mean the ability to modify every HTML object in the Book with a single line of code without the need to reprint the Book. This change has been made, and you’ll find it in Version 13.0. With one line of code, you can tell the system which section instance contains the object you want to change and change it. No more Book reprints.

My colleagues have suggested that I develop a small example project to better explain this functionality, and I couldn’t resist. In three and a half hours, I developed a little game I’ve always loved: Space Invaders. Open the SpaceInvaders.idp file with Instant Developer 13.0, compile it, and play!

How important is it for you to create highly interactive interfaces?

  •    The interactivity of the interface is crucial to mobile development!
  •    Interactive reports are the most important thing in my applications.
  •    Both of the above.
  •    I don't feel the need for anything more than traditional reports.
Loading ... Loading ...

I know this isn’t complete. The spaceship is missing, the UFOs don’t fire and don’t wave their arms, the bases don’t crumble. I’m relying on you all to complete my project!

Yes, all the “business logic” of the game is contained in the MainTimer procedure that counts more or less a hundred lines of code! That’s it: the UFOs and the turret move, the points are calculated, and you see when the game ends. Nothing more!

{ 2 comments… read them below or add one }

1 Bill Walker 04/29/2014 at 4:42 PM

This is great stuff. You guys keep blowing me away with these fantastic capabilites.
Keep them coming!

2 Luca Baldini 05/09/2014 at 12:38 PM

Thanks for the comment.
I’ll do my best! 🙂

Leave a Comment

Previous post:

Next post: