- 浏览: 283986 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (142)
- android (64)
- android team 应用开发流程 (0)
- android 个人 开发流程 (1)
- android UI 切换皮肤 (1)
- java (9)
- 敏捷开发 (1)
- git (1)
- 学习 (2)
- hibernate (0)
- jQuery (1)
- windows (2)
- tomcat (1)
- Spring (3)
- struts2 (5)
- mysql (4)
- linux (15)
- JBPM (2)
- maven (4)
- 企业管理 (1)
- Iphone (1)
- 工作计划 (0)
- news (1)
- MOVE (1)
- exception-android (1)
- RFID (1)
- 测试 (7)
- android基础 (1)
- Gson (1)
- Android中的单元测试 (1)
最新评论
-
jlees:
Nice post.i hope this will help ...
Business mobile application development. The developer’s insight. -
weisi2375:
确实很详细的开发流程。
Android应用开发全流程 -
mikefather:
不错不错
Android,谁动了我的内存 -
ylzyd12345:
mark一下,谢谢分享
android的一些开源项目 -
limingcai:
确实不行,2.2就不行了,虽说2.3了 只有1.6可以
Android完全关闭应用程序
from: http://www.enterra-inc.com/techzone/business_mobile_application_development/
On July 11th 2008 Apple corporation announced the launch of AppStore application marketplace – a successor of iTunes Store. iPhone and iPod users became able to setup the approved third-party applications through store.
The same year in October Google corporation launched its Android Market for Android-based mobile devices.
Several months later in April 2009 RIM announced AppWorld for BlackBerry, and in October 2010 Microsoft entered the race with its Windows Phone Marketplace for Windows Phone 7 based devices.
During 3 years of their existence the mobile devices market had changed drastically. Users’ loyalty to certain brands was replaced to loyalty to a certain platform and applications for the platform.
The availability of third-party applications made the mobile device serve as a versatile tool for a lot of tasks – “a magic box” allowing you to leisure reading or gaming, receive news or buy tickets to the cinema.
You need to check the watermelon freshness by tapping sounds? – it’s easy! Need a flashlight in a dark basement – okey! Want to know about a new bar on the opposite side of the square – executed! Navigation, voice control, information access, augmented reality, NFC-marks – this all is real, and can lay right in your pocket! So the wish of people to buy such a “magic box” is quite understandable.
Businesses now have one more place to attract clients, it’s especially important for internet-distributing companies (e.g. distributing media content or services). A good example of mobile apps market expansion is including Afisha application (developed by Enterra) into the factory-default preinstalled content of Android-based LG phones. We also helped Mail.ru corporation to join the market with its Mail.ru Agent for MacOS, and Rambler corporation with “Rambler News” application.
Presence in application stores became a must for game developers and media content providers, as the presence in internet years before. The steep increase of audience of mobile apps users lead to attracted attention from all the spheres of business. If a company used internet only as a supplementary means of marketing, now it starts to expand to app markets, moving a part of the website functionality together with interactive features and promo content to the mobile application.
Food catering, presentation of the new bank or enterprise, hotel room booking, assortment catalog, real estate for sale – all kinds of companies are now eager to enter the users’ mobile devices.
There are many reasons for it, including:
- setting up a new channel for distributing information to clients
- wish to be up-to-pace with competitors
- increasing the quantity of clients
- self-proclamation and promotion
- running a new branch of business within a mobile app, selling the content or copyright
- pleasing the clients and increasing their loyalty
In my daily practice of mobile development supervision I always run across these reasons.
These are the goals of businessmen in their searching for an contractor. Realizing that the price of this all is quite high, and knowing what is needed to get into the application store, I want to share my experience and give some advice to the companies wishing to create the mobile app.
All the further text relates only to the case of using the site as a supplementary info source and deciding to create a mobile app (for one or more platforms) by outsourcing it to the development company.
Setting up a new channel for distributing information to clients
This is probably the most obvious, because it’s necessary to use all the available means to transfer the information about the services to the customer. But you should understand that your information is already in the customers’ mobile devices through your website and their mobile browsers. If you decided to create an application, you should strictly define the difference between the site and the app and determine why the user should use the app instead of visiting the site.
After this approach it may turn out that the functionality of the app is similar to that of the mobile website, and the possibility to push-notify the customer is expensive and non-resultative. In this case you should consider creating a mobile website first. Moreover, the Safari browser in iOS allows to shortcut a website to the applications list therefore giving an instant access to the site. Then it’s very good to inform the customers about the mobile website launch on the main site. This approach allows you to probe the functionality and get the users’ feedback, therefore making a decision about what do you actually need in your future app.
Wish to be up-to-pace with competitors
Sometimes when talking to a client I find out that the competing company has just released an app, and the primary wish of my client is to be on the par and even outperform the competitor, and to take as little time for it as possible. In this case you should realize that the development takes a certain time, and there’s always a server preparation stage before it. Also a wish to be “better-than-they-all” requires a hard work on design and concept, therefore consuming a large amount of time.
If you are still eager to compete, I strongly advise you to estimate the importance of the deadline before starting to time-press your contractor. It may easily turn out that the time is not so deadly as it seemed before, and allowing some more time will result in greatly improving the quality/functionality. Maybe it’s even wise to postpone the app release till the release of the next version of the platform to employ the latest technologies and outperform the competitors.
Also it may occur that the competitor’s app didn’t fulfill the expectations, and you’re going to repeat his mistakes, investing even more money to speed up the release. This may occur because of bad implementation or the users just didn’t like it.
It’s strongly recommended to look through the competitors’ apps and analyze them, determine the advantages and drawbacks, read and understand the reviews and feedback. Sometimes it’s enough to understand the main drawbacks and stumbling points.
Increasing the quantity of clients
You should always keep in mind that the structure of the application store greatly differs from that of search engine. People usually don’t search new applications for, e.g., food catering. Instead of this they try to find the app from their favorite restaurant. Of course, there are some ways of promotion in the application stores, e.g. top-lists etc. But these lists offer games, books, audio-video and info apps, not the business ones like presentations or catalogs.
Self-proclamation and promotion
This is the simplest one. If you have an idea and enough money to make it true, then why not?
Running a new branch of business within a mobile app, selling the content or copyright
This means the idea to run your own internet business based on existing ideas or to implement your own know-how.
In case of existing idea you should understand that the existence of similar services will increase the development cost, even if the contractor has the experience in this area. This happens because contractor transfers all the rights for the source code to the customer, so the source code fragments cannot be re-used. contractor will need to radically change the functionality to make it competitive, and it also increases the cost. Moreover, the more similar applications on the market, the more time and effort you need to attract clients, therefore the cost increases even more.
In case of original know-how there are also some stumbling points. First – the idea must be completed and integer. Maybe it doesn’t need to be platform-specific, but the logics must be integer and transparent. Second – its originality should be checked once more. Third – you should thoroughly check the possibility to realize it (the platform may have not enough capabilities), it’s wise to call for specialized professional research performed by specializing companies.
In both cases you should thoroughly keep the fact that the budget income from the application must cover all the expenses for its development and promotion.
Pleasing the clients and increasing their loyalty
The wish to improve the collaboration with the clients is obvious. Nobody but you know perfectly what do they want. In this case there are many ways to please them – offer a tool for bonus cards management, create a game with a brand character, launch an interactive catalog with an order form…
If you doubt about the clients’ needs – launch a voting/polling on your site to find it out. Pollings can also estimate the quantity and activity of your audience, therefore giving you more information about the actual need for mobile app development.
If your clients will really appreciate your app, they are very likely to share it with their friends.
I really hope that all I said above will help you to understand the specifics of mobile app development planning. As for the companies which already started the development campaign, I’d like to give some more advice and highlight some most common stumbling points.
Explain the project goals to the contractor
It would be very good to explain the project goals to the contractor before the development starts. This greatly influences the estimation of the project. Also it’s possible that on hearing your goals the contractor will offer the alternate way based on contractor’s previous experience. It would be a signal for you: they are interested in your project, they are eager to spend time for your problems, they are looking at you as at the possible business partner.
Explain your vision of the project
The goals of the project are the base of your requirements. The requirements may be expressed as a list of features, or as a description of user-to-application interaction. It would be appreciated if you mention some example applications which you like for the approach/implementation.
The vision can be expressed by yourself, derived from the discussion of the goals, or ordered from the third-party. If there’s no vision, you can get an estimation of somewhat average solution, not your personal one. It may occur too expensive (because unneeded features will be included) or underestimated.
Moreover, if the discussion of the goals with the contractor increases the trust level and improves the collaboration, lack of the vision can be treated as disorganizing and will lead to quick estimation in order to see your reaction.
Set up the time borders and range the priorities
After the estimation it may turn out that the expected time is not enough. You’ll be offered to range the priorities and to divide the development into phases. There are several reasons for this:
- developer has no experience in such projects
- developer has an extensive experience and judges the time in the most real way
- developer has not enough resources
- the difference in time comes from the different vision of the tasks
In most cases you choose from several contractors, and it’s best to ask them for a detailed estimation graph and comments for it. If 3 of 4 companies say that it’s impossible to complete the task in a certain time, and the 4th company promises to even shorten the time limit,- it’s obvious that the 4th company doesn’t have enough experience to estimate the time costs correctly. Of course, I may be wrong, and the 4th company may be a high-class professional team, but it’s best to ask 3 other companies why do they consider this time to be too short, and then ask the 4th company about their vision of development cycle.
The same refers to the situation when only one of the 4 companies states very long time required for development. Maybe their experience allows them to look deeper and to see the problems invisible for others. Ask them to comment their vision of development cycle, and then ask the corresponding questions to other developers.
The detailed estimation allows to understand whether the costs correspond to the time limits, and whether the functionality meets your vision.
Pay special attention to the technical task
One of the main steps of contract preparation is writing a SOW (Scope Of Work) – a brief list of requirements to the application. For small and medium projects SOW is enough to start the development. For large-scale projects after the contract signing there’s a preparation of technical task.
SOW and technical task are a formalization of developer’s and customer’s vision in terms of the developed applications. It’s an opportunity to get sure that the vision is the same, the borders are set and the wishes are known. But these documents are strictly technical and may not fully reflect the business processes inside the app. So it’s best to read the documentation thoroughly, ask about all the terms and require comments for acquiring your wishes.
In some cases the estimation changes after preparing the SOW, mostly to the larger side. Maybe you came out of your own task borders. Maybe it turned out that the cheaper technologies cannot be used, and the more expensive ones are required. Maybe the contractor offered something more expensive, but more progressive or easier to deploy. The decision of continuing/cancelling the work is up to you and your trust to the contractor. But I strongly recommend to discuss all the changes. If the increase of cost is really required and useful, the contractor will always be able to explain in adequately.
Figure out the design
Depending on the application, the design is:
- the composition of standard elements on the screen and the preparation of the basic minimum (icons, welcome screen, color range etc.)
- adding your own elements/controls
- preparation of full screens set within the separate design phase
The standard elements/controls and the typical interface development approaches are described in the manual of the platform. The manual suggests that any application may be implemented with the standard elements. If you’d like to enhance the vision with the screens drafts, reading the manual will allow to understand the capabilities of the platform and to check out whether they conform to the application requirements (or you’ll need to develop your own elements).
The first approach is enough for the info apps based on data, so that the main function is providing the access to the data for the user, when all comes to user-friendliness.
The second approach means that you need to insert a couple of beautiful counters into the app, make lists with the variable-width cells, and change the default behaviour of the controls. The last is the most important because the default parameters often don’t meet your requirements. In this case the designer creates personal customized elements and controls. Of course, this will be more expensive than the development with standard elements.
If you create a promo app or otherwise wish to customize the design, it’s better to find a good designer first, who will prepare all the drafts and will eager to implement them throughout the whole development workflow. The drafts list in this case is the same important as the technical task. This is because mobile app screens design differs from web design, requires more effort and more money. You may start without drafts, but in this case you should notify the contractor that the design will be supplied later. Then you’ll need additional resources or re-estimation of the whole project after the design is ready.
You can hire a third-party designer, use your own design staff, or outsource the design to the contractor. Anyway you should make sure that the designer is familiar with the manual and will not invent the invented, drawing custom elements instead of using the same standard ones. Ask the designer to show you his portfolio and then decide.
Prepare the data
Frequently the app needs to be integrated with a database, where the app information is stored and processed. In this case you need a specification for the data exchange, and the implementation of this specification on the server. Usually such specification is outsourced to the contractor. All the works on the server can be performed by contractor or by your own staff. The API specification is quite a formal document and it’s quite easy to implement the required functionality if you maintain the database by yourself. Otherwise you’ll need to provide the contractor an access to your servers and pay for the work.
The data base may be new (created specially for the app) or before-existing. Filling the database with data is usually up to the customer. It must be considered when planning the timeline, because the app cannot be launched if the database is not ready.
If the database already exists, you should remember that if application requires changing the database structure (adding fields, categories etc.), all this work will also refer to the customer. Obviously, the new database will require the new interface, and the development of a new interface is an extra task, not included into the app integration workflow.
Define the person responsible for the project
The necessity to distribute the responsibility is obvious, but you shouldn’t forget about distributing the time and giving enough credentials to the customer’s representative. If the time lapse is critical, I strongly advise to verify the timeline once more and to unload your representative’s time to the maximum extent for the periods of preparing SOW, technical tasking, project starting and final testing. These phases require immediate response to the arousing problems, otherwise the timeline may fail. The same risk goes from the lack of representative’s credentials to make decisions for the project or to attract the staff to solve the tasks; the time needed to verify everything may severely impact the timeline.
Зrepare for publishing the app in the application store
The publishing process consists of:
- loading the application to the store
- publishing the information
- moderating the app by the store’s administration and submitting it to the store
Each platform offers a detailed manual for apps publishing. Loading is a very typical process; usually the contractor performs it by himself.
The rules of informational maintenance are also stated in the manual. The informational materials include keywords list, screenshot, brief description, payment manual (if the application deals with content selling), feedback contacts and support address. Depending on the platform, category, age qualification and some other supplementary data may be required.
On some platforms the application is moderated by the store staff after submitting. It takes 1-4 weeks for Apple, the same for RIM, up to 1 week for Microsoft; only Google submits the apps instantly. Moderation includes code scanning for exclusion of errors or prohibited functions/content. The correspondence of supplied information may also be checked. If everything is ok, the application is submitted for store clients access. If errors or prohibited elements were found, the developer is informed. After correcting the errors and deleting the prohibited content the app needs to be re-submitted.
The submitting goes through the developer’s account. Usually your contractor already has such account. You may use this way, or submit the app from your company’s account. In first case the contractor will be listed as developer, and your company as the owner. If the contractor loses its account, you will need to re-submit the app from your account, thus losing all the ratings and reviews. In second case (your own account) doesn’t have this threat, but requires some additional expenses and time. The expenses are $99 per year for Apple and Microsoft, $25 (paid once) for Google, free for RIM. The time for registration can be up to 2-3 weeks.
In the end I want to say that the mobile apps market is growing steeply, and to be presented on it means to be up-to-date. All you need for a successful startup here is to always remember its goals and to choose the appropriate means to reach them.
I really hope that this article helped you to answer some of your questions and made a right inclination to the vision of your future mobile app development. Good luck for you and your projects!
Want to benefit by our experience in mobile application development? Start with your project estimation right now!
评论
i hope this will help you to test your app pcloudy (www.pcloudy.com)
Thanks
发表评论
-
Resource-type-->Color State List Resource
2013-04-22 10:50 1664Color State List Resource Col ... -
Android. Handling some SQLite issues.
2012-11-07 17:48 1777转载: http://www.enterra-inc.com/ ... -
git 获取android source
2012-08-15 12:52 3681在做android开发的时,在遇到某一问题,想看andro ... -
Android 手机上获取物理唯一标识码
2012-07-27 10:27 11768唯一标识码这东西在网络应用中非常有用,例如检测是否 ... -
android listview adapter
2012-06-23 14:41 1018listview 在什么情况下会刷新: 1. 当ada ... -
Android多线程下载详解
2012-06-20 18:31 941http://www.pin5i.com/showtopic- ... -
Unable to open sync connection!
2012-06-18 17:04 965把设置里的USB调试重新开了开,问题解决! -
android checkbox 定制(修改checkbox 的图片)
2012-06-18 14:30 3646转载:http://www.bangchui.org/read ... -
Android ProgressBar自定义图片进度,自定义渐变色进度条
2012-06-15 16:53 7591 -
Android应用开发全流程
2012-06-15 09:21 3777转载:http://blog.csd ... -
intent.setDataAndType
2012-06-13 18:24 74871. Intent open a picture ... -
Android操作HTTP实现与服务器通信
2012-06-03 14:47 1743本示例以Servlet为例,演示Android与Serv ... -
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thre
2012-06-03 12:00 9034当应用程序启动,创建了一个叫“main”的线程,用于管理 ... -
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开
2012-05-25 13:58 1524这篇文章是android开发人员的必备知识,是我特别为大 ... -
android Collections.sort(List<T> list) 与JAVA Collections.sort(List<T> list)
2012-05-04 10:33 1858Info.java : public class In ... -
android string xliff:g
2012-03-22 10:47 1019这个主要用于程序中,动态的插入内容时候使用,例如, ... -
android的一些开源项目
2011-12-07 17:13 2169转自: http://www.uuroid.com ... -
Understanding the Android Build Process
2011-11-25 12:38 976http://www.alittlemadness.com/2 ... -
Android 命令行手动编译打包详解
2011-11-24 10:07 1246Android 命令行手动编译打包过程图 【详细步骤】: 1 ... -
Android ListView 自定义背景后 滚动时的背景变黑问题
2011-11-21 14:30 1552ListView是常用的显示控件, ...
相关推荐
sourceinsight_4.0破解 1. 安装原版软件:Source Insight Version 4.0.0085/Source Insight Version 4.0.0086 2. 替换原主程序:sourceinsight4.exe 3. 导入授权文件(Import a new license file):si4.pediy.lic
1. 安装原版软件:Source Insight Version 4.0.0087 - October 17, 2017 2. 替换原主程序:sourceinsight4.exe 3. 导入授权文件(Import a new license file):si4.pediy.lic Patched sourceinsight4.exe: Size Date...
If you are a JavaScript developer who is starting out to build ambitious Ember.js application, or a developer who has prior Ember.js experience and want to transition your application to the latest ...
**Source Insight 4.0.121:深入解析与高效代码编辑** Source Insight是一款备受程序员喜爱的源代码查看和编辑工具,尤其在C、C++、Java等编程语言的开发过程中,它提供了强大的语法高亮、代码智能提示、代码跳转等...
描述中提到的“Add in sourceInsight malab key word, use of sourceInsight check the source code”表明这个压缩包的目标是帮助用户在Source Insight中添加MATLAB的关键词支持,使用户能够利用Source Insight的...
source insight python Python.CLF 语言包 SourceInsight作如下配置: (1)选择Options > Preferences,单击Languages选项; (2)单击import按钮,装载并导入Python.CLF; (3)这时可以看到,左栏语言列表多...
He is currently senior software engineer at Google, where he was a member of the team that developed the Android mobile platform’s kernel. Prior to Google, he was Chief Architect, Linux Desktop, at ...
source insight C.tom 示例使用方法参考http://blog.csdn.net/aquakguo0he1/article/details/7493984
该文件主要解决了在项目开发过程中或者在质量部组织的代码飞检活动中评审人统计代码缺陷并提交代码作者进行缺陷确认修改,之后再提交给评审人进行问题修改确认的活动。CodeReview工具的作用:1.减少评审人的缺陷记录...
《InsightFace:深度学习在人脸识别领域的探索与实践》 InsightFace,作为一个开源的人脸识别项目,以其高效、精准的特性,在深度学习领域中占据了重要地位。这个名为"insightface.rar"的压缩包文件,包含了项目的...
《Source Insight 4.0.86.0:C++程序员的代码查看神器》 Source Insight,这是一款深受程序员喜爱的代码查看与编辑工具,尤其是对于C++编程语言的开发者而言,它就如同一把神器,能够大幅提升开发效率。版本4.0....
《Source Insight 4.00.0084:强大的编程编辑器》 Source Insight,作为一款备受程序员青睐的源代码分析和编辑工具,其4.00.0084版本更是集诸多先进功能于一身,专为C/C++、Java以及x86汇编语言的开发人员提供高效...
sourceInsight的进行.c和.h的跳转插件,配置快捷键后一键跳转,还是很好用的。
**源码洞察(Source Insight)应用指南** **一、源码洞察简介** Source Insight是一款流行的源代码阅读和分析工具,广泛应用于软件开发过程中。它以其强大的语法高亮、自动完成、实时查找和智能跳转等功能,深受...
sourceinsight40126-setup.exe sourceinsight40126-setup.exe sourceinsight40126-setup.exe sourceinsight40126-setup.exe sourceinsight40126-setup.exe sourceinsight40126-setup.exe sourceinsight40126-setup....
**SourceInsight 4 插件详解** SourceInsight是一款广受程序员喜爱的源代码查看和编辑工具,尤其在C/C++、Java和C#等编程语言中表现出色。其强大的代码浏览、分析和编辑功能使得开发过程更为高效。本文将详细介绍...
代码阅读编辑神器source insight 4.078 linux内核源码阅读神器:si4 真正的第四版,破解版 最新版本source insight 4.0. crack keygen 最新source insight 4.0.0087,2017.10.x更新 真正source insight4使用 source ...