• TriMutiny on Twitter
  • The TriMutiny RSS Feed

Archive for the ‘User Experience’ Category

Architectures to expect in 2010: an explanation of mobile middleware

Saturday, October 24th, 2009

I recently read an article on Forrester posted by Jeffrey Hammond titled “Put off making strategic decisions about mobile development until 2010″ .

He listed (and briefly defined) five distinct mobile architectures that we will have to choose from by the end of 2010. Including are the following:

1.       Native, on-device applications.
2.       Java ME
3.       Mobile middleware
4.       Web development (dev frameworks like PhoneGap, Rhodes framework, etc)
5.       Mobile RIA plug-ins (Flash, Silverlight)

It seems like the least known or talked about is number 3, Mobile Middleware. I figured a little definition around the subject could be helpful to those not so familiar with the architecture since, whether they know it or not, middleware is used daily by many.

The best way for me to demonstrate middleware is to (1) define it in plain terms, (2) point out a few main characteristics, and (3) give a few examples of how current providers are promoting/defining themselves as providers of this type of architecture or framework.

Simple Definition
Let’s first define what middleware is. Honestly, this was the only plain language definition I could find that a non-developer would understand…

“Vague enough to mean just about any software program that functions as a link between two other programs, such as a Web server and a database program. Middleware also has a more specific meaning as a program that exists between a “network” and an “application” and carries out such tasks as authentication. But middleware functionality is often incorporated in application or network software, so precise definitions can get all messy. “
[ source: http://www.salon.com/tech/fsp/glossary/index.html ]

Characteristics
Middleware is basically transparent to the user, but can be the most integral part of getting an application to function or carry out the purpose intended for the application to exist. (ie: if you have incoming or outgoing data, authentication, etc). Sometimes the systems in place that carry out these cases are built in different languages or on completely different platforms. Middleware can also be that middle player that makes them all get along and communicate with one another.

As you can guess, creating the means to carry this type of functionality out on a case by case (or app by app) basis would be tedious and expensive – just one of the reasons mobile middleware is a distinct architecture. But having proprietary and open source options available to a developer to carry these actions doesn’t only save time and cost. This component of the experience is being tested simultaneously on multiple applications and experiences. The maintenance, testing, standardization and quality assurance of this part of the experience is being taken care of by the providers of this architecture and service. This allows the developers and designers of the application to focus on other things like the flow of the experience, stylistic elements, or components that are unique to the application that they are building. If you want to learn even more (and I know you do!) look into service oriented architecture approaches or SOA. [ wiki ]

Current Providers
The following were mentioned in the Forrester article. I was interested in how each company promoted its set of skills and how they described their service/framework to their audience… Granted their audience is more aware of developer and industry vocabulary than the end user of the applications that use their products.

Vaultus:
- “… deploy quality mobile applications that offer the best use experience. Accommodate any number of users and any number of transactions with no disruption to the mobile users.”

Antenna:
- “Antenna provides real-time mobility solutions that solve real-world problems. Messaging, Voice, or Data, Antenna provides secure access at the point of need, using whatever mode you require. ”

Sybase (quite a winded statement):
- “Sybase Unwired Platform provides a flexible, open and standards-based infrastructure that enables companies to create an information edge by optimizing and enhancing the infrastructure they already own, linking valuable data resources in place, and securely delivering information anytime, anywhere.”

Pyxis Mobile (note promotion as industry specific):
- “With Pyxis Mobile, customers can deliver rock-solid wireless applications to their users in a secure manner without additional significant IT overhead.”

- “Industry-tailored database: Built for the Financial Services industry and equipped with the connectors and plug-ins to extend any data source”

- “…administrators and developers can connect to enterprise data sources, auto-generate screens and menus, and design forms, lists, reports, charts, and more without the need to code, via a WYSIWYG interface.”

I hope that quick look into mobile middleware was helpful. It will be interesting to see what happens in the next year and if new architectures and platforms will be introduced.

When will the iPhone allow multiple apps to run concurrently?

Wednesday, October 14th, 2009

During the short course of time that I’ve taken to write this post, Apple was able to change my mind on the importance of allowing multiple apps to run concurrently.  Here was my initial intro:

Maybe one of the first few posts is a bad time to vent a complaint about the iPhone OS, but seriously, it’s a major restraint put on developers and users by Apple. Not only are you not allowed to run multiple applications, 3rd party apps cannot run in the background.

Now in the last few days, which were the first few days of me actually owning an iPhone the experience I’ve had with the iPhone has been extremely good.  I’ve actually found with the app’s ability to save the current state and return you to it upon re-initiation of the app, you don’t lose much at all to the inability to run multiple apps.

Granted there are categories of applications that are still unattainable due to the restraint.  During some of the initial brainstorming phases of applications for TriMutiny we had many applications that we thought were great ideas and I’m sure 17 other companies had those same ideas, but because of the restraints of only one app at a time and no 3rd party apps running in the background, their feature list became very stale…to the point of useless.  However, the disadvantage may not be as much of an issue as I had originally expected.

I can definitely understand the reason for a single application at at time in order to help with the management of resources and a perception of stability.  The interesting part of it though is that most of the iPhone users don’t even notice that this restraint is in place.  Their competition on the other hand, definitely does.  Take for example, this ad that Sprint runs for the HTC.  It is sure to mention twice it’s ability to run multiple apps.  They do the same in their Palm Pre commercials.  However, instead of shooting back Apple just decides to let it go and not mention the issue which is probably best.

After taking it all in I’m glad I decided to go ahead and get the iPhone.  Even though our business is starting out by creating iPhone applications I had questioned whether or not I would join my  other two partners in owning an iPhone and the inability of the iPhone to run multiple applications was one of the main reasons for me to question whether or not I should go for it.  So if you find yourself having those same thoughts when you are considering your next smart phone, realize that it’s not as big of an issue as you might think.

©2009 TriMutiny, LLC