Blog posts related to Software

UX and GUI Guides from Vendors and Manufacturers

One of the most important considerations for a developer – when writing code for an application or website – is to ensure a good level of usability, a task quite difficult as more often than not users have their… own way of classifying usability in applications and consequently turning them into favorites or not.

UX has become a complex task, almost a science in the tech world and software companies need to embrace this. Many do not pay as much attention as they should and do not offer assistance or tools to their developers, the driving force for their applications. Nonetheless, many are starting to realize that paying attention to UX is the way forward if they want to be successful in today’s tech markets.

Most current OSs, devices and application frameworks impose certain usability standards to developers, in a sense assisting the latter to maintain a good level of user friendliness but at the same time ensuring uniformity which it self, provides a sense of cohesion, compliance and… well, usability! If the environment itself does not provide an adequate level of usability, the user is going to turn down applications within, no matter how well designed they are.

It is quite promising that manufacturers are starting to embrace UX as an important factor to the success of their products – what the authors consider to be the most important contribution of Steve Jobs, as we will argue in a future post – by starting to provide guidelines for GUI and functionality development. This has direct consequences to both users and developers. Developers can do their job faster and less costly when guided, while the benefits from the attention given to the aesthetics, user friendliness and better performance.

An article on is trying to gather most usability guidelines from major vendors and manufacturers. It is not a complete guide, but it is a very good start. You can read the article here.

WebAPI: The Mozilla Proposal For Smartphones (The Open App Interface)

WebAPI is basically an idea from Mozilla which promises to bridge the gap between native and web applications.

With the constant development of Mobile Applications for handheld devices there are quite a few solutions and frameworks out there for developers, but these solutions always refer to closed OS environments. On the other hand, there is a trend for a portion of developers to consider writing an application in JavaScript, HTML & CSS. By using a framework which converts it into a native app they can publish their application easily.

This can be done by using, for example Phonegap (iOS, Android, Blackberry OS, WebOS, WP7, Symbian & Bada) which is quite popular, or write an app and put it under the Cocoa Touch iPhone App Wrapper which will make it a native app.

Now… Mozilla’s idea on bridging the gap between native apps and web applications is quite different from frameworks like the aforementioned Phonegap because the purpose of WebAPI is not merely to make native applications but to reach low-level functionality of a device using HTML5.

Of course, if Mozilla wants this to be a success, it has to be adopted by companies like Google, Apple and Microsoft. So Mozilla has to, first and foremost, convince users it is the way forward. For the time being they are hiring developers for it.

Dual Boot Handsets

Many people, we are sure, remember the early days where everyone was struggling to setup their PC in a way that it had two Operating Systems (Windows & Linux) on a Dual Boot mode. People may still struggle for that matter! If it was correctly setup GRUB would display an option to choose the OS to boot. Those where the days…

And then came virtualization…

Using the new concept a user did not have to reboot all the time, switching from one OS to the other. They were running in parallel.

When smart phones came along the same idea was born: What if you wanted to run Android on your HTC HD2 even though it shipped with Windows Mobile 6.5? Well, the XDA Developers did an excellent job on this by making this possible for hand held devices. ROMs were ‘cooked’, OS were tweaked and so on, in order to reach a point where a user could choose the OS to load.

And then came virtualization ??? Deja Vu …

VMWare and LG presented a virtualized  Android phone in MWC 2011 and the potentials of this are very impressive. VMWare has started with Android and LG but i am pretty sure that there is a lot to come on this field.

Check out the video from Engadget along with some comments here.

Photorealistic Rendering for AR

Probably the most impressive examples of AR I have seen in a while. Finnish VTT Team has done some impressive work in the past and this example is nothing sort of spectacular in my book. The video was recorded a Dell laptop with a Quadro FX 3700M video card, a Core Duo processor and a basic Logitech webcam. The graphics itself is drawn using OpenGL and GLSL.

VTT’s description of the above video is:

Photorealistic rendering for Augmented reality. Uses soft shadows, indirect lighting and image quality matching. Various materials like glass, chrome or plastic are possible. Lighting is automatically determined from a ping pong ball.

For us it is a demonstration how realistic things can appear with modern hardware – albeit not of the ‘handheld’ type – and GFX APIs, hinting that the more we push the envelop and exploit technological advancement, the more immersive things will appear.

Why read the book when you can watch the movie?

There are countless times where a friend recommends a book that there is no time to read. And all of a sudden this book becomes a movie. So many people head to the cinema first and if it’s interesting they go back to the book. And yes I’ve done this many times and yes it is the lazy thing to do, but if someone wants to go deep and feel the real story there is always the hard copy.

Hold on, this does not hold only for movies. What about all these seminars, or webcasts of new technologies, doesn’t it fall roughly under the same scope? I think it does, it is in general much more pleasant to watch something and then decide if you want to go deep.

How about when it comes to writing code for handheld devices like mobile phones? Nah, you need to study, not necessarily books, but tons of documentation, APIs, specifics of programming languages and so on.

Well, not according to Microsoft and the new concept of “Windows Phone 7 development for absolute beginners”. A new “TV Series”, and as Microsoft quotes:

“It teaches beginning developers with little programming experience how to develop applications for Windows Phone 7.  This series assumes that they have absolutely no knowledge of C#, Silverlight, or mobile development.  In just a few hours, they will understand the needed concepts to build applications”.

Microsoft wants by all means to increase the WM7 programming community and stand tall in front of Apple and the Google Android. But will it do the trick? Well, go and find out …