Stay updated
on our blog

  • SerpicoDEV Blog

News for October 2012

Which Mobile Application Development Platform Should You Choose?

By 2015 mobile application development projects will outnumber native PC projects by a ratio of 4-to-1 (Mobile Business Statistics 2012, Forbes).  If your business depends heavily on generating leads from web traffic, let that stat sink in for a moment. Is your website or application available for mobile use?  If not, then you’re missing out on a huge market opportunity.  Enterprise tablet adoption is on track to grow by almost 50% per year and will soon be more widely used than the traditional PC.

So how do you get started preparing your application or website for mobile use?  There are a number of programming languages available for mobile development but some offer greater advantages than others.  The key is to look at the trade-offs between each and determine what gets you the best bang for your buck.  There are also other questions to consider: What kinds of devices do you want to reach?  How fast will the application run?  What kind of support is offered?   We rank the 5 most popular mobile development platforms on the spreadsheet summary below out of 5 stars.

Mobile Application Development Methods

(Click to enlarge)

Obj-C+iPhone – This platform can be used on all iOS devices and is based on the Objective C programming language.  It is a graphical interface builder application to create a rich user experience for iPhone devices using Cocoa.  It offers several advantages that include fast compiling speeds, a comprehensive API set for iPhone hardware functions, and a strong developer community.  The big disadvantage of course is that other smart devices such as Android are not supported.

Ranking: 3 stars.

Java+Android – Java for Android is based on the XML interface using a library similar to Swing that is specific only to the Android OS.  It is an open source software with a good developer community for tips and tricks.  Several features that can be taken advantage of with this platform include a comprehensive API set for Android device hardware functions, fast compilation, and strong documentation support.  Similar to the Objective C platform disadvantage, this platform is only supported on the Android operating system making the applications one-dimensional.

Ranking: 3 stars

Monotouch/MonoAndroid – Monotouch and MonoAndroid are platforms from Xamarin that allow iOS and Android applications to be built in C#.  Using .NET, Cocoa, and the Android library, the development platform is a graphical interface builder application that offers a scalable user interface design.  The advantages offered are superior to other platforms in that code can be shared across the board, there is easy access to native API’s on all devices, and rich IDE support.  The greatest advantage may be the resources saved through creating an application where the code can be shared across Android, iOS, and soon Windows 8, saving time and money in development.  But as with all things that sound too good to be true, there is one caveat – you have to pay.

Ranking: 4 stars (only because of cost)

Phonegap – This platform is a combination of the HTML5, CSS3, and jQuery languages that is functional on both the iOS and Android OS.  The interface is built in HTML and CSS based on a UI library of a webkit packaged as native applications.  Phonegap offers major advantages for web developers by allowing the creation of a normal webpage and packaging it as a mobile application with minimal changes.  There is no need to learn new API’s or languages and existing tools such as Firebug are still compatible with fast compilation speeds.  The disadvantage is that the applications created with Phonegap do not look native.

Ranking: 3 stars

Titanium – Titanium is based on the HTML and Javascript programming language that can be deployed on both the iOS and Android devices.  Its interface is based on Javascript using Titanium’s API’s and a UI library consisting of those API’s compiled to native applications.  The major advantage of this platform is the use of Javascript to create applications with native widgets.  But because it only uses Titanium based API’s to layout the widgets, existing tools don’t work and the builds are very slow to compile.  Support and documentation on the platform are also difficult to find.

Ranking:  2 stars

While there are still many other features and functionality to consider, Monotouch and MonoDroid from Xamarin can offer the best scalability for creating mobile applications across a wide range of devices.  Being able to use the .NET framework is a key advantage, as any developer who has created Windows applications using the language can create these applications.  While it does present a cost factor, the time and resources saved using this platform offset the cost rather quickly.

Agree or disagree?  Leave us a comment!

For more information on our software development services including mobile applications, contact us.

Posted: October 24th, 2012
Categories: General
Tags: , , , ,
Comments: No Comments.

Communication: The Key to Build Remote Team Trust

We’ve all heard the saying that trust can take years to build, seconds to break, and forever to repair. But this age old adage doesn’t work for project teams as trust must be established immediately or it can be detrimental to the outcome of the project. Add on the extra challenge of working in a remote project team and establishing a high level of trust is almost impossible, right?

Not necessarily. The first part of the saying above is evident to the fact that trust builds as you grow to know a person more over time. But there are other ways to progress it quickly to the point where remote team members trust the way each other work, communicate, and most importantly, complete the tasks they were assigned. The key factor in the acceleration of trust among remote project teams? Constant and open communication.

Spotlight Software’s web and mobile application Spotlight PPM streamlines the communication process for remote project teams to accelerate the trust among team members. In his recent post on building trust in the virtual workplace, Keith Ferrazzi outlines four key points that help remote teams build trust with one another: Leverage “swift trust”, pro-actively build interpersonal trust, communicate with predictability, and share the power. Spotlight PPM provides features that can facilitate these factors to build and improve trust faster than ever before:

  • Leverage “swift trust” – Initially when a remote project team is formed, team members realize they have to cooperate immediately to get the job done. The feeling of being “all in the same boat” establishes trust from the onset, knowing that the success or failure of the project reflects on the whole team. Spotlight PPM’s Dashboard helps propel this trust further by showing all team members in one centralized, social network-like interface. Team member status updates and current tasks being worked on creates a sense of full disclosure, meaning the team can trust each other in what they are working on and what their availability is.
  • Pro-actively build interpersonal trust – Trust is enhanced between people when they know something about each other’s personal lives. It allows them to find things in common with each other and thus, a way to relate on a deeper level. Spotlight PPM’s team member profiles offers a person the chance to talk about themselves, their interests, and their hobbies. This information is available for all team members to view, offering a way for the team to relate about things outside the project.  Parallel’s in people’s personal lives builds trust quickly and Spotlight PPM offers that opportunity for team members.
  • Communicate with predictability – Predictable communication among the team is crucial so members can develop a sense of dependability with each other. Constant and regular interaction between all team members ensures everyone knows what tasks are being worked on, the availability of all members, and any unforeseen events that pop up. Spotlight PPM offers instant team member status updates in a Twitter like format, agile lean daily updates from project managers, and private and instant messaging to produce predictable communication that enhances trust and eliminates some of the need for constant emails and frequent meetings.
  • Share the power – Project teams, especially in the software development world are proven to be more successful when team members feel trusted to share their opinions and suggestions. Spotlight PPM helps facilitate the sharing of power by providing an open communication forum in a Facebook like format for all team members to offer suggestions for improvement.  Should you be using an agile approach, project leaders can then guide their team through Spotlight PPM’s centralized interaction platform to reach the best decision available through input from all team members.

It’s often difficult to gauge the level of trust that is established within a remote project team.  But there has to be some type of trust among members or the team will not be able to function well enough to deliver the project.  However, trust can be accelerated and improved among a remote team and Spotlight PPM offers a centralized interface for the key factor to establish team trust: quality communication.

Try out Spotlight PPM by signing up for the beta.  For more information on Serpico DEV, please contact us.

Posted: October 17th, 2012
Categories: General
Tags:
Comments: No Comments.

Think You’re Too Small for Outsourcing? You May Be Surprised

Business Outsourcing

Appointment-Plus CIO Stephen Booze provides his insights on outsourcing in the technology industry.  Serpico DEV maintains a great working relationship with Appointment-Plus as a software development provider for their online scheduling application.

While the term “outsourcing” is permanently etched in the business lexicon, there is still an overriding sense of uncertainty that flows throughout a company at the prospect of moving in that direction: CIO’s worrying about intellectual property, project managers refilling their ulcer prescriptions, and developers updating their LinkedIn profiles. While this is clearly tinged with a bit of sarcasm, the belief is that many companies feel that outsourcing is only a viable option for larger organizations. However, that is far from the truth, and any anxiety can oftentimes be tempered once the true cost-benefit analysis is performed.

The horrors and triumphs of IT Outsourcing (ITO) are well-known. Everyone knows someone who knows someone whose company went down the outsourcing road, only to have things go dreadfully wrong or incredibly well. Gartner, a leader in providing technology research, shows ITO service spending has grown from 247 billion in 2011 to 251 billion in 2012, which makes it clear that the positives are outweighing the negatives for many companies. While the number obviously is comprised of many large organizations, I have experienced many small businesses getting the same, if not more, benefit from choosing the outsource model.

Typically with small businesses, if there is any outsourcing, it is done on the front end, e.g. a prototype or proof-of-concept, and is almost solely with software developers on a time and material basis. While there is value in this approach, it is often shortsighted. If the product or service is proven to be a success, there will be ongoing development and maintenance needs. Yet, the developers contracted are usually off to another project for another company, and the business is left with either sub-par developers or spending time, effort and money ramping up a new contracting team.

To counter this result, more outsourcing companies are focusing on full-time, long-term placements. This is an obvious benefit to the outsourcing firm in regards to predicable revenue, but it is also a plus to the small business, as they are able to have the same resources allocated solely to them at a lower cost than standard contracting and at a fraction of the cost of a full-time employee. Additionally, there is value in training these individuals, as the knowledge won’t be lost, and the risk of losing control of proprietary processes goes down.

When considering what to outsource, ITO always comes to mind. However, some of the more progressive near-shore and off-shore firms also offer resources for Business Process (BPO), Knowledge Process (KPO) and Legal Process (LPO) — all of which can extend the small business dollar while introducing a high level of expertise. Even within ITO, other areas such as cloud computing make solutions such as Data Centers (DCO) and Application (AO) outsourcing significantly less expensive with the added benefit of almost immediate cost savings and greater system availability, scalability and security.

Besides the benefit of costs savings by outsourcing, there is also another significant value for the small business — focus. Utilizing individuals to take on the items that are lower level in nature will allow your permanent team members to spend their time and energy on providing more substantial impact to the business by focusing on the higher value strategic initiatives. Not only could this positively impact revenue, it could also increase motivation and morale for those permanent resources.

Getting started is relatively simple and similar to entering into any other partnership. Complete the regular due diligence, looking for firms that are in line with your business size and needs and that will let you “dip your toes in the water.” If your need is on the resource side, select a smaller project with a predictable outcome and a realistic set of expectations. If it is more solution/services-oriented, choose a component of your business you are comfortable placing outside of your walls (e.g. data storage, customer relationship management, etc.). And always keep in mind that the true benefit of outsourcing is not in replacing internal resources or hires, but rather lessening their daily burden so that they can be fully utilized for their talents and skills.

For more information on our outsource business model or software development services, please contact Serpico DEV.

Posted: October 8th, 2012
Categories: General
Tags: , , , , ,
Comments: No Comments.

Developing a Mobile Website or Application Using HTML5/CSS

By Victor Castrejon

Every day mobile access to the Internet becomes more and more prevalent.  In the past 2 years, North America alone has seen an increase of around 70% in mobile device usage.  In the next 3 years, mobile Internet usage is expected to completely overtake desktop Internet usage as the main source of accessing the web (Source: http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobile-marketing-statistics/).  This trend is already taking shape as over 60% of online connections were made through a mobile device last year according to Twitter.

Traditionally, the way to develop a mobile application was by using a language that cell phones understood as Java and object-c.  In recent years, this has changed with the introduction of more robust browsers using HTML5, CSS, and Javascript.

Here are some ways to create a unique mobile experience for visitors:

Media Queries

Media queries are conditions added to style sheets (CSS currently supported by version 3). Using these conditions, we can differentiate between a cell phone, a tablet, or even a TV.  This allows the style sheets to be adjusted from a website by rearranging or resizing elements, and thus, are able to offer visitors a specified interface for the phone or tablet.

jQuery Mobile

The jQuery plugin creates a graphical interface similar to that available natively on mobile devices.  This is more useful for operation in touch screen displays than the common HTML, which is more oriented to desktop computers. The great advantages of using jQuery mobile are being able to use the back end of your website with minimal changes, ease of deployment because it does not require installation on devices, and not having to use an application store for distribution.  It does present the disadvantage of not having access to the technical characteristics of the system such as GPS and camera though. This option is recommended for catalogs, online stores, or when you need to interact with a database.  Other similar alternatives: Dojo Mobile, jQTouch

Phonegap

Phonegap can be defined as a framework that allows us to create applications for multiple platforms using HTML5, CSS3 and Javascript, executed within a mobile WebKit component.  The big advantage of PhoneGap is that it provides the APIs needed to access device functions such as GPS, digital camera, contacts, accelerometer, etc.  Phonegap can be developed on several parallel platforms (iOS, Android, Blackberry, Windows Phone, WebOS and Symbian, among others) and the code can be compiled from an online service called Phonegap Build.  Subsequently, it can be deployed directly or through an app store.  It is also worth mentioning that you can use Phonegap with other frameworks like jQuery mobile to create a rich user experience.  Other similar alternatives: Appcelerator Titanium

Mobile development is the way of the future and these methods continue to make the user experience more user-friendly.  If your company has a need for mobile application development or would like more information, please contact Serpico DEV.

Posted: October 2nd, 2012
Categories: General
Tags: , , , ,
Comments: No Comments.