Monday, May 28, 2018

Progressing with developing my app

I'm scrambling to build. I spent quite a bit of time researching and trying to understand a CocoaPods (dependency manager) enabled library provided by Stripe for iOS for payments, but I haven't succeeded in successfully implementing it yet. (This was my work around for not having the Apple Developer status for Apple Pay, which I would get at a later time, shortly but still after this course.) It was something I had listed as a 'future improvement' in my proposal, but that was incorrect to do, and I still want and need it integrated. This week forthcoming, I'm going to move on and build the subscriber's account pages. They'll need to manage their accounts, view and edit their messages and beneficiaries, etc.. I have a lot of work to do, and am trying to stay calm, but this would go a long way toward providing a substantial product, albeit one that needs a lot more polishing.

Tuesday, May 22, 2018

Job Hunting and Interviewing

It's time to start thinking about where to work post-graduation.  Finding a dream job requires hard work, talent, luck and a strategy.  Here are some tactics one may try, according to monster.com:
  • Contact professional organizations in one's field
  • Visit specific company's/organization's web sites, not just job boards
  • Apply directly to organizations that are of interest
  • Network, network, network
  • Join professional associations
  • Participate in job fairs
  • Use a placement agency or recruiter/headhunter
  • Consider temping
If one is fortunate enough to receive an opportunity to interview, here are 11 tips to follow to make one's case, also according to monster.com:
  • Practice good non-verbal communication, like standing straight, making good eye contact
  • Dress for the job or company
  • Listen
  • Don't talk too much, ramble
  • Don't be too familiar
  • Use appropriate language
  • Don't be cocky
  • Take care to answer the questions
  • Ask questions
  • Don't appear desperate
  • Prepare one's answers to potential, likely questions in advance

Tuesday, May 15, 2018

Storyboards/Interface Builder Vs. Programmatical Development/Direct in .swift

This week I studied some of the merits of creating the iOS in storyboard, using XCode's interface builder, versus a programatic development directly through the swift file (also in XCode).  The former strategy is best for the single developer or small team because storyboarding and its NIB files don't work with GIT distributed content management.  Secondly, the former is simply the greatest direct visual illustration or representation of what is being produced, rather than coding through what one imagines will be the result, which is fine, too; certainly that is what one does with HTML5/CSS3 front end.  In this way, it's simply the sheer brilliance of Apple to make it seem too easy.  But the latter makes more sense when the size, scale and/or dynamism of the app are either too unwieldy or complicated for a storyboard layout.  With respect to the size, are the so many scenes that you'd have to time-consumingly populate each one with material that could better be sent over programmatically, which would turn out to be a more efficient method?  With respect to dynamism, in other words, does the user swipe through a static stack of pages or do they affect the direction/the flow and change the page that is called based on their input?  Programmatic development is superior when one wants to dynamically call upon a diverse variety of data that may be inserted into its place on the page, based on the user's input.  A good example of this, which one of the tutorials I watched is doing, is the "Choose Your Own Adventure" app.  For my app, however, the on-boarding of the client is linear, so I'm using storyboards.  Frankly, it's also easier given the six-week timeframe of the course -- this is yet another merit of the storyboard, at least for someone of my entry-level skill level.  It's been much faster than I anticipated.

I particularly liked this discussion of the subject by Antonio Bello: https://www.toptal.com/ios/ios-user-interfaces-storyboards-vs-nibs-vs-custom-code

Monday, May 7, 2018

native, Swift iOS app via XCode!

I have such a sense of urgency with respect to building my app that it's almost hindering my progress!  But, joking aside, I've been given the good advice to avoid this pitfall by plugging along with more manageable, smaller parts, which is where I've kept my focus this week.  This week's progress has included implementing some of the app's architecture, connecting or stacking app scenes with navigation controllers, adding textual content as well as design and graphical assets.  The latter assets caused some delay, whilst I waited for them to be sent over.  I also switched gears and spent much work time completing the ILP, which is almost finished.  It was a mistake to hand code it because, even though I used the bootstrap framework, it still took longer than I had to give to it.  Otherwise, I won't spend too much time on this journal this week because I wrote about the effective meeting last week and am just really anxious to spend all my time building, programming.