We turned up three apps that provide help in designing iPad user interfaces — that is, apps that let you drag and drop UI elements onto simulated displays to create mock-ups. Unfortunately, we can only recommend one — and with reservations.
App Layout ($4.99, five stars) provides a broad range of interface elements that you can drag onto iPad/Phone/Pod templates, resize them, rotate them, add text to buttons and other elements, and more. Unfortunately you can't save a project in mid-development, although you can send a snapshot of it to your iPad's photo library or email it. Also, manipulating small UI element can be frustrating — at least for our ham hands. One odd "feature": a choice of four background tunes — and, yes, you can mute them.
App Layout won't generate code, but it will let you mock up an app's UI
Of more-general interest are two apps that can help you define colors to use in your UI designs. Blasphemous RGB/HSB/Hex ($1.99, four stars) will provide colors based on those three systems when you set their values using sliders — and as an added nicety it generates six complementary colors for your edification and enjoyment, and provides their hex values.
Parsley (99¢) also provides color values, but works by letting you import images into your iPad, then zero in on areas of them to obtain their color values. If you install Parsely on your iPhone, by the way, you can use its camera to capture the images to be analyzed.
Finally, Touches - Touch Event Recorder (free, two and a half stars) is an odd little freebie that allows you to record, then play back touch gestures, then use the coordinates that the app displays in your gesture-based app's code.
Reference apps for the iPad are mostly document collections — at a comparatively svelte pound and a half, an iPad is easier to lug around than a ton of manuals.
In addition to the document viewers, however, a couple of more-complete reference works stand out — Code Monkey ($7.99, three and a half stars), for example. This barrel o' fun includes a UML editor and programmers notebook, an RPN-capable calculator ("in the spirit of the old HP calculators," the developer says) with hex, octal, decimal, base-10, and binary support, a regex "cheat sheet", and more.
Speaking of regular expressions, a buck will get you RegEx Pad (99¢), which its developer describes as an "evaluation and learning tool".
Other reference apps that go the more-traditional docment-based route have names that pretty much describe what they contain: JavaDocReader ($1.99, two and a half stars), jQuery Reference ($1.99, four stars), Python Documentation (99¢, three and a half stars), and PHP ($1.99, five stars) and PhpRiot.com Web Developer Tools (free, two stars), which both include include bookmarking capabilities.
And then there's developer Bob Withers' jRef series, which includes the complete documentation for a laundry list of Java products. In each case, all the documentation is stored on your iPad — you don't need an internet connection to access some online repository.
The jRef series may not be pretty, but it's chock full of truth
- jRef Apache POI jRef Apache POI (99¢) Apache POI (Java API To Access Microsoft Format Files)
- jRef Google Gson 1.3 (free) Google Gson 1.3 JSON parsing library
- jRef Guice (free) Google's Guice dependency injection framework
- jRef Hibernate 3 (99¢) Hibernate 3 framework
- jRef Java 5.0 (99¢, four stars) Java SE v5.0
- jRef Java 6.0 (99¢, four stars) Java SE V6.0
- jRef Java 7.0 (99¢) Java SE V7.0 (Draft)
- jRef Java EE 5.0 (99¢) Java Enterprise Edition v5.0
- jRef JGroups 2 (99¢) JGroups v2.x multicast distribution framework
- jRef JUnit (99¢) JUnit test tool
- jRef Lucene 2.4 (99¢) Lucene v2.4 open source search engine
- jRef Mule ESB 2.2.1 (99¢) Mule open source Enterprise Service Bus (v2.2.1)
- jRef Spring 2.0 (99¢) Spring 2.x framework
- jRef Struts 2.1.6 (99¢) Struts 2.x framework
- jRef Tomcat 6 (99¢) Tomcat 6 open source application server
- jRef XStream (free) XStream open source serialization framework
Finally, here's one last tool that we're placing in the Reference category simply because we couldn't figure out where else to stick it: OpenGL Extensions Viewer (free, two stars), which will display the vendor, version, renderer, and extensions of a device's OpenGL ES 3D accelerator — which could be mighty useful if you're developing for multiple iPad/Phone/Pod versions.
Any coder worth his or her salt has a sense of history, an appreciation of elegance, and a bit of lunacy engendered by all those solo hours spent grinding away, line by line by line.
What better way, then, to keep track of those hours than by watching them pass by in the guise of a circa–early 1970s Pong Clock (99¢, two and a half stars). Witness two animated paddles fighting to the death — and watch as the minutes or hours are incremented when the appropriate paddle misses. Multiple colors are available and speed is adjustable, as are a number of other parameters.
Pong Clock — if you don't love it, it's impossible explain why we do
We really, really wanted to recommend 0'Clock (99¢), an iPad version of the famous LED Binary Clock offered by ThinkGeek and others, which displays the time in a binary grid. Unfortunately, 0'Clock currently and consistently crashes after only five minutes of use — hardly a "feature" for a time-telling device. But there's good news: 0'Clock's developer tells us that a debugged version has been submitted to Apple and should be available in the App Store "very soon." Check it out.
And that's it for this week's installment of "119 iPad apps for admins, coders, and geeks" — and we've only made it up to number 79. Tune in next week for the final forty, a collection of apps for engineers, web monkeys, and anyone who wants to feel the pulse of their iPad's system or to calculate the devastation that would be wreaked by an asteroid impacting earth, calculated to the nearest Hiroshima. ®
* Useful or fun, not pointless (for coders)
With the right privilege a run away pointer is a wondrous thing to behold and C is one of the few languages (above assembler) that lets you do this.
When you can code safely and reliably with C pointers, you have mastered the art of coding without shifting huge buffers of data needlessly around the place, and this skill holds good for higher level languages with proper pointer support.
I code micro-controllers as part of my electronics hobby (many years ago used to be my work, but now I enjoy it) and still think C is a great balance between total control and coding efficiency. I have to resort to assembler on occasion, but not that often, C is able to get most things done.
C isn't in memory lane yet
A lot of supposedly C++ is actually just C with a sprinkling of C++ flavouring dusted on the top. This is especially true or high performance and low level code. This is mainly because a large number of people who code in C++ knew C beforehand. In fact if a lot of new C++ coders learnt C first it would probably make their code a lot more readable and effecient. The number of times I've seen some bloated iostream abortion 2 lines long used to print out some formatted log message when printf() could have done it in 10 characters I've lost count of. Also the (mis)use of inefficient std::string by people who seem to have no clue how to string splice using pointers is legion.
Editing and virtual keyboards
Seeing how Apple's Numbers offers an alternative virtual keyboard layout when entering cell data, I was wondering why those code editing apps don't do the same. Without a numerical upper row, cursor movement keys and a few extra characters around, having to use the .?123 all too often will result in intense expletivity and genocidal impulses.
It already does in normal tasks.