Business Application Development and Android.

Songbird Creations has been looking into Android as a potential viable operating system for use in the business arena.

There are several reasons why we feel that the Android platform is going to win over the competition – and as long as Google don’t mess it up, it will clean house.

Now, before anyone starts thinking that this is a fanboy gush post with a heavy bias or that this is a bash against Windows or Apple, be aware that we’ve been evaluating many different devices, including the iPhone and iPad as well as the Android offerings. They are all great products – but we’ve found that there are a few things which hold them back.

Note that We already develop for windows and can see no future in it in its current state. (It’s WinMo 6.5 for a while folks – from the horses mouth)

Against the iPad and the iPhone.

No 1. The App Store.

Everything has to go through the app store. In most cases, this is fine. It keeps the platform safe and free from malicious applications because everything is vetted. For a personal application developer, there are good and bad aspects to this. We could spend many hours arguing the finer points of having a single entity being the market and the police and the potential for corruption which comes with this absolute power… but we won’t

We could also spend many hours arguing about how the openness of the Google Market place could result in a glut of poor quality or malicious apps trying to take your stuff…  we’re not going to do that either.

For a business application user, there are important issues which neither the Apple App Store or the Google Market address and that is the commercial advantage that can be gained by using bespoke or niche tools.

By placing an application in the App store or the Market place, anyone can download it. It sits in amongst the chaff of the countless other apps and has to be searched for – opening up the chance that the user will install the wrong app or an imposter. This is not what you want.

The solution is to allow a user to download the application from an additional source – say, a vendor’s web-site.

This is only possible with Android or Windows as Apple wants to (and does) control the whole process. Like I said, great for the private user but bad for the business application user.

No 2. Device Range and suitibility

Unfortunately, as beautiful as Apple’s devices are, they are really only intended for the personal user. They are the cool gadget, the executive toy. They offer plenty of features, but they wouldn’t last 5 minutes on a shop floor, in a mail room or a warehouse. They’re just not robust enough. If you could guarantee that the person issued with the iPhone or iPad was going to treat it with kid gloves then maybe it would be viable. But everyone knows that Murphy’s law dictates that this won’t happen and the device Will become damaged. Apple devices are expensive so the business owner really needs to weigh up the pros and cons of using such a device in such a dangerous environment.

Android devices are not subject to the Apple blueprint. Sure, the Android Cell phones and Tablets are generally as vulnerable to dropping and scratching as their Apple counterparts – but there is a big difference between the 2 platforms. Openness; and it’s this Openness that makes Android such a powerful potential business tool. Rugged Android devices are already in the market place with capabilities far beyond what Apple can offer.

Devices like the Bluebird Pidion and the Casio G’zOne Commando are just the vanguard which will be followed by many more ruggedized devices as the business world catches on.

No 3. Developer Support

Unfortunately, Apple chose to leverage their Objective-C language – a great language to be sure but as it’s only used within the Apple family of products, it has limited appeal. Apple also actively excluded any other means of development. This effectively killed any chance of third parties developing platforms to cross the platform divide. So there are no Adobe Air applications running on Apple devices, No Flash and no Java means that developers are back in the bad old days. Writing for multiple platforms using different languages with no possibility of shared code libraries. On top of this, to write in Objective-C, you need X-Code – Apple’s own IDE.

Business Application developers are generally not going to waste time learning a new IDE and a new flavor of C just to write software which will be usable by a small section of their customer base.

The same point could be argued against Android in a way. The vast majority of business developers use C# on the .net framework. For mobile devices, this means the Compact Framework and Windows Mobile 6.x (or 7 for phone app developers). These developers have an investment in time and tools on the .net framework. Windows Mobile 7 is not going to be released for rugged business devices however – so it’s 6.5 or nothing at the moment for .net.

However, Windows Mobile is old. It’s not pretty to look at and has been left behind in terms of providing a rich user experience.

If Apple has done anything in this last few years, it’s that it’s kick-started a revolution for the better in application user interface design. Something that Google really took to heart with Android. Both iOS and Android offer silky smooth experiences which leave their poor cousin looking old and haggard in comparison. Because of this, users have now come to expect their apps to look crisp, nice and feel responsive.

The change is as significant as that from DOS to Windows.

There’s also the matter of the tools. To develop for Windows, you need to purchase a flavor of Visual Studio – you can get away with using Sharp Develop sure, but in our experience, it leaves a lot to be desired for mobile app development. To develop for iOS, there’s the aforementioned X-Code requirement – Which is free but needs a Mac to run.

Android Applications can be developed using Eclipse or Netbeans. The SDK is free and available to anyone. It has a rich set of tools including a device emulator. Java is very similar to C# in many ways and the internet is filled to the brim with Java coding examples.

Finally

The mobile development world is crying out for decent cross platform tools. It seem inconceivable to me that after all these years, we’re still sitting in different camps. We should instead be leveraging these new great tools and shaping the business world by offering tools that employees actually want to use. But that’s not the fault of the application developers. You can blame political wrangling at various companies for that.

So to write applications for every device, we would have three code-bases… that’s not going to happen now is it?

So when you strip out all of the vanity,  hype, the marketing and boil things down to the actual facts – the points that really matter, there is a platform which ticks more boxes than the others.

It’s not iOS and it’s not Windows.

Who are you? ..and What are you doing here?

A strong question, but one asked by reception and security staff the world over, albeit more politely.

Small companies rarely need to ask the question, they know everyone visiting them or at least where they came from. Larger organizations need a bit more help.

The larger the organization, the more help they require as it only takes one person to slip past security, act as they own the place (which is the most sure fire way of being ignored by anyone) and barring any physical  restrictions, they have access to the entire company. More often than not, individuals will actually hold the door open for a stranger, even if it’s a keypad or swipecard protected door.. I’ve seen it happen.

So what do we do? We just accept this as the way things are, that we’re doomed in a world where the bad-guy can get in and all of our hard work is for nothing?

No.

What we do is protect ourselves. We understand who is in our building, We know where they are supposed to be and where they are not. We give our security team the tools to effectively police our visitors whilst at the same time, assisting genuine and honest guests with real added value.

So, how do we do this? perform this miracle of Police vs Politeness?

Well, the first thing, the most obvious thing is to answer the questions in the order they appear.

Who Are You?

It is said that once you know someone’s true name, they lose power over you. Although getting that information out of the bad guys can be tricky. Well, to solve it we turn to advances in technology to give our shields more of an edge. SQBX visitor tracking has the ability to read Business Cards, Driver’s Licenses – even Passports should you require it. Furthermore, it can even tell you if the Driver’s license is genuine or not. Faked licenses can be spotted with ease by the License Scanner.

Photographs are displayed for scrutiny by the security staff so there’s no passing off someone else’s ID as your own.

Understandably, there’s a concern amongst a number of people about their sensitive details being exposed to a 3rd party and subsequent mis-use. We’ve given that a lot of thought; so we took a decision early on to ensure that sensitive identifiable details are not stored. In fact, on a driver’s license, the only detail we store are the photograph and a ‘One-Way’ encrypted version of the driver number. Nothing else. We let the scanner and the operator do the rest.

Not all Holes require Square Pegs.

Ok, not the best of captions, but I think it explains what I mean fairly well. Some visitors are, and should be, allowed higher levels of privilege than others. But how do you manage that? How can you be sure that the person from ACME inc standing in front of you with the nice smile is an honest and well to do person?

There’s no technology in the world which can assist us there. But we can prepare ourselves.

SQBX allows you to take a complete set of fingerprints for visitors who have been granted that extra level of privilege. Securely stored and inaccessible to SQBX users, even Administrators. These fingerprints are available to Law Enforcement agencies in the event of a crime taking place.

Whilst seen as a minor inconvenience to some, This lets the nerdowell know that they have been marked so that anything they do from this point on can be tracked.

More often than not, it’s total  overkill, but it does help later on should the police require assistance with their inquiries. Even if it means eliminating people from their investigation.

Too much?

If taking a visitor’s fingerprints seems a little too hard-core, then there is always the Visitor Photo option. We all have driver’s licenses with photos that are years old and often joke with each-other at the bar about them..

SQBX can connect to any Web Cam attached to a workstation and take a photograph of the visitor in their current and actual glory. This image can provide a great reference for security staff when checking the CCTV images. What’s more, it’s totally innocent, it’s done only on the initial visit and can be used as a reference from then on.

Enough about depressing bad guys, what about the real added value?

First of all, Health & Safety: Every company in the western world is mandated to keep a visitor book. People arriving and leaving so that in the event of a fire, you know who to search for.

What happens if the fire starts due to an electrical fault in the reception where the visitor book is? The entire building is a towering inferno and you have absolutely no idea who was in there.

Well, now you do. SQBX is an on-line system. It’s hosted off-site and therefore is not susceptible to local tragedies. So you can stand in your designated fire safety zone and perform a role call.

“But how!?” I hear you ask? I have no PC, it’s inside the building currently being dry roasted along with the visitor book.

SQBX is web based. So any authorized individual with a web enabled phone or PDA can access it. Just Log in via the secure login system and you can see at a glance, with photographs, who was in the building. No paper visitor system could ever claim to do that.

I’m sorry, I’m lost

You have a conference, lots of visitors looking at lots of important things. It’s important that they spend more time looking at important things than bland corridors. At a facility where you have 5 important conferences a day with people wandering all over the place, it’s important to send them to the correct place.

SQBX produces it’s own visitor badges. You can do what you want with them, place them in a badge holder or print them on a sticker, either way – Visitor badges contain the details, the photograph and the visitor bar code. So the security team can scan the badge, recognize the visitor and point them in the right direction.

In Conclusion…

The visitor tracking section of SQBX can offer you a higher level of understanding about who is in your building, who has recently left, who is due in, who they were, who they represented and…

What they were doing there in the first place.

SQBX is now available in the UK

The SQBX Squid.

SQBX is the Internal Package Tracking system which has been taking the USA by storm over the last couple of years. Already with distributors and resellers all over America, you can now become SQBX enabled in the UK by contacting us at Songbird Creations.

Any organization with a mail room stands to benefit from SQBX in several ways.

Traceability. Know at all times where a package is within the organisation. Know when it was received. Know when it was delivered and be able to look back at the packages own history to see dates, times and even signatures. Know what happened to the package every step of the way.

Accountability. Record damaged or tampered with packages as they are received by taking photographs using any camera or even via a camera on the mobile device or Windows mobile phone. The photographs are securely stored and remain an indelible part of the package’s history.

Performance. SQBX is fast, really fast and has the horsepower and capacity to outperform local server systems in every way. Being internet based, it’s backed up by the kind of power that local servers can only dream of.

Rugged Motorola MC70

Mobile. SQBX takes advantage of the latest in handheld computing technology, offering rugged mobile devices from Motorola and Janam, you can take your packages with you and make deliveries, collect signatures and even pick-up – all from the palm of your hand. The data is safely stored away on the device in non-volatile storage until you decide to synchronise with SQBX at the end of the shift, day, or when the desire takes you.

Customisable. Make your own SQBX. SQBX can be customised to suit your business. A staggering amount of options are available for you to tailor, from the names of the fields to the look of the application, even down to the watermark used to secure the signature from misuse.

SQBX is so adaptable in fact that it already caters for and is in use by many different types of organisation; From Banks, Hotels, Resorts to Museums and Movie Studios.

Always Improving. You’ll never be stuck with stale software. SQBX is constantly evolving to customer’s needs constantly being improved, even the handhelds auto-update themselves. Furthermore, at no time will you be asked to pay for upgrades. They’re free. By listening to the customers, SQBX becomes stronger for everyone.

Little or No IT involvement. Your company’s IT department often has the unenviable job of supporting the infrastructure of all manner of 3rd party applications so it comes as something of a surprise and more often than not, relief to hear that in most cases all SQBX needs is a connection to the internet.

There are many other features to talk about such as Route Management, Online Help, Instant Support, Recipient Alerts to name a few, the best thing to do is to see it for yourself.

Check out www.sqbx.co.uk for more information on SQBX features.

If you’re in the USA, you should visit www.sqbx.com

Contact us via the Contact Songbird page or Email us at sqbx (at) songbird-creations.com to arrange a free webinar and you’ll see why SQBX is the most exciting, dynamic and above all – useful tool your post room will find.

The Wonderful Thing About Java

is Java’s a wonderful thing..

Well, mostly anyway.

The wonderful world of Java applets is a funny old world. One of pitfalls and woe on one side and unparalleled power on the other.

Java has been around for a while and has a very substantial support base, which comes in handy when trying to get around some of the more annoying problems associated with Java development, well Applet development anyway. It runs on pretty much anything, part of it’s charm is that you don’t need to run on a Microsoft platform unlike .net

One of the best things is that as a language, it’s free and there are many free IDEs out there to help you to develop. One of the best I’ve seen so far is NetBeans v6.5 – An IDE originally written by Sun Micro systems, made open source whilst being heavily sponsored by Sun. It’s completely free, Cross platform and downloadable from the their site www.netbeans.org
Without wanting to spend too much time singing the praises of NetBeans, I have to mention that it’s PHP editing tools are pretty fine too and when coupled with the correct version of xdebug for your PHP runtime, make for a very powerful PHP development platform indeed.

We found a couple of minor issues which were noteworthy when developing Java Applets.

One of them being that the HTML standard has kind-of left Applets behind, deprecating the Applet tag for the more generic Object tag. Not a big problem, but slightly annoying and important if your web site is to be XHTML compliant.

We had a simple task to solve for our client:

Print PDF documents on a cross browser web page, without user intervention.

The task in itself doesn’t sound too bad. PDFs are a well known standard for documents and there are numerous browser plug-ins we can use. The tricky part is the “Without user intervention” bit.

That suddenly throws all of the spanners into the machine, leaving a poor engineer with the task of putting it all back together again.. only this time making it spanner proof.
Browsers are very protective of the printer. You can’t access it directly. Sure, you can print a web page, but you can’t bypass the all-seeing eye of the Printer Dialog.

Because of this, numerous ActiveX components have been developed and are sold to get around this issue for web applications. The thing is, ActiveX is a Microsoft Only technology, for Windows and Internet Explorer. That goes against the Cross Platform, Cross Browser requirement.

Java to the Rescue… mostly

So we had to set about printing from the browser. Thankfully, Java does have the capability to talk to the printer directly. The only downside being that it keeps asking for permission to do so, rather like an over-polite child constantly asking to use the bathroom.. The temptation to lose all patience and say “Yes, for the 1000th time, just use the bathroom if you need it OK?” – which would be bad.

There is a way to instruct the Java runtime that it’s OK for it to use the bathroom.. I mean, Printer. You can modify the java.policy file in your runtime directory/lib/security folder to grant permissions to use the printer. A cheap and nasty solution in more than one way.

First of all, it meant having to modify the file on the machines of each user using the web application to grant access to the printer and secondly (and possibly more importantly) Every time you upgrade your Java runtime, it keeps a copy of the old one and installs the new one in a fresh directory.
This means that you have to re-apply your cheap hack to the new runtime, whenever your users upgrade their Java.. Support Nightmare!

Thankfully, there was a solution.
First of all.. Sign the Applet. You can self sign your applets but we chose to buy a certificate and sign it that way. It looks much better with a certificate from a trusted Certificate Authority, and they’re not expensive.

A signed applet is a trusted applet (assuming the user says ‘Yes’, they trust your applet) and has access to things like Printing and Files etc. Things a normal applet just doesn’t have (without above hack).

But we were still running into problems. The over-polite child.. I mean, Java.. was still asking to use the printer, each and every time we initialized the applet and tried to print. Even though we’d checked the little box which was supposed to remember our selection. I’m not sure if this is a bug in the runtime or not, but that’s another thing entirely.

Odd permissions issue – The day Logic took the day off
It turns out that the reason it kept asking, even with a signed applet was that the code being called to talk to the printer was being accessed from Javascript on the web page, and was therefore un-trusted. I’m unsure of the logic here, what was going through the minds of the Java Runtime developers.. a trusted applet should be a trusted applet irrespective of what is calling it, but it is what it is.

The way around that was to make sure that the Javascript was not directly accessing the printing method.

This was done using a separate thread, sitting waiting for a variable to be set.
The public method accessed by the Javascript then only set a variable along with the printing details.
The printing thread then picks this information up and prints the document. No problems.

Are we nearly there yet?
Another issue was telling when the applet was loaded so that we could call it’s methods from the site. This turned out to be more problematic than we originally thought. The isActive method didn’t always work and we had to resort to getting the Applet to call a Javascript method on the page (if it existed) to inform the page that it was ready.

..and Finally

Now, figuring that all out took more time than writing the entire applet and if this was a few years ago, If google didn’t have access to forum threads where other people had solved these same problems, it would have taken a lot longer. In some ways, I can see why the .net framework has overtaken Java as the development platform of choice for business. It’s certainly easier to get up and running faster with .net but .net can’t do everything and Java shouldn’t be dismissed as old hat.

It’s very powerful, fast, cross-platform, cross-browser and free. These factors alone make it a language worth using.

Crashblock

crashblock

In 2008 we released a shareware game called Crashblock. A game based on the legendary Tetris, with a twist:  Instead of guiding a shape to it’s ultimate destination to complete lines, you play from within the game to direct the shapes before they fall – getting out of the way before they do.

The demo is free to play and should you wish to purchase the full version, you need only enter the purchase code and the game is yours to play for as long as you want with all of the levels available.

Visit Crashblock.com

The game was developed using Borland Delphi using the SDL (Simple Direct media Layer) entirely in-house and won 1st place in the 2007 Pascal Game Development competition.

All graphics were also produced in-house.

The music was witten by Symphonic Chronicles.

Welcome to Songbird Creations

We’re very happy to announce our new site.

The observant among you will have noticed that the site is not a totally new ‘bespoke’ piece of work. They would be correct. This site is powered by the very fantastic WordPress. The most popular Blog engine in the world.

This is part of our ethos. Don’t reinvent the wheel unless you definately need a new type of wheel. Often existing wheels will do the job just as well, with a little tweaking here and there.

If we can find a piece of software to solve a problem already in existence, as long as the cost is reasonable, the software is configurable enough, it has professional support or the authors provide the source code, we’ll use it to save you time and money.

If your requirements are unique, we’ll write something to help you from scratch using industry standard, proven techniques and utilising the best technology for the job.

Calling on 15 years of development experience in numerous industries from Construction, Transport Retail to Insurance and even Patient Administration.

Comments Off