Saturday, May 23, 2009

Project Report

I didn't write it. These past couples weeks I needed a break and decided to put off writing the report this summer if I get motivated enough.

In other news, I've recently joined a small startup as the head iPhone developer. I can't say much about our first app other than the fact that it's related to World of Warcraft. Yes, you hardcore EVE players, I used the W-word. It's a game I've played for years and only recently quit to play EVE. I guess it may be time to restart my account.

I'm projecting that this endeavor will take time away from developing this app. Nobody has come forward to help out as an assistant developer. I don't plan on stopping development of this app but releases will come at a much slower pace.

Thursday, May 14, 2009

SourceForge

My annoyances with SourceForge continue. Apparently they system doesn't update the main download page to the newest version when you upload a new build. I just noticed it and went in to fix it. I was curious why I had so many build 39 downloads but so few build 40s. Now I know. Thanks SourceForge!

Monday, May 11, 2009

Break

I'm taking a couple weeks off from the development to write my report for this app. I'll definitely be resuming working on it when I'm done with the report. Also, I'm looking for help (copy and paste from EVE Mac forum):

Designer-
While this encompasses mostly user interface design and user experience stuff, I'm looking for a novice to experienced programmer. They don't necessarily have to know Cocoa/Objective-C (although it is preferred) but should at least be familiar with use cases and have designed UIs in the past. A few people have come forward willing to help out with this field with either no knowledge of the limitations programmers face nor a grasp of what the community wants rather what they would think is cool. This is a Mac app and I want it to retain the look and feel of one.

Assistant Developer-
Here's where I need an experienced Cocoa developer. People who insist on using Carbon need not apply. Familiarity with Core Data, Core Animation and working with Cocoa Bindings are all huge pluses. 2 of the 3 is pretty good, too. Come to think of it, I'd probably want two assistant developers.

Email me if you're interested and want more details.

Sunday, May 10, 2009

Skill Planning Update

I'd say I'm a good 60-70% done with this. As of this writing, the new build is up on SourceForge. 

The whole drag and drop process works with a couple of exceptions. First, if lets say you have skill X planned to a maximum of level 3 on the list. If you re-drag skill X, it should automatically add an X planned to level 4. It doesn't. Same situation if you already learned a skill up to a certain point. This is an easy fix that I'll get to next time around.

Moving skills up and down within the table is fully working. It validates to ensure it's a safe shift and simply ignores invalid requests. My only complaint with how its designed now is that it only allows you to move one skill and level at a time. If you want to move all the levels of a particular skill, well, it's somewhat more tedious.

Sorting and setting train-to level are still incomplete. Also, if you happen to finish training a skill, the skill plan doesn't get updated.

Even with all these loopholes, the most important function of automatically populating the table with the correct skills and levels in proper order works perfectly from my experiences. It even works whenever you drag another skill right in the middle of the list of your current skill plan items. If this occurs, my app automatically validates the drop position and if it fails, it moves to the first location it can be trained at within your plan.

On a final note, you may need to wipe your ~/Library/Application Support/EVE Mac Suite/ folder again.

Thursday, May 7, 2009

SourceForge and File Cabinet

I know that downloading straight from the File Cabinet was the easiest way to get my app. However, I realized that I can't be tracking any kind of statistics on as to how many people download my app. I'll no longer be posting the latest build there. On the bright side, I've kind of gotten the hang of SourceForge's release system even though I don't like it. A new release will be posted on my project's home page almost every time I do a submission.

Oh, and my brain is probably very charred by now trying to think of an effective way to add skills to a skill plan.

Wednesday, May 6, 2009

Skill Planning

Conceptually, I'm having a lot of difficulties here. If all that somebody wanted was to create a plan for one single skill, no problem. But people are obviously aren't going to limit it to one skill. If someone wanted to add several unrelated, i.e. don't contain overlapping skill and level requirements, then there still isn't a problem. However, situations that contain overlapping skills is where I'm stuck.

I've pretty much spent my entire day conceptualizing and drawing diagrams. There are just so many scenarios that its frying my brain.

Tuesday, May 5, 2009

Cocoa Bindings and CALayer (continued)

Well, I figured out what my problem was. It turns out it was my oversight after all. The problem was that I was keeping track of only 1 bound object at a time. In other words, if Engineering was being trained and the original branch I pulled up contained 2 or more Engineering CALayer before looking at a different branch, my app would only unbind the last Engineering CALayer. Once the new branch gets pulled up its only a matter of time before a Key-Value-Observing notification be sent to an unbound but non-existent object, causing a crash.

Rather than waiting to accomplish a significant amount I'm going to try to submit my code and generate a release very soon as I think this is a pretty critical bug.

Monday, May 4, 2009

Skill Browser...


...is 85% complete! Everything aligns properly. The data, from what I've tested, is accurate. The colors... need work. I may not have the fancy gradients that EVEMon has but I'm happy with solid colors. The solid red and blue colors kind of make it difficult to view the text. I'll try to get that fixed next time I submit. My only other complaint is that when the skill planner window initially loads, the branch view is scrolled to the bottom left corner rather than starting at the top left. I've tried a few things to set it to start at the top including doing it programatically but in doing so, such attempts produced problems of their own. 

A few things from the Core Data model have changed so it would be advised to delete the old store. Maybe later on I'll automate the process. Although, in doing so, I'll have to create a mapping model. Never had good luck with those. Also, I changed the store over to a binary format. You'll notice that storing and loading is now more than twice as fast.

I've posted build 38 in my google site link. If you've encountered any bugs while using the skill browser window, let me know.