
David Quinlan wird ein ganz normaler Kerl mit Tages-Job und nur ein wenig Programmiererfahrung. Aber er und ein Freund lebte den Traum und kurbelte eine einfache iPhone App an einem Wochenende. Hier ist, wie sie es gemacht:
"Thai, Salat oder ramen?" Es ist Mittagszeit an einem typischen Donnerstag und es fällt auf, dass Millionen von Menschen auf der ganzen Welt die gleiche Frage nachdenklich werden. Diese Frage ist unser Launchpad, macht uns Teil der Tausende von Menschen, die eine Anwendung für iPhone bauen wollte, "dass".
Ich bin ein Produkt-und Marketing-Mann mit Design-und Programmierkenntnisse.
Roy ist ein Entwickler mit einigen Geschäftssinn. Zusammen machen wir ein tolles Team und ergänzen sich die Fähigkeiten gut, aber wir haben erst begonnen, mit Objective-C im letzten Jahr, wie viele andere, die versuchen, aus sind iPhone Entwicklung. Wir haben bereits eine Anwendung gebaut oder zwei, so dass wir mit der Sprache und Rahmenbedingungen vertraut. Allerdings, wie bei allen neuen Projekten, Sie müssen in der Regel ein wenig Forschung zu tun, um zu verstehen, wie die verschiedenen Herausforderungen angehen ... vor allem in einer Welt von 320 × 480 Pixel definiert.
Für die längste Zeit haben wir mit der Idee der Schaffung einer "app" for fun herumgespielt. Nach Verwerfen ein paar gute Ideen (weil sie zu kompliziert ist oder eine schnelle Suche in den App Store gezeigt, dass schon jemand anderes macht es gut), Mittag bringt uns auf eine einfache, witzige Idee, um Menschen im Alter von Entscheidungen fest zu helfen.
Doch während die meisten Menschen wünschen sich ein großer iPhone app, mein Freund zu schaffen und ich gehe noch einen Schritt weiter, einen Pakt mit dem Projekt in einem Wochenend-oder realistisch beenden, würde unsere app nie fertig zu bekommen.

Auf einem Stück Papier kritzeln wir aus zwei bis drei Wireframes und entwickelte einen Entwurf für ein paar grundlegende Bildschirme. Wir entscheiden uns für eine Anwendung Er bietet bis zu drei verschiedene Möglichkeiten. Sie kà ¶ nnen Sie Ihre eigenen Antworten, zum Beispiel Thai, Salat oder Ramen-und wählen Sie einfach eine randomisierte Wahl, um die Antwort auf Ihre Entscheidung zu sehen. Wir entscheiden uns für die Verwendung Spielkarten als das Thema. Unmittelbar wir den Kreis "must have" Funktionen (erste Priorität), dann die "gerne"-Funktionen (Vorherige Priorität), und schließlich die Eigenschaften, die benötigt mehr untersuchen muss. Wir verlassen Mittagessen am Donnerstag mit einem kleinen Hausaufgaben machen und einen Plan, um gemeinsam am Samstag erhalten.
Meine Hausaufgaben enthält die Bestimmung, dass Aussehen und Interaktion auf jedem Bildschirm. Roy muss einige der Funktionen Xcode Forschung haben wir keine Chance gehabt, um mit noch spielen in unserem "echte" Arbeitsplätze, vor allem Animationen und Randomisierung.
On Saturday morning, we meet at a local coffee shop that had free Wi-Fi, claim a large table so we can sit side-by-side and grab the first of many large cups of coffee. Then we create a shared Dropbox folder for this project—a Basic account is free and comes with 2GB of storage. The Dropbox is important because it allows us to multitask on the same project with any/all changes synchronizing in real time. For larger projects, you may want to consider GitHub.
We pull up a more detailed outline of what we want to accomplish for our app as well as basic wireframes. Given that we only have a weekend to complete this app, we decide to focus only on the “must have” features. A developer can always issue feature updates at a later date to include the “nice to have” features.
Going Bildschirm-by-Bildschirm, die wir ausführlich die Elemente auf der Seite, Stil-Behandlungen, Layout, Timing, usw. Wir diskutieren auch, was Roy über das Animieren der Karte Flip-Bewegung gelernt, denn dies war eine der wichtigsten Funktionen der Applikation. Wir kurzen Rückblick auf die Quartz 2D-und Core-Animation-Bibliotheken, da wir zuvor nicht jede Arbeit mit diesen durchgeführt. Wir diskutieren auch über eine UIWebView, um die Animation innerhalb von CSS WebKit zu machen. Letztendlich finden wir eine einfache Lösung mit Standard-UIViews und UIButtons. Die UIView Klasse hat einige Animations-Methoden der Klasse, und einer der in den Übergängen errichtet und ist ein Flip-Effekt. Was die Randomisierung, wussten wir, die meisten Sprachen eine Zufallsfunktion und Objective-C ist keine Ausnahme. Für die Zwecke dieses app, alles, was wir wollten, war eine einfache Methode, um ein Array dem Zufallsprinzip ein. Roy fand ein paar Beispiele, aber eine, die aus stand, war über die auf der Website der Dr. Touch's. Er beschreibt einen Ansatz, mit dem eine Klasse Erweiterung Methode zu implementieren, so können Sie ganz einfach jedem Array shuffle.
Wir tauchen in unseren jeweiligen MacBook Pro mit einem Borg-ähnliche Konzentration auf unsere individuellen Kompetenzbereiche. Ich öffne Photoshop und begann mit dem Bau-Bildschirme. Der erste Bildschirm ist der Standard-Bild. Dies ist der erste Bildschirm die Menschen sehen, wenn die Anwendung gestartet und beginnt beim Laden. Apps können entweder Hochformat oder Querformat Ansicht gebaut werden. Wenn Sie Ihre Anwendung in der Landschaft sehen wie der unsrigen zu bauen möchten, müssen Sie noch ein Standard-Image erstellen, die zeigt im Hochformat. Erstellen Sie einfach Ihre Landschaftsbild und im Uhrzeigersinn oder gegen den Uhrzeigersinn (je nachdem, ob Sie nach links oder rechts wollen Landschaftsbild). Nun ist die Standard-Bild-Belastungen im Hochformat, aber da Ihre Bilder gedreht wird, wird der Benutzer das iPhone drehen, um Landschaft zu sehen.
Ich habe dann verbringen die nächsten zwei Stunden zu schaffen comps, Hintergrundbildern, Buttons, Karte (Vorder-und Rückseite) und Info-Seite. Ich verbringe auch einige Zeit mit Schwerpunkt auf der app-Symbol. Dies ist natürlich das "Gesicht" Ihrer Anwendung ein Zeichen der Ehre, so dass Sie sorgfältig Gedanken in das Symbol Bilder gesetzt werden möchten. Denken Sie daran, benötigen Sie das Symbol sowohl in der 57 × 57 und 512 × 512 Größen. Einmal vollendet, lade ich sie Dropbox so, dass Roy das kreative Elemente begonnen werden könnte.

Als ich Blick zurück auf den Laptop Roy's, er hat einen neuen Xcode-Projekt und ist bereits Herumspielen mit Code-Boxen, die grüne Flip auf einen Klick animieren. Während er auf dem Prototyp in der iPhone Simulator, ergreife ich die info.plist Datei und bearbeiten Sie einige der Einstellungen - remove Statusleiste, ca. Display Name, entfernen Glanz von Symbol, usw. Wir entscheiden dann ist es Zeit für uns, einige hinzufügen realen Bildern zu unserem Prototyp. Wir haben in den Hintergrund, der Vorder-und Rückseite der Karten und die Navigationstasten. Die Positionierung ist (von vielen), aber die Karten sehen gut aus und es ist Spiegeln reibungslos. Wir haben einige schlechte Mathematik, aber irgendwann den genauen Abstand und Positionierung, dass wir für jede Karte. Wir spielen mit dem Zeitpunkt des Flip, legen Sie die Ein / Aus-Staaten für die Navigations-Taste und jetzt ist es ziemlich wohl.

Sehen Sie die Stücke zusammen kommen in der app zeigt mir, dass es ein paar Bilder die Feinabstimmung. Ich Änderungen als Roy beginnt, arbeitet an der Anpassung von Bildschirm und Info-Bildschirm. Der Bildschirm anpassen, ist der Ort, dass die Menschen zu schreiben, was sie wollen auf dem Gesicht der Karte zeigen können. Wir beschränken sie zu 25 Zeichen ... nichts mehr als das und schreibt es auf / außerhalb der Karte. Wir sprechen mit diesem Bild ein wenig mehr im Detail. Das Zusammenspiel in den einzelnen Bereichen, wie der Tastatur wirkt, und wie wir sie retten, bevor sie zurück in die Karten. Wir verbringen ein wenig Zeit in Interface Builder Verkabelung genau, wie wir diese Seite aussehen soll und zu handeln. Die Info-Seite ist komplett optional, aber wir ihn haben möchten, weil sie zusätzliche Mittel und Wege erreichen Sie uns gehören.
Wow, seven hours and fours large coffees later, we have a lot done, but there's still lots more to go. What we have now is an app that fires up; displays a default loading screen; gets people to a screen that shows three cards (back of the card showing); they can select any/all of the cards and the cards flips to show the front of the card; they can click on a button labeled “Try Again” to reset the cards; they can click on a button labeled “Customize” that opens a new screen; the “Customize” screen allows you to enter text into 3 separate fields with a max of 25 characters in each field; and you can get to the Info screen. We spend the last hour of the day together cleaning up code and discussing what we have left to accomplish tomorrow.

On Sunday, we meet at another coffee shop with free Wi-Fi. Coffee first. We feel like we're about 80 percent done before we start working again. The major work left for the day ahead is saving the custom text, displaying the custom text on the face of the card, and randomizing the text. We had additional functionality ideas, but we kept ourselves honest, and kept the scope creep to a minimum. One example of this was the method for storing/saving the custom text on each of the three cards. Roy could have created a sqlite database or used Core Data, but the easiest approach was to just use the built in standardUserDefaults object found in the NSUserDefaults class. Using this method stores the values to the app's settings just fine for our needs and saves us a lot of time.

Während Roy arbeitet auf diesen Artikel, es ist eine perfekte Gelegenheit für mich, einige der Dinge, wir müssen noch am selben Tag zu bereiten. Wenn Sie eine Anwendung unterbreitet dem App Store, es ist nicht eine einfache Upload einer Datei. Apple benötigt die folgenden Informationen für jeden ca. Vorlage: Anwendung, Anwendungs-Beschreibung, Geräte-Anforderungen, Primäre und sekundäre Kategorie, Unterkategorien, Copyright, App Bewertung, Keywords, SKU-Nummer, Anwendungs-URL, Screenshots, Beschreibung Marketing-, Support-URL, E-Mail-Support Adresse, End User License Agreement, und Preise / Verfügbarkeit.
So, prep ich alle Informationen, während ca. Vorlage Roy besetzt ist Kodierung entfernt, zuerst nach dem App Store für ähnliche Anwendungen und ihre Namen. Wir möchten "Stuck?" Und zum Glück niemand es verwendet, so gehen wir mit diesem Namen. Ich erstelle die app, fügen Sie einige Stichworte, den Preis bestimmen und festzustellen, wo wir diese app zu verkaufen (nur in den USA, bestimmten Ländern oder weltweit) wollen. Dann habe ich einen Domain-Namen (stuckapp.com) anmelden, um für die Anwendung URL verwendet werden / support URL und verband es mit einer neu geschaffenen Tumblr Konto. Ich schuf auch die nötige Unterstützung per E-Mail-Adresse. Die anderen Artikel finden Sie möchten im Voraus vorbereitet sind: Screenshots (bis zu fünf), ein großes Symbol (512 × 512), und wenn diese sich zum ersten Mal die Vorlage einer "app", werden alle Zertifikate / Provisioning-Profile.
Things tendenziell länger dauert als erwartet, und obwohl wir im Grunde mit den ca. Anfang Sonntagnachmittag abgeschlossen ist, verbringen wir noch ein paar mehr Stunden Feinabstimmung der Zubereitung der alles für den App Store Vorlage Reinigung Code und Feinabstimmung als gehen wir entlang. Wir verbringen den größten Teil des Tages auf einem Computer drücken Pixel, Formatierung und die Sicherstellung der Zeitpunkt und die Interaktion der Nutzer war genau so, wie wir beide wollten. Nach fast fünf Stunden Arbeit am Sonntag, haben wir die Anwendung, die wir beide vorstellte. Wir beginnen Prüfung in der iPhone-Simulator und dann auf Geräte (beide iPhone und iPod touch) für Stabilität und Funktionalität. Auch hier wird eine einfache Anwendung, war es leicht und schnell zu testen.
Nach dem Beweis seiner Stabilität, beschließen wir, Stuck veröffentlichen? zum App Store. Mein erster Versuch, eine andere App Veröffentlichung von mir dauerte zwei Tage-Versuch scheitern, Google, versuchen, scheitern, Google mehr, etc., bis es endlich klappte. Aber beim zweiten Mal war es wesentlich einfacher und schneller. Wir copy / paste den gesamten Text vorher vorbereitet und dann hat die Screenshots und Bilder. Alles in allem haben wir unsere Anwendung in etwa 15 Minuten hochgeladen. An diesem Punkt sind wir gespannt, hungrig und müde, aber auch sehr stolz, dass wir eine solide Anwendung über ein Wochenende abgeschlossen in einem Café.

We had our fingers crossed that the App Store would approve our app. And, as amazed as we were that we could finish an app over the weekend, the real surprise came after we submitted to the App Store. We submitted the app on Sunday evening. It changed status from Waiting for Review‚ to In Review, on Monday. On Tuesday, we received an email informing us that our app was Ready for Sale. Approved in two days! That has to be a record‚ especially before the holidays.
Especially after talking about building an app together for so long, like so many people reading this article, I must say, the fulfillment is immense. We finally did it.

TIPS FOR COMPLETING AN APP OVER A WEEKEND
1. You can't do it yourself. Sie können, aber Sie würden nicht wollen. Idealerweise sollten Sie über die Partnerschaft mit jemanden mit einer unterschiedlichen, sich ergänzenden von Fähigkeiten. Partner mit jemand, der weiß, achtet Ihr Fachgebiet, sondern auch mehr Vertrauen und Wissen über ihre eigenen Fähigkeiten. Gute Kommunikation ist in dem Bemühen, wie dieser so dass Sie über Zeiträume von rapid fire Fragen bouncing Ideen, sich gegenseitig zu gehen und dann stillschweigend Zeiten der Stille, wie Sie auf verschiedenen Aufgaben arbeiten. Es gibt eine Menge zu tun bekommen und Multitasking ist der Schlüssel.
2. Multitask. Wie oben erwähnt, mit jemandem zu arbeiten, die eigenen Fähigkeiten ergänzen können Sie Multitasking. Was meine ich damit? Zum Beispiel am Anfang, wenn man auskratzen ein Drahtmodell einer Idee, kann eine Person beginnen Codierung - Putting Platzhalter Tasten und blockiert einrastet. Zur gleichen Zeit kann sich die andere Person Kompositionen zu erstellen und schneiden Sie jedes Element zu verwenden, wenn sie auf der rechten Seite der Bühne zu bekommen. Auch um das Ende des Projekts, kann eine Person einpacken das Projekt und reinigen Sie den Code, während der andere bereitet alle Bilder und Marketing-Texten für den App Store Vorlage Prozess.
3. Do at least one thing well. Unlike most desktop applications or web project, you have to remember that most good mobile apps fulfill a need that can come anywhere, any time. Your app idea doesn't have to be complicated, but good apps seem to do one or more of these things well:
- Solves a problem; - Is entertaining; - Serves a specific niche; - Engages the user; and/or - Takes advantage of the unique features of the iPhone.
4. Set goals and milestones. Whether your goal is speed to market, just to gain experience, or to build the best damn app that does (blank), clearly state your goals. Initially, it will help you focus on the areas that are important/critical for success. It will also help you later down the road as you face hard decisions about “must-have” features and “like-to-have” features. Remember, you can always issue feature updates so focus on the “must-have” items and do whatever is necessary to meet that goal.
5. Get a Dropbox account. For small- to medium-sized projects, you cannot beat Dropbox. It allows you to store, share and synchronize files with others. Stop sharing files back and forth on your USB memory stick. Get a Dropbox account and share files in real time. We abused the hell out of our free, shared Dropbox folder and it worked flawlessly. For larger projects, you might want to give GitHub a try.
6. Test. Test. Test. When you see the finish line, it's easy to gloss over the important step of testing your app. Test in your iPhone simulator, but also try to get your hands on an iPod touch and of course on an iPhone as well. Depending on the complexity of your app, you might want to create a test plan to make sure all the use cases and functional tasks are covered. The last thing you want is to have an app in the App Store that crashes or doesn't work as expected. You may never recover from all the ego-shattering feedback.
7. Understand the App Store submission process. Apple provides a PDF document detailing to submission process. But that document is only available for registered developers. If you've already registered, read that document thoroughly before you begin the upload process. It will give you a good idea of what's involved, but also what you'll need to prepare in advance. Apple also provides some good tips for app store submission and approval .
Quelle
gizmodo