enVirtua.com

"Extending your business beyond the office walls"

  • Home
  • Articles
  • Contact enVirtua
  • Services
  • About enVirtua

18

May

The power of iPhone and iPad applications for your business.

Posted by Lance  Published in Uncategorized

Recently enVirtua developed and released via the Apple AppStore it’s first iPhone application. The result in the first few weeks has been quite impressive and highlights the potential benefits that all businesses have access to. In this article we will outline briefly some of these benefits for you.

The Apple iPhone is a phenomenon, a real change in the way people use their mobile phones. The AppStore is an interesting innovation which has the potential to put your business right in the pocket of your clients and customers. Within a week of the release of the iPhone application we recently developed the web traffic for the organisation has doubled. This was in part due to the release publicity, but as weeks have gone by we are observing a continued growth in the traffic.

The application we developed has no sales function built in and purely a service offering. It extends the organisations current website and provides a faster, more iPhone version of what was already available via a iPhone formatted website. The iPhone application is faster; but in terms of features it is identical to the existing website.

By creating a iPhone application, you expose your organisation to anyone of the millions of iPhone users who might come across your application. Currently, very few small niche businesses seem to have developed applications; which is a great lost opportunity for them. A niche iPhone application is likely to be successful as people who have an interest in you specific area are likely to find your app via the appstore search and install it on their phone.

For example, if you are a sporting organisation, you might create an application that allows users to get the latest results for the league. You might charge a small amount for the app, which would be pure revenue. Or provide it free so as to build an audience  which you can quantify and use to support sponsorship or grant applications.

If you are a business, perhaps you too can share the latest news. Or provide a tool to calculate the correct type of product and quantity a customer might need. You can incorporate ordering and customer service. If you are a service business, perhaps you’d like to show via your app which of your staff or teams are currently available to assist.

Imagine something that your clients might want from you and create an application that helps them give you your business.

Our recommendation, find a simple service you can deliver. Then create a simple iPhone application that delivers that service with the absolute minimum of fuss. Later, if the application works, add more features or create another simple application.

We are excited about the potential iPhone applications have and would love to work with you on developing an iPhone app.
Contact us and lets have a chat about your ideas.

Tags: development, ipad, iphone

no comment

17

Jul

Perl coding and saving your time.

Posted by Lance  Published in Uncategorized

At the start of 2008 and over the past two months we have been writing and re-vising code and being pleased to find it easier than often it can be. In this post we just wanted to explain why it has been so easy and why it matters to people coming to us looking to get work done.

Nasty BugThe coding work we have been doing recently is revising a perl based application to meet changes in the way people want to use it. As with many applications in businesses, the application started as something entirely different and in this case it started life in a different programming language and was migrated by someone (not by us) and eventually became a piece of software being used by users. It has expanded beyond being a “quick hack”, to being used in production.

When we looked at the project of revising the code earlier this year we made it clear that step one would be to implement some coding style conventions and start moving to a test driven development model. This did mean that initially we were spending chargeable time simply tidying the existing codebase and not making changes or adding the changes the client required. We were fortunate that we conveyed the importance of doing this to the client and they agreed to paying for the work.

So what did we do and why is it worth doing?

Obviously, we can’t give too much away, but what we can share is below.

We decided that we would automate as much of the stylistic testing as possible and also that we would start by writing tests to confirm operation of the application (and the code). We also wanted to test the known bugs. What this meant is we took some time writing code that would test not only that things worked correctly but also that tested for known bugs and in effect proved that parts of the code failed.

What we did was start from the outside and work our way in, as opposed to “unit testing” first. We worked this way because we wanted to quickly establish a starting point with ‘x‘ tests that passed and ‘y‘ tests that failed BEFORE we touched the code in any way! We then worte tests for specific modules within the code and added them to a metrics. Again, this was before we touched the original source code provided to us at all! This was important to us and the client to establish that we were not making the code worse.

Once we had some basic testing in place that confirmed things worked as we understood them and showed up the known bugs; we moved into touching the original source code for the first time and started reformatting it. We started by running the code through Perl::Tidy each and everytime we ran the test suite. Perl::Tidy is a great tool and helps ensure we all follow a style (in our case we chose to follow the http://www.perl.com/doc/manual/html/pod/perlstyle.html guidelines ). By using Perl:Tidy as part of the test suite, we help ensure that the team don’t get lazy and start leaving messy code about.

At this stage we also started documenting the code both in external documents and also within the code itself.

Next we added Perl::Critic to our test suite. Perl::Critic is another useful tool as it programmatically allowed us to test that the code followed some “Perl Best Practices” specifically those from Damian Conway’s seminal book on best practices for Perl coding. Now, all developers have opinions on what is and is not good practice, and we can disagree and alter the policies. But as a general rule we like to use the policies as they come “out of the box” as the standards are well documented and it is a starting point that all levels of developer can use as a base.

Running Perl::Critic was when the first batch of real alterations to the code started. We started changing the code till we reached compliance of the first 3 levels of Perl::Critic errors quite quickly and then we stopped for a moment. At this stage we had a codebase that looked substantially different but performed exactly the same in terms of functionality and bugs.

So next we looked at the bugs and altered the code to resolve the bugs, by which we meant that we considered that a bug was fixed when the test we had written initially had passed, that no other tests had started failing, and that Perl::Critic had no new errors. We also added quite a few tests at this point to test specifics of the code we were adding (approximately doubling the number of tests in the suite). At this stage we were happy that we had made some improvements to stability of the code and this was when we rolled up a version number and passed the code back to the client for approval.

Why do all that work at the start?

You may be sitting there thinking “why did they waste all that time and not just fix the bugs right away?“. Other than professional pride, we went through the extra steps because it is making our job easier day on day. So as we reach a point in the process where we want to add more complex and sophisticated changes to the software, we have a test suite that proves that we have not broken the software with any new changes. The standards help ensure that as people move around the codebase it has a consistent look, feel and way of doing things.

This is particularly helpful for us as we are sending iterations of the code back to the client, it can take weeks to get the approval that they like the code and that they want us to start on the next change to the software. These breaks have the effect that we may not look at the code for a couple of weeks, having good tests and standards means that we are already comfortable with the layout and styles in the code when we return to it. We know right away if we have broken something inadvertantly as well. This means that each time we start a new alteration we spend less time on it than we would if we had not established the stylistic standards and tests.

This in turn means that we spend less time on making changes and that doing them is easier/safer from our perspective, so we don’t need to charge our clients as much for the work. It also has the advantage that the work can efficiently and effective be done in small bundles, which make sit easier to manage for both us and for the clients. Small monthly bills as opposed to large bills at the end of some months of work.

What it means to you? (or why are you posting this online?)

The reason we are sharing this online is so that someone trying to decide between us and another company has a reason to choose us. We genuinely believe that by using standards and tests we produce better work and produce it faster. This means that when we quote for work, we can be both the better quality AND lower cost option.

For “you”, it means that be it a web site, a web application or some other work, you now have an understanding of some of our philosophies in regard to using coding standards. It means that we think it means a better service for you and that we want to share it with you as we feel strongly that it is an important factor you will want to consider when comparing vendors.

“Nasty Bug” image by Nils Pickert on Flickr.

Tags: best practice, pbp, Perl, perl tidy, perl::critic, standards, style

no comment

29

May

Cloud Backup Network Drive for distributed teams.

Posted by Lance  Published in Uncategorized
Video Conference Call (Tokyo, 2 different locations, and Mexico)

Photo by Oscar Yasser Noriega on Flickr

One of the features that has proven popular with our Cloud Backup software is the shared network drive. This allows you to share a virtual network drive with your colleagues, even when you are in different physical locations.

For example, your sales team might have a virtual network drive that holds all your templates, spreadsheets, brochures, etc.

A local cache is stored on the local machine, so access to the files is quick even when you are using a mobile phone to connect to the internet.

Another benefit that people are often not aware of immediately is that you can at anytime restore a prior version of a file. So if you accidentally overwrote a letter to a client; you can restore that letter not just from the last version, but from the version last Wednesday at 9:00am. If that is not the version you need you can restore the version from Tuesday, 3:07pm.

One client of our has been using the network drive to share the agenda for their distributed team meetings. They video or audio conference one another andall have access to the agenda. As it is a single file, shared between everyone, no matter where they are; all the latest ammednments to the agenda are there. There are no issues with emailed version not matching local people have. Everyone sure they are on the same agenda. Once the minutes are typed up, they are being saved into the same location, so again everyone has access.

We really like the network drive feature and would like more people to be able to take advantage of it. We can do it simple for you by setting up a shared drive for your team, department or even your entire organisation.

Below is a video about the network shared drive:

1 comment

12

May

A story from one of our Cloud Backup users.

Posted by Lance  Published in Uncategorized

We received the following email from one of our clients that use the Cloud Backup software on their laptop. We were so pleased with it we wanted to share it with others.

“…I arrived at the client site ready to present when I realise that my laptop battery is dead, and I left the power cord in the office. Luckily though they had a PC connected to the projector that had a connection to the internet. So I logged into the web interface to laptops backups and pulled the presentation down to the desktop and ran it on the PC there in the meeting room…”

No backup, no lunch

Photo by César Astudillo

We like this story as it highlights that Cloud Backup is not just about recovering lost data when a drive fails or it gets corrupted. Cloud backup allows you to access your files from anywhere with a web connection. So be it a client site or you are at home, you can get access to that file you need.

Of course the system also ticks all the other boxes you need for backup. It provides automatic offsite backups and the ability to restore files via a simple graphical user interface.

We are planning to add to the Cloud Backup offerings in the near future, we would like to provide a fuller service offering, where enVirtua will manage all your backups and make sure that all your users machines are being backed up. If not, we shall contact you (them) and determine why backups are not being done, and solve the issue. We are also looking at a flat rate service for those of you with many users who need a fee that is stable across a budgetary period.
These are new services, the existing pay as you go model will continue of course. If you are interested in these sorts of services or have other requirements please contact us.

no comment

24

Mar

Virtual Appliances for testing, evaluation and development.

Posted by Lance  Published in Uncategorized

One of the many benefits of virtual servers is the ability to quickly and easily create new servers to host new applications. Rather than needing physical hardware to test a new piece of software a virtual machine can be rolled out in minutes and your business can start evaluating within the hour than within the week or month.

To illustrate the point, we shall in this blog post, describe the process of implementing a OpenBravo server using Sun’s VirtualBox hyper-visor virtualisation software. Installing a server and the software is normally a two stage operation, however as virtualisation standardises the hardware platform (it is all the same once virtualised), it means that operating system installation is simplified as there is no need to cater for a wide variety of hardware choices.

The upshot of this is that people and businesses have started creating “Virtual Appliances”, where they package the operating system and the software into a virtual machine. So you do not even need to worry about installing the operating software or the software for that matter. The software provider does this all for you and you receive an “appliance” that simply needs turning on and configuring for your environment and business.

So in this example we are going to install the popular OpenBravo software from http://www.openbravo.com/. Normally with this we would need to carefully check that we have the operating system that the software requires along service packs, databases etc. In our case however we are going to use their Virtual Appliance and save time and decrease the risk of something going wrong and delaying our installation.

We simply downloaded the .ZIP’d virtual appliance, a mere 350mb, and decompressed it onto the disks where our other virtual servers exist. Then we follow the simple instructions on the website for installation ( http://wiki.openbravo.com/wiki/Virtual_appliances ):

* Decompress OpenbravoERP-2.40-x86.virtualbox.gz, this will result in the OpenbravoERP-2.40-x86.virtualbox.vdi file.
* Open VirtualBox and click on Machine -> New. Enter Openbravo ERP Community in the Name and select Linux 2.6 in OS Type. Click on Next.
* Select 512MB of Base Memory Size. Click on Next. In case you are using the 2.50alpha-r1 appliance, select 1024MB.
* Click on Existing to add the image. Then Add, and browse to select the OpenbravoERP-2.40-x86.virtualbox.vdi file. Click on Select, then on Next and finally in Finish.

We then start up the virtual server and wait, it turns out the longest part of rolling out this OpenBravo server is waiting for the Database to initialise and Tomcat to deploy and start. The only issue we caught was that we forgot the networking issue with the Virtualbox virtual network card being set to the NAT mode, which prevented us connecting via the HTTP web interface to the OpenBravo virtual appliance. But a quick power down and configuration change solved that problem and we were able to connect ok.

From here we had a fully functional OpenBravo server up and running and ready to evaluate. If we decided we liked the software, we could easily move the virtual machine from a test/development server to a hosting server for production virtual machines. In the past we have seen this happen often. A test suddenly becomes a useful business server and the virtual machine that was a test becomes production. Of course being a virtual machine this is not a problem as it is simple to move it to a different physical host server to meet the processing requirements or simply because that is where production servers reside.

You can see from this simple example that you can have a test/evaluation server up and running in less than an hour, your team could evaluate in a day or two. If this had been a physical environment it could easily take that long to simple source the hardware and get the operating system installed. If time is important to your organisation, then virtual servers and virtual appliances can provide a great time saving.

We are finding increasingly that businesses first forays into virtualisation are starting with virtual appliances, then progress to building their own virtual servers and virtual desktop machines.

enVirtua’s role in this is clear, we aim to assist organisations experiment with virtualisation. We are there to assist you build the base layer of a hypervisor. We can then help you get your first virtual servers and appliances running. Progressing from this stage to a larger deployment of virtualisation can be made easier by allowing enVirtua to help you plan and rollout host servers and management tools, such as automation of your virtual infrastructure.

Contact us via email ( sales@envirtua.com ) or phone ( 020 7193 8987 ) for an informal discussion about using virtual appliances.

2 comments

19

Dec

Merry Christmas… see you next year!

Posted by Lance  Published in Uncategorized

Christmas In London 2008 - 17

Hello and Merry Christmas!

As of December 22nd we shall be closed.

The phone (and or voicemails) will be answered if you need us, but we are closing doors early and enjoying the festive season. We return (properly) on January 5th 2009. Although again we will be responding to calls, voicemail & emails; though it might be a bit slower than normal.

So, please enjoy your Christmas and New Year celebrations.

2009 we think will be great and we hope to work with you in the new year.

no comment

Services

  • Consulting
  • Cloud Backup
  • Education
  • Server Virtualisation
  • Support
  • WAN Optimisation
  • Web Services ( including Web Design )
  • Content Creation

enVirtua on Twitter

  • Working on editing video and audio; whilst taking support calls from clients. #busymonday 2 weeks ago
  • Importing video from sessions today, hoping to do quick edit for YouTube and have highlights available tonight. 3 weeks ago
  • This week enVirtua will be in Malta with the European Judo Union level 3 coaches. Yes, social media is something they will be engaged in. :) 4 weeks ago

Contact enVirtua


email: sales@envirtua.com
Phone: 020 7193 8987
enVirtua
enVirtua Ltd.
sales@envirtua.com
Knowle Lane
Horton Heath , Hampshire , SO50 7DX United Kingdom
+4420 7193 8987

This hCard created with the hCard creator.


Registered Company # 6769144 (England & Wales)

Recent Entries

  • If you have experts in your company, let them share.
  • Welcoming Samantha Lowe to enVirtua
  • It is not about hits.
  • The power of iPhone and iPad applications for your business.
  • Recognise your strengths to use your website better.
  • Mobile web app or iPhone app?
  • WAN traffic is not a simple matter of Optimisation.
  • Using our Online Virtual Shared Network Drive in a team.
  • Are you an international business?
  • The Issue with Issues.

Recent Comments

  • Using our Online Virtual Shared Net… in Cloud Backup
  • Donavon in Your business and social media/networking... yes o…
  • CloudBackup for Teams/Departments. … in Cloud Backup Network Drive for distributed teams.
  • Cloud Backup Network Drive for dist… in Cloud Backup
  • Rick Clark in Ubuntu 9.10 to get into the cloud in a big way wit…
  • Lance in Virtual Appliances for testing, evaluation and dev…
  • Fat Bloke in Virtual Appliances for testing, evaluation and dev…
  • John in A sports website is NOT the same as a business web…
  • A sports website is NOT the same as… in Web Services
  • CloudCamp Scotland | Christopher Ha… in Cloud Backup
  • Random Selection of Posts

    • A sports website is NOT the same as a business website… or is it?
    • Ubuntu 9.10 to get into the cloud in a big way with Eucalyptus and Amazon EC2.
    • London CloudCamp
    • WAN traffic is not a simple matter of Optimisation.
    • Merry Christmas… see you next year!
    • The power of iPhone and iPad applications for your business.
    • Do you have an iterative development plan for your website?
© 2008-2010 enVirtua.com is proudly powered by WordPress
Theme designed by Roam2Rome
enVirtua
enVirtua Ltd.
sales@envirtua.com
Knowle Lane
Horton Heath , Hampshire , SO50 7DX United Kingdom
+4420 7193 8987

This hCard created with the hCard creator.