Monthly Archives: October 2013

AppsWord 2013: Azure Mobile Services

This post is the fourth in a series of 4 about attending the AppsWorld conference in London.

Stewart Fullerton, one of our Application Engineers went along to the Azure mobile services talk. Stewart works on a lot of different technologies at Linknode. He works on Windows Phone & Windows 8 apps, builds Android apps using Xamarin technology and has built a few ASP.NET websites whilst he has been with us.

As a company it is important to us to know what else is going on in the app development world. The best way we could think of doing this was to head to AppsWorld in London last week. Four of us attended and I have asked the guys to write up their thought on what they saw and learned.apps_europe_logo_350

Azure Mobile Services

I attended a presentation at Apps World which describes developing for the back-end for Mobile applications in a reliable and effective manner, it was presented by Steve Plank from Microsoft (also known as ‘Planky’). He gave a demonstration on Windows Azure Mobile Services as well as the benefits of using these as opposed to a server that is independently maintained by the developers.

Steve discussed about the importance of managing cloud services which keeps cloud services available, stable and free of downtime aswell as how difficult and expensive it is to accomplish a task (having to configure firewalls, traffic, load queues, databases etc) on a server maintained by the app developers. A scenario that Steve gave was an incredible successful app that relies heavily on back end services, if any of these services fails the reputation of you as a developer as well as your app will be affected massively. Steve also stressed that the service may be as simple as submitting a high score to the cloud could fail resulting in loss of confidence by the user over the apps reliability.

Steve introduced Azure Mobile Services, a solution by Microsoft that gives the developer all the tools necessary relating to database manipulation and the creation of cloud services for an app in a cost effective manner. One of the main advantages that it gives to the developer is service management, rather than the developer managing the services independently so that they are always of a robust state, Microsoft takes care of management and maintenance to aid the developer and the users of the app concerned.

When a service fails in Azure the server reboots to try and resolve the problem, after several reboots and the service is still down the service is routed to another active server so that it is still available for the app to interact with. Microsoft has tens of thousands of servers located throughout the world and the same cloud services are copied to these servers so that they are constantly running and the chance of a service failing aswell as potential data loss while using the app is extremely low.

Azure portalSteve then introduced the Windows Azure Portal, where the developer can create websites, databases, cloud services (Insert, Read Update, Delete etc) and custom API’s. He then showed the audience how these are created through the Portal. Another advantage about azure is that everything that the app depends on (services, databases etc) are stored in the one server and are accessed easily by creating back end clients in code.

As a developer that has used Windows Azure to create cloud services for apps I have embraced the benefits of this service due to its ease of use and not having to worry about maintenance costs as well as my cloud services failing when the apps are in use. Windows Azure is also cross-platform compatible (IOS, Android and WP8) which makes things even more easier as a developer. If your app relies on a back end service, Windows Azure is mandatory.

AppsWorld mini Series:
3D Technology | Enterprise Development | Android Performance | Azure Mobile Services

AppsWorld 2013: Android application Performance

This post is the third in a series of 4 about attending the AppsWorld conference in London.

Rufus Mall, one of our Application Engineers was interested in the Android track. Rufus has mainly worked on our 3D visualisations and iOS application (VentusAR and 3DTry.it) so he knows his way around iOS very well, but is just starting to learn Android.


apps_europe_logo_350

As a company it is important to us to know what else is going on in the app development world. The best way we could think of doing this was to head to AppsWorld in London last week. Four of us attended and I have asked the guys to write up their thought on what they saw and learned.

Performance & Profiling Android Applications

Mario Zechner of BadLogic Games gave a talk on optimising Android application performance to reduce application size, improve memory usage and improve performance. As an iOS developer new to the world of Android it was interesting to learn about the tools available to Android developers to improve the performance of their applications and in effect improve the User Experience for their end users. For the Google play store APK files have a maximum size of 50mb. Solutions given for this problem included: Creating Multiple APK files for the same app which could each have resources for certain classes of devices instead of trying to fit them all into a single APK file. Another was to use “Expansion Files” which are files of up to 2GB which can store data up which supplement the APK and are downloaded to the device alongside the APK.

DDMSIn the case of memory management and performance profiling Mario explained that its possible to leak memory even when developing for a Garbage Collected environment. He gave an overview of many tools of which DDMS stood out. This tool allows the developer to view memory allocations that are occurring on the device. Allocating objects during the lifetime of the application which instead be reused leads to more overhead when the garbage collector runs. In Mario’s example game, reallocating a simple “Color” object every frame was leading to the application intermittently skipping two frames. DDMS also can be used as a method level profiler which allows the developer to check how often certain methods are being called and how much CPU time methods are taking, allowing the developer to target optimisation.

OverdrawMario also mentioned other tools such as using the “Show GPU Overdraw” setting available in Android 4.1+ to show which graphical objects are being drawn on top of other items and also showed the “OpenGL ES Trace Tool” which allows the developer to move through the OpenGL calls one at a time to see the visual effects of OpenGL calls, and the amount of time the OpenGL calls are taking to execute.

The slides for the talk are available on slideshare at: Of Bytes, Cycles and Battery Life. The references include many useful links. A must read for anyone who develops performance intensive applications!

AppsWorld mini Series:
3D Technology | Enterprise Development | Android Performance | Azure Mobile Services

AppsWorld 2013: Enterprise Software Development

This post is the second in a series of 4 about attending the AppsWorld conference in London.

One of our developers, Minh Nguyen, when down the Enterprise Application development track. Minh does a lot of backend work for us developing, supporting and maintaining our websites, services and database. Here are some of his notes on what he heard.

apps_europe_logo_350

As a company it is important to us to know what else is going on in the app development world. The best way we could think of doing this was to head to AppsWorld in London last week. Four of us attended and I have asked the guys to write up their thought on what they saw and learned.

Enterprise Software Developmententerprise-world-wide.jpg.710x9999_q96

Mobile delivery using agile techniques

According to Eddie Kenny, agile software development manager at Betfair, key to the successful deployment of an enterprise app is the ability to develop quickly and keep ahead of competitors. The best way to achieve this is to adopt agile development methodologies, to developing quickly and iteratively for mobile platforms. Four basic essential elements must to be getting involved in agile development including, but not limited to, are: Speed, Quality, Embracing change and Regular delivery.

“These can help company respond quickly to meet demand for improved functionality from users, and reduce the risk associated with releasing bad apps which have problems and crash, the immediate feedback from an app store – that can bury your app”, he said.

Top five mistakes developers make when going mobiles

To help everyone create an awesome mobile user experience for your application, Embarcadero Technologies, a software company from San Francisco, has prepared a list of five common mistakes developers make when going mobile. They are included:

  •  Mistake 1: Trying to fit a desktop experience onto a mobile device. Design only for necessary requirements and ensure that your users can complete them with as few taps as possible.
  • Mistake 2: Not making the mobile user experience your top priority. If your app is not easy to use, people will avoid using it – and they might not come back later after a poor initial user experience. Ensure that you’ve satisfied their main requirements before releasing your app.
  • Mistake 3: Letting too much get between your app and the OS and hardware. You must shave every possible millisecond off of response time and utilize all relevant capabilities offered by that device – meaning that your app is not only built for a particular operating system, but it is also optimized for that particular piece of hardware.
  • Mistake 4: Building separate apps for different platforms. Leverage a single codebase that is compiled and optimized for different platforms and device form factors. You’ll be able to deliver a better and more consistent user experience to your users across all their devices.
  • Mistake 5: Not doubling down on security. Code directly to the device and include your own security precautions to reduce the risk of third party attacks. Don’t forget to encrypt sensitive data stored on the device

AppsWorld mini Series:
3D Technology | Enterprise Development | Android Performance | Azure Mobile Services

AppsWorld 2013: 3D technology & Roaring Lions

This post is the first in a series of 4 about attending the AppsWorld conference in London.

George Banfill, our Technical Director attended and had the following comments on the event.

As a company it is important to us to know what else is going on in the app development world. The best way we could think of doing this was to head to AppsWorld in London last week. Four of us attended and I have asked the guys to write up their thought on what they saw and learned.

apps_europe_logo_350

Roaring Lions

The stand out event for me was the session entitled “Case Study: Helping the Lions Roar – Building a multi-platform app for the British and Irish Lions”. From reading the session notes, this looked interesting as it appeared that Sequence (the app development company that built the app and speaker) had come up with a very similar architecture to what we use in VentusAR. Namely they have an SQL Azure database, Azure Web role backend and Xamarin technology to minimize the amount of platform specific code that needs to be written. They have written a bit about their architecture on their website.

There were two striking differences between our architecture and theirs: first they use Umbraco as their content management system, second they use MVVMCross to reduce the code that needs to be written even further.

We have different requirements for our site in terms of content management features so we do not need anything with as many complicated features as Umbraco comes with out the box. However MVVMCross is certainly something we are investigating how it will fit in to our architecture.

However I feel that are architecture has been validated slightly by the fact that other people who (probably) have more traffic than we will end up with have made the app work using Azure and Xamarin software.

3D Technology: Scanning & Printing

One great surprise to me was that Microsoft had brought a 3D scanning “studio” with them to AppsWorld to show of some of their 3D scanning that they can do with the Microsoft Kinect. This resonated with me as we had come up with a very similar concept last year based on ReconstructMe, but had been frustrated by some missing features from the Kinect SDK at that time. I was pleased to see that the SDK has evolved and full colour scanning is now possible with the Kinect.

Below are the screenshots of the 3D model of my head and shoulders next to the 3D printed model.

GB-2  WP_20131028_003

GB1  WP_20131028_004

3D scanning is possible using consumer hardware at the moment. Now all we need is for someone to integrate a Kinect 3D scanner into a phone or tablet so we can create a 3D scan on the move.

AppsWorld mini Series:
3D Technology | Enterprise Development | Android Performance | Azure Mobile Services

VentusAR v1.2 Released

We are pleased to announce that we have released v1.2 of VentusAR.

For iOS users, this represents an upgrade of the application to make use of the latest iOS 7 user interface.

For android this is the first release available through the Google play store. Version 1.2 also comes with an admin site that allows you to control the project layout.26_Gallery 04_Flythrough_Griffin_50k_TurbineInfo_small

Highlights of the new features common to both android and iOS are detailed below:

  • More accurate turbine models. New turbine modes have been added to produce a more realistic representation of what the final project may look like
  • Visualisation screen (Flythrough, My View & Gallery) improvements to make them quicker and provide more information
  • Taking a capture on My View is now visible in gallery and can be published / backed up
  • Added a context map to the My View & Gallery screens so you know where the image was taken from
  • Added sensor lock to calibration panel on My View
  • Choose any overlay to be shown on the terrain in My View

Full details of the changes included in this release can be found on the Release Notes for IPad and Release notes for Android pages.

Location, Location, Location

Glasgow
Today, Monday 14 October 2013, marks another milestone for Linknode as we leave our office in Stirling and move to new business premises in Glasgow. Our address at inovo is just a couple of minutes’ walk from the heart of the city, George Square and all the major urban transport links. This is a fantastic building and we invite anyone interested to come and see.

The Inovo Building
121 George Street
Glasgow G1 1RD

Over the last two years, Wellgreen Lane has provided a home for development and growth for Linknode. However, with increasing staff numbers and an eye on our carbon footprint we began looking at new accommodation options earlier in the year. When we calculated the change in CO2 emissions, purely from being able to change travel to work patterns, we found that we could make a reduction of about 30% on our impact – a not inconsiderable value. When we also consider heating and lighting, and that we host most of our shared infrastructure in the cloud, we aim to increase the sustainability of our business.

inovo EPC

The building itself is tagged as the greenest commercial space in the City with an EPC rating of ‘A’ and a BREEAM ‘Excellent’ rating. If you are interested in sustainable architecture then there are many articles discussing the challenges and regulations – this one explains the link between EPCs and BREEAM, helping to drive towards lower energy design.

Our building is just the start of the new ITREZ development – Scotland’s International Technology and Renewable Energy Zone. ITREZ is a collaboration between Scottish Enterprise and The University of Strathclyde and this will also assist us in strengthening our industry-academic engagement and partnerships. Next year the adjacent TIC (Technology and Innovation Centre) will open, but inovo is the first completed phase and Linknode are the first tenants to move in!

We will be contacting all our suppliers and partners in the next few days with full details, and welcoming guests to a special reception in November.