Difference between revisions of "Advice for new developers"

From iPhone Development Wiki
Jump to: navigation, search
(How to get your tweak localized (translated) into more languages: linking tool)
(How to get your tweak localized (translated) into more languages: linking another example)
Line 67: Line 67:
 
Many jailbreakers are multilingual! They may be fine with reading English but prefer to use their device in their native language, so providing localizations is a great way to make more users happier. Ideally a localization includes more than just translated strings - for example, different languages have different punctuation for dates and numbers - but starting with translated strings is reasonable.
 
Many jailbreakers are multilingual! They may be fine with reading English but prefer to use their device in their native language, so providing localizations is a great way to make more users happier. Ideally a localization includes more than just translated strings - for example, different languages have different punctuation for dates and numbers - but starting with translated strings is reasonable.
  
Often developers ask their fans to contribute volunteer translations. You can also try asking [http://www.reddit.com/r/jailbreak/wiki/translators people on this list of /r/jailbreak members willing to be translators]. It's best to offer volunteers a free copy (if it's a paid product), credit them in your tweak or depiction somewhere, and thank them a lot. For a couple examples of ways people have asked for volunteer translations, see [https://github.com/CPDigitalDarkroom/Localizations this GitHub repository for IfFound²] and [http://samara-it.de/anyattach/l10n/ this custom system for AnyAttach]. You can also use a tool like [https://www.transifex.com/ Transifex].
+
Often developers ask their fans to contribute volunteer translations. You can also try asking [http://www.reddit.com/r/jailbreak/wiki/translators people on this list of /r/jailbreak members willing to be translators]. It's best to offer volunteers a free copy (if it's a paid product), credit them in your tweak or depiction somewhere, and thank them a lot. For a couple examples of ways people have asked for volunteer translations, see [https://github.com/CPDigitalDarkroom/Localizations this GitHub repository for IfFound²] or [https://github.com/rpetrich/Localization this one for rpetrich's projects], or [http://samara-it.de/anyattach/l10n/ this custom system for AnyAttach]. You can also use a tool like [https://www.transifex.com/ Transifex].
  
 
If you'd like to hire professional translators to work on your project, [http://www.tethras.com/ Tethras] is one service flexible enough to work with people developing for jailbroken iOS as well as normal iOS; you can email them if you have questions about this.
 
If you'd like to hire professional translators to work on your project, [http://www.tethras.com/ Tethras] is one service flexible enough to work with people developing for jailbroken iOS as well as normal iOS; you can email them if you have questions about this.

Revision as of 07:34, 5 December 2014

So you built your first tweak, and you're ready to release it on a default repository. Exciting! Here's some help for the next step of actually releasing it.

Advice for handling support, criticism, and updates

You can write stuff here, especially if you're a developer who has released a few things already and has advice for people starting out!

You know you need to test your initial version thoroughly, but it's also important to test your updates thoroughly before releasing them. Small changes can have unexpected side effects. You can ask friends to try them on different devices with different tweak setups to check for problems.

Advice for improving your marketing and sales

You can encourage many more people to download (and buy!) your tweak if you put some effort into marketing it.

This section includes a lot of advice based on Sebastien Page's great talk from JailbreakCon 2014 - you can watch it for more explanation. He's the main editor of iDownloadBlog.

How to name your tweak

There are a couple of popular ways to name a tweak:

  • A descriptive name, like MailUnlimitedPhotos - these are great for simple tweaks.
  • A brandable name, like Zephyr - these are great for big tweaks that are here to stay.

When naming a tweak, make sure the name is easy to spell so people can find it when searching Cydia. Also, before you release it, search Cydia to make sure a similarly named tweak doesn't exist yet.

Avoid using other people's trademarks or brand names in the name of your product, to avoid making those companies annoyed at you. For the Cydia Store, saurik doesn't accept products with names with potential trademark problems.

How to write a short description

Two examples of short descriptions (in grey).

This short description displays on Cydia's "Changes" tab, under the name of your tweak. You have to make a good impression in approximately 39 characters or less! You should use this field to accurately and simply describe the tweak. Use important keywords because these words are used in Cydia's search feature.

Be clear and concise. Saying your tweak is the "best" or "greatest" in your short description is usually a waste of your precious few characters, since everyone thinks their tweak is the best - instead, it's helpful to use this space to provide a summary of what the tweak does, so people know whether they should tap to find out more. You also don't need to repeat the name of your tweak in the short description.

How to write a long description (depiction)

Instead of only a dry list of features, iFile also gives you a way to understand it and a reason to buy it: a comparison to Finder in OS X and an explanation that it's useful for advanced customization.

A great tweak description page (called a "depiction" inside Cydia - see saurik's explanation of it) should include:

  • An accurate and clear description of the tweak and what it does.
  • An explanation for why people might need it. This is a great place to make your tweak stand out - explain to people that it'll make their life easier, or impress their friends, or make their phone look really cool, or whatever it does.
  • Instructions for how to use it.
  • Information about its iOS version and device compatibility.
  • Screenshots.
  • A YouTube video if possible, demonstrating the tweak.
  • A changelog, updated when you release updates. People appreciate knowing what's new.

It's also great to link to reviews of your tweak on blogs. Remember that you can email your repository manager to update the description without necessarily having an updated package as well.

Good examples: Auxo 2 and Pluck 2.

How to price your tweak

The Cydia Store is flexible when it comes to pricing - ask your repository manager for help if you want to set up temporary discounts or a different kind of pricing scheme. You can use discounts as a marketing tool ("if you bought my previous tweak, get my new one at a discount").

If you haven't sold software much before, there's a lot of existing great advice about pricing that you can adapt for your Cydia Store product. For example, here's a long article about how to price software: Don't Just Roll The Dice, by Neil Davidson - it's helpful for thinking about pricing psychology.

How to get the word out

Reaching out to blogs is great!

Make a list of jailbreak bloggers and learn about their tweak preferences. Connect with them and explain why you think they will like your tweak. Send pre-release versions of the tweak so bloggers can have a look at it first. Gift the tweak to the blogger (there's an option for this in Cydia Connect) if it's not free. If the reviewer liked your tweak, keep them posted about future updates - they might want to post again if you do a major update.

Monitor the comment section to collect feedback and answer questions.

How not to reach out to blogs: don't be a stalker, and don't send 47 emails or tweets. Be open to criticism, and don't be sour if a blog doesn't cover your tweak.

How to get your tweak localized (translated) into more languages

Many jailbreakers are multilingual! They may be fine with reading English but prefer to use their device in their native language, so providing localizations is a great way to make more users happier. Ideally a localization includes more than just translated strings - for example, different languages have different punctuation for dates and numbers - but starting with translated strings is reasonable.

Often developers ask their fans to contribute volunteer translations. You can also try asking people on this list of /r/jailbreak members willing to be translators. It's best to offer volunteers a free copy (if it's a paid product), credit them in your tweak or depiction somewhere, and thank them a lot. For a couple examples of ways people have asked for volunteer translations, see this GitHub repository for IfFound² or this one for rpetrich's projects, or this custom system for AnyAttach. You can also use a tool like Transifex.

If you'd like to hire professional translators to work on your project, Tethras is one service flexible enough to work with people developing for jailbroken iOS as well as normal iOS; you can email them if you have questions about this.

Advice for dealing with piracy

If you build a way to check whether your tweak is pirated, you may be surprised to see a high piracy rate compared to purchase rate, and this can feel pretty disappointing - it feels disrespectful, and it feels like you're losing a lot of money. But for a variety of reasons, many pirates aren't actually able to buy tweaks - in other words, these are not sales you would have been able to make. It's best to try not to spend a lot of effort worrying about this and to instead focus on your paid users and the fun parts, like improving your tweak and spreading the word about it. (See the marketing section above for advice about increasing sales!)

If you're considering building systems to prevent piracy, see Tweak DRM for lots of advice (philosophical, practical, and technical).

Even though piracy can be really frustrating and discouraging, we have to treat all users and their devices with at least a basic amount of respect - it is not OK to harm devices in revenge for piracy, and writing nasty email replies isn't a great idea either. There are many pirates who decide to start buying tweaks after getting to know developers better (such as via Twitter or /r/jailbreak) and starting to see them as fellow humans who do hard work that is worth supporting. There are also pirates and even tweak crackers who get to know the community better and decide to switch to development and selling tweaks, or other forms of contributing to jailbreaking in helpful ways.

Understanding reasons for piracy that aren't lost sales

Context that may be helpful:

  • Some jailbreakers are too young to have a credit/debit card or bank account, or too young to legitimately register a PayPal or Amazon Payments account. Their parents may not be willing to purchase tweaks for them. Sometimes young people in the United States can use cash to go to a store and buy pre-paid debit cards like Vanilla Visa, but not everyone has access to doing that. Also, not every young person has the opportunity to make money (limited opportunities in their area, parent requirements, etc.).
  • Some jailbreakers don't realize that they're pirating tweaks. This can easily happen if their friend jailbroke their device and installed pirate repositories for them, or if they trusted YouTube instructions without paying attention to Cydia's piracy warning for repositories.
  • Some jailbreakers use piracy to "try before they buy" because they want to be really sure that the tweak works for their setup in the way that they want, even though this strategy has its own problems. (Pirate repositories often have outdated versions, incorrectly configured conflicts/depends, poorly-cracked DRM, and other problems.) They may use a pirated version for a while and then buy the package if they decide it works well for them. To give potential customers more confidence to purchase without pirating, it helps to include a great demo video and lots of detail in your package description.
  • Some jailbreakers don't have the money to afford tweaks. This might seem counterintuitive - that they have an expensive device and perhaps an expensive service contract but can't afford a tweak. But there are many situations where this makes sense: they may have received their iOS device as a gift, or they may have purchased it a long time ago when they had more money available, or they may have purchased a used older device. They may have an inexpensive pay-as-you-go service plan instead of a fancy service contract. They may also live in countries with lower salaries and lower cost of living, where the equivalent of a few US dollars represents hours of work for them instead of less than an hour.