Archive for 'Programming'

appledoc

This looks like a pretty easy way to generate Apple-styled documentation from Markdown type comments in your code, if you have a need for doing that kind of thing:

appledoc – Objective C API documentation generator

appledoc is command line tool that helps Objective-C developers generate Apple-like source code documentation from specially formatted source code comments. It’s designed to take as readable source code comments as possible for the input and use comments as well as surrounding source code to generate visually appealing documentation in the form of HTML as well as fully indexed and browsable Xcode documentation set. Although there are several tools that can create HTML documentation for Objective-C, all of those know to me fall short in meeting the minimum of goals described in appledoc’s readme file. Check example documentation to see what you can get!

Certainly looks vastly superior to any of the tools we’ve ever used for that kind of thing; however, we haven’t had to deal with that SDK-documenting kind of task for several years now. Anything you use that you consider a superior solution to the above, Dear Readers?

h/t: @alanQuatermain!

UPDATES:

Auto Doc: Continuous Documentation Integration with appledoc + Jenkins

realm/jazzy: “A soulful way to generate docs for Swift & Objective-C.”

Continue Reading →
1

Cross Platform Developments

So it’s been a while since our last game engine roundup and HTML5 development roundup, and aside from that rather interesting looking Moai SDK we haven’t mentioned anything else in the cross platform area lately it seems, so let’s sift through what bookmarks we’ve accumulated for that kind of thing.

The one that’s got the most frenzied yammering going on about it is this ‘Project Spartan’ HTML5 framework thingy that Facebook is supposedly going to take on Apple with. Supposedly. Seems rather more likely to us that Facebook has decided that Flash is never going to not suck on the web so they need to provide a mobile migration path to their developers, and directly challenging Apple would be at best an afterthought. But we shall see.

Presumably if that does work out, the cornucopia of other HTML5 kits out there would drop in relevance immediately. But at the moment, it’s still a pretty wide open field. In addition to the collection above, here’s a good article on the two most popular:

A Deeper Look At Appcelerator and PhoneGap

We do seem to hear a lot of good opinions of Sencha Touch though, and there’s a series of tutorials here on writing a simple application with it that does make it look like it’s reasonably well designed.

If you’re focused on cross-platform games, in addition to the links above you might check out Jeff LaMarche’s Thoughts on Unity3D which apparently he feels is the best of the current choices. Us, we instinctively tend towards open source for anything cross platform; it’s just not reasonable to expect that the vendor is going to take quick advantage of all the new developments on every platform they support, and you of course being an awesome developer want to do that, don’t you?

Couple other possibly interesting ones we noted references to over at ManiacDev lately:

MoSync SDK – “The Open Source SDK for universal mobile application development”

… With MoSync, you are developing using standard C/C++ in an Eclipse-based environment preconfigured with a set of MoSync-specific plugins to create a fluid experience from development and debugging to testing and deployment.

The same compiler, GCC 4.0 with a custom MoSync backend, is used for all platforms, ensuring consistent application behavior everywhere.

Since MoSync uses standard C/C++, a vast number of libraries are readily available to developers. Examples of libraries successfully used with MoSync are SDL, yajl, STLPort and SQLite.

Platform and feature support

MoSync currently supports the iOS, Android, Windows Mobile, Symbian, JavaME and Moblin platforms. Blackberry and Windows Phone 7 support is coming shortly…

Well, we’d certainly rather program in C++ than Javascript. And as noted above, we find open source a rather compelling feature of a cross-platform development environment. So that one strikes us an option to definitely stay aware of.

Monkey Coder – “a brand spanking new programming language that allows you to create apps on multiple platforms with the greatest of ease.”

An evolution of the popular Blitz range of compilers, Monkey can generate code for the following platforms:

  • HTML5
  • Native OpenGL/OpenAL (Windows + Mac)
  • Android
  • Flash
  • iOS
  • XNA

Sounds a little too magical to us to be likely to be anything but a seriously lowest common denominator solution, and learning another language that gets translated into all these other languages seems like just a bit too much that could go wrong to be overly confident about putting a big bet on that one. But hey, always willing to be pleasantly surprised!

Any other interesting cross-platform developments you’ve noticed recently, Dear Readers?

UPDATES:

And yes, the very next day, here’s a roundup mentioning some more options:

Platform X: How cross-platform tools can end the OS wars

Maybe you’re looking for a BlackBerry/Android/iOS/Windows7/OSX C++ 3D framework? Check out blackberry / GamePlay!

Continue Reading →
3

Echoprint

Hey, here’s some way serious niftiness for you: You know that fingerpinting playing music thing that’s all cool these days? How would you like to put that into your app? For FREE? Well, guess what, there’s a new service Echoprint which is for exactly that:

Music resolvers such as Shazam, Soundhound, Gracenote and Audible Magic work by “listening” to the music and then searching for features in the audio in a large database of content. They find a match in a canonical song ID, and return that to the user. Some, like the mobile apps of Shazam and Soundhound work “over the air” — where audio can be identified in noisy settings over a microphone. And others work only on files, by computing hashes on mp3s stored on a hard drive. All of them share three components:

  • the “code generator” — the piece of software that takes an audio signal and computes features or “codes” to look up,
  • the server — the hardware and software that can quickly look up codes in large database of reference songs and find the answer, and
  • the reference data — the database of millions of songs that can be resolved.

Echoprint includes all three. And, for the first time, all three are being released under open source or permissive licenses. The code generator is open source and free to download and build into apps for any platform — Mac, Windows, Linux or mobile (Android, iOS or Windows Mobile). The server is open source and available for anyone that wants to host their own resolving service. And the data, at first provided by our content partners at 7digital, is available for free download provided that any new additions are shared back. This data sharing approach ensures that over time, the Echoprint data commons will grow to every song fingerprinted by all users, and that data will be openly available to any developer. The Echo Nest will run and maintain the first Echoprint resolving server but we expect others to host their own…

Cool beans, what? The repository is on github; note particularly echoprint-ios-sample,

Very brief sample of how to use echoprint in an iOS app. This will choose a file from your library, compute the code with Echoprint and send it to the Echo Nest API for matching.

Now, all we need is for Apple to submit the iTunes catalog!

h/t: Mashable!

Continue Reading →
0

Sample Code: HelloMapKitWorld

Here’s another good project to mine for useful tidbits, courtesy of the good folk over at ManiacDev:

HelloMapKitWorld

This source code is a sample of how to use MapKit. Nothing fancy, just some demo / sample code.

This is a simple application that downloads some locations from a remote JSON file, parses them, inserts them into a Core Data database and then displays them on the map…

Uses ASIHTTPRequest and JSONKit and MBProgressHUD which are all widely agreed to be best of breed at their respective tasks, so a project that blends them all is definitely worth taking a look through!

UPDATES:

Also note some other MapKit helpers:

iOS Map Kit For Beginners Guide

Library To Quickly Turn A Map Kit MapView Into A 3D Augmented Reality Map View

Library For Easy iOS Map Kit Annotations With Multiple Individual Selectable Rows

JBDaylightOverlay for iOS

Continue Reading →
0

SocialCompare – PAAS

This is an interesting concept: SocialCompare.com is an, eponymously enough, social site for creating comparisons.

Find original user-generated comparisons tables. Compare anything such as products, services, objects, software, websites, people… Your choices and decisions will be better and easier…

Could be, could be. The particular comparison that caught our attention was this one:

Platform as a service (PAAS) for cloud applications (Scalable cluster of services)

We’ve mentioned a couple in passing of that type of thing before, but this is a rather more comprehensive list of all the services of that sort than we had previously been aware of; if you’re interested in some cloud computing support — and isn’t everybody on that bandwagon these days? — that’s probably a good link to check out!

h/t: @ZoelOnSoft!

Continue Reading →
0

AQAppStateMachine

So you have some complicated state management in your app? Some really complicated state management? Well, this might be just the thing for you:

AQAppStateMachine

AQAppStateMachine is designed to assist the development of applications with some fairly intricate state requirements. The idea is that the state itself is stored as an n-bit bitfield, and that the application can define certain ranges of this bitfield to refer to state flags. These flags can be combinatory or mutually exclusive, or hell, they could just be integers. The state machine itself is designed for an app which needs to, say, do Task A, but only if B has been initialized, C has failed to initialize, and D is not currently happening, along with E, F, and G each being in one or more of a number of states…

Yikes. Offhand we can’t think of any state machine we ever did with more than three conditions for a transition … but if the need ever arises, now we certainly know where to look! Block-based so iOS 4+ only, but hey that’s getting to be less of an issue all the time.

Continue Reading →
0

AppCode IDE

So we noticed this tweet:

Experimenting with http://bit.ly/epgjkC AppCode – powerful alternative to XCode4

“Alternative to” Xcode 4? That sounds like rather a solution in search of a problem, doesn’t it? Well, let’s see:

Why try AppCode?

Because of a truly smart code editor, with

  1. Thought-out and convenient code navigation
  2. On the fly code analysis with quick-fix suggestions
  3. Project-wide usages search for classes, methods, variables, resources
  4. Instant code transformation intention actions, including i18n support
  5. Better code refactorings: ‘Change Signature’, ‘Extract Method’, etc.

Hmmm. Well, those are good things no doubt, but seriously, enough to always put yourself behind the curve with your tools? Googled around a bit, and found an announcement interview:

InfoQ: What drove the decision to develop appCode?

Maxim: We at JetBrains admire what Apple has done to desktop apps and more generally to a consumer targeted software. They’re setting new interaction design quality standards. But this is not the case when it comes to developers software, in our opinion. So we see a great opportunity for JetBrains to bring its development tools expertise to this emerging market of developers, who know how a great software should look, who care about their productivity and code quality.

Well, if you say so. We’re kinda unconvinced still, but hey, maybe these guys will turn out to be the CodeWarrior of the new millennium. Doesn’t seem overly likely … but hey, if you’re interested enough to try it out, let us know what you think!

Continue Reading →
0

Sample Code: FuelView

Looks like a bunch of interesting snippets in this newly open sourced project:

An RSS-feed and location-based iOS application

…While the application in this post is only directly useful to people living in Western Australia, I think this is a really interesting project as it contains a lot of very useful snippets of code (some of which I’ve written posts on before) including:

An iOS version of my Gloss Gradient drawing code…

Two persistent stores with one NSPersistentStoreCoordinator…

A full set of “single line Core Data fetch” methods…

Getting the GPS location…

Pulling data from an RSS feed…

Caching data in the Application Support directory…

Function to create a two point CGGradientRef from two UIColors…

An example of using a category as an Adapter interface…

Scrolling a text field that isn’t in a table…

A Core Data Postcode database…

A flexible, reusable controller/table/cell structure…

A CheckmarkCell that self-manages radio button style selection…

Forward geocoding using Google’s Maps API…

Plus a whole lot more. It really is a densely packed little program.

Yep, if you’re planning any kind of location-based information providing, definitely you should take a look through this!

Continue Reading →
0

EGOTextView

So remember a while back we mentioned an NSAttributedString displayer that had some plans to become a commercial rich text editing component? Well now there’s one out free on github — EGOTextView:

EGOTextView is a complete drop in replacement for UITextView created by enormego, that adds support for Rich Text Editing.

EGOTextView is tested to work with with iPhone OS 4.0 and newer.

We’d quote more from the readme … but that’s all there is!

h/t: @enormego!

Continue Reading →
3

Image Manipulation

Ah, remember the old days when it was actually a challenge to write image manipulation code? My, it certainly is about two orders of magnitude simpler these days:

iOS Image Manipulation with UIGestureRecognizer: scale, move, rotate

I promised to share with you my code that I used on the Twibbon iPhone app, to manipulate images using touch gestures. This solution uses UIGestureRecognizers and therefore only work in iOS 3.2 and above…

That’s pretty much not a problem these days, one imagines. Bonus, a selection indication implementation using CAShapeLayer:

You’ll notice in some of the code above making reference to a _marque, This is the marching ants you see when you have selected the photo and allows you to easily see the boundary line of the image…

Handy stuff, yep; source is on github!

Continue Reading →
1
Page 30 of 98 «...10202829303132...»