Veröffentlicht am Schreib einen Kommentar

Flutter

So, nun ist es also so weit. Nachdem ich mich die letzten Jahre mit der Entwicklung von iOS-Apps mithilfe von Swift und SwiftUI beschäftigt hab möchte ich gerne mehr Freunde mit meinen Apps erreichen.

Ich hab bereits eine Idee für mein nächstes Projekt, jedoch besitzt der Großteil meines Umkreises kein Gerät von Apple. Was es für mich schwierig macht Feedback einzuholen und die App, zumindest anfangs, im Bekanntenkreis aufzudrängen.

Also gut, SwiftUI gefällt mir leider sehr gut und ich hab mittlerweile eine Routine entwickelt und Erfahrungen gesammelt. Verdammt ich mag SwiftUI.

Als erstes Lehrmaterial wurde also ein Kurs auf Udemy gekauft, war gerade im Angebot. Ich dachte, was kann ich damit schon falsch machen.

Oh Boy, hat der Bums keinen Spaß gemacht. Dem Kursmenschen konnte ich nicht folgen, ich fand und finde das Arbeiten mit Flutter hässlich und es nervt mich diese Strukturen zu sehen.

Den Kurs also traurig und unzufrieden abgebrochen und für viele Wochen in Schande Eis gegessen.

Nun bin auf den Flutter-Kurs von Freecodecamp gefallen. Was für eine Scheisse, ich hab Spaß daran und das Gefühl etwas zu lernen. Es zieht sich zwar etwas, aber ich komme gut mit. Auch wenn ich Flutter unsagbar hässlich finde. Nun gut, vielleicht lerne ich diesen Infekt noch lieben, ähnlich wie befriedigendes Halskratzen.

Aktuell kann ich nicht mehr berichten, werde aber versuchen euch auf diese Reise mitzunehmen. Wenn ich nicht wieder hinschmeiße, meine Güte was hässlich….

Veröffentlicht am Schreib einen Kommentar

tagebuch – Logbuch

Ahoi zusammen,

langsam aber sicher finde ich immer wieder etwas Zeit um an meiner neuen App zu arbeiten. Erstaunlich wie viel Zeit doch so ein Junger Hund von einem verlangt. Aber es ist eine wunderschöne Zeit.

Gut also einen Tee gekocht und weiter gearbeitet.

Heute hab ich etwas an der UI gearbeitet. Ein Hindernis ist dabei wohl meine Arbeitsweise.

Ich arbeite immer von Punkt zu Punkt. In der Regel öffne ich meinen Laptop, starte einen Podcast und hab keine Ahnung an was gearbeitet wird. XCode und Simulator starten und dann wird schlichtweg probiert bist etwas entsteht was gefällt.

Und dieser Weg funktioniert für mich erstaunlich gut. Zeichnen und Prototypen basteln hab ich alles ausprobiert, aber diese Arbeit langweilt mich sehr und ich arbeite lieber im Code der App und sehe was möglich und machbar ist im Simulator. Nun noch Test Flight belasten und wieder und wieder am eigenen Handy ausprobieren. Vielleicht auch einige Tage immer wieder öffnen und testen, ich hab ja keinen Zeitdruck.

Also heute hab ich an den Buttons für die Medien, welche man zu Beiträgen hinzufügen kann, gearbeitet.

Hier der Code:

struct MediaButton: View {
    
    @State private var isEmpty : Bool = true
    
    var icon : String
    
    var amount : Int

    var body: some View {
        ZStack(alignment: .leading) {
            
            Rectangle()
                .cornerRadius(7, corners: [.topRight, .bottomRight])
                .cornerRadius(50, corners: [.topLeft, .bottomLeft])
                .foregroundColor(Color("water"))
                .opacity(isEmpty ? 0 : 1)
            
            
            HStack {
                Button {
                    withAnimation(.spring()) {
                        isEmpty.toggle()
                    }
                } label: {
                    Image(icon)
                        .resizable()
                        .scaledToFit()
                        .frame(width: 30, height: 30)
                        .frame(width: 40, height: 40)
                        .background(Color("midGray"))
                        .cornerRadius(50, corners: isEmpty ? [.bottomRight, .bottomLeft, .topLeft, .topRight] : [.topRight, .bottomRight])
                        .cornerRadius(isEmpty ? 50 : 7, corners: [.topLeft, .bottomLeft])
                    
                }
                if !isEmpty {
                    Spacer()
                    Button {
                        withAnimation(.spring()) {
                            isEmpty.toggle()
                        }
                        
                    } label: {
                        Text("\(amount)")
                            .font(Font.custom("Bitter-Bold", size: 16))
                            .foregroundColor(Color("lightCreme"))
                    }
                    Spacer()
                }
            }
            
        }.frame(width: isEmpty ? 40 : 90, height: 40)
    }
}

Vielleicht könnt Ihr mit dem Code etwas anfangen, das Ergebnis seht Ihr hier:

Nun gut, genug für heute. Bleibt frisch und nett…

Veröffentlicht am Schreib einen Kommentar

hoardism und der Apfel 

Aloha zusammen, 

Ich bin mir nicht sicher wie viele Leser des Blogs selbst programmieren, aber ich bin mir sicher wir waren doch alle mal in dieser Situation. 

Dieser einen Situation. 

Wir versinken in unserer Arbeit, zimmern, backen, coden und denken was das Zeug hält. 

Wir lieben all das was wir erschaffen, und hassen es auch hin und wieder. 

Bei hoardism stellte sich ein Problem ein welches mit der Synchronisierung der Bilder, dem Server und den verschiedenen Geräten zu tun hatte. 

In meinem Kopf war die Lösung einfach, hier ein bisschen, da etwas hiervon und schon sollte alles fluffig und tuffig funktionieren. 

Nach jeder Lösung eines Problems stellten sich weitere Fragen wie man dies und jenes jetzt lösen soll. 

Nervig, anstrengend und wütend machend. 

Nach Wochen in denen mein Hirnschmalz lichterloh verbrannt wurde, konnte ich alle Probleme lösen und das Erlebnis für den Benutzer war wie gewünscht. 

Erstmal einen Tee machen und stolz sein. Verdient. 

Beim rumdrücken in der App auf dem Thron bemerkte ich einen dicken fetten Fehler. Die App schwillt an und erzeugt wahnwitzig viel traffic. Verdammt verkackte ***********, und ******. 

Also gut, Hände gewaschen und wieder an den Computer. Der Fehler ist bekannt die Lösung auch. Kann nur gut werden… aber Stop. Halt. Obacht. 

Erst jetzt ist mir mein Denkfehler bewusst geworden. Seit der ersten Stunde des Sync-Systems schleppe ich einen Knoten im Konzept herum. Erst jetzt fällt mir der faule Apfel im Korb auf. 

Auf der einen Seite war ich sehr froh, denn nach nur kurzer Tippslerei wurde der Denkfehler behoben und alles funktioniert noch viel besser als gewünscht. Schön.

Auf der anderen Seite wurde sehr viel Zeit und mühe in ein System gesteckt welches sich selbst über Wasser halten musste. Faule Zwetschge aber auch…

Manchmal ist es an der Zeit eine Pause einzulegen und ein Paar Schritte vom Projekt zurückzutreten. Verbissen an Problemen zu arbeiten mag zu erfolgen führen… 

Etwas Distanz kann aber grundlegende strukturelle Schwierigkeiten aufdecken. Sind diese behoben lösen sich so manche Klebrigkeiten von selbst. 

Ich bin nun froh die App wieder ein Stück mehr fertiggestellt zu haben. Aber auch erschöpft und werde mir ein, zwei Tage ruhe von der Kacke gönnen. 

Bis dahin, esst gut und besteigt den Thron…

Veröffentlicht am Schreib einen Kommentar

Werben in diesem Internet

Ahoi zusammen,

meine App coincake wurde im Apple AppStore veröffentlicht und hatte einen guten Start, jedoch wie sich herausgestellt hat nur aufgrund der Käufe von Freunden und Familie.

Sobald die Verbündeten aber abgefrühstückt waren gingen die Käufe stark zurück bis zu dem Punkt an dem keine Downloads mehr getätigt wurden.
Ich denke ich hab wohl stark die schiere Masse an Apps unterschätzt, in meiner romantischen Vorstellung würde die App gefunden, geladen und geliebt werden.

Apple bietet Entwicklern ein Portal an, App Store Connect, in welchem man seine Apps und aber auch die Statistiken einsehen bzw. verwalten kann. Und hier zeigt sich auch die Pleite ab. Man sieht deutlich die Aufmerksamkeit welche die App an den ersten Tagen erhalten hat und wie sie nach und nach im Sumpf der tausenden Apps versunken ist.

Nun gut, was machen?

Instagram hab ich schon einmal zu oft mit Storys und Beiträgen geschwängert. Ich möchte auch nicht meine Freunde ständig drangsalieren. Hätte von meinen Kontakten jemand Interesse an der App so hätte, hätte, Fahrradkette er auch schon auf Kaufen gedrückt.

Sodala, dann war da noch Facebook. Flux eine Seite erstellt und mit Leben gefüllt. Danach etwas durch das Ad-Center gewurschtelt und schon war die erste Werbeanzeige erstellt. Bezahlt mit Geld, Tränen und Hoffnung…

Nach den ersten Tagen war deutlich, Facebook ist wütend. Die Anzeige sammelte wütende Interaktionen und ich war frustriert. Warum weckt meine App Wut? Nun gut wir sind auf Facebook, aber trotzdem.

Also schnell mal geschaut und gekuckt. Die Werbeanzeige geändert, wird nun nur noch Benutzern welche mit iOS online sind angezeigt. Und schon haben sich die Reaktionen gedreht. Die Anzeige sammelt nun fleissig Interaktionen und Likes, sogar Herzchen werden geworfen.

Die Werbeanzeige lasse ich jetzt laufen bis mein geplantes Budget dafür erreicht ist. Dieses Spiel mit Werbung, Grafiken und Animationen ist neu für mich, es ist davon auszugehen das ich die ein oder andere Disziplin verkacken werde.
Aber mei so lern ich nunmal am besten … wir werden sehen.

Und natürlich darf der Link zum AppStore nicht fehlen: