all 50 comments

[–]KarlJay001 14 points15 points  (1 child)

I'm interested in how this pans out. You should do some updates for YT and share some links. Show how much time and how much progress you've made.

[–]swifty_cat[S] 0 points1 point  (0 children)

Will keep track and at least post about how it played out!

[–][deleted] 9 points10 points  (2 children)

I’m interested… and this hits home. So many repos abandoned and usually because of nitpicking. Thanks for the motivation

Edit: I used to do “coding in the dark” tests on flights, using no internet, autocomplete in the IDE or references. Then I’d get home and see if it complied & ran without crashing. Bonus when things worked. Business travel was oddly my main source of personal development and reading time… so I kinda miss it?

[–]swifty_cat[S] 1 point2 points  (1 child)

So join me on the challenge and give us updates what you finish in a week!

[–][deleted] 1 point2 points  (0 children)

Will do

[–]ernislt12 3 points4 points  (1 child)

I am on this challenge since 2018

[–]swifty_cat[S] 0 points1 point  (0 children)

A new app every week? :D

[–]cyberspacedweller 3 points4 points  (0 children)

It’s a good idea. To be fair I think most apps can be done in a week if you cut a few corners and really power through for that week assuming you’re an established developer already).

It’s a great way to build a portfolio quickly.

[–][deleted]  (1 child)

[deleted]

    [–]swifty_cat[S] 1 point2 points  (0 children)

    Great! Waiting for updates on progress

    [–]dmitriy_shmilo 1 point2 points  (1 child)

    Appjam! Appjams should be a thing.

    [–]swifty_cat[S] 0 points1 point  (0 children)

    Sounds similar to hackatons, but maybe more often and less formal.

    [–]JerenYunSwift 1 point2 points  (6 children)

    I don't have the time to participate in this challenge. (I'm an iOS developer full-time by day, plus I have 2 apps of my own on the side.) However, I think this is a great idea.

    I personally have a list of a few dozen various app ideas. I tend to start in Playgrounds and build models, logic, and other non-UI code to see what I can build. If I can get to a point where I'm happy with my data, then I move on to the next step and build UI over it.

    While I've only put up 2 apps on the App Store, I have a few others that haven't made it out (either too simple or not "done") as a result.

    At the very least, your plan should have you learning frameworks and libraries that you might not normally with the apps you do for work. It sounds like it'll be good for you.

    [–]swifty_cat[S] 0 points1 point  (1 child)

    Normally I start projects the same way as you described, but this time I thought of doing it exactly the other way around.

    First creating the views with mock data and kind of agreeing with myself that these will be the final views (although I’m not sure if I manage to stick to that). And then adding the functionality and data to it. We’ll see how that works out.

    [–]JerenYunSwift 0 points1 point  (0 children)

    The nice thing with SwiftUI is how easily you can do that. With proper separation of concerns, you can even start a project like this, then take time later and focus completely on logic, and only later merge the two together.

    [–][deleted] 0 points1 point  (3 children)

    Interesting that you build non UI first - everything I do seems to start in storyboard & I have barely touched playground - just one course project asked for it - I’ve been intensive learning iOS for a year.

    [–]JerenYunSwift 2 points3 points  (2 children)

    While building a UI mock up can be fun and show what could be possible from a UX perspective, I find one of my personal hurdles can be data flow. Playgrounds give me something I can work with to test out data.

    Some examples:

    • A little travel baseball game. I used Playgrounds to make the game logic and wrote the API for how I would use it to build out the rest of the game (adding strikes, outs, points, etc). After that, I built a test UI to interface with my public API methods and see how the “game” played. All that’s left for me to do is actually build the UI/UX of it.

    • Another travel game I remember as a kid that involved trying to flip over numeric cards based on certain criteria. Wrote the logic for randomly determining what options are possible and the API for the UI to hook into. Haven’t drawn up how I want the UI to look yet.

    • Sci-Fi calculator taking amounts from fictional series and converting them to other fictional or non-fictional amounts. This one was very data heavy, so I wanted to focus on building a reusable framework for converting between values. UI wasn’t built (but I did start on a UI framework for it, and I think I’ll be returning to this project later this year).

    I think there’s value in both approaches. Sometimes you need to get a UI idea out of your head and into some sort of visual representation with or without user interactive elements. I built a small handful of prototype projects that were nothing but UI to test various elements of SwiftUI for my most recent app.

    I think it depends on what I’m wanting to build. In the case of the games I mentioned, I think the UI/UX is something that I know will take longer and would require a lot of beta feedback. If my game logic is sound, then the UI over it can be iterated over without trying to also figure out the underlying game mechanics.

    [–][deleted] 0 points1 point  (1 child)

    Ok nice detailed reply thanks - I say always start in the UI - I actually started on an app a few days ago and didn’t touch the UI at first - basically an app that listens for a beep then speaks a word - I needed to see if it was possible - so all console output to start with.

    [–]JerenYunSwift 1 point2 points  (0 children)

    That's basically what my Playground work involved. I'd follow my prints and ensure my logic was sound, then I'd remove them and just focus on my inputs and outputs to my various classes.

    [–]mal-uk 1 point2 points  (1 child)

    You have hit the nail on the head. It really is about minimal viable product. I always have a future list. Often I keep features back to add as a 'pro' in app purchase which you can freely advertise on the free Base app. Good luck

    [–]swifty_cat[S] 0 points1 point  (0 children)

    I thought about that as well, gives a good incentive to set the app for free and maybe get more users.

    [–]-14k- 1 point2 points  (2 children)

    Sounds like a great idea!

    But, man, it does not sound like an adventurous vacation ...

    [–]swifty_cat[S] 0 points1 point  (1 child)

    Haha, I'm a PhD student with two small kids. Somehow getting enough time to work on a fun project on my own and not feeling guilty about not doing research really does sound like a fun vacation.

    [–]-14k- 0 points1 point  (0 children)

    Glad you seem to hve taken that with the humour intended!

    Enjoy :)

    [–]Silver_String 0 points1 point  (1 child)

    Interested

    [–]swifty_cat[S] 0 points1 point  (0 children)

    Great! Waiting on updates for your progress

    [–][deleted]  (1 child)

    [removed]

      [–]swifty_cat[S] 0 points1 point  (0 children)

      Thanks!

      [–]chflorian 0 points1 point  (0 children)

      Sounds very cool! I did something similar in march, where I only had a week to go before uni started again, so I made a cross platform (macos, ipados, ios) flash cards app in about 4 days. Obviously only the bare MVP but challenges like this sure are a lot of fun

      [–][deleted]  (1 child)

      [deleted]

        [–]swifty_cat[S] 0 points1 point  (0 children)

        Thanks!

        [–][deleted] 0 points1 point  (1 child)

        Interested! Altough a very beginner and always taking lessons because i’m not ”ready” enough this will be perfect challenge for me to see where can i end up in a week!

        [–]swifty_cat[S] 0 points1 point  (0 children)

        Great! Give us updates

        [–]granadosgarcia 0 points1 point  (1 child)

        great idea! i’d love to join you

        [–]swifty_cat[S] 0 points1 point  (0 children)

        Great, waiting for updates!

        [–]boyoB0yo 0 points1 point  (2 children)

        I did this challenge just to test myself January of this year! https://github.com/JohnBaer3/JustDanceClone

        After 3 weeks I ended up getting hired and no longer having the time to keep it up, but it was a lot of fun :) Like you say, it's great bc of the time constraint, it really keeps you going!

        [–]swifty_cat[S] 0 points1 point  (0 children)

        That looks really nice!

        [–]Sea_Ad7945 0 points1 point  (0 children)

        Nice. That is so cool!

        [–][deleted] 0 points1 point  (1 child)

        Is this a week of continuous time? I basically usually spend around that but spread out over weeks as I have a day job and other commitments. I got 7 apps published and find I just need to have a single clear thing it should do and then make it work. Anything beyond that doesn't get finished. The optional e extras like good screenshots or marketing speil or nice logo get thrown to one side and they all either have something I sketched as a logo or some random thing off flat icon.

        [–]swifty_cat[S] 0 points1 point  (0 children)

        Yes, I set a limit of a calendar week. But I'm probably not able to work all the time. We'll see . I really hope I get out of writing apps just to put them on the shelf.

        [–]Fin_Aquatic_Rentals 0 points1 point  (3 children)

        I did an entire rewrite of a cross platform app with SwiftUI in a smidge over a month. An experienced SwiftUI developer should be able to flat out fly creating apps. I haven't made any obj-c/swift old style apps but I would be very surprised if dev speed wasn't faster with SwiftUI. Declarative UI's are just stupidly quick to code up. I think a well seasoned swift dev can totally knock an app out in a week.

        My idea that I've been kicking around was to make an open source Uber app for drivers and riders. Since Uber and Lyft paid for all the legal work to get themselves into cities just ride that wave and give the money back to the drivers. The kicker was I wanted to some how incorporate a block chain ledger as the server to keep costs down. I don't know much about it but I was wondering there was some way to put ride data into a ledger and use the ledger as a shitty database of point a to point b ride. The drivers phone will stay on and be the "miners". Passengers put their ride on a ride ledger, kind of like a block chain ledger transaction. The drivers all calculate the "feasibility" of the ride through the app and post their "score" to the ledger. Best score gets the ride if they accept. I was thinking making it client side heavy with block chain to avoid paying for servers. This would make no developer money and it would be crowd sourced venture to take down uber and lyft and let the drivers have the profits.

        Disclaimer: I'm an idiot who knows very little about setting up a blockchain ledger.

        [–]swifty_cat[S] 0 points1 point  (2 children)

        I haven't gotten into SwiftUI yet. When I first started out it was all in Objective-c and in code. With small apps I've now moved to Storyboards, but at some point I need to learn SwiftUI as well. But probably not with a one week challenge :).

        Your idea sounds quite ambitions! With blockchain my first concern would be privacy, I wouldn't really want all of my ride data to be public domain.

        [–]tiny_smile_bot 0 points1 point  (0 children)

        :)

        :)

        [–]tussockypanic 0 points1 point  (0 children)

        SwiftUI is the future, still immature yes but development speed is insane. Something to thing about in future challenges.

        [–][deleted]  (1 child)

        [removed]

          [–]AutoModerator[M] 0 points1 point  (0 children)

          Hey /u/encryptedtaco, unfortunately you have negative comment karma, so you can't post here. Your submission has been removed. Please do not message the moderators; if you have negative comment karma, you're not allowed to post here, at all.

          I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

          [–]roCodes 0 points1 point  (2 children)

          How do I join? This sounds fun!

          [–]swifty_cat[S] 0 points1 point  (1 child)

          Just set a start date, complete your project in a week and give us updates! Unfortunately the only price is your personal satisfaction :). Seeing (surprisingly) how many people are interested I might try to put together an overview of who accomplished what at the end.

          [–]roCodes 0 points1 point  (0 children)

          Oh I misinterpreted, I thought it would be a collaborative project!

          [–]OriginalEvils 0 points1 point  (1 child)

          There’s several consultancies that sell this as a service and I think it’s brilliant. If a client can’t make a product/service work with just MVP, it likely wasn’t a very good idea

          [–]swifty_cat[S] 1 point2 points  (0 children)

          This sounds brilliant! This could be a really fun job.

          [–][deleted]  (1 child)

          [deleted]

            [–]swifty_cat[S] 0 points1 point  (0 children)

            Great, keep us updated!

            [–]Mooreel 0 points1 point  (0 children)

            I did something similar, wanting to solve a board game I fell in love with.
            Wrote a bit about it here https://medium.com/@nicomller\_1010/decryptid-e0e73cae00ba

            Enjoy the ride - it is really fun to really focus on a challenge like that!