Blinky’s Blog


Object Oriented Programming and concepts in eyeGT

Part Two

eyeGT is written in C++ thus its logic and operations are heavily based on the Object Oriented (OO) paradigm. Unlike most other graphic libraries, eyeGT provides a monolithic access to the whole library, the application doesn’t have to deal with objects allocation and freeing, saving pointers etc. as eyeGT itself will perform these operations when needed. The advantages of such architecture are multifold:

  • Reduced memory fragmentation: eyeGT allocates a chunk of memory and uses it as a pool to allocate objects in it, performing housekeeping (garbage collection) when required. This alone guarantees that your application will never experience memory leakages owing to unreleased objects.
  • Better control over memory allocation: objects are instantiated only when required and released when no longer needed. The application doesn’t have to worry about when to release memory, eyeGT will do it when most appropriate, without degrading the performance of the application.
  • Reduce time to develop: programmer doesn’t need to debug the graphic library, Barefoot Software using the latest technologies in problem tracking and solving did the job already, so you can concentrate on the architecture of your application instead of solving other libraries’ problems.
  • Portability: whatever the platform, processor and quantity of memory are, eyeGT can be ported to it; a C++ compiler is the only needed tool. eyeGT doesn’t uses RTTI and exceptions, as most embedded systems C++ compilers do not support them; extensive error description is returned by each API to allow for problems easy pinpointing. In case of any error, the application will never crash owing to eyeGT inability to handle an error; this is a very stringent and at the same time basic requirement for any technology that is mean to use in a production environment that can put life at risk like: airplanes displays, life maintenance machines or nuclear facilities.

Read more »

July 7th, 2008 by admin

What is this b.Tween and eyeGT all about then?

b.Tween Logo

Ok, so if I tell you that eyeGT + b.Tween will make it possible to port Flash and FlashLite content to the iPhone/iPod Touch as native applications, you don’t need any more explanation right?

Maybe not, judging from the huge number of emails I’m getting and the posts I read on the various blogs.

The lack of information is completely our fault however….. until today Barefoot Software has been dealing almost exclusively with telecoms and handset manufacturers to deploy custom applications on mobile platforms. We have never had to explain too much detail on our website as executives generally don’t know how to use a web browser right?…. Just kidding of course!!!

Everything started with a very cool application made by Thomas Joos of Boulevart, a mobile guide to the Rock Wechter concert that will take place in Belgium from the 3rd to the 6th of July. Thomas designed and created the original Flash Lite version running on Nokia phones. Using b.Tween it has quickly been adapted and compiled by Barefoot - directly from the Flash Lite version into an iPhone/iPod Touch native application…. we were supposed to just briefly touch on the b.Tween process in this blog as for the moment our main web site is not yet ready to be assaulted by flash and iPhone enthusiasts but Thomas could not resist [bless his soul] and things are now moving very quickly….

What is eyeGT? (short for “Enhance Your Experience - Graphical Toolkit”) - this is explained in the post below but as a short summary: “eyeGT is a highly efficient graphic renderer, capable of handling vector graphics and bitmaps. Beside the basic services of rendering, eyeGT provides a very extensive API that allow to define: buttons, animations, hierarchical containers, color and special effects, static text, editable fields and much more; think about it as a Windows GDI+ or Mac OSX Quartz2D on steroids, heavily optimized and designed from the ground up … for mobile.”

You may have heard a lot about of other toolkits available that perform similar sorts of things on desktop PCs (my favourite is AntiGrain) but eyeGT is very different and not only in terms of speed.

Read more »

July 1st, 2008 by admin

Falling in love with Sony PSP

Honestly I don’t remember having such a good fun with a device since the very first Nokia 7650 was introduced or for those of you heading the forties, since the Commodore 64. On a tangent, the Nokia 7650 was the first mass market embedded platform we have ported eyeGT to. It truly amazes me the fact that in such a compact format it has been possible to cram all that technology. As per my job, I regularly traverse (to use another more business-wise word, instead of browse!) the net to search for new embedded systems or devices with interesting market prospective and seek to port our graphical platform technology to them.

When I started to look at the gaming handheld field, the first device I came across has been the Nintendo DS. From a games prospective I’m not an expert, actually not even a player so I can’t comment on the quality of the gaming software, what I was looking for was the ability of producing software that could transform this device in something more than “just” hardware to run games; in fact even Nintendo packs it by default with a wireless chat program called Pictochat. Unfortunately while I found the touch screen a neat addition to the system, the lack of any storage media (without external add-ons at least), incompatible WiFi with actual standards quickly pointed out that I could not achieve many of the things we generally look for in an embedded system. In many other blogs and forums with focus on the current trends in handheld devices, I quite often come across discussions on which of the two is longer, faster and better but I should say the programmability of the Sony PSP is quite superior not to mention the fact that is totally open to expandability whether this is memory or a GPS sensor, keyboard and other.
 

Sony PSP
The Sony Play Station Portable (PSP)

Beside this, the processor of the PSP is very fast as well as the graphics and audio subsystems which are working very harmoniously together to spit out very nice performance. Of course without a license from Sony there is no way you can produce software for it, the so called “homebrew”. That hold true until some very cleaver guys started to hack and patch the GGC to produce code for the Allegrex MIPS processor that power the PSP and some other (or probably the same people) actually build a PSP SDK from scratch by reverse engineering the system. I believe that some similarities between the PSP and the PS2 actually helped the creation of the SDK. You can find everything on the PS2 Developer Forums at [Just a little note: don't go there if you are looking for cracks, hacks, copied games and so on, they do not really tolerate those kind of things.....]

The only real limitation is that in order to be able to run homebrew software you need to have a PSP with firmware version 1.0 or 1.5 which have some security holes that make possible to run unsigned code on the system, something that is not possible with later firmware revisions (like 1.51, 1.52 or the latest one 2.0).

So after downloading and installing the SDK (which runs under Linux or Cygwin) I was able to port the entire eyeGT platform is less than 1 week (including running the over 200 regression tests that come with the suite) and the first demo was ready in about half hour.

Very impressive, I never saw eyeGT running so fast in any other embedded system, especially considering that the port doesn’t currently include any specific PSP optimization either at system levels or processor level.

A few demos will come in the next few days.

March 24th, 2008 by emanuele

So what is eyeGT?

Part One

You probably want to know what eyeGT is all about as it is going to be mentioned quite often in this blog; I have to deal with eyeGT on a daily basis and I can tell you one thing: it is fun!

eyeGT is the first display and rendering system and application platform for embedded hardware that has been designed from the ground up to deliver superior display quality and interaction. It provides a high level and intuitive API to control and customize all aspects of the final rendering as well as being totally independent from the underlying hardware and software layer. Finally, it is very, very small and very, very fast.

eyeGT’s revolutionary approach to graphics for embedded systems allows engineers to treat the display as an advanced and sophisticated canvas where graphical data is arranged in independent and/or correlated shapes and organized into prioritized layers. eyeGT allows total control over the way shapes and layers are transformed (rotation, translation, skewing and scaling) and displayed (normal, translucent, alpha channels etc).

Read more »

March 24th, 2008 by emanuele

Hello!

Hello everybody,
welcome to my blog. Until a few months ago I never thought about putting up a web log on my own. The reason was that while I can surely define myself as sort of gadget freak, there were (and actually are) far too many blogs concerning the latest and greatest and fastest gadgets on earth so why starting another one? And why getting trapped in the spiral of rush to publish the latest pix obtained by selling ‘your soul’ to somebody, eventually get upset because somebody else stole or linked directly to them sucking bandwidth and so on?

I want to be more relaxed about my blog, I hope I can post things that can be nice, cool and why not sometimes useful too. My background is programming, I’ve been doing this since I was 14yo and many moons have passed since then. I spend most of my time maintaining a graphical application platform called eyeGT and licensed by my company.
This platform allows us to create some unusually easy to use, pervasive and sophisticate looking interface for any kind of computing device that has some memory, a decently sized CPU (56 Mhz….. yes megahertz) and an LCD screen with a bunch of colored pixels.

We actually use it to power our application and port them to a variety of hardware and embedded platforms, irrespective of the OS and graphical capabilities they have.

This blog will concern about applications, demos, libraries and so on written using eyeGT and running in possibly all platforms we currently support. Don’t worry; it is going to be fun…..

Since all work and no play makes Jack a dull boy, I will feel free to post anything else beside programming as well, whether this include special achievements (like homebrew beer) or the new high percentage caffeine chocolate block just launched on the market.

Hope you will like it and never mind to post your comments to anything you see here.

Cheers,
Emanuele Cipolloni aka Blinky

March 24th, 2008 by emanuele