Excerpt for How to create your own apps business: Making money by selling your apps on the Intel AppUp (SM) center by Intel , available in its entirety at Smashwords





How to Create Your own Apps Business

Making money by selling your apps on the Intel AppUp(sm) center



Intel





_



Smashwords Edition

Copyright 2011 Intel

Thank you for downloading this free ebook. You are welcome to share it with your friends. This book may be reproduced, copied and distributed for non-commercial purposes, provided the book remains in its complete original form. Thank you for your support.


Table of Contents


Introduction

Understanding the Intel AppUp center

Generating your app idea

Understanding the app development process

Choosing the right tools and languages

Joining the Intel AppUp developer program

Publishing your app in the Intel AppUp center

Getting paid

Seeking additional support

Note



Introduction


A good idea is all it takes to change your world. If you can imagine the next hit game, or an indispensible utility program, there’s nothing stopping you from building a business around it.

With the arrival of app centers on a wide range of platforms, you can now compete alongside major game studios and sell directly to the end user. It doesn’t matter whether you are a student coding in your bedroom, a full time programmer who hacks databases at work and designs games for fun of an evening, or a small business taking your first steps in the software industry. You have an equal right to reach the customer, and an equal opportunity to knock established software houses from the top of the software charts.

Of course, there’s no guarantee that you’ll be able to retire early or emulate the phenomenal success of Angry Birds*, which has become a micro-economy that extends beyond a computer game into board games, Hollywood movie treatments and plush toys. While the newspapers prefer to report such triumphs, there is another story: Plenty of developers are now able to work on their own terms, thanks to app development. They can dedicate themselves to the work they love, and reap all the rewards of their creativity. They have built an apps business that gives them the freedom to choose what they create, and how they create it.

This guide, provided by the Intel AppUp(sm) developer program, outlines the steps you can take if you want to join them.

__________


What is the Intel AppUp developer program?

The Intel AppUp developer program provides a single channel for distributing apps to multiple devices, multiple operating systems and multiple app stores. Developers can submit apps once for validation to be sold through Intel’s many retail and device manufacturer partner app stores across the globe. The Intel AppUp developer program supports netbooks and tablets today, and will expand to PC, Ultrabook, smartphone, IVI and other devices in the near future. The programme supports Windows*, Linux*, Java, .Net*, MeeGo, C++, HTML5 and more, and it’s easy to port to multiple operating systems.

__________


What makes a good app?

To start planning your app development, the first thing you need is a good idea for an app. So what makes a good app? Lots of people have different views on this, and you’ll have your own ideas based on your experience. Here are a few pointers:

* A good app fulfils a need. There’s no point designing an elegant app that does something nobody wants. In the case of a game, the need might be entertainment. But there are lots of opportunities to create non-gaming apps that help people to achieve some of their work goals, or provide a vital tool for a hobby. Think about how today’s computing devices could help somebody with their life. Why would somebody use your app?

* A good app is effective. Whatever it sets out to do, it does it well. People are more likely to shop around for an alternative app than tolerate one that falls short of expectations.

* A good app looks attractive. Whether it’s a game or a utility, your app needs to look good. First impressions count, and people will judge the quality of your app by the care you take in its presentation.

* A good app is focused. Over the years, we’ve become accustomed to software on our desktop computers that can do almost anything, with hundreds of features we might never discover. By contrast, the most successful apps focus on one particular goal, and don’t attempt to be all things to all people. There is a point where features become clutter, especially on devices with smaller screens. App users prefer simplicity.

* A good app is intuitive. People don’t expect to have to read a user manual to get started. They expect the interface to be easy enough to use, that they can get started with minimal guidance. An app that uses familiar icons and conventions from other apps and the operating system will be easier for people to adopt.


What makes an app successful?

There’s no guaranteed formula for success, but there are some factors that differentiate successful apps from those that sink without a trace. Assuming you’ve got a good app, the most important factors for success are:

* Engagement. Your app must inspire people to spend time with it, and come back to it multiple times. With advertising-funded apps, this is particularly important because the value of a single visit to an app is negligible. For paid apps, it is important that people feel they get value for money. The main reason engagement is important, though, is that your app needs to make an impression on people.

* Word of mouth. The most successful apps are the ones that people want to tell others about, and want to show off. Perhaps your game is frustratingly addictive or makes people laugh enough that they want to share the experience with their friends. Alternatively, perhaps your app is useful enough that people want their friends to benefit. People learn about many of the apps they use through friends, so it’s important your users are prepared to recommend your work.

* Availability. People expect apps to be easily available on their platform of choice, which means it makes sense to ensure your app is available on as many app centers as possible. The Intel AppUp developer program cuts the complexity of dealing with lots of app centers by providing a single portal through which you can reach multiple retailers and devices.

* Promotion. You need to stimulate buzz around your app and create awareness of it from outside the app centers. Perhaps you can approach bloggers who write about your chosen niche to ask them to review your app? Is your local newspaper interested in writing about your remarkable journey in setting up your apps business? Can you blog about your app development or create a website with additional information about the app that attracts potential customers? Think about all the channels you can use to tell people about your app. The most successful app businesses marry effective app design and creation with superb marketing and PR skills.

* Social integration. Most devices today are connected to the internet and people are accustomed to using them for keeping in touch with friends, by email or through social networking websites. The most successful apps integrate social features, such as the ability to invite friends to play, to tweet high scores or to post content on Facebook. For users, it’s an additional feature. For you, it’s a sure-fire way to ensure that all your users’ friends know your app exists and that their friend is already using it.

* Box copy. With apps, there’s no box on the shelf, but there’s still a need for all the information that would appear on the box. Make sure you upload good quality screenshots to the store that reveal how the app works. A clear description can help people to choose your app over its rivals, and an attractive icon can encourage people to view your app’s page in the store in the first place. Complete all the information the store requests: it’s all there to help the store sell your app.

* Social proof. Do all you can to encourage users to post reviews of your app in the store. They show your app is credible and the more people who are already using an app, the more likely somebody else is to download it from the store and try it themselves. Downloading an app with no reviews or ratings feels risky, compared to downloading an app that others have tested and recommended, even though it’s the same app and it’s already in a safe environment. Add quotes from press or blog reviews to your app description too. People prefer to download apps that others are using and talking about.

* Support. When users do occasionally need help or request a new feature, they are reassured to know that the app developer is listening. Keeping in touch with your customers and responding to them helps to build a community around your software, so that you can encourage repeat purchases as you launch new apps.


What makes an app easy to use?

Although every app is different, there are some guidelines that can help to ensure your app is easy to use:

* Define the goals clearly. Your first screen should make clear what the app does and how to do it.

* Don’t make users think. Instead of adding layers of complexity and information, strip your app back to its essential features and make sure people can use it without having to concentrate.

* Minimise distraction. Make sure the user can focus on the content and is not distracted by the user interface.

* Simplify controls. Strike a balance between minimising the number of touches required to complete a task and making sure users can understand what to do next. There’s no point having 30 icons on screen if people can’t remember what they do. Breaking a complex task into smaller chunks can make it easier for people to follow, but will take longer to carry out the task.

* Use familiar icons and controls. Integrate your app with the device’s user interface and use its conventions. That way your app will look like most other apps, and your users will arrive at the app with a good idea already of how it works.

* Avoid dialogue boxes. Boxes that pop-up on screen break the user’s concentration, so it’s better to provide feedback in other ways. For example, if someone fills in a form wrongly, put a message beside the form box at the time they finish entering their information.

* Reduce full screen transitions. When you clear the screen and display something completely new, the user’s train of thought in the app is broken and they have to start over with learning how to use a completely new screen. Minimise the number of full screen transitions to help your users stay engaged with your app.

* Let users work how they want. For example, if you’re creating an app for a tablet device, make sure you support different orientations.

* Provide instant-on and off. Make it easy for users to drop into and out of your app by starting quickly and providing a smooth exit when the user wants it. Save in the background if possible, so that users can have confidence you’re looking after their data and they don’t lose anything by forgetting to deliberately save.

When you’re planning your app, remember that your users will decide how successful your app is. The easier you can make it to use your app, the happier your users will be, and the more likely they will be to recommend it.


What skills and resources do you need?

Creating a successful app requires a range of skills, but you don’t necessarily need to have them all yourself. You might be able to partner with friends who have the experience you lack, or you might be able to hire independent developers or artists who can work to your designs. That approach means you need to spend some money up-front, but ensures you keep all the money you make from the app sales. While some apps are team efforts, many developers have or acquire all the skills to create and sell their apps successfully. People often find that the app project itself provides a good framework for learning the skills required.

__________

Tip

Websites such as www.elance.com* help you to find and hire freelance programmers, artists and marketers.

__________


Equipment required

The equipment required to develop software is minimal, and consists mostly of equipment you probably already have access to:

* A computer, to use for developing the software. For ease of use and speed of development, this should be a conventional desktop computer.

* Testing platform. You should also have one of your target devices available for testing. If you plan to create netbook apps, for example, you can develop on your desktop computer but should test your app on a real netbook to make sure it fits the screen size and use model well.

* Internet connection. To upload your apps and to download additional tools required, you will need to have an internet connection.

* Developer tools. There are several different tools you can use to develop apps, which this guide covers later. You’ll need to have at least one of these tools.


Skills required

Depending on the app you’re creating, you might need specialist skills or knowledge. An app for stamp collectors, for example, will require its designer to know about what matters to those hobbyists. There are, however, a number of technical and business skills required for every app:

* App design: This isn’t just about the appearance of the app. It’s about the app’s screen layout, how the app works, what it does, and how it does it. It’s all about the experience your app offers the end user, and how you make that as smooth as possible.

* Programming: Also called coding or software development, this is about creating the set of instructions the computer needs to be able to perform the app’s functions. For example, if your app is body-mass-index (BMI) calculator, you need to write instructions so the computer knows how to ask for the user’s height and weight, how to use them to calculate the BMI, and how to present the results to the user. Instructions can be written in different programming languages, and the way that you write these instructions depends on the developer tools you use.

* Graphic design: To ensure your app looks attractive, you need to design its interface. You might need icons, title screens, and game character graphics.

* Sound design: Depending on how important sound is to the concept of your app, you might also need somebody to help you to create music or sound effects. Royalty free and creative-commons-licensed music and sound effects are also available on the internet, which you might be able to incorporate in your app.

* Marketing: To make a splash with your app, make sure you invest time in creating the resources needed by app centers, press and bloggers so they can help you promote your software.

Whether you acquire these skills yourself or build a team, for your app to be successful, you need to take responsibility for making sure all these roles are filled.

__________

Tip

Having a completed software product is a powerful addition to your CV. Even if you plan to work within the conventional software industry, designing, programming and/or marketing an app will help you acquire you the skills employers are looking for, and give you tangible proof that you have them.

__________


How do you get your app to market?


While the internet makes it easy to distribute digital content, it has several challenges. People will be reluctant to enter payment details into an unknown website, and won’t know whether they can trust software offered online to be free of viruses or other malware. Finding software online also requires users to go looking for it, and to find it among a lot of unrelated content, including blog posts, articles, photos and music.

App centers provide a channel for people to discover and buy new software for their devices, and for software developers to distribute their software. They solve four key challenges of online distribution:

* They provide a way for people to find new software they might like and might not otherwise have discovered.

* They provide a trusted and secure intermediary for processing payments.

* They enable automated distribution of software, so the customer can download immediately after authorising payment.

* Many leading app centers, including the Intel AppUp(sm) center, provide a trusted and safe environment for buying software because all apps are checked prior to inclusion in the store to make sure they meet the store’s quality and community standards.

By participating in the Intel AppUp developer program, you can distribute your app through all app centers powered by the Intel AppUp center, including those offered by Dixons* (a leading consumer electronics retailer in Europe), Best Buy* (a leading retailer in the US), Croma* (a leading retailer in India), and netbook manufacturer Asus*.

To get your app to market in partnership with the Intel AppUp developer program, you need to follow these steps:

1. Come up with a good idea for an app.

2. Develop your app using your choice of tools and/or programming languages.

3. Join the Intel AppUp developer program by registering online.

4. Integrate your app with the Intel AppUp center, by adding some short code provided by the Intel AppUp developer program.

5. Upload your app to the Intel AppUp developer program.

6. Get your app validated.

7. Get paid!

The rest of this guide will talk you through these steps in more detail.



Understanding the Intel AppUp Center


The Intel AppUp center is the storefront where apps are sold to consumers . It is available now for netbooks, and will expand to cover a wide range of devices, including Ultrabook™, PCs, smartphones, tablets, smart TV, and in-vehicle infotainment. Retail and manufacturing partners are using it as the basis of app centers they are pre-installing or offering to their customers for free download. The app center has one million registered customers. Developers who use the store as a channel to market include Rovio* (the creators of Angry Birds*), Namco* (the creators of Pac-Man), and Sega*.

If you do not already have the Intel AppUp center on your device, you can download it for free from http://www.pcworld.co.uk/appcentre. It is available now for Microsoft* Windows* XP & 7.

Above: The PC World* KnowHow* App Centre homepage

__________

Tip

Look at existing apps in the store to identify those that might compete with yours. Look at how they describe themselves, and identify ways you can differentiate the design and marketing of your app.

__________

The Intel AppUp center (pictured below) has a number of ways you can find apps:

* Staff Picks are apps recommended by the store’s curators. Different versions of the store might have different picks.

* What’s Hot shows you the apps that have the highest ratings and most downloads.

* New Releases show you the latest additions to the store.

* Categories enable you to browse by the type of app, including games, educational apps, books, business and more.

* The search box enables you to search for apps by title or description.

To download apps, you will need to create an account. If you wish you download paid apps, you will need to additionally provide payment information. To encourage people to try apps, the store provides a 24-hour free trial period for every app. The customer’s payment method is charged 24 hours after the purchase is confirmed, unless the customer subsequently cancels it, in which case the app is automatically deleted from the user’s computer. To stop abuse, each customer can only have one free trial period for each app (including any revisions of that app).

Apps bought from the Intel AppUp center run within it. After you have bought an app or downloaded a free app, you can start it by running the Intel AppUp center and then clicking My Apps in the top-left corner. When the app is run, the Intel AppUp center confirms that the user has a licence to run the requested software as an anti-piracy measure.



Generating Your App Idea


Successful apps start with great ideas. There’s no point having an app that looks fantastic and scales new heights in user interface design, if nobody needs or wants the app in the first place. So before you begin designing and coding your app, dedicate some time to coming up with the right idea. It might take a week. It might take a month. But you can’t dive into the code until you know what you want to achieve.


How to come up with an app idea

People seek inspiration in lots of different places. If you’re stuck, here are some tips for generating good app ideas:

* What are you passionate about? If you can create the kind of app that would excite you as a user, you’ll be driven by a genuine love of the niche you are catering for. Think about your hobbies, interests, what you read, and what you watch on TV.

* Who do you know? Consider the groups you are a member of, either online or in real life; not from a marketing standpoint (although it doesn’t hurt to be in touch with your audience); more from the point of view of what makes these people tick, and how you can make their lives easier or more fun.

* Identify niche audiences. Look at the magazines that are published. The fact there is a regular publication for a particular niche suggests there is enough money there to support it. The nerdier the magazine, the better. By reading the magazine you can also get some ideas on what its readers most need, and what they most value.

* Research your audience. If you already have an audience in mind for your app, whether it’s niche or mainstream, do as much research as you can. Gather information on demographics, habits and consumption patterns to see if that insight inspires an idea. Consider using focus groups or even just meeting target customers face to face to chat about your ideas, and see what they can add. Ask people: “what do you wish your device could do for you?” They might already have had the idea you’re looking for.

* Observe deliberately. Pay attention to what you do, and what `others do. Take notes of how you consume information, when you wish you had more information, and when you take decisions on the basis of assumptions or guesswork instead of informed choice. Use these observations to inspire new apps that put information into the hands of people when they need it the most.

* What do your favourite games have in common? Think about what attracts you to a game or other entertainment experience, and how you could intensify that in your own app concept. Can you mix and match ideas from different places which don’t usually belong together?

* Can you run a brainstorm? Why not invite some friends around and see if you can bounce ideas off each other. Remember: there are no bad ideas in a brainstorm. A brainstorm is for generating all the ideas you and your team can imagine. Judge them later. An app idea doesn’t necessarily need to be unique. There are hundreds of puzzle and retro-styled arcade games out there, and you could aim to be the best of them with a quirky new take on a familiar genre. Developing games is a good way to learn the process of creating and selling apps, and is where many developers start out.

But it can be easier to succeed if you create an app that does something we’ve never seen before. It’s easier to do that by looking at smaller specialist audiences, and creating something they will find indispensable. The advantage of being a big fish in a small pond is that you take up all the water. If you can identify a profitable niche and make a successful app for it, you’ll have a near monopoly in that market. You’ll have an addressable audience, and you’ll be able to show them your app meets a unique need.


Avoiding prohibited content

Very few people need to worry about including content in their application that would result in it being banned from Intel’s app center. Intel publishes guidelines on what is and is not allowed in the Intel AppUp center, and the aim is to ensure the store remains family-friendly. All apps are age-rated so that app buyers can make an informed choice about what they buy, and all icons and store descriptions in the store are suitable for all audiences, even if some apps are themselves for mature gamers.

The only content that is banned outright relates to pornography, prostitution, sexual fetishes, sexual content depicting children or animals, and explicit sexual language.

Apps are also rejected if they use trademarks or other copyright materials belonging to other people or companies without their permission.

Depending on the age of your target audience, certain types of content might be unsuitable. These are the age rating guidelines:

Rating

Applications with this rating may contain...

3+

* Content that is generally considered suitable for children three years of age and older

* No content that parents or educators would find objectionable

* No collection of personal data

6+

* Mild or infrequent acts of violence to fantasy characters (e.g. cartoons and animation)

* Minimal advertising suitable for children

* No collection of personal data

10+

* Mild or infrequent acts of violence to fantasy characters (e.g. cartoons and animation)

* Mild or infrequent depictions of weapons or their use

* Mild expletives or strong language

* Minimal content that may set a bad example for children: teaches or encourages children to perform harmful acts or imitate dangerous behaviour

* Minimal content that creates feelings of fear, intimidation, horror or psychological terror

* Minimal advertising suitable for children

* No collection of personal data

13+

* Infrequent depictions of mild sexual material (e.g. passionate kissing)

* Frequent or intense depictions of violence against fantasy characters (e.g. cartoons and animation)

* Mild or infrequent depictions of violence against humans or animals (e.g. death, killing, dismemberment, torture)

* Frequent or intense depictions of weapons or their use

* Mild or infrequent use of vulgar or abusive language or swearing

* Gambling

* Access to moderated and unmoderated user-generated content (e.g. chat rooms, instant messages, email, etc.)

* Advertising

* Collection of personal data (e.g. e-mail addresses, etc.)

17+

* Frequent or intense depictions of mild sexual material; violence; potentially offensive language; potentially harmful activities, including depictions of tobacco or its use, alcohol or its use, recreational drugs or their use; potentially disturbing material or content that assumes an adult audience

* Access to or depictions of nudity or sexual material in an artistic, artistic literature, educational, medical, news, or religious context

* Unfiltered access to internet

18+

THIS CONTENT IS NOT ALLOWED

* Content that generally falls under the category of pornography

* Nudity or sexual material (e.g. exposed breasts, bare buttocks, visible genitals, visible sexual touching, explicit sexual language, erections/explicit sexual acts, bondage/SM, erotica)

* Content that depicts or suggests prostitution

* Depictions of sexual fetishes

* Content of a sexual nature depicting children or animals

You can find the full guidelines at:

http://appdeveloper.intel.com/en-us/article/validation-guidelines

__________

Tip

While it is important to stay true to the theme of your app and your audience’s expectations of it, you might be able to broaden your audience by removing content unsuitable for younger people. A fighting game, for example, could broaden its audience from 17+ to 13+ by changing realistic characters into fantasy figures.

__________



Understanding the App Development Process


Now that you have come up with an idea for your app, it’s time to get technical and start building it. First, you’ll need to decide what tools and programming languages you will use to build your app. As you’ll see shortly, the Intel AppUp developer program supports a wide range of different options, so if you have programming experience, you can probably use your existing skills. If the tools and languages you will use are new to you, you’ll need to dedicate time to learning how to use them.

You can then start to program the app itself. Developers often create prototypes which perform key functionality from the app, to prove to themselves that the app’s concept works and that their approach for implementing it works. For this stage, you can create rough and ready graphics using whatever you have to hand: Microsoft* Paint*, Photoshop*, or scanned crayon drawings on paper. It doesn’t matter. The idea is to not become too wedded to any particular design early on. Don’t spend too much time on art until you’ve got the app working, otherwise you’ll be reluctant to start over if you need to, later.

__________

Tip

Test your sketches and prototypes. Ask people whether they can understand how they would use your app based on your sketches, or see if they can navigate the prototype. It’s best if you can find one of your target users to test for you, but testing with anyone is better than no testing at all.

__________

Once you have the prototype working, you can create the artwork. This might include elements of the user interface, logos and title screens for the app, and any characters, objects and backgrounds that make up a game environment.

Adding the artwork into the prototype game should bring you close to your finished product, but you can continue to develop and test until you’re happy with the end result.

Once your app is finished, you need to integrate it with the Intel AppUp software development kit, which means adding some code to it so that your app can interact with the app centers. You can then submit your app, together with its marketing information, to the AppUp developer program. Before apps go on sale in the store, Intel validates them to check they offer a good quality experience.


Test early, test often

To ensure that your app is of a high enough quality to be stocked in the app center, make sure you plan to test it frequently. Errors picked up early are easier to eradicate, and regular testing means you can fix bugs as you go, with less risk of introducing new ones. Developers instinctively test regularly to check their code performs as expected, but it pays to set time aside for testing and to make sure it’s a part of your plans before you even begin development.

Here are a few tips to make sure your testing is as effective as possible:

- Your app won’t be allowed in the store if it doesn’t work. Check all your features perform as expected and that the app doesn’t crash. Try to break the app by doing things you shouldn’t, such as entering text in a phone number box. If you try hard and can’t break the app, it’s ready to face real users.

- Conduct usability tests. After you’ve spent so long working on an app, your own judgement can become clouded, and it’s hard to see the app afresh. That’s why it’s essential that you ask people to test your app, and point out anything they don’t understand. Make sure that your user interface is consistent and that terms are used accurately. EXIT should exit the app, and BACK should take the user back to a menu. Intel will block any apps that have confusing interfaces, and the best way to test is to ask real users to pick up the app and start using it, without giving them a tutorial first.

- Test using the devices your app will run on. You might develop using a desktop PC, but if you’re creating a netbook game, make sure you try it out on a netbook. Intel won’t authorise apps that have overlapping or truncated text or bleeding colours. Where appropriate, your app must run full-screen and layouts must adapt on devices, such as tablets, that allow the screen to be rotated. Make sure your icon size is appropriate for the device’s display size, too.

- As a final step, you can invite beta testers to download your app from the store and try installing it. Use this opportunity to make sure your app can clear validation without a hitch.

In the rush of excitement to launch your app, it might be tempting to cut corners on testing. But the goal isn’t to get the app submitted to the store quickly: it’s to sell apps. Investing time in testing will help to ensure that your app can pass validation so it can actually go on sale, and that it offers the great experience that drives word-of-mouth recommendations and good reviews.



Choosing the Right Tools and Languages


The Intel AppUp developer program supports a wide range of programming languages or tools, so that you can use the one you are most familiar with, or the one you most want to learn. It also makes it easier to reuse your apps in different places, so you could sell your apps in the Intel AppUp center and through other app centers too.

It takes time to master a programming language or development tool, but all the options for AppUp have a large ecosystem of tutorials and other programmers. If you have experience learning a programming language previously, you will find it easier to learn one of these, or might find that you can already use what you know to build new apps for AppUp.

The Intel AppUp center supports Microsoft* Windows* XP & 7, which are the leading operating system for desktop computers and is widely deployed in netbooks and other devices too. If you have already developed an app for Windows* computers, you can easily modify it for distribution on netbooks through the AppUp center.


Intel AppUp(tm) Creator beta

The Intel AppUp developer program has a number of tools and resources to help developers across the spectrum to create apps for the Intel AppUp center. Just recently, the programme made available the beta version of the Intel AppUp(tm) Creator for beginner and novice developers.


The Intel AppUp Creator beta is a web-based app-authoring tool that allows all kinds of users, especially those without any programming or coding knowledge, to easily and quickly create, test, and publish web and e-book apps in the Intel AppUp(sm) Center.

Try it at appdeveloper.intel.com/us-en/creator/


DarkBasic*

If you’re developing games and have little programming experience, DarkBasic* might be your best solution. It is a games creation package for Microsoft* Windows* that uses a simple but powerful programming language to enable you to build two-dimensional and three-dimensional games. It includes support for mouse and keyboard control, collision detection (the engine of nearly any game), animations, lighting, transparency, fog effects, scaling, mirroring, blurring and fading. Using DarkBasic* Pro, you can even build 3D stereoscopic games.

DarkBasic* takes its name from Basic, a programming language that was created in 1964 to make programming as accessible as possible, and it has been enhanced to focus on those features needed for easy game design. There are friendly forums where you can seek advice, and DarkBasic* comes with 45 demonstration games, 25 tutorials and a range of textures, sound effects and 3D models you can use in your game.

There are three versions of DarkBasic*, starting at £9.99 for DarkBasic* Lite which enables you to build a game but not to create a distributable version of it. You can upgrade to DarkBasic* (£24.99) or DarkBasic* Pro (£43.99) later. You can distribute your games without needing to pay any royalties or acquire a licence for using DarkBasic*.

DarkBasic* is created by The Game Creators*, who have also submitted several games to the Intel AppUp developer program. You can find out more about DarkBasic here and can watch a video tutorial on submitting DarkBasic apps to the Intel AppUp developer program.


C / C++ and .Net

C and C++ are supported by the Intel AppUp developer program for creating Windows apps. These languages are considerably more complex than using a tool like DarkBasic, but are powerful languages that can enable you to create any type of Windows app. If you have an iPhone app that you want to port to AppUp, you can convert it from Apple’s* Objective-C to C++. This iPhone porting checklist provides a useful starting point for the process.

The .Net* framework is also supported by AppUp. This Microsoft* technology makes it easier to create Windows applications, and is used by more developers than the other frameworks or languages supported by AppUp.

To create your app using either of these, you need to invest in a copy of Microsoft* Visual Studio* 2010 or Microsoft* Visual Studio* 2008. These provide an integrated developer environment, with the tools you need to develop your code and compile it. Intel provides a software development kit plug-in to provide AppUp tools within Visual Studio itself. You can download a free trial of Visual Studio here.

__________

TIP

There is a free Express edition of Visual C++ 2010, the C++ language version of Visual Studio. The AppUp SDK isn’t compatible with it, but you can use it to try developing apps at your leisure, and then upgrade to the full commercial version later or use one of the third-party tools such as WiX* that will enable you to create an installation file in line with Intel AppUp’s requirements.

__________

For more support with creating applications using C, C++ or .Net, see:

- Intel AppUp Software Development Kit Plug-in for Visual Studio software Release Notes

- Intel AppUp Software Development Kit for .NET technology Release Notes

- Intel AppUp Software Development Kit API Reference for .NET technology

- Intel AppUp Software Development Kit for C/C++ Release Notes

- Intel AppUp Software Development Kit API Reference for C++

- Intel AppUp Software Development Kit API Reference for C


Java

The aim of Java is to enable the same program to run on lots of different types of hardware. It works because the Java programs run inside another program (the Java virtual machine), and that program is tailored for different types of hardware. As a result, your program can work without changes on different devices, although in practice different screen resolutions and hardware capabilities mean that some amendment is usually desirable when software targets different devices.

Java is in widespread use on smartphones. If you have developed a smartphone app using Java, you can convert it to sell through AppUp relatively easily.

Java was created by SUN Microsystems*, now owned by Oracle*, and is mostly free and open source.

To get started with Java, see these resources:

- Oracle’s* Java homepage

- Oracle’s* site for new Java programmers

- Tutorial on creating mobile Java applications

- Intel AppUp Software Development Kit API Reference for Java software

- Intel AppUp Software Development Kit Developer Guide for Java technology

You can use Java to create Windows apps for distribution through the Intel AppUp developer program.


Adobe* AIR*

You’re probably familiar with Flash animations from websites, which are often used to create interactive games and adverts, and to deliver video and audio. Adobe* AIR* is a way to play Flash* content outside of a web browser. It enables you to create full native apps using Flash* tools and concepts, and to run the same program on lots of different devices and operating systems. You can use Adobe* AIR* to create Windows* applications for distribution through the Intel AppUp developer program.

Because AIR* is supported on lots of different devices, including smart TV, you can relatively easily adapt your app for different platforms, perhaps only needing to amend the user interface and screen layout.

There are two different ways to create Flash content:

* Adobe* Flash Professional* is most often used for creating web-based animations and games, and is built around a timeline for planning and synchronising on-screen events. If you want to use Adobe* Flash Professional*, you need to put your finished app inside a Flex* app before submitting it to the Intel AppUp developer program.

* Adobe* Flex* is more like a programming language, with a deep and extensible library for user interface components. To create a Flex* app for the Intel AppUp developer program, you need to use either Flash Builder* 4 (Flex* SDK 4.1) or its predecessor Adobe Flex Builder* 3 (Flex SDK 3.5a) to create it. These are commercial applications and you can find out more and download a free 60-day trial here.

You also need to integrate the Adobe* InMarket* software development kit (SDK), formerly called Melrose*, and to get your app certified. The certification authority will check your identity and issue a certificate so that customers can be confident that your app is from a reputable source. Although it is technically possible to self-certify apps, all apps in the Intel AppUp developer program must be independently certified. The certification authorities you can buy a certificate from are:

* Comodo*

* Go Daddy*

* Chosen Security*

* Global Sign*

* Thawte*

* TrustCenter*

* Verisign*

__________

TIP

You can submit your Flex* app through Adobe* InMarket*, which will feed your app into the Intel AppUp center and into other app centers that Adobe* partners with too.

__________

You can find out more about using Adobe* AIR* here:

* Intel AppUp Developer Program: Adobe* AIR*

* Adobe* AIR Packaging Guide for Intel AppUp

* Adobe's* resources for AIR* developers

* Adobe* Flex* homepage

* Adobe* InMarket* (formerly Melrose*)

You can use Adobe* AIR* to create apps for Windows*.


Using components in your app

The Intel AppUp developer program provides a platform for developers to trade in components, which are chunks of program that can be incorporated into apps distributed through the Intel AppUp center.

Using a component can save you a lot of development time, and enable you to benefit from the expertise of other programmers or companies. By using components currently available, you can incorporate advertising in your app, add advanced particle effects, add geolocation so that apps can recognise where in the world the user is, read RSS feeds, make posts on Twitter* from the app, encrypt and decrypt information, and use Havok*’s sophisticated physics and animation capabilities. Replicating these capabilities could take you a long time, but using the components is relatively easy.

Many components are free, but others are offered on a royalty basis, which means you pay a percentage of your app sales revenue to the component’s creator. There’s more information on this in the section on getting paid, later in this guide.

You can browse the full list of components in the Component Catalog here.

Above: One of the components available to incorporate in your app

__________

TIP

You can also make money by submitting components to the Intel AppUp developer program. The royalty model means that you can share in the success of successful apps that incorporate your component, while ensuring that there is no up-front financial cost to developers to experiment with your component.

__________



Joining the Intel AppUp developer program (IADP)


To sell apps through the Intel AppUp center and all its partner stores, you need to become a member of the Intel AppUp developer program, and submit your apps to it.

Registering for your Intel AppUp developer program membership

There are two steps to register for your membership:

* Get an ID. This is free, and enables you to download all developer resources and get support. This is a risk-free way to try developing your app for the Intel AppUp developer program, and get any support you need along the way. You cannot, however, submit components or applications without becoming a program member.

* Become a program member. In common with similar developer programs, there is an annual fee of $99 to be a member, but this fee is currently being waived to accelerate your profits. Only program members can submit components to the Developer Catalog, and applications to the App center. Before you can become a program member, you must get an ID.

To register for the Intel AppUp developer program, follow these steps:

1. Visit http://appdeveloper.intel.com/en-us

2. Click ‘Get an ID’ in the top right. If you already have an ID for other parts of www.intel.com, you can reuse it for the Intel AppUp developer program and can just log in instead.

3. Complete the form with your chosen login ID, display name, email address, location and password. You will need to read and accept the terms and conditions. When your ID has been created, you will be returned to the Intel AppUp developer program homepage.

4. Click in the top right to log in. Enter the ID and password you just registered. With your ID, you can now download the software development kits, participate in forums and seek support.

5. To become a full member, click ‘Join the program’ on the homepage, and then click ‘Join Now’. You will need to validate your email address by entering a code that is emailed to it.

6. Members of Intel AppUp developer program are structured in organisations. People who work at the same company would belong to the same organisation, for example, and payments are made to organisations. If you are part of an organisation that has already registered for Intel AppUp developer program, you can search for it, or ask the organisation’s creator to send you an invitation to join it.

If you are an individual, enter your own real name as the organisation legal name, and follow the steps below to set yourself up as an organisation in Intel AppUp developer program. If you are the first of your colleagues to join, you can also follow these steps to set up your company in the program:

1. Complete your postal address and add your logo and website address (URL) if you have them.

2. Payments are made through PayPal*. You can set up an account for free at http://www.paypal.com. You need to provide Intel AppUp developer program with the same email address that you use for your PayPal* account.

3. Read and accept the terms and conditions.

4. Your organisation will be created, and you can then invite colleagues to join it. To invite colleagues to join later, click My Dashboard in the top right, and then choose Organizations from the pull down menu at the top-left.


Downloading the SDK

The software development kit (SDK) enables your application to interact with the Intel AppUp center, including making sure that the user is licensed to use your app.

Before you can submit your Windows* app, you must integrate it with the appropriate SDK.

There is a different SDK to download, depending on which language or tool you are using to develop your app (Windows* C/C++, .Net *, Java, Adobe* AIR* InMarket*).

You can find all the SDKs and download the one you need at:

http://appdeveloper.intel.com/en-us/sdk


Integrating your app with the SDK

The way that you integrate your app with the SDK varies depending on which SDK you are using. Each SDK comes with code examples which you can use and modify for your own application. Generally, they do the following:

* Add the AppUp SDK code to your application, for example by including a library called adpcppf.h in C++, or one called adpcore.h in the C language.

* Check that your application is licensed by the current user

Here is an example program using C++. It just displays ‘Hello World!’ on the screen, but it shows the other elements you need to add to your program to incorporate the SDK. It includes the library adpcppf.h, which includes all the AppUp functionality, and has the placeholder code for your application’s unique identity number (GUID).


#include

#include "adpcppf.h" //includes all required C++ headers

int main( int argc, char** argv )

{

Application * myApplication = NULL;

ApplicationId myApplicationId = ADP_DEBUG_APPLICATIONID;

try {

myApplication = new Application( myApplicationId );

cout << "Hello world!" << endl;

} catch (AdpException& e) {

cout << "Caught exception in application: " << e.what() << endl;

}

}


You can see a C language version of ‘Hello World’ in a blog post here, and can view the full SDK Developer Guide (PDF) covering C and C++ here.

__________

TIP

You can also add instrumentation and crash reporting to your app using the AppUp SDK. This enables you to see which parts of your program users spend most time with, and to identify the source of any errors that arise in real use.

__________


What is a GUID?

A GUID is an authorisation code that uniquely identifies your app and is used for managing app licensing.

To test that you have integrated the SDK correctly, you can use a debugging GUID and the Application Test and Debug Service (ATDS), which is part of the SDK. This is a piece of software that emulates the AppUp Center program, and will check that your app will work within the AppUp Center store. While a real GUID identifies only your app, the debugging GUID is the same for everyone and can be found in the AppUp documentation and demonstration programs. An app with a debugging GUID cannot be submitted to the app center.

The previous code example uses the debugging GUID. To get a real GUID, you need to register your application in the Intel AppUp developer program. All you need is the application name, which must be unique.

__________

TIP

Every app in the store must have a unique name, so it’s worth registering your application early on in the design process to make sure your chosen name is still available when you’ve finished designing your app around it.

__________

To get a GUID:

1. Log in to the Intel AppUp developer program website at http://appdeveloper.intel.com/en-us/

2. Click My Dashboard in the top right.

3. Select Applications in the pull down menu on the left.

4. Click Start a New Application

5. Enter your Application name. If there is already an app with that name in the store , you’ll be told to try another name.

6. You’ll be taken to the form for completing your app details. See the section on adding your app information to the store for tips on completing this form. If you don’t have all this information now, it doesn’t matter. You can come back to complete any or all of the rest of the information another day.

7. You can find the GUID for this app pre-completed in the Application Information box. Copy this GUID.

Your GUID will look something like this:


0xA4496AC5,0x7298414E,0x9C78D794,0x928C318C


The way that you add it in your app varies depending on the programming language and SDK you are using. In the C++ example shown previously, you would replace this line:

ApplicationId myApplicationId = ADP_DEBUG_APPLICATIONID;

With this line:

ApplicationId myApplicationId(0xA4496AC5,0x7298414E,0x9C78D794,0x928C318C);

See the full documentation for your SDK for tips on how you incorporate your GUID. If you don’t incorporate the required authorisation code in your application, your app will be rejected from the store.

__________

NOTE

You don’t need to integrate your GUID with an Adobe* AIR* app. If you submit through Adobe* InMarket*, you don’t need to register the app for a GUID, either. It will be automatically generated for you.

__________



Publishing Your App in the Intel AppUp Center


Once you have finished developing your app and have integrated it successfully with the AppUp SDK, you’re ready to launch it. To do this, you’ll need to convert it into a version that people can download and install (or “package it”). As well as uploading your app to the Intel AppUp developer program website, you’ll need to provide information about the app (known as “meta data”) which store operators including Intel can use to promote your app and encourage sales.


Packaging your app

The way that you package your app varies depending on the platform or programming language you have used to create it. For Windows* apps, for example, you need to provide a single MSI installer, and for Java, you need to provide a single JAR file. You can find the full guidelines here:

* Windows* Packaging Requirements

* Adobe* AIR* Packaging Requirements

* Java packaging Requirements

For advice on packaging your app, see the Intel AppUp developer program community Forum.

Windows* apps must include a signing certificate from a certification authority to say they’re from a trustworthy source. There are guidelines on incorporating a certificate in your app here and answers to frequently asked questions about application signing here. Intel is subsidising the cost of the certificate (worth $199) so you can get it for free.

There are several rules regarding how your application installs which you should be aware of:

* App must install from the Intel AppUp center.

* App must install silently. That means that during installation it should require no user input or confirmation. The only exception is if the installation prompts the User Access Control confirmation box in Windows* to appear.

* App must also uninstall without error, without requiring user input, and without leaving icons and garbage files behind.

* App must not include software licensing mechanisms from outside AppUp nor encourage users to upgrade or buy apps from outside AppUp.

See the validation guidelines for full details on what’s required of your app.


Adding your app information to the store

Now it’s time to slip your marketing hat on, and create the metadata that will encourage people to buy or download your app.

To add an app to the store, log in and click My Dashboard in the top right. You can then choose Applications from the pull down menu in the top-left. If you have previously started an application to reserve its name and get a GUID, you can find the app here, click Expand and then click Edit. If not, click Start a New Application.

You need to provide the following:

* An application icon, which is at least 100x100 pixels large and is square. Your app’s icon is one of the most important marketing assets you will create. It will be seen in various places in the store, including search results, and can play an important role in encouraging people to click through to your app’s page and to download it. Good icons are clear and bold. Any text should be easy to read. Don’t forget that all icons must have content that meets the validation guidelines for the youngest audience, irrespective of the app content. Your icon must be in the PNG file format.

* A tagline: This is your opportunity to sell the big idea of your app. This optional tagline will be seen in category listings of apps and search results, so use a few words that focus on the benefits to your users. Don’t waste words hyping how great you think your app is.

* A short and a full description: You have up to 300 characters for the short description and up to 4000 characters for the long description. Explain what your app does, and what its key selling points are. Think particularly about how it’s different from other competing apps, and make that a key part of your description. You need to convince people that your app is worth their time, and this is your best shot to do that!

* Screenshots: Add some pictures of your app so that people can see it in action. Try to pick pictures that show different aspects of your app, such as different levels in a game or different presentation options in an ebook reader. You can upload five different images, which must all be 820x480 pixels in GIF or PNG file format. You must provide at least one screenshot to add your app to the store.

* Release Notes: These optional notes can be used to tell people about what’s specific to this version of this app, such as any new features that have been incorporated in this version.

* End User Licence Agreement: Intel offers a standard licence agreement, which you can view by clicking the link. Alternatively, you can paste in your own licence to apply to end users buying or downloading this app.

* Support email address: Make it easy for customers to get help if they’re struggling with your app by providing an email address you can respond from promptly. An email address is required, and you can optionally provide a link to a website with additional support information too.

* Category listing: You must pick one category for your app and can choose two. People often browse apps by category, so this can be a good way to help your app be discovered.

* Content rating: Choose a rating for which audiences your app is suitable to be seen by. If you don’t get this right, your app might fail validation, so it’s a good idea to check the guidelines to make sure you pick the right rating.

* Keywords: Keywords are optional, but are among the most important tools for helping people find your app. Think about the kind of words and phrases that people might use in the store if they are looking for an app like yours, and suggest them as your keywords. If you’re short of ideas, experiment with Google*’s Keyword Tool, which helps you analyse how often certain words are used in internet searches.

Take care with this information. If your application has significant spelling or grammar errors, it risks being rejected from the store. It’s worth taking a moment to double-check, or inviting a friend to look over your submission if written English isn’t your strength.


Pricing your app

Because there are no physical distribution costs involved and the app center commission is just 30%, app prices tend to be significantly lower than the prices of boxed software. Apps typically cost under £5 and it’s not uncommon for apps to cost less than £2. If you take a look at other apps in the store that appeal to a similar audience to your own, you can see what the going rate might be for your type of app.

If you’ve identified a unique niche, you don’t have to compete on price, of course. You can charge a price that reflects the value you offer, irrespective of the price of other apps in the store. Intel gives buyers a day to try an app risk-free, so having a higher price does not increase the customer’s risk in the way that it would if they had to buy sight unseen.


Continue reading this ebook at Smashwords.
Download this book for your ebook reader.
(Pages 1-41 show above.)