6 ms·
Ask HN: What should I build (for OSX)?
I'm looking to build my fledgling Cocoa skills and I want to build an OSX app. What should it be? Here are my ground rules:
1. It must be genuinely useful, not just an academic exercise.
2. It must be small enough in scope so that a competent OSX developer could build it in about one month full-time.
3. Bonus points if it's something I can sell.
So what should I build?
- Zev 16y agoA twitter client. No, really. There's only a small handful of native Mac twitter clients, compared to the plethora of iOS clients. And I believe that @ev recently said that Tweetie|Mac isn't going to get updated anytime soon. Or a small app that only runs in the menubar that will disable or enable bluetooth whenever I hit a key combo. Or when I move into or out of a certain location (Core Location exists on 10.6). Maybe if the person's on a laptop and they disconnect from a power source, turn it off, etc.
- oschrenk 16y agoFor enabling/disabling Bluetooth I call this script http://hints.macworld.com/article.php?story=20070328181324855 http://hints.macworld.com/article.php?story=2007032818132485... via Quicksilver.
- akronate 16y agoHave you tried MarcoPolo? It does context based switching of just about everything, and its free. http://www.symonds.id.au/marcopolo/ http://www.symonds.id.au/marcopolo/
- Zev 16y agoYup. However, from MarcoPolo's page: There are known issues with Snow Leopard: WiFi evidence source and ToggleWiFi action do not work Bluetooth may not work, or may cause crashes
- pshapiro 16y agoI started with Core Animation. Now that you know C and some objective-C, you need to learn about Quartz, NSWindows, MVC, AppKit, Foundation, and other parts of Cocoa like Core Data (more on this later). My first serious project with Cocoa was on a fairly tight timeline (a month for two apps, in fact) and I had only attempted tictactoe in Obj-C years before. What I did was immerse myself in the material and my project. The project itself was for a museum in NYC, which has 30" touch-screens that let the visitors interact with a visual catalogue of the collection. This was a great introductory project for a few reasons. First of all we had a great design partner. He built a very simple interface that remained constant through the entire project because he thought it out concretely before implementation. In other words, he considered the data very carefully and determined the fixed way to present it. The second thing is that in order to import this collection's catalogue into the app, I had to build an XML parser that runs on a background thread while the UI displays a loading screen. That part was a good introduction to building an app and watching what it does in the Console, without getting into the nuances of Core Graphics and drawing, etc.. I recommend you start with something like this so that you don't get overwhelmed. It's extremely important to learn about correct memory management. Once you've got the basics, look into @property also. From there, I had to learn about how make an application with a special kind of window, work with drawing NSViews and CALayers onto the window, learn about CAAnimation, Core Graphics, etc. Before I built the app, I worked out my equations for laying the content on the screen and what kind of transformations I'd need to apply. Then I was able to set about building it simply. At the time I didn't know this, but I can tell you from experience that it's very much worthwhile to look into Core Data. Even if your project is very simple and you require persistent data storage. I personally like to use json-framework and serve my app bundled JSON at initial lunchtime, with net updates after that, then do an import into my Core Data model, but this is really decided by what kind of app you want to build. I used XML for the museum project because we didn't know about json-framework yet. But it turns out that JSON translation into Cocoa objects has been much faster. From here, you have a few options. You can either continue to develop on the desktop or you can move to iOS without very much difficulty. If you are going to write mobile apps later and your app will interface with an existing web service, you may be better off using three20 and its http request libraries with JSON support to get data in real time. The Facebook app works like this. Actually three20 is a great option to go with for many apps. It's worth a look too, but make sure you understand UIKit as well as you can before you use three20. You still need to know UIKit to use three20 properly. In order to determine what project you should build try to observe what kind of problems you have in daily life and what could be built to facilitate them. OS X is a wide topic and you could be talking about a GUI application, a kernel extension, or perhaps a web server. Each of them are projects which could take a month to build. Hope this helps. Don't hesitate to ask any questions, and remember that Google and the Apple dev forums are great resources.
- KC8ZKF 16y agoMindfulness application that would ring a gong at random times, at a user selectable frequency. e.g. seven times in an eight hour span.
- RexRollman 16y agoI am not a developer, but from what I've seen, many successful projects start with a developer scratching a personal itch. So maybe your first app should be something that would be useful to you personally.
- tshtf 16y agoA Pomodoro app might be a good start.
- meemo 16y agoGui for grep command.
- quizbiz 16y agoI desperately need an app that watermarks a bulk a amount of images. Let me drag in photos, and then control let me resize the images and control the size of a specified image(s) to be used as a watermark. For example, it should let me apply one image to every corner if I wanted. ie: http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs814.snc4/69481_452855973119_111404718119_5310325_7358898_n.jpg http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs814.snc4/69481...
- albahk 16y agoAn App to manage all my scanned documents. Interface like iTunes, but each document can be a PDF/TIFF or emailed document I want to save and archive forever - like each month I scan my bills, my current lease, my employment contract, birth certificate, etc etc. Bonus points if you can encrypt and backup to Amazon S3 or something. 37 Signals do the same, but I would like to save everything locally, not to a webapp. http://37signals.com/svn/posts/585-going-inbox-zero-on-your-paper-mail http://37signals.com/svn/posts/585-going-inbox-zero-on-your-...
- amccloud 16y agohttp://www.evernote.com/ http://www.evernote.com/
- gallerytungsten 16y agoAn html export Xtension for QuarkXPress that really works.
- jeffclark 16y agoI'd love an Android-style notification bar for OS X - one where an incoming IM or whatever rolls the menu bar up, displaying the message briefly, then rolls back down to the standard menu bar.
- hellweaver666 16y agoDo you mean like Growl? (http://growl.info/ http://growl.info/)
- klaut 16y agoThis is something I would pay for (and I am actually thinking to learn Objective-c just to build it myself because as far as I know, there aren't any good ones around): build an OSX Postgresql GUI client.
- allynbauer 16y agoOr a client that can be used with a variety of database servers.
- hellweaver666 16y agoI would love a screensaver that works like the Origami slideshow mode on the iPad, only for my desktop machine. I would imagine it'll be an interesting challenge using Core Animation and what not. Bonus points if it can use photos from iPhoto!