Process

Idea Analysis Development Testing Publish

Idea

  • Features selection and discussion with the client. Rough estimates of work content and expected velocity are done.
  • At the first day of the sprint we arrange a Sprint Planning Meeting to detect tasks that will be included in the iteration where we create sub-tasks and plan out the tickets for our project management system called Redmine.
  • First week of the sprint will generally be devoted to the implementation of new features while our QA and analysis teams are preparing the necessary documentation for the next sprint and testing sessions.
  • The second week will be dedicated to app testing and debugging, and our QA engineers, analysts, and developers will tightly cooperate with one another to maintain a stable and operational build of the application.
  • At the end of the iteration a Sprint Review/Retrospective meeting will take place where our team as well as our clients discuss their results and additional quality assurance criteria are figured in as well.
  • Our Agile approach and scrum-based methodology are outstanding tools which help us to deploy working application prototypes soon as possible, always emphasizing client feedback, high development quality, as well as cost-effectiveness.

How to start with your idea?

If you have a great idea that you'd like to use as the basis of an application the first thing you need to consider is who your target audience will be and business model you'll utilize to monetize your app. Based on this information, you will be able to select the ideal platform(s) for your future project and decide from there whether you will develop your app specifically for the iPhone,iPad, Android, or Blackberry platform -- or if you'll develop your app across multiple platforms. This decision will affect the moblie app development price, development speed, which type of graphic resources will be required for development. After this you should draft a comprehensive outline of your application idea and it's proposed functionality. It is always greatly beneficial to us if you create functional app specifications, a concise description, together with a clear visual representation of how you envision your application will look like.

You can outsource these tasks or limit your direct involvement to one of the aforementioned steps and let our development team deal with the rest. However, without a clear understanding of your project objectives and your app's functionality the analytical stage of development will last much longer. Furthermore various development and implementation risks will be eventually be much higher and the development process as a whole will require much more effort and attention from both sides.

Make sure that you set realistic budgetary parameters for your project and get accurate quotes from the development companies you approach to critique against your planned budget. Please remember that if you set a fixed budget for development vendors may suggest that you exclude some features or functionalities from your application to ensure that it's development fits your budget.

To hire a professional development company you will need to ask a lot of questions about their business operations and look closely at development process descriptions. Always ask yourself critical questions like: Do they have enough experience to meet my needs?

Check the portfolio of the vendor and revise graphics, user-interface, and overall quality. Request to test one their completed products before you whether or not to hire them. After you've made your final decision you should provide as many details about your project as possible and establish communication channels with your chosen developer that is convenient, open, reliable, and effective.

Don't forget to sign a full non-disclosure agreement (NDA) prior to beginning any development work. This measure will protect your intellectual property rights and establish a formally confidential tone for all future communications.

Be precise about what development timeline you expect to follow, as well as what functionalities you expect to be delivered or completed first. It's very important to let your development company know about your future business plans and deadline expectations as it will help them create a concrete project management plan and allow them to set specific milestones for progressing through your project. Be sure to communicate these business plans and your timeline together with your expectations in written form prior to the start of project development to maintain maximum clarity on both ends.

Once development begins, prepare yourself to work through a large amount of different iterations, bugs, and questions from developers that need answering. These are things which are invariably present in any development project, remember that if bugs are found at the development stage it's much better than discovering them after your application launches to the public. This form trail-and-error development will ultimately lead to more profits and higher customer satisfaction with your end product. To ensure that this happens though, you'll need to stay involved throughout the whole development process from beginning to end. Always remember, its your application. Also realize that after your project's scope is settled upon, all additional functionalities that you would like to include will be charged an extra premium over the project's original budget.

We recommend that you create a specific payment structure for your project's development, for example: Offer milestone payments with 25% of project cost paid to begin development, another 25% paid after first your app's first version is completed, another 25% after the beta version is completed, and the remaining 25% at the end of the project when your app is fully done.

How to prepare the concept of your idea?

Balsamiq mock-ups

If you are wondering about how to create a mobile application prototype don't wasting a lot of money and time - you're on the right page. Here we will review a set of great tools that will help you to do this without useless effort. The first quick and powerful tool that we would like to share with you is called the Balsmiq Mock-up, which can be accessed at http://balsamiq.com/ This tool reproduces the experience of whiteboard sketching using your browser. From here you can easily share and modify final screens. Wire-frames made via Balsamiq mock-up will look like sketches which is great to show the draft character of your mock-up without distract your project's user interface and design teams with unnecessary details. With Balsamiq you will also be able to plan the mechanics of how an app should work, and visually see its flow from one action to another.



iPlotz mock-ups

It's very important to provide your development team with graphical resources that they can start working from. Of course, if you're working with a serious development vendor you can skip this step and require it as part of the initial project scope. That said, an initial screen draft could prove very helpful for reference before any development contracts and agreements are signed. These screens will help the development team start with the right conceptual foundation and subsequently be more precise and careful when creating the final mock-up version. These are the primary reasons sketching wire frames is such a valuable technique for eliciting requirements, and iPlotz is exactly right tool to create them with.

iPlotz offers users a browser based application where they can quickly prototype their application screens. You can download this application as well if needed. iPlotz enables users to use stencils and highlight navigation between pages as well. Using it's straightforward interface, you will be able to visualize your application idea in a matter of minutes.

If you prefer to work offline or don't want to use a fancy web 2.0 tool for mock-up creation, you can simply utilize MockApp. This utility that enables you to download Keynote and PowerPoint templates, which are very handy for creating small non-complicated mock-ups.

In either case though, if you decide to hire a professional designer to complete your app design, you can provide them with the following useful and time-saving resources.

Analysis

We believe that every stage of our projects are equally important to execute effectively to ensure positive outcomes, and we take a lot of effort to execute each step of development correctly. However, it's very difficult to manage projects without proper documentation and that's why the analysis stage, which includes user experience insurance, application prototyping, and documentation creation, remains one of the most important stages for correctly starting most projects. In the beginning we bring together interactive mock-ups, prototypes whose main goal is to form the app design and navigation bases, and to make your application feel and look great at completion. Our analysis and QA teams will work with our clients to figure out their target user's needs and preferences, and create the most valuable outcome accordingly. As a client, you can expect the creation of user stories or 'use-cases', as well as interface prototyping and wire frame development at this stage. This won't be a polished graphic user interface quite yet, but only draft to get first impressions and to help our clients to start forming more informed opinions about their project. This stage is very important for the project's future in general, and its a stage that's never underestimated at Intersog.

How to prepare graphics for iPhone apps?

This is a guideline for Intersog clients on how to prepare the graphics you'd like us to develop for your iPhone applications. Please follow guideline as it will help to save time for both you as a client as well as for us as developers.

  • Size
  • In some cases (such as splash screens, game backgrounds, etc.) we will need to utilize full size images. In other cases (such as with moving elements, app buttons, etc.) we'll only need graphics with resolutions large enough for these elements (containing no background as they are only the size of the element itself and NOT at full-screen resolution) - this said they should still be developed at a 1:1 ratio as PNGs with the proper transparency and alpha channel.

    Examples:

    A moon image moving across the sky - for this example we will need to produce a 480 x 320 pixel background image + 1 image of the moon (1:1 size, cropped to the correct size) with an alpha channel and a transparent background.

    A button with a highlight effect (or a small animated element) - for this we will need the images for each different state of this element will be in. We produce this with a 1:1 ratio, cropped to size, with a transparent background and the same positioning. (i.e. different states of the singe object are each cropped in the same way as differently positioned states in relation to the top left corner of the image will cause unwanted jumping or moving effects.)

  • Format and compression
  • Usually it's better to use PNG images during app development. We advise you to use the lowest number of colors and lowest image quality that you find acceptable. For example, usually it's not necessary to utilize 256 colors for any single PNG image - we can save valuable space by using only 128 colors instead. To note though, you should always check all images to ensure that you are still happy with how the look.

  • Positioning
  • All animated elements supplied as a series of images should have the same positioning - i.e. their distance from the same 'zero point' - such as the top left corner of the image - should be the same unless you want it to jump or move around on-screen.

  • Transparency
  • For non-background elements (such as buttons, characters, etc.), please check that your images have a transparent background and that its alpha channel enabled (for PNG images).

  • File names
  • Please organize file names and folders so that it's easy to understand which elements go where and which are images represent different frames of the same element. When sending the new versions of these same files, please take care to keep the file names the same as well (please remove extraneous labels such as "copy" or "copy 2" which are added by automatically Adobe Photoshop).

  • 3D and OpenGL
  • As a rule, the sizes of all OpenGL textures should be in multiples of 2. Keeping this in mind, when sending graphics for 3D objects please make ensure that their sizes are in multiples of 2 (4 x 4, 8 x 8, 256 x 256, 1024 x 1024, etc.).

  • Fonts
  • Here you may check which fonts are system standard for iPhone SDK and therefore could be displayed most pragmatically. We won't need to spend undue time creating graphics for text if you choose to utilize one of these fonts. The following is a list of iPhone SDK supported fonts:
    Family name: AppleGothic
    Font name: AppleGothic
    Family name: Hiragino Kaku Gothic ProN
    Font name: HiraKakuProN-W6
    Font name: HiraKakuProN-W3
    Family name: Arial Unicode MS
    Font name: ArialUnicodeMS
    Family name: Heiti K
    Font name: STHeitiK-Medium
    Font name: STHeitiK-Light
    Family name: DB LCD Temp
    Font name: DBLCDTempBlack
    Family name: Helvetica
    Font name: Helvetica-Oblique
    Font name: Helvetica-BoldOblique
    Font name: Helvetica
    Font name: Helvetica-Bold
    Family name: Marker Felt
    Font name: MarkerFelt-Thin
    Family name: Times New Roman
    Font name: TimesNewRomanPSMT
    Font name: TimesNewRomanPS-BoldMT
    Font name: TimesNewRomanPS-BoldItalicMT
    Font name: TimesNewRomanPS-ItalicMT
    Family name: Verdana
    Font name: Verdana-Bold
    Font name: Verdana-BoldItalic
    Font name: Verdana
    Font name: Verdana-Italic
    Family name: Georgia
    Font name: Georgia-Bold
    Font name: Georgia
    Font name: Georgia-BoldItalic
    Font name: Georgia-Italic
    Family name: Arial Rounded MT Bold
    Font name: ArialRoundedMTBold
    Family name: Trebuchet MS
    Font name: TrebuchetMS-Italic
    Font name: TrebuchetMS
    Font name: Trebuchet-BoldItalic
    Font name: TrebuchetMS-Bold
    Family name: Heiti TC
    Font name: STHeitiTC-Light
    Font name: STHeitiTC-Medium
    Family name: Geeza Pro
    Font name: GeezaPro-Bold
    Font name: GeezaPro
    Family name: Courier
    Font name: Courier
    Font name: Courier-BoldOblique
    Font name: Courier-Oblique
    Font name: Courier-Bold
    Family name: Arial
    Font name: ArialMT
    Font name: Arial-BoldMT
    Font name: Arial-BoldItalicMT
    Font name: Arial-ItalicMT
    Family name: Heiti J
    Font name: STHeitiJ-Medium
    Font name: STHeitiJ-Light
    Family name: Arial Hebrew
    Font name: ArialHebrew
    Font name: ArialHebrew-Bold
    Family name: Courier New
    Font name: CourierNewPS-BoldMT
    Font name: CourierNewPS-ItalicMT
    Font name: CourierNewPS-BoldItalicMT
    Font name: CourierNewPSMT
    Family name: Zapfino
    Font name: Zapfino
    Family name: American Typewriter
    Font name: AmericanTypewriter
    Font name: AmericanTypewriter-Bold
    Family name: Heiti SC
    Font name: STHeitiSC-Medium
    Font name: STHeitiSC-Light
    Family name: Helvetica Neue
    Font name: HelveticaNeue
    Font name: HelveticaNeue-Bold
    Family name: Thonburi
    Font name: Thonburi-Bold
    Font name: Thonburi

What about the intellectual property and privacy of my data? What methods do you use to protect these?

We only start analyzing of your project data after a mutual NDA is signed between both parties. All aspects concerning your intellectual property, ideas, and technological solutions will be covered by this document (Download sample NDA).

What is your normal testing schedule?

Though our app testing schedules may vary depending on project size and complexity, our average testing cycle usually takes between 1 week to 3 weeks.

How to Design App Icons for iPhone and iPad?

There are many sizes and scales which require careful attention to detail and focus. iOS designers are required to submit an icon with their app into the store during publishing.

iPhone/iPod Icon Sizes

  • Application Icon — 57x57px
  • iPhone 4 icon — 114x114px
  • App Store Icon — 512x512px
  • Spotlight Search — 29x29px
  • iPhone 4 Spotlight — 58x58px

iPad Icon Sizes

  • Application Icon — 72x72px
  • App Store Icon — 512x512px
  • Spotlight Search — 50x50px
  • Settings Icon — 29x29px


Universal app Icon Sizes

  • Application Icon — 57x57px, 72x72px
  • iPhone 4 icon — 114x114px
  • App Store Icon — 512x512px
  • Spotlight Search — 29x29px
  • iPhone 4 Spotlight — 58x58px
  • iPad Spotlight — 50x50px


More detailed information about icons you can find here http://developer.apple.com/library/ios/#qa/qa1686/_index.html


Basic Icon Rules

The App Store only accepts applications which offer PNG files for icons. You may also notice that icons from the app store have a gloss over their exterior. This is an effect added at runtime and shouldn't be added into your actual icon. There is a Boolean switch which any mobile app developer can use to turn the glossy icon effect on or off. However most icons benefit from the effect when done properly, so it's best to leave this setting alone.
The iOS platform also applies rounded corners to icons in most screens. When designing your icon set be sure to keep all corners flat at 90 degrees for a perfect square. This is very important because Apple will add the rounded corner effects for your icons by default. If you apply this beforehand your graphics may publish improperly.

Development

After the final planning and documentation aspects of your project are complete, we begin coding. We utilize Scrum and Agile practices so that the app development process is divided into separate periods with shorter time-frames called sprints. Each sprint usually takes around two weeks of pure development, with an analysis stage that starts at the end of each iteration. During this stage our analysis and QA teams create all the necessary artifacts and documentation, such as user stories and app usability testing. The integration phase is often only begun at the very end of a sprint cycle and may last up to one week.

How to obtaining your iOS Development Certificate?

In the "Certificates" section of the iOS Provisioning Portal, you can request individual iOS Development Certificates. All iOS applications must be signed by a valid certificate before they can be run on an Apple device. In order to sign applications for testing purposes, Team Members need an iOS Development Certificate.

The digital certificates you request and download are electronic documents that associate your digital identity with other information, including your name, email address, or business. A digital identity is an electronic means of identification consisting of a secret "private key" and a shared "public key". This private key allows Xcode to sign your iOS application binary. An iOS Development Certificate is restricted to application development only and is valid for a limited amount of time. The Apple Worldwide Developer Relations Certification Authority can also invalidate ("revoke") a certificate before it expires.

To learn how to obtain and update your certificates using Xcode, see the "Configuring Development and Distribution Assets" chapter of the Tools Workflow Guide for iOS.

Video tips - https://developer.apple.com/ios/videos/popupcerts.action

Testing

These entities will be either similar or dissimilar depending on if we're gearing development for several platforms or applications or not. Using this documentation as a basis, our specialists create a Test Plan which outlines the responsibilities of the QA team, and arrangements with managers and the development team. Further into the development of this document smoke tests are created as well. Smoke tests include several test cases which when taken together cover the full breadth of the tested system's general functionality. Smoke tests, test cases, and additional app testing entities will incorporate all requirements and basic specifications fully.

What is the best way to provide feedback to an app's developer?

If you want to provide feedback and/or do have a feature request that you want to have answered it would be best to contact our support team by sending a eMail to This e-mail address is being protected from spambots. You need JavaScript enabled to view it or This e-mail address is being protected from spambots. You need JavaScript enabled to view it .

All of the emails sent to these address will be filtered and you should receive a reply within twenty four hours in work days.

Publish

Utilizing our experience in application development as well as the promotion of our own product catalog, the Intersog team would be glad to provide not only the aforementioned services but also publishing and marketing services with the help of our strategic partner - the ComboApp Marketing & PR Agency.

Being part of the iPhone Developer Program, we at Intersog have immediate access to our App Store account and this means that you don't need to apply for membership when releasing content to the App Store if you don't want to. We'll take care of it by ourselves and will make sure deployment is completed smoothly and the content is promptly released to countless iPhone users from around the world. However, we realize that a lot our our customers might desire to become members of the iPhone Developer Program themselves, in which case we'll gladly help in opening this account and app release as well.

Besides the iOS marketplace we also utilize market distribution software for Android platforms including their official Google market, and would be happy to grant your application access to this market via our software as well. The good news is that you won't need to wait very long for application approval and publishing moderation. In a matter of days your application will be ready for sale.

Of course, we are also able to help our clients submit their applications to the RIM and W7 marketplaces as well, as we've had a number of projects developed for these platforms as well.

How to publish application for App Store, Android Market, RIM Market?

Here are markets publishing guidelines:

INTERSOG can publish your app via additional publishing service