Easy iPhone Layouts

Get to sketching you!

I’m not the first and probably not going to be the last to do this. I quickly grew tired of hand–drawing boxes when drafting up iPhone app ideas so I made a nice little pdf with eight displays on the page. This makes things a bit easier for you devs out there.

You can download the template here.

Future-Proofing via Objective–C

Recently, I’ve taken to broadening my knowledge in Objective–C. I even took the plunge and signed up for the iPhone Developer Program in hopes that investing money into the program will force me to stick with it. The iPhone Dev Center has been a great resource during my studies. The dev center features a comprehensive list of resources for learning the Objective–C language and applying it to the iPhone, along with tutorials, forums, and documentation for getting intimate with Apple’s development framework Cocoa. To call it a framework doesn’t do it justice. It’s more like a development armada for creating applications for OS X and iPhone.

Coming from a design background, I’m constantly playing catchup when I’m faced with learning new coding languages. Most CS guys/gals will have an easier transition into a language like Objective–C because it’s a direct superset of C, at least I hope they have an easier time than I did. Objective–C shares many of the language conventions as C save for the fact that Obj-C is an OOP language thus giving it the moniker “Objective–C”. That’s good news for anyone familiar with Object Oriented Programming Languages. Once I was able to get my head around the syntax differences that both C and Objective–C share, everything else just started falling into place. I’m now two weeks into it and I feel I can garner a commanding understanding of the language over the next six months. I hope when opportunity knocks on the client-front, I’ll be ready to dive in and produce a kick-ass iPhone app.

In any case, my advice to anyone wanting to break into a new coding language is simple. Embrace the documentation, open your mind up and stuff that information as far down as possible. Pour a healthy amount of caffeine into the mix and you’ll be good to go. Applying yourself to a new language will definitely open doors for you. That’s the beauty of coding. Each language you conquer serves to strengthen your ability to absorb new languages. In the future, you may find it progressively easier to hot-wire your brain for building new technologies.

Link Dump – Week of 7.27.09

iPhone Development:

http://icodeblog.com/2009/07/29/iphone-development-where-is-all-the/

Design:

http://digital-photography-school.com/how-to-use-textures-to-enhance-your-photographs

Link Dump – Week of 7.20.09

iPhone development:

http://mattgemmell.com/2009/07/14/iphone-development-emergency-guide
http://www.stanford.edu/class/cs193p/cgi-bin/index.php
http://memo.tv/memory_management_with_objective_c_cocoa_iphone

Music:

http://www.ptesquad.com/more/pte018.html

Adobe Watching:

http://radleymarx.com/2009/07/flash-on-twitter/

Digital Spending on the Rise:

http://adage.com/digitalnext/post.php?article_id=138023

Programmatically Speaking

Just installed CodeColorer plugin for wordpress. It’s pretty nice. Kudos to Lee Brimelow for this Q&A post. I may as well start things off right by including an actual code snippet. In March I spent a week or so answering people’s questions and generally helping out in the AS3 section on gotoandlearnforum.com. I haven’t participated much since then, but one of the gems that came out of the experience was a method that returns the the number of frames between two frame labels of a MovieClip.

EDIT: Codecolorer is broken in wordpress 2.8.4, guess I’ll have to wait until an update is released. See the code snippet here.

I haven’t really found much use for it yet, but it may be worth something to someone out there. See the original forum thread at gotoandlearnforum.com here.

Tip of the Week – or – Things I Learned This Week

Participate in Your Craft

Become a community leader by joining usergroups, contributing in any way you can by posting to forums, talk to colleagues and mentors, ask questions, challenge people on what you think is right and if all else fails, do what you think is right anyway.

I recently joined gotoandlearnforum (courtesy Lee Brimelow I’m jschertz on the forums). I spend most of my time in the AS3 forum answering random actionscript questions. Not sure how much I’ll participate, but the posts that I did have time to answer have been pretty quick explanations. Hopefully in the near future I’ll have time to tackle some of the more challenging problems people encounter. The main thing I’m getting from the experience is exposure to AS3 classes I’ve never touched and re-exposure to OOP concepts and classes that really do reinforce my overall understanding of the language.

Bottom Line: User Communities are rewarding when you make the time to participate

On a related note, I recently became a slave to Twitter. Feel free to follow my semi-awkward, infrequent ramblings. I joined on the wishes of my employer and I have to say I’m impressed. My early skepticism was washed away after I started following some of the big names (Grant Skinner, Lee Brimelow, Keith Peters, Andre Michelle) in the Flash/Flex world. I highly suggest joining twitter if only to follow these community leaders. You might learn something.

Using Flex 3.x SDK in Flash CS4

This came to my attention during a project I recently worked on. Flash CS4 users can now import flex swcs into their flash projects. It’s a fairly simple process. Just download the latest Flex SDK, unzip it, and put it wherever you want on your system. I went ahead and renamed the default adobe folder to “3.3.0″ to reflect the version.

Next, create a new AS3 Flash File in Flash CS4. Goto Publish Settings > Actionscript 3.0 Settings. You’ll see four tabs on the bottom half of the window. Click on Library Path. Click on the + icon “Add New Path”, then click on the folder icon “Browse to Path”. Drill down to where you saved your Flex SDK. Now drill down to /frameworks/libs/ For instance mine looks like this:

adding the flex sdk for use in the Flash IDE

adding the flex sdk for use in the Flash IDE

That’s all there is to it. Now you can import any mx package for use in the Flash IDE.

IMPORTANT UPDATE:

Recently ran into an issue on a fairly large project where targeting a whole directory path caused Flash CS4 10.2 to throw null object references on objects that were clearly declared and coded properly. Solution ended up being targeting individual swcs. So instead of pointing to /frameworks/libs/ we targeted the flex.swc like so: /frameworks/libs/flex.swc. This seemed to solve the problem, but we ran into it again with our project-specfic /libs/ directory. We had flex and flash devs all dumping swcs into a single directory, so again, for the flash portion of the project, we targeted only the swcs that we needed to use. Make a new line for each swc you’re importing.

Switching from Eclipse Flex 2 Plugin to Flex Builder 3

I had the fortune of having Flex Builder 3 installed on my machine today at work. Originally, I thought making the transition from Flex 2 plugin for Eclipse would be a long and laborious process, but there’s really nothing to it.

The coolest thing I found so far is the addition of the Actionscript Editor color options section in Preferences > Flex > Actionscript Editor. The process to switch the colors is pretty simple now. It takes nothing short of a miracle to learn how to change the Actionscript Editor colors in Eclipse Flex Builder 2 Plugin. That process took me way too far into the terminal than I was comfortable with, but in the end I learned how to extract and compile .jar files from the command line.

I’m starting a new project at work this week. It’s more of a side project so the timeline permits a little extra explortation on my part, which is why I’m choosing to build it in Flex 3 (I’ve only done Actionscript Projects in Flex, very little mxml, another day maybe). While I did have initial misgivings about the switch, a friend and co-worker of mine pointed out that, really, there’s no difference between how I use  Flex 2 and Flex 3 so I figure I can take a few chances and hope my project doesn’t jump the shark when it comes time to grind it out. So far so good.

Publishing from an iPhone

I’m testing out the wordpress app on my iPhone. I spent about two hours today reviewing iPhone Dev center documentation. I’m also still trying to figure out how I’m going to write even a single line of code without OS X 10.5.

iPhone 3G & Enterprise

I got my hands on an iPhone 3G today after weeks of being lazy. My wife and I were out the door before 9am this morning. The guy that helped me out with the purchace didn’t really have any answers regarding the difference between the basic data plan ($30) and the enterprise data plan ($45), only that the enterprise plan was for “business people,” which is understandable. Apple takes care of the phone and AT&T takes care of the voice/data plans.

I did a little bit of research on the AT&T website tonight and I found little or no good explanations for the burning question “Do I need this to access my work email?” Seeing as I set up my email via exchange before I did any research, it brought me to the conclusion that no, I don’t need the enterprise plan to access email via Microsoft Exchange. In fact, I did some googling of the topic and found a fairly helpful post by Mike Deoff regarding the confusion and subsaquent shananagans surrounding the enterprise plan.

Mike mentions his confusion in his original post and provides updates with other bloggers’ discoveries regarding the data plan. He writes:

I found a very good explanation on Howard Forums from someone named RF9:

AT&T will not be blocking Activesync. There really is no way to do it.
The $30 iPhone 3G personal data plan is the same thing as $30 PDA personal (for all other PDAs.) And the $45 Apple business data plan is the same as the $45 PDA business data plan.

You can use Activesync on ALL AT&T data plans with windows mobile and Palm OS PDAs as of now. This includes $15 media net, $30 PDA personal, $45 PDA enterprise, $60+ laptop connect, even on all blackberry plans.

So unless AT&T or Apple concocted some way to restrict activesync based on data plan specifically for iPhone, then it won’t be restricted. Furthermore there’s no reason to.
Exchange Activesync is for personal use as much as it is for business use.

The “business” or “enterprise” data plan for $45 will be required if you’re on a corporate paid plan, or if you have a business account. They will consider those businesses and require the business data plan.

If you pay your own individual bill, you won’t be required to get the business data.

If you call AT&T, they’ll tell you “yes, you must have the $45 plan” but those people are just repeating what they were told, which is flat our wrong. It’s nothing new, they’ve been doing it to AT&T reps for years.
Maybe it’s that the people who do the training don’t understand it, or that they’re just being greedy jerks. I don’t really know.

I’ve been following this topic closely for the last two weeks and I can assure you you won’t need the business data. I also know AT&T data plans and pricing very well and for several years and just based on what I know they won’t be trying to block it.

Finally, the reason it’s so vague is for this very reason. They don’t want to come out and say “you can use exchange on personal or business” because they don’t want you to question them when they tell you you must have a $45 business plan to use exchange if you’re a business customer.
They’d rather you just assume you need it and pay for it.

So there you have it. You don’t need the enterprise plan to access company email via Microsoft Exchange. That in itself is available to all iPhone users via the $30 data plan.

The More you Know!

The More you Know!