What I didn’t realize
Up until now most of my apps have been pretty data light, and I never had to foot the bill for the servers and storage on the backend. I got them to work with what was there or the app was a stand alone that just needed to be hosted on the company’s intranet.
Not anymore. The app I’m working on now, and to the point of putting on the web so I can start hitting it with an iOS app, is going to be data intensive for good portions of it, specifically with regards to images. To the point that I had serious reservations today about everything related to the app, I thought I was going to have to reengineer a portion of it, again. But I figured out a solution to the image problem when I got home from the real job and I’m plugging along.
Next week I might update with a screenshot, who know. But it’s coming along.
It’s all in a name and now I’ve got one.
I’ll update later (hopefully today) with some notes about progress, but thought I’d leave this note as it’s interesting, to me at least.
I think a big part of an app’s success is its name. The movie “The Social Network” dramatizes the meeting between Sean Parker and Mark Zuckerberg as a pivotal moment in the history of the world’s most famous social network. If it’s true you have to hand it to them, “we’re Facebook friends” sounds better than “we’re The Facebook friends.” How silly would introductions be? Here’s Mark Zuckerberg, the The Facebook CEO and Founder. “The the?” I don’t know if I’ve ever listened to the band of that name just because that word in repetition gets on my nerves. Besides then if somebody asked “what are you listening to?” I’d have to say “The The The” and I don’t know if I could without devolving into semantic saturation.
Anyway, to the point at hand, I woke up with my app’s name in my mind and the URL of the same name was available. And the name is fun to say. Again, I’ll let you know what it is closer to completion.
Day 1 - IDE & DB
I’ll expand on this
tomorrow later, but I’ve got the IDE setup, the local database server, and the database is designed.
Edit: September 28, 2013.
So much for “tomorrow”, from now on I’m going to use “later.”
Anyway, to explain what this meant.
When a person is developing code they can really use whatever methodology they want to keep track of their files and projects. Some people decide they want to do everything from a text console using command line. Others decide to use text files that they edit in a text editor. Another group like to use an Integrated Development Environment (IDE). I’m part of the last group. Since I’m going to be programming a backend app in java, and apps for iOS and Android, the IDEs that I’m going to end up using are Eclipse for the java backend, Xcode for the iOS app(s), and Android Studio for Android.
For my database I’m currently going to use the default install of MySQL, but try to make the data layer abstract enough that I can quickly switch to other solutions if the application becomes too large for MySQL.
As for the design, I learned a bit of this in school and while doing QA, development, and support for a large medical company’s online application. Plus it’s one of my favorite skills that doesn’t get exercised enough. Since the design of the database drives a lot of the development it’s done first and seldom changed, and improvements tend to focus on speeding up the application given the existing design of the database.
Tomorrow the fun really begins, it’ll be Day 0.
For this project I was going to teach myself Grails, which is a web framework that focuses on convention over configuration, and I still might, but I decided that I wanted to use something that has a little more community support, so I’m going with Spring MVC instead. (I’ve included a pic down below that shows there’s almost double the web resources for Spring MVC versus Grails. Both are java based, which is grand, because I’ve been using java for every role I’ve had since finishing school. Another benefit of Spring MVC is that it’s a recognized enterprise solution, Grails, while fun and entirely serviceable, doesn’t look quite as good on a resume.
Some people are against the idea of buying physical books to learn how to code, I totally understand this mindset, I buy books to only watch them obsolete a few weeks or months after getting them. That’s the unfortunate nature of software development, especially if you’re using anything open source. But as indicated, I am a book guy, I like to have pages in front of me that I can mark up, carry in a back pack, and physically book mark. Don’t get me wrong, I still go to the web for references, but a book lets me not rely on a connection for a while, it makes me feel like the era before ubiquitous information, I kind of like that once in a while. So the book I bought is Developing Enterprise Applications with Spring: An End-to-End Approach, it’s highly rated and contains call outs to the specific features I’ll be developing.
The funny thing about it is that I’m going to be developing a fully functioning RESTful web app solely to server as a back end for native mobile apps.
Another thing that just dawned on me regarding the reason I’m going with Spring over Grails: I already designed the data model. Spring allows you to build an application over an existing database/data model; but Grails, playing to its strengths, uses a top down representation of its domain objects, the database is dictated by the application as it’s built. I love databases and queries and I want a little more control over everything, I think Spring’s going to provide that.
I’ll probably update tomorrow night with progress, but I’ve got a cool dinner thing tonight and a beer fest tomorrow, so who knows.
Oh, here’s that picture:
Oops, or Why iOS Releases Can Bite the Occasional Weekend iOS Developer.
This is on me, it really is. I don’t install the betas to make sure the few enterprise apps I’ve made don’t break like I should. Hopefully blogging this stuff will make it go a little easier.
During lunch at the real job I decided to download iOS7 on both my iPhone 5 and iPad Retina 4G and test one of the enterprise apps I’ve developed to make sure it still works. After a few annoying “unable to verify” pop-ups due to the shear number of people doing the exact same thing I was doing I finally had the new iOS installed on both devices. Yay.
After messing around on the phone for a bit, because it finished installing first, I turn my attention to the iPad and scroll to the screen that consists of apps I’ve developed as part of various tutorials and for actual pay. I find the icon that looks garish among the minimalism of the iOS apps and touch it.
It launches. Then crashes. Shoot. I reach out to the client to let them know that the little elevator pitch app that I developed is crashing on the operating system that their sales reps are probably downloading right now. I let them know that the first thing I’ll do when I get home is check my crash logs and see what’s what.
I ride the bus home. I try to use another app (not mine) to draw some class diagrams and data model stuff for the app I’m actually going to dev blog. That app crashes. I launch again and use it for the rest of the ride with no issues. I realize that I need to download and install the new xCode too.
Pet the dogs, drop the bag, grab cable and iPad, head to office.
Download xCode, install xCode. Check logs - nothing. Delete app on iPad, rebuild and deploy. No provisioning profile. Odd. Dev Center, make sure all profiles and certs are current. Build again, provisioning profile. Check project and target, that’s weird provisioning profiles are empty but signing identities are still filled in correctly. Update profile entries, build, launches on iPad, crashes with unable to add to process.
Quick stack overflow check, tells me to clean, I clean. Command - r again, iPad asking me if I trust the computer and associated profiles, weird but makes sense. App launches, navigates fine. Try to launch PDF, crash, process id error, that’s weird. A few obsolescence warnings in the logs for a class Note to self: refactor this app.
Try to launch app on iPad, not xCode, works as expected, no errors in log file. Build for archiving, throw it up on local server in old location, delete it off iPad, click link. Installs. Launches. Displays PDFs. Rotates. Let client know immediate issues are solved. Still need to run instruments.
Next up is Spring MVC 3 backend work for new app. Yay.
I might be repurposing this as a dev blog soon to chronicle the development of an iOS/Android/Groovy app, and potentially moving it off the tumblr platform to something self hosted. I’ll likely only push updates to Facebook on a weekly basis, but twitter whenever I update.
So, that was 2012?
I’m getting ready to head out and celebrate the end of one year and the beginning of a new one, but before I partake in the revelry and unlikely debauchery I wanted to sum up my year and my hopes for the next.
This year - great, okay, ugh, okay, ugh, whee, whee, whee, oh - ouch, yay, hmm, whew.
Lost a few people, a few pounds, exercised a bit, gained a new job, a couple of pounds. Did a lot of research and some writing, discovered I like brewing beer - which inadvertently may be tied to the pounds.
Next year I will to do a lot more writing than research, lose a few more pounds and not find them again. Finish a couple of apps I’m working on and fix up the house a bit. I will travel more than I did this year, a lot more.
Above all I hope everyone has a great new year, for a lot of you that might be tough, you had amazing years, for some it might be a cake walk. I’m off to celebrate with some great friends and pay homage to Bacchus.
Just a quick and dirty draft of a scene for an idea I had yesterday
“To be honest, I wish I wasn’t listening when she brought it up that day.” He looked to his wife and winked before continuing to the counselor. “But I’d just sold my company for a fair sum and was looking for something to do next. If I thought it would actually work I may have had second thoughts. I mean half the country thinks I’m a saint and the other half wants me dead.”
Jack was attending pre-conception counseling with his wife Caroline, a meeting that he and his wife were responsible for becoming more common place. Jack had made his small start up very profitable and sold it to one of the big players for just under one hundred million dollars.
“Honey, you knew what we were doing when you agreed to help me do this, I had faith in your abilities to get it done.” She reached out and grabbed his hand looking into his eye and winking.
“But I didn’t think about us using it, we had always talked about what ifs, I never thought we’d actually have a kid ourselves.”
The counselor, Dr. Shields interrupted, “But Mr. Sampson, you got it working and now it’s common place. You have changed the world.”
“No need to remind me Doc, you wouldn’t believe the amount of hate mail I get daily.”
“It’s not that much honey, besides you get just as much fan mail from women that are happy about the technology, especially women that had children before the change.”
“I get more hate mail than that dear, I have them filtered to forward the specific death threats to the FBI, we only get the occasional ‘I wish your mother aborted you’ ones,” almost funny when you consider what all the the fuss is about.
“Mister and Misses Sampson, that is all to be expected to some extent, your device that allows people to share pain equally has changed the way we experience pregnancy and birth. Men aren’t used to the physical pain involved with the process and it’s understandable that they would be wary and averse to the idea that they should now take part in it.”
“I’ve heard that it’s leading to fewer children being born because the men don’t want to go through with the pain and the women don’t want to go back to having all the pain themselves, especially if they use the technology during their first birth, those couples aren’t having more than one. And here we are debating finally having our first, and who knows? Only?”
“Honey, don’t talk like that, you know we want a couple of little ones, shit, we have the time and resources, don’t we?”
“But what if I can’t handle the pain more than once? Or don’t want to, how would that look if the creator of this technology was unwilling to use it? You think I get death threats now? I can’t even imagine how many I’d get then.”
“Excuse me you two, but that’s what I want to talk to you about,” the counselor said. “I have an idea that could keep the population stable but still prevent the need to experience the pain more than once unless you wanted to.”
“Really? What do you recommend?”
“I foresee two options; first, you could choose to have the first child naturally without the shared pain emotive control transfer router, or second, you could decide to use fertility treatments and try for a multiple birth your first time out, so you don’t need to have any more pregnancies to have your full family.”
“Are many couples going this route Doc? I don’t want to be seen as getting preferential treatment because of our status.”
“No worries about that Mr. Sampson, it’s understandable that you’d feel that way, your wife mentioned that you’re humble, that’s a good quality in a person let alone a parent. As to your question, more and more couples are going this route if they have family members that have already used the SPECTR when going through their pregnancies.”
“I suppose the manufacturer’s of multiple seat strollers are all in favor of this development too?”
“Most likely honey, but that’s not important.”
“I just worry that we’re taking the most natural thing us humans do and making it even more unnatural than we’ve already made it with the SPECTR.”
“Don’t worry about that Mr. Sampson, it’s still natural, but with just a little help.”
“Still natural? How often do multiple births normally occur? Now we’re encouraging them not just for the people that have fertility issues, but for everybody, just so they don’t have to experience some pain again if they don’t like it.”
“I see your point Mr. Sampson, if you and your wife want to we can go with the first option, or avoid fertility and just let nature take its course, the choice really is up to you two.”
“We need your approval to have use the SPECTR for our pregnancy don’t we? Even though we invented it?”
“You invented it honey, I was just your muse.”
“You two will have my recommendation, you wouldn’t believe how many couples are just baby hungry and end up coming in against the husband’s wishes. You two seem a little trepidatious and that is the most natural thing in the world, deciding to have children shouldn’t be an easy choice, especially in today’s world.”
will be coming soon, and with a greater frequency. I’m not sure what they’ll entail. I’ll let them decide. They’ve been banging at the prison bars waiting for parole or escape.
Change is in the error.
I’m going to be transitioning this from being about my motorcycle trip to being about me. Some of my life, my writing, my resume, my coding and some of the apps I publish. Don’t worry though, a well edited, family friendly volume is in the works. I’m just going to write it and shop it around to publishers or self publish in a trade paperback format and digital.
I’ll likely transition from a tumblr account to a self hosted system that I can modify as I see fit too.