LunarLincolnLunarLincolnLunarLincolnLunarLincoln
  • Home
  • Process
  • Services
  • Work
  • Writing
  • About
  • Contact
  • Home
  • Process
  • Services
  • Work
  • Writing
  • About
  • Contact
Dec
26

Building an App in 2 Weeks

  • Posted By : Jonathan Wiley/
  • 0 comments /
  • Under : App Advice, CaseCollage, Coding

Me: So you have an app idea you need built? Excellent. What’s your timeline?
Client: ASAP. 1 week if you can, 2 weeks max.
Me: Okay, that’s a tight deadline. Do you have a complete design?
Client: No. We’re still working on the wireframes and may need to make adjustments as we go along. That won’t be an issue will it?
Me: *facepalm*

Normally this would be a line of conversation that shoots up red flags all over the place. App development requires a fine balance of time, quality, and scope. When you restrict the timeline and expect high quality without knowing the full scope, things can quickly get out of control. If this had been a client, I would have politely told them how stark raving mad they were and figured out a way to either extend the timeline or define and pare down the scope (knowing that most, including me, are not willing to sacrifice quality). But this wasn’t a client who asked me to do this; I had come up with an app idea with my designer, partner, and trusted advisor Jennifer, and we wanted to make this happen. So, challenge accepted! Okay, so how do we build a quality app that does what we want in 2 weeks?

mad-hatter-2

Luckily we had a clear vision for what the app should do. The app was to become CaseCollage, and it would allow a user to arrange their photos into a printable collage that fit between an iPhone 5c and the new iPhone 5c case, personalizing the phone and covering up the misaligned regulation text in one fell swoop. I cannot stress enough how important it was to have a clear idea of what we wanted before we started. From firming up the wireframes and design to deciding which features to include and which to cut, we always came back and asked if it helped us reach our original goal for the app.

We were working on an extremely tight deadline, so the less development I had to do the better. I started by finding open source libraries to help us form a foundation for the app (remember, “don’t reinvent the wheel”). Grabkit fulfilled our goal of having photos in the app while giving us the added benefit of social integration with Facebook, Flickr, Instagram, and Picasa. OBDragDrop was instrumental in coding our collage editor. We even used libraries to customize progress indicators and sharing options. With the foundation in place, I set out coding the app. I worked long hours, spending every waking moment strapped to my MacBook typing like a madman. Jennifer worked just as hard rounding out the design, preparing assets, and offering constructive criticisms (some of which I was not in the mood to hear). With a prototype in hand we sent out the app to beta testers and took notes over their shoulders as they tried to use the app for the first time, biting our tongues as they fumbled their way through our hastily designed UI. With feedback in hand we quickly tweaked the app, washed, rinsed, repeated. After several iterations, a solid 2 weeks of nonstop coding and designing, and an all-nighter, we submitted our app for review. I demoed the app at Nashville CocoaHeads the next evening, got a great response, and left with an amazing elated feeling in my bones. The seemingly impossible had been accomplished! Now all we could do was wait and hope that Apple approved of our creation.


Sep
06

Customizing and Integrating WordPress Blogs

  • Posted By : Jonathan Wiley/
  • 0 comments /
  • Under : Coding

When we started designing LunarLincoln’s website we knew that we wanted to include a blog. I set out to find a blogging platform that would suit our needs; when I saw our hosting provider offered one-click WordPress installs, I was sold. I setup a subdomain to host the blog and had it up and running in no time. I wanted to fully integrate the blog into the website, so I did a quick Google search and found that I could pull content from WordPress using “The Loop“. Awesome, now I had a backend to handle managing the blog (it wasn’t properly themed, but we would be the only ones seeing it) and a beautifully themed front end for our visitors. I felt pretty good about this. I had successfully integrated WordPress into my website! Or had I? As we added blog posts, I kept having to add CSS rules to my for each new content type. Submitted a post with an image? Just a sec, let me put reasonable padding around that. Need to see more than 5 blog posts at a time on our website? Let me write a custom pager. Luckily the inherent laziness that has fueled so much of my engineering career kicked in and I decided there had to be a better way. I did another Google Search, digging a little deeper this time. It was amazing what I found in 15 minutes.

On most platforms, there’s the “right way” to do things and then there’s the “wrong way”. And I had inadvertently chosen the wrong way. An article from PressCoders set me straight (see Section 2: Rookie Mistakes). Turns out I didn’t have to hack WordPress to bend it to my whims, all I had to do was follow WordPress’s documentation to theme our blog correctly. Creating a custom theme in WordPress is fairly straightforward. First, find a theme that you like. Then create a child theme and override what you want to change. In our case a custom header and footer file combined with a bit of CSS did the trick. Once the theme was coded I rescued our stranded WordPress instance and moved it into a folder at our main domain. The finished product is what’s hosting this very blog post.

I’ve used this technique to help create a few other blogs as well. My good friend Chris Paz needed a video blog for his upcoming travel adventures. He uses certain design elements in his videos and wanted a blog theme to match. With his artwork I was able to set up a themed instance for him in under a day. Even Jennifer is getting into custom WordPress instances, employing no less than 2 on her newly redesigned portfolio page. What is perhaps most impressive about WordPress as a platform is that we’re all hosting different types of content. This blog is mainly for text, while Chris’s focuses on video and Jennifer’s includes works from her portfolio. It all looks great and is easy to manage, which lets us focus on creating content.

WordPress and I didn’t get along well at first and this project was a friendly reminder that I should research “the right way” to do things when I start working on a new platform. But all in I have to say I’m mighty impressed with WordPress at the moment. It feels good to ship, and I’ve gotten to help ship 3 of these blogs in the past month. Now I just need to write more blog posts…


Jul
16

Cocoa Controls is my one stop shop for open-sourced iOS and Mac UI components

  • Posted By : Jonathan Wiley/
  • 0 comments /
  • Under : Coding

“Don’t reinvent the wheel”. That’s probably one of the most important rules I follow as a developer. I save time by leveraging the hard work of other generous developers and using their open-sourced code in my apps. Simple Google searches will turn up code that can help your app do everything from simplifying network operations to leveraging GPUs for enhanced image processing.

Screen shot 2013-07-16 at 6.56.03 PMCocoa Controls is like a Google search on crack for custom iOS and Mac UI components. At the time of this writing there are 1,369 components listed on their site. They make it easy to search for components that are licensed appropriately and provide screenshots of the controls so you can see what they look like without having to download and run the code. In working on LunchTimer, I found I needed a UISlider with 2 handles to input the lunch window. So I browsed over to Cocoa Controls, did a quick search, and before long I had NMRangeSlider up and running. Here’s what it looked like after I customized it:

HOTTTTTT

Perhaps my favorite part of Cocoa Controls is their Apps section, which lists apps using controls from Cocoa Controls. It feels good when you’re in the company of Evernote, Facebook, and Vine, just to name a few.

Power users looking to manage their favorite Cocoa Controls components may also want to check out CocoaPods. CocoaPods is a dependency management tool for iOS and Mac that makes it dead easy to include custom controls in your app. Cocoa Controls conveniently includes the pod declaration for each supported component, making the process of using custom controls in your app even easier.


12345
Recent Posts
  • Celebrating 10 Years
  • Copious Communication
  • Initial Questions for a New Mobile App Project
  • Gif TV: A LunarLincoln Product
  • Onboarding other peoples code
  • What’s in a name?
  • Don’t build it all. Picking a Platform.
  • Talk to your Users
  • Design for Fat Fingers
  • A new look
Archives
  • August 2023
  • May 2021
  • September 2020
  • November 2019
  • October 2019
  • June 2019
  • April 2019
  • February 2019
  • January 2019
  • October 2018
  • August 2018
  • June 2018
  • April 2018
  • January 2018
  • October 2017
  • August 2017
  • June 2017
  • February 2017
  • January 2017
  • September 2016
  • July 2016
  • April 2016
  • March 2016
  • February 2016
  • October 2015
  • September 2015
  • July 2015
  • May 2015
  • February 2015
  • December 2014
  • November 2014
  • September 2014
  • May 2014
  • April 2014
  • January 2014
  • December 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • December 2010
Categories
  • Agency
  • App Advice
  • Branding
  • Business
  • Business
  • CaseCollage
  • Coding
  • Design
  • Design
  • NSVille
  • Uncategorized
  • Web Design
Copyright LunarLincoln 2025. All Rights Reserved