App Development Edinburgh | App Developers Edinburgh

Edinburgh Lib Dems App

The Edinburgh Lib Dems App is an exciting way to engage with events for prospective, new, and current members of the Edinburgh Lib Dems party. It allows you to view party member meetings, news, and the most up-to-date information for select events happening around the party, including how to get involved at local events.

The new App can help current and potential voters access your political campaign news and events directly on their phones. No matter your target demographic, the new app can provide constituents with useful information so they can stay involved with every aspect of your political agenda. From candidates bio and campaign pledges, to information on volunteering and contributing to campaigns, users will also have quick and easy access to your campaign contact information right from their mobile device.

The mobile app arena is no longer a place exclusively reserved for messaging, games, or social networks. It is now a medium for making relevant mobile connections. In order to reach easily voters anywhere, politicians are beginning to see the benefits of mobiles and tablet apps and how they can influence elections. As mobiles continue to become sleeker and more advanced, users are forgetting their laptops, and instead, reaching into their pockets for entertainment, utilities, and news.

By Erbo


App Development Edinburgh

One of the most difficult and time-consuming tasks in app development is brainstorming the type of app that you want to produce. You will spend a lot of time reflecting and researching during this stage of the process but it will all be worth it.  Great ideas are not rushed or forced. In fact, some of the greatest and most creative app ideas came from unexpected “eureka” moments.

Always keep your smartphone handy so that you can immediately begin researching every idea as it comes. Check the app store for similar apps to gauge whether it’s an idea worth pursuing. Competition for app revenues and rankings are getting tougher as the industry gets more crowded with new developers trying to get a piece of thee action.

Now is the perfect time for you to establish yourself in the app industry for two main reasons.  First, you can learn from established developers. By studying their experiences and examples, you’ll have a good idea of how to go about developing your app. These individuals were the ones who helped shape the app environment of today.


App Development Edinburgh

App Developers Edinburgh

Native app developers are considered as some of the most sought-after mobile app programmers in the industry and for good reason.

After making thoughtful considerations on what type of developer to look for, it’s time to know where to find them. Not all people have the luxury of being best friends with talented app developers. For the majority of us, we need to rely on job posting websites to find the right developers for our project.


App Developers Edinburgh

App Development Platforms

Before jumping into the deep end of the mobile app development pool, let us first explore the basics about apps and the app industry. In this chapter, you’ll discover just how apps have evolved from preinstalled productivity tools on handheld PDAs to sophisticated programs with a wide variety of functionalities.  But first, let’s look at the different app platforms that are currently in use in millions of smartphones worldwide. Different App Platforms Not all smartphones are created equal and the differences between the types of smartphones aren’t only skin deep. Beyond its physical form, smartphones can also differ in operating systems (OS) or platforms. In this section, we’ll look at the different platforms that run smartphone apps.

1. iOS
The iOS is the platform distributed by Apple for iPhones, iPads and iPod Touch devices. The apps are downloaded from the App Store and are installed on the device either through syncing the unit to iTunes on a computer or laptop or from the unit itself.
  Advantages
Because the iOS was the first operating system to introduce an app store, it has more apps available for download than the other platforms.
              In line with the previous point, most apps on the app store are exclusive for the iOS only. This means that iOS users have a big advantage with the choices of premium and high-quality apps that it can download. A lot of developers also use the iOS as a testing platform and would release their apps for the iOS first before creating a version for the other platforms.
              The most recent version of iOS made social networking integration easier for its users. You can now upload photos directly and automatically to Facebook, Twitter and other social media sites after syncing your accounts on your device. 
              Since the very first version of the iOS, very little has changed in terms of its user interface. Because of this, the consistency of the user’s general smartphone experience is preserved. For example, an iPhone user who upgrades from the iPhone 3G to the iPhone 5 won’t have much trouble using the device since its general functionality is similar for both versions.

Disadvantages
The most recent iOS update has removed the YouTube and Google Maps apps, leaving less than satisfactory replacements that have caused a bit of PR foibles for Apple.
              While battery life is more of a hardware issue, it should also be noted that a short battery life also directly affects the users’ ability to access and use apps, especially the apps that require Internet connection or GPS tracking. 


2. Android
This platform is Linux-based and owned by Google. Unlike the iOS, Android is open sourced which allows developers, wireless carriers and manufacturers to modify and distribute apps for Android smartphones. Android is designed to run on smartphones and tablets that are primarily designed as touchscreen devices. Android apps can be purchased and downloaded from Google Play – the app store of the platform.

Advantages
Android users can also enjoy using other Google products and services such as YouTube and Google Maps without having to download these apps separately.
              Android gives users more options when it comes to app sharing. For example, a note that you have created using Google Keep can be shared via Bluetooth, to your Facebook wall, messaging, e-mail, Viber, Dropbox and other apps on your device that will allow it.
              Unlike with iOS which allows the usage of only one iTunes account at any given time, Android lets its users sync multiple Gmail accounts and keep them all logged in simultaneously.
              Personalization is possible with Android because of its open-source nature. Developers can personalize how the OS works on their device and improve the existing software structures that Google and the phone manufacturers have done. Flash video support which allows users to watch videos or play games from their browser.
Android has fewer restrictions when it comes to the apps that it publishes on Google Play, making it easier for developers to publish their apps for downloads.

Disadvantages
              The Android OS is a multi-tasking system and though it might be useful for active phone users, it takes up a lot of your phone’s read access memory (RAM) and battery because a lot of these apps continue to run in the background even after closing the app.
              Not all Android phones have the same features. Unlike with the iOS where its interface is pretty much similar across all phone versions, Android phones vary greatly depending on its manufacturer. For example, an HTC Droid DNA and a Samsung Galaxy Note II will function, feel and perform differently despite both using the Android Jelly Bean 4.1 version. 
              App compatibility can become an issue because of the wide variety of processors that run Android. Because Android phones are made by different manufacturers, an app may not be compatible to all of them. This is especially problematic for game developers who may not be able to release universal versions of their game that is guaranteed to run no matter what the device’s processor is.  


3. BlackBerry
This platform is used on Research In Motion (RIM) devices and is considered as one of the earliest platforms for smartphones. It is typically the platform of choice for individuals who rely heavily on their gadgets for work-related tasks such as accessing and responding to e-mails and viewing documents, spreadsheets and power point presentations. Apps are available for purchase and download at the BlackBerry App World.
Advantages
              Probably the two main reasons why people opt for BlackBerry phones are its email integration and peer-to-peer messaging or the BlackBerry Messenger (BBM). Users can easily receive and send e-mails as they would text messages. The BBM is also very useful for communicating with other BlackBerry users all over the world. Like with Android phones, BlackBerry phones have expandable memory which allows the user to download more apps or to save more files to an external memory card. BlackBerry uses a military-grade security platform to protect its users’ personal data. BlackBerry phones can be synced to different computers simultaneously. This feature is especially helpful if you want to update schedules or address books in multiple computers.
Disadvantages
              Most BlackBerry phones have QWERTY keyboards and it wasn’t until recently that RIM launched a touch screen phone. Avid mobile gamers and smartphone purists find it hard to overlook BlackBerry’s hardware and design deficiencies. Web browsing on a BlackBerry phone leaves much to be desired. Users have to wait considerably longer for images and videos to load when browsing the Internet.               Even if the BlackBerry App World was one of the first app stores launched, it still has a very limited number of apps available for download. The BlackBerry user interface (UI) also limits the types of apps that the devices can use. 

4. Windows
The Windows operating system is no longer exclusively for personal computers and laptops. The company has released a mobile version that runs on smartphones manufactured by HTC, Samsung, Nokia and Asus. The OS boasts of live tiles that make app navigation a breeze. Users can also create and access office documents and emails on the go. Over 130,000 apps can be purchased and downloaded from the Windows Phone Store.
Advantages
              Even if Windows is designed with the corporate market in mind, it doesn’t alienate its younger market. The Windows Phone Store has a wide variety of apps that aren’t limited to only business and productivity uses. Cloud computing makes it possible for users to sync MSOffice documents, emails and other Microsoft programs that are typically used in an office setting. If you’re generally familiar with the Microsoft environment, you’ll find it easy to navigate through a Windows Mobile OS.
Disadvantages
Windows phones do not support Flash or even Silverlight videos on its browsers. The volume and variety of apps is limited compared to the iOS or Android. Though this may change in the near future as more manufacturers produce more Windows phones. 
The UI can be complicated for those who are not familiar with the Windows environment. Not all app developers are well-versed in creating cross-platform apps that are readily available for all operating systems. The limitations in phone features and designs also make it difficult, if not impossible for developers to release uniformed versions that would consistently function for all types of platforms. Another consideration would be the OS versions. Apple, Google, BlackBerry and Windows make it a point to upgrade their OS to allow for more advanced functionalities. To address this, developers also upgrade their apps to match the platforms’ newest versions.



Getting Started – App Development Basics

Once your done creating the blueprint for your app, it’s now time to get the coding part started. If you have never programmed an app before, you have two options: use a web-based app builder or outsource the work to an experienced developer. We will be looking at both options more closely and we’ll begin with a common practice among first-time app producers - outsourcing. 
Outsourcing
Outsourcing is not uncommon in the app development world. Not everyone who has a great app idea is capable of writing lines upon lines of code that will produce an app that looks and acts the way it was intended to. Instead of investing in app programming courses, the practical route to take is to hire someone who has the knowledge and skill to do what you can’t. Let’s look at the different ways to get you started in your search for the right partners for your project. 

Finding the Right Developer
There are online communities where you’ll be able to find the right developer for your app. In fact, you may be able to find hundreds of developers who will be willing to work with you. Unfortunately, finding the right person for the job isn’t as easy as finding someone who has the ability to do what you need to be done. Different developers have different areas of specialization, going rates, working habits and experience. The last thing you want is for your app’s launch date to get repeatedly pushed back because of a developer’s inability to deliver the goods or because you have butted heads with your partner/s in the middle of the project. Follow these tips and guidelines so that you can avoid these potentially disastrous situations:

Look for developers in reputable online job posting sites. There are plenty of job listing websites where you can post your requirements. These websites have safeguards in place to ensure that you’re not getting ripped off by pretend developers. There is a dedicated section in this chapter for these websites so that you invite real app developers to join you in your endeavor without having to worry about getting your money’s worth.                     

Always state all project variables before any work is done. Before handpicking the developer/s you want to work with, be sure that they know everything there is to know about the app that you want them to do. Here are some examples of things that your prospective developer must know before you select them: Who will be designing the GUI of the app? Do they need to provide mockups for you? If so, how many studies will you require? What app type will you need programmed – native, mobile or hybrid? Which platform and app store will the app be launched at?  What functionalities and features will be included in the app? Does it need a multi-touch capability? Will an internet connection be required? Will the app use any of the phone’s functions like the camera or location services? When are you planning to have the app up and running and ready to be released? Are there other app developers working on the project? If so, how are you planning to divide the work?  The developer may also ask questions about the specifics of your planned app to see whether they are capable of delivering the product according to your expectations. It is always better to learn early on whether a person will be able to work on ALL your requirements rather than discover this midway. In line with this, you’ll need to have a non-disclosure agreement with all the developers who will know about the details of your project. A non-disclosure agreement is essentially a contract between you and the people you interview that prohibits them from revealing any details about what you and he/she discussed to any other people. This protects your ideas from being used without your approval in the event that you choose a different developer to work with. An electronic document is typically used though a simple e-mail will do. Make sure that the other person agrees to the non-disclosure agreement BEFORE you discuss any specific details about your project.                     

Be clear about your budget. Always discuss your budget for your project to all your prospective developers before choosing one. This point also reinforces the last because the depth of work that needs to be put in to program your app will also affect how much money the developer will ask for. Be sure to discuss money matters before choosing a developer so that you won’t have to stop in the middle of the programming process because of disputes. This also includes payment arrangements. Will you pay the developer outright before the project begins? Will the payments be made on a weekly or monthly basis? Will you pay the developer only after the app is finished? As pessimistic as it sounds, money can come between a good working relationship between colleagues and in the end, it’s the product that suffers. Avoid all this drama by getting out of the way as soon as possible.                    

Experience counts. When posting your project for bidding, you may get tempted with the offer of developers to work on your app for a fraction of the cost. Though budget-wise this will be good for you, you also need to know why these developers are offering their services at a lower cost than the others. More often than not, it’s because these developers have less experience in app programming. It doesn’t always follow that inexperienced developers will not be able to deliver. You also need to look at what you need them to do. If it’s a simple web app, maybe a rookie developer will be able to do it. On the other hand, if it’s a complex native app with a myriad of features, you may be better off with the more expensive yet more experienced developers. You can also ask for a portfolio or sample of the developers’ previous projects. See if they have a good collection of apps that they programmed themselves to get a better idea of their skills. Though app development isn’t exactly a decadeold trade, it still helps to have years of experience in programming apps and other software.                    

Ask about their development process. App creation isn’t just a one-step coding process. It involves preparation for both you and the developer. So if you hear a developer say that they “begin coding ASAP”, then you should ask more questions or better yet, look for someone else. A good developer is not only skilled in what they do; they also organize their process to make it easier for their clients to understand their progress. They should be able to provide project milestones, a schedule of what should already be accomplished by a certain period, and other cues to gauge how far along the project you guys are.                    

Documentations. A professional developer will always provide details of what they will be bringing to the table. It doesn’t have to be a formal invoice with logos (though it is a plus), just a formal acknowledgement that lists all the work that they are expected to deliver. They can also provide additional documentation as each stage of the process is completed.  You should also provide the developer with a list of things that you expect them do. Have the developer electronically sign this document so that you have something in black and white to show in the event that the developer fails to deliver an aspect of the app that you both agreed on. The documents are like the framework of the entire project, a formal to-do list if you will, or something that you and your developer can refer to at any point during the project duration. It also protects both of you should a dispute arise in the future.  Ask the developers whether they provide project documentations before you start working with them. Someone who doesn’t keep track of what they do might not be able to give you the value for your money.                    

Clear lines of communication. It is of utmost importance that you are able to communicate with your developer. It’s not enough that you are able to get on the same page before the project goes underway, you also need to ensure that you’ll be able to reach them at any stage of the project. A developer can suddenly go MIA for a wide variety of reasons and this may cause delays and extra costs on your end. You’ll need to be very clear with the developer that you have communication requirements (like e-mail replies after 48 hours), taking into consideration applicable time difference.  You can also schedule weekly meetings online so that you can get an update on how the app is coming along. This will make it easy for the both of you to discuss any concerns about the project.  

Warranties. No app is developed perfect the first time. Chances are, there will be bugs and minor inconsistencies right after the app is finished. You need to know whether the developer will take responsibility for these bugs even after you have released their payments. You need a developer who will be able to guarantee that they will be around to fix all that needs fixing, at least until a month or two after the project is officially finished. This will give you enough time to test out the app to find other bugs and flaws.  It is important that you have a warranty from the developer. Otherwise, you’ll need to find another developer who will be able to fix the errors, something that may actually take more time than creating an app from scratch. Don’t rush yourself in finding an app developer. You should be very critical of the people that you work with. Don’t be afraid to ask questions. After all, this app is your product, brand and source of income – you shouldn’t settle for anything less than the best.