PDA

View Full Version : I'm thinking of starting to write Mac software


nato64
2006-03-19, 23:21
I'm here in CA, going to film school. I pretty much hate all the cocky a-holes driving around brand new b&w's that go here. I don't relate to any of them because i'm not self-centered nor am I egotistical. So, I was thinking, what else could I do with my life if I don't fit in here?

My other passion is Mac, Mac software, Mac everything. I already know that I would love to be the project manager or something on a software development team. I just have no experiance in code. Then I realized I'm coming home this summer to my two best friends. One of which is going to DigiPen U. to become a programer. My other friend has ├╝ber photoshop skills. BAM it hit me. We could do it. We could, over the summer, make a peice of Mac software that we would love and use ourselves. If anything comes of it, I might persue it more.

Am I too ignorant in this field? Maybe. But I love it too much to just be discouraged now. It's something I want to do. Heck, it could be my escape from the college I'm going to now. I would love more than anything to develop software for the Mac. Become part of an awesome community that I love and would begin to contribute to.

Sorry, I know this is a completely POINTLESS post. But I just wanted to know if anyone had any advice for someone like me. 18, unknowalgeable, crazy, etc. Thanks in advance.

[nate]

ghoti
2006-03-21, 14:28
So what are you planning on doing? The composition of your team suggests a game, or a very well designed piece of software for creative purposes. Having design people in the team is great, and will set your work apart from 99% of the other stuff that's being done (which is just computer geeks/programmers). But the problem you're likely to run into is that you will underestimate the amount of work, and will try to do something way too ambitious for a single programmer.

But keep us posted, it sounds interesting!

bassplayinMacFiend
2006-03-21, 15:40
Look at Delicious Library. I don't think this program would've received half the kudos if it weren't for its gorgeous UI. This of course requires someone with good graphics skills so don't knock the Photoshop work. This alone could set your program far ahead of the pack.

First off, you need an idea. You have to come up with a program that fills a need. If you just want something for the three of you, then determining that need could be easier then trying to brainstorm a must-have app for the entire Mac populace.

Spend some time charting out your program. Time spent designing the program will save serious amounts of time after development has started. You want to know what your program will do before you write a line of code.

If it helps you, you could design a basic UI in Interface Builder as this could help you remember programming pieces you might not think of (should there be drag & drop functionality? How to handle cut/paste? File operations? Multiple Windows?).

Does your programming friend have any Mac coding experience? Knowledge of C/C++ will be helpful for the non-GUI portions of the program, but coding the UI will require knowledge of connecting IB components to action handlers and output handles. This is easy, but still needs to be learned. Objective-C has a funky message passing syntax that needs to be learned as well.

If you want to customize UI elements (put that Photoshop guy to use!), then you'll need to learn and understand how to subclass views and draw them to your specifications. You'll also need to learn the Cocoa API.

If you want graphics, audio or data functionality then you'll want to learn the corresponding CoreGraphics, CoreAudio or CoreData APIs. Documentation can be slim on some of this at the Apple Developer site. There are plenty of 50,000 foot overviews of how the APIs work but sometimes it can be hard finding decent examples of the nitty gritty details at work. There are some sample programs installed with the developer tools, and some of them are useful. :)

Can you get a full program working in one Summer? Depends on your dedication.

nato64
2006-03-21, 16:28
right now, i'm brainstorming a app called Tune Tags. in it's early stages, it won't have any UI (good first step).

See, I implement tags for all my songs. "Chill", "F*** It All", "Awesome", "All-time", "Timeless", etc. What if we could have a plug-in for iTunes that inserted customized tags into a song's comment into via hot key command. It would insert chill so that chill wouldn't get confused with any other comments you might have put in there. What do you think? You could press Apple-Option-C for chill. It'd have a preff pane in iTunes so you could change the tags and hot keys.

This is what my friend said:

seems simple enough. I'd need to learn how to interface with itunes, but the api is there. it could also make playlists based off of tags automatically, and that could also be an added ui element if we wanted it.

Any thoughts?

chucker
2006-03-21, 16:35
I don't believe you can add preference panes to iTunes's Preferences window. While it looks similar to what other applications (e.g. Safari) use, it is actually quite different (you can tell, for instance, because it's modal: it has OK and Cancel buttons and can't be moved to the background).

nato64
2006-03-21, 16:48
I don't believe you can add preference panes to iTunes's Preferences window. While it looks similar to what other applications (e.g. Safari) use, it is actually quite different (you can tell, for instance, because it's modal: it has OK and Cancel buttons and can't be moved to the background).


you're right. but is it possible to create a hot-key plugin? or is iTunes locked down-tight?

the great news is that if found this GREAT starting resource: http://www.cocoalab.com/developer.htm

Majost
2006-03-21, 17:03
Probably an AppleScript Studio app would be what you'd want to make. It's rather simple to interface with iTunes through AppleScript Automator, and I think that it would facilitate that the easiest. Of course, I know next to nothing on this front... besides doing old style applescripts.

nato64
2006-03-23, 14:03
Well, there are Quicksilver hot keys that can change iTunes volume and a song's rating. I might be using the wrong vocabulary here, but if you change a song's rating, doesn't that tap into the song's metadata? Thus, changing comments in a song is at least possible. I think.

Majost
2006-03-23, 15:28
Well, there are Quicksilver hot keys that can change iTunes volume and a song's rating. I might be using the wrong vocabulary here, but if you change a song's rating, doesn't that tap into the song's metadata? Thus, changing comments in a song is at least possible. I think.
It's much more that being "at least possible." It's extraordinarily simple. Take a look at Doug's Applescripts for iTunes (http://www.dougscripts.com/itunes/). 400 scripts written just to grab and manipulate stuff in iTunes. Download a bunch, and take a look at them. You'll pick up on the syntax fast.

Now, I know that in 10.3 there was an app called Applescript Studio as a part of the Dev Tools that could easily put a GUI on some of you scripts. But, since I don't have 10.4, I don't know how things have changed with the shift from AppleScript to Automator. I'm sure that it's just as easy (if not easier) to write the scripts themselves... I'm just not certain about the Studio part of things.

chucker
2006-03-23, 15:35
AppleScript Studio isn't gone, nor is Automator intended to be a full replacement of it.

bassplayinMacFiend
2006-03-23, 15:53
Yea, there's still ASS in Tiger.

Majost
2006-03-23, 16:14
Ah, that's good to hear. I have been out of the loop when it comes to 10.4; I just knew that Automator was going to do some of the same things that AppleScript did.

So, instead of trying to hack into iTunes with a plugin, you'd be better off using AppleScript to meddle with it from a separate app (or using AS directly). The hard part of your project would be configuring the hot keys. If you're just going to make it for personal use, I would probably recommend just tacking an AppleScript on to one of the pre-existing hot key managers. Like Quicksilver or QuicKeys or some program like it. I've done that quite often (using both programs), and it is extraordinarily easy.

If you want it to be a self contained program you can easily distribute, then someone else will have to give you direction on how to do the hot key stuff. I'd be surprised if AppleScript can efficiently manage such a task.

Of course, if you want to get into serious programming on the Mac, you'll probably want to be learning Cocoa. But I think even then you'd need to use Applescript hooks to "get inside" iTunes.

chucker
2006-03-23, 16:16
Automator is basically AppleScript with graphical workflows.

nato64
2006-03-24, 22:21
Thanks! I'm looking up stuff right now and plan to start really digging into it this weekend. I'll resurrect this thread whenever I come up with something :p Hopefully that won't be too long from now.

Julian Bennett Holmes
2006-03-27, 18:15
Automator is basically AppleScript with graphical workflows.
And without any of the features many people use.