Thew new iPod with video-support. 30Gb only $299.95 - Now at Buy.com!
-->

Category: 'Mac Development'

Porticus MacPorts package manager ui

June 21st, 2008

Those of the more OS agnostic might agree that the package management solution for software installation is a great enhancement over traditional means of distribution. Especially when it comes down to open source software, which often needs to be compiled for the underlying hardware, package management can be a salvation - since it allows one to turn away from complicated problems like finding all the necessary libraries / headers to satisfy “./configure” or finding RPM’s in the right version so the selected software will finally install.

If you’ve ever worked with Ubuntu’s Synaptic or Debian’s dpkg you know how easily software installation via package management can be.

For Mac OS X, there’ve always been several solutions to package management: Fink, MacPorts, DarwinPorts and even Gentoo Portage.

While some of these already come with a solid UI, MacPorts doesn’t. It’s standard distribution contains the powerful but not-so-easy-to-use “ports” commandline application. Porticus is a 10.4+ GUI package manager which tries to fill this gap. It offers a (quite synaptic-like, if I might say so) overview over available and installed packages, and allows of easy package installation.

Features:

  • Viewing the current MacPorts categories
  • Installing, uninstalling, updating, activating and deactivating ports
  • Port variant handling
  • MacPorts self-update support
  • Growl Integration
  • Sparkle Software Update

Porticus is freeware and can be found here.

Posted in Mac Apps, Mac Development, Unix Tips | No Comments »

WWDC Keynote Update

June 9th, 2008

Today is the first day of the World Wide Developers Conference in San Francisco, California. With over 5,000 people in attendance, this is one of the largest WWDC’s yet.

The House That Steve Built has some exciting announcements that have been coming seemingly every minute. Among the highlights are for the first half of the day are:

- Not only is iPhone 2.0 in beta with over 4,000 people in the beta program, but that there will be three parts to the SDK: Enterprise, SDK, as well as new features for the end users.

- Several demos from SEGA, Apple, eBay, Pangea Software, MIMVista, among others.

- SEGA shows off a video of Super Monkey Ball, which will be a launch title in the new App Store for $9.99 USD.

- MIMVista shows off a program designed to help medical students study and learn various parts of the body with almost realistic images.

- Steve anounces new iPhone 2.0 features, including contact search, support for Microsoft Office documents, and support for Asian languages. The iPhone is set to be released July 11th.

- Mobile.Me is the replacement for .mac, current .mac subscribers will be automatically updated to the new service. A 60-day trial of Mobile.Me will be included with the iPhone 2.0.

- The new iPhone will be thiner, sexier, include support for a 3G network, Enterprise support, more affordable, available in more countries, and have advanced GPS support.

- Target price for an 8GB iPhone 2.0 will be $199, a savings of $200 over the current price of the iPhone.

- Later in the day, Mac OS X 10.6, Snow Leopard was announced, but would feature no new features, only improvements over older ones.

Posted in Apple, Events, Mac Apps, Mac Development, iPhone | No Comments »

SquirrelFish - 1.6 Times faster Javascript for Safari

June 3rd, 2008

The WebKit developers just announced SquirrelFish, a new JavaScript engine for Safari (et others). To quote the developers: “SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.”

So instead of building and parsing a syntax-tree, like other Javascript-Engines do, SquirrelFish builds executable bytecode. You can find the new engine in the nightly builds. Good chance to play around with it and see how it performs with Javascript-heavy applications. I just rolled a test against our primary product at work, a big and extensive javascript layout application. One could really “feel” the speed differences.

Posted in Apple, Mac Development, Web Development | No Comments »

Ars technica continues it’s detailed “From Win32 to Cocoa” Series

June 2nd, 2008

For the past months, Peter Bright, a former Win32 Programmer, has given a in-depth overview to the perspective of being a developer for Win32 and for Cocoa. Part one in the series described how misfortune and adversity left Apple with a new OS platform free of legacy constraints; part two discussed how Microsoft had failed to do the same, choosing instead to hobble its new OS with way too much legacy baggage. Now in the third part, Peter exposes in detail what Apple has done with its platform to make it so appealing.

The series is a very interesting read, even if you’re not into Cocoa development, as it explains just why Mac OS X offers so many advances to a normal Developer - especially compared to Win32. If you haven’t read the other parts yet, it’d be wise to start at the beginning before you start to read part three.

Posted in Apple, Mac Development, Windows-Corner | No Comments »

More Control over your TimeMachine Backup

May 29th, 2008

Although Time Machine offers a very slick and intuitive interface to your past data, there can be situations, where you’d rather like a much more common list style approach to the changes off a specific file. Tms, a neat commandline tool from FernLightning does just that. It offers a cvs / svn like interface to your Time Machine data. Among the most interesting features is being able to Diff between two versions, being able to list the difference between two snapshops and listing all unique versions of a file.

The tool as well as the corresponding documentation can be found here.

Posted in Mac Development, Unix Tips, Workflow | No Comments »

iPhone SDK Update

May 29th, 2008

Following on the fresh release of Mac OS X 10.5.3, version 6 of the iPhone SDK just arrived. Details regarding changes and additions can be found in TUAW’s liveblog. As we already speculated, there seems to be a strong correlation between the new SDK and 10.5.3, as it is a prequisite for installing.

Posted in Apple, Mac Development, iPhone | No Comments »

Debugging Javascript in Safari

April 26th, 2008

For Web Developers, one of the most important plugins for FireFox is the FireBug. A enhanced in-Browser Javascript-Debugger (and more), that allows to quickly find bugs or monitoring odd behaviour. Drosera is a usefull application that offers similar features for WebKit-based browsers, like Safari.
So next time you have an odd bug in your Javascript-Code, instead of chasing it down via tiring alert() or console.log() sessions, you could just as well try Drosera, which offers an enhanced interface, and many a option similar to FireBug.

Drosera on the WebKit Wiki

Posted in Mac Development, Web Development | No Comments »

Clutter Toolkit - Mighty multiplatform UI Library

April 26th, 2008

When it comes down to feature-richness in UI Libraries Cocoa really shines. Especially the 10.5 bump, bringing Core Animation to the table, really extended the graphicall capabilities of Cocoa. The Windows Vista pendant, “Avalon”, for example, offers a wide set of features just as well, but still lacks a extensive integrated animation package (apart from many other smaller details).
Avalon however, just as well as Cocoa, is bound to the underlying operating system and thus not available for other platforms.

So if one intends to write a multiplatform graphically extensive application, one either has to write seperate backends for each operating system, or use a agnostic framework, like for example Trolltech’s Qt or the open source Clutter.

Clutter has a lot to offer:

And much more. As you can see, Clutter has a lot to offer. It’s still at version 0.6.2, so maybe not yet ready for production use. However, if you’re thinking about developing a graphically extensive application that has to be deployed to several platforms at the same time, including iPhone, Clutter could come to the rescue.

Posted in Apple, Mac Development, Tools & Widgets, Unix Tips, Windows-Corner | No Comments »

First examination of the iPhone SDK

March 10th, 2008

This weekend I dove deep into the iPhone SDK and tried (after some initial tests) to develop a full-scale realworld application from scratch. Since I’m sorta good at Cocoa and Objective-C, it wasn’t too difficult to grasp the concept behind it and build a simple application in little to no time. I spend my friday evening reading the documentation and playing around with some code, and I spend about 4 hours on Saturday to actually write the application I had in mind.
So far my verdict is, that this is an absolutely awesome API for mobile devices. It’s far far ahead of any of the other Development Kits for mobile usage out there (save Android, but that’s actually not really out yet). I really like the concepts behind it, and it allows to do create magnificient applications really quickly. Apart from that, the (free!) development environment with XCode, Debugger and Instruments is superb, too. My main criticism is currently, that I can’t test my application on my real iPhone, since the 2.0 Beta isn’t only available to select developers. However, the Aspen simulator is a valid substitute.
Users who are new to Cocoa and Objective-C could have some problems though, since the current documentation is, let’s call it, “quite buggy”. There were many small difficulties in there which could really hinder a non-experienced user from coming to the oh-so-necessary “success-experience”. I’ll try to adress those that I stumbled upon here:

Play a Sound File:
In order to simply play a sound, one needs to call AudioServicesCreateSystemSoundID (fileURL, soundID). The Documentation notes, that fileURL is a CFURLRef, and soundID is UInt32. There’re two caveats here though: In order to get a CFURL one can use the NSURL class, which is toll-free bridged with CFURLRef, however: In order for the compiler to not warn, one has to cast NSURL to CFURLRef. The other, and far more annoying, problem here is, that this function doesn’t expect UInt32 (as mentioned in the documentation) for the second parameter, but *a pointer* to UInt32. So a real call would look like this:
UInt32 soundId = 1024;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath: @"kick.wav"], &soundId);

Get a value from a UI Element:
The UISlider class for example is really nice and simple to use, as it allows (just like all the other objects) to set a method which will be called, every time someone changes the slider. In this method, one gets the actual Slider-Object as an argument, so one can for example retrieve the current value, or modify the slider.
In order to get the current value of the slider, there exists a so-called “value” property. The difficulty is now to retrieve this value. Since it is a property, retrieving the value cannot be not done via a “getValue” method (as one might expect) but via key/value coding:
[Slider valueForKey:@"value"]
Now, the documentation lists the return value of UISlider.value as float. That’s actually not correct. The value is float, however not a c-float type but a Cocoa NSNumber object with a float value. Once again, this is something which is common in Cocoa, but I guess many new users will still wonder about this.

Set frame for a UI Element:
In order to define, where in your view an UI Element can be placed, one needs to define a “frame” which sets the position and width/height. Most Elements offer a init method, which let the user define such a frame: i.E. [[UILabel alloc] initWithFrame:labelFrame];
However, there’re situations, when one can’t use the initWithFrame method. How do you set the frame then? Quite simple: the frame is a property and can be set with the new . operator:
UILabel *label = [[UILabel alloc] init];
label.frame = CGRectMake(0,0, 60, 24);

I hope I could help some of the early adopters, and will write more soon.

Posted in Apple, Events, Mac Development, iPhone | Comments Off

Create Multi-Plattform high-quality 3D-Games with Mac OS X

January 28th, 2006
Unity is a 3D game editor with powerful cross-platform capabilities. Fresh ideas can be mock-upped and tested in a few hours, then developed into commercial grade games using powerful collaboration technology.

I just tried this application recently (they offer a downloadable trial). It’s awesome, offers great usability and, if you’re a bit comfortable with 3D / game stuff, allows to create games in a blaze.

http://otee.dk/

Posted in Apple, Application Tips, Design Ressources, Mac Apps, Mac Development, Windows-Corner | No Comments »
StyleMac.com is proudly powered by WordPress
foot.png
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the Poster.
The rest copyright ©2005 Benedikt Terhechte.