Posts Tagged 'Programming'

iOS-Couchbase

So you don’t like the Dropbox data synchronization idea we’ve been talking up lately for your iOS apps? OK, how does a native CouchDB grab you then?

Couchbase Releases Developer Preview of Its CouchDB for iOS Package

… Mobile Couchbase is a package of Apache CouchDB designed for iOS. It is pre-Beta right now, but we are taking the wraps off the source because we’ve had an application that uses it approved by Apple for sale in the App Store. We are soliciting open source contributions and feedback from users…

Who’s Couchbase, you ask?

Membase, the leader in production-ready, high-performance data stores, is used by the world’s busiest web applications including Zynga, because of its simple, fast, elastic architecture. Apache CouchDB is truly loved by developers for its RESTful interface, incorruptible storage, world-class sync and mobile development platform.

Couchbase is the name of both our new company and our new product family. Apache CouchDB document database technology is at the core of our combined solution. Membase, with its integrated memcached caching technology, adds technology enabling dynamic cluster elasticity and sustained low-latency, high-throughput data operations. Couchbase becomes the only document database capable of safely storing your data whether stored on a single server, or spread across hundreds.

Only Couchbase technologies scale from AOL-sized data center clusters all the way to smartphones. Only our solutions meet the needs of developers and conform to the mission-critical demands of ops teams. And as users increasingly access applications via smartphones and tablets, we alone are able to support the entire range of interactivity and connectivity…

Well, that’s certainly got some awesomeness potential inherent, doesn’t it now? If you’re excited enough to check out what is definitely a work in progress judging from the release notes, head on over to github!

h/t: @rentzch via @kwigbo!

Continue Reading →
0

Xcode 4 Migration

So no doubt by now even if you are hiding under a rock you’ve heard that Xcode 4 is the default download with the iOS 4.3 SDK, so if you’ve been putting off looking at the seeds like we have … now’s the time to upgrade! And here are some resources to help you with that, beyond the obvious ones at the mothership and in the WWDC 2010 videos.

First off, read this — as advertised, super mega awesome — review by Martin Pilkington:

Xcode 4: the super mega awesome review

So it is finally here. Xcode 4 has been released into the world and we are now allowed to talk about it. As my review of Xcode 3.2 went down really well I thought I would have a go at reviewing Xcode 4 in depth. I’ll also be publishing other posts over the next few days going in to some of the bigger changes since 3.2 in more detail and hopefully helping you migrate. I’ve also put in radar numbers for all bugs and feature requests, so you can file duplicates or so any of the Xcode dev team reading this can find them…

At writing time images had been removed due to excessive popularity; fireballed version here if that’s still the case for you.

If you like screencasts, Pragmatic Studio has six of them here to introduce you to various features:

Bonus Tracks tagged ‘xcode4′

You will almost certainly want to print yourself out a copy of Cocoa Samurai’s

Xcode 4 Keyboard Shortcuts

If you aren’t subscribed to the xcode-users list, you might want to drop by the archives to see what informative tidbits pop up the next little while. Like this one for instance:

… I proceeded to install it over my current installation. After the installation, I was still able to find IB plugins that were now appearing as standard directories, since Interface Builder is gone. Well, maybe I should retract what I just said. It does seem that the installer package correctly removes Interface Builder but it also seems that it “forgets” some obsolete files as well. I then proceeded to uninstall the developer tools with the script, then re-installed Xcode 4. I saved around 3GB over the installation that was done over the existing Developer directory…

If you’d like a book, there’s one coming from Peachpit, although hopefully their writing quality is better than their predictive ability:

… Here’s my not-so-surprising prediction: Xcode 4 will likely be released to the masses alongside Lion sometime around Summer of 2011…

Given that, not surprising that today they tweeted:

… Xcode 4 has been released. In other news, Josh is writing faster …

… Author’s current status: http://t.co/r2gNjkZ / http://t.co/KyPceD2

Heh. Good luck with that!

That’s about it we’ve noticed so far; any other resources, intros, hints, tips, or tricks to add, Dear Readers?

UPDATES:

If you’re an AppKiDo user — try regular or iPhone interim builds, or visit github for source.

A minimal project template for Xcode 4

Well-taken documentation rant; note the pointer to the Ingredients documentation viewer.

Video: How to setup XCode 4 and GHUnit to do TDD on iOS

If you really *really* need to … Using ppc and 10.4 SDK With Xcode 4

Xcode4: make a library in one file that works on BOTH device AND simulator

Using Git Versioning inside your XCode Project

Xcode 4 Tips and Tricks at Stack Overflow

Xcode 4 Performance Tips at Stack Overflow

Xcode 4 Hidden Features at Stack Overflow

Top 10 Annoyances XCode 4 Fixed For Me

Objective-C Singleton Template for XCode 4

Xcode 4 versions of Solarized Color Theme; and xcode4themes github repository

Creating Static Libraries For iOS

How to create an IPA (Xcode 4)

Can’t symbolicate XCode4 archive builds?

Show TODO’s and FIXME’s as warnings in Xcode 4

How to check memory leaks in XCode 4? is a gentle introduction to Instruments

Fixing Xcode 4′s symbolicate utility to get comprehensible crash logs

About XCode 4 Project Template

Creating custom project templates in Xcode 4

Automating Xcode 4 Template Generation

Clearing Xcode 4’s Derived Data

Creating Custom Xcode 4 File Templates

Continue Reading →
1

Beginning Android

So since yesterday we talked about execrable user interface design, that’s a natural leadin to talking today about … porting to Android!

We kid, we kid. No, wait, no we actually don’t. Let us take a look at the app under discussion:

Screen shot 2011-03-08 at 11.39.51 PM.png

Kinda like the process is “take a clean straightforward design, and bring the suck”, isn’t it now? Just for starters, any UI convention for handhelds that puts the navigating tabs far away from your thumb as you hold the device is wrong. Just … wrong.

Any-ways, natural ickiness aversion aside, it’s a worthwhile article if you’re even vaguely interested in getting some introductory guidance on how to go about porting your awesome iPhone apps to other, lesser, platforms:

Beginning Android for iOS Developers; or, How to Build a Real-World Android App

Sadly, I’ve been trying to do this for far too long. I kept putting learning Android off because no one had written a resource for us iOS developers on how to start swinging both ways. Well, I finally got some time to sit down, shut up, and get to it. Here are the results:

Well, personally, we wouldn’t consider “far too long” to be an appropriate term to use in this context unless compared to, oh, the eventual heat death of the universe, say. But if you absolutely have to learn something about programming Android, hey this is a most excellently written piece that’s absolutely the best place to start!

Continue Reading →
0

UIDickBar

Some more light amusement today: No doubt you’ve heard about the rather poorly received UI enhancement to the latest Twitter client, yes? Well, that “dickbar” meme started by John Gruber just seems to be running away with itself.

So that’s a mild chuckle there. But some people — namely, @digdog — took it to the next level, an implementation on github:

UIDickBar, An Awful Idea

We’ll just copy the feedback quotes there, these are great:

  • “Never laughed so hard at a GitHub page.” – @jordanekay
  • “UIDickBar is f-ing awesome!” – @lynkynpark86
  • “Awesome – you too can now easily drive your users mad/to other apps with no effort at all.” – @mdales
  • “This whole #dickbar thing is getting out of hand! (love the screenshots!)” – @lieven
  • “Want to kill your iOS app ? Here is UIDickbar.” – @romac17
  • “I’m laughing my ass of xD” – @smarag
  • “We really need one indeed, and then you can stick a UIDickBar anywhere in your app as easily as you would put a Share button.” – @damiendeville
  • “For the luvapete, don’t ever use this.” – @objectivec
  • “The best screenshot on Github.” – @stevestreza

Even more we like the features list:

  1. Look like real #dickbar.
  2. No fancy animations.
  3. Support rotation.
  4. Support Blocks.
  5. Use UIDickBar to get tons of one star reviews, priceless.

And as we write this, it’s the #1 trending repos on github.com, no less. Now that’s an instant classic!

Continue Reading →
2

Dropbox Storage

So remember we looked at cloud syncing and figured the Dropbox option looked like a good one? Well, it does to other people too, and if you’re one of them, here’s a reasonable sounding suggestion for coexisting nicely with all those other people:

Add The Power of Dropbox to Every App

… My proposal, is that we create a folder in the Dropbox root called

.apps

as a central repository for third party app data. From there you use a reverse domain name system similar to your bundle id, but instead of dots, use new directories, and only use lowercase. So keeping with the 1Password example [a file called “.ws.agile.1Password.settings”], they would store their data in

.apps/ws/agile/1password/

This will be consistent for their iPhone, iPad, Android, Mac OS X and Windows clients. All of their 1Password apps will be able to find the data regardless of system being used. Any data that is system specific can be stored further down the hierarchy.

This system should keep everything clean, organized and out of view of the user. Windows users will still see the .apps folder but at least it’s just one folder and it’s name should make it’s meaning clear to most users…

Sure, sounds like a reasonable suggestion to us, we’ll go with that. And you should too!

h/t: @kwigbo!

UPDATES:

From @jessegrosjean, here’s an open source iOS/Dropbox library on github!

Now this is serious Dropbox leverage: Frenzy – The Dropbox powered social network.

Continue Reading →
1

Comic Relief

So, all you developers out there banging away on your apps … check out these videos for a chuckle:

5 New Ways to Build Apps for iPhone, Android and Web Browsers

Five start-ups unveiled services for building mobile applications and Web services this week at DEMO Spring 2011, bringing application development capabilities to the masses – or, at least, to people who lack traditional programming and mobile development skills…

Um, yeah. That’s going to work. Let’s pick a snippet about each, shall we?

… “MobileNation allows anyone to build apps for Android and iPhone. Anyone – you, me, even my mom,” Pedler said. “MobileNation is all browser-based. We don’t use any plug-in technology. Everything is point-and-click, drag-and-drop. There is no programming required.” …

… [Bizness Apps]’s “Small Business iPhone and Android Apps” service helps customers build apps in 20 minutes and manage them for $40 a month. It also gives businesses the ability to publish those apps to the official iPhone and Android app stores…

… “We have the first commercial platform-as-a-service for HTML5 and JavaScript development,” said [Ajax] CEO Ruben Daniels. “This will impact everyone building cloud, mobile and social apps. Everyone here releasing an app will do so with Cloud9, and do it in half the time.”

… “ApSynth targets development of Web applications, rather than mobile, and provides its own market for users to publish their apps”…

… “Rather than help customers build stand-alone applications, ScreenReach gives them a way to develop “real-time interactive experiences,” which can then be consumed by end users through ScreenReach’s own Screach mobile application…”

Take a read, watch some videos. Be prepared to bounce around between “now where did they get the idea this was going to work?” and “people actually have given them money for this? Seriously?” But perhaps we are too cynical, and one of these will indeed live up to the grandiose expectations delineated above. If so … hey, you heard about it from us first!

Continue Reading →
0

make-fmwk

So speaking of things that it’s annoying to not have in iOS, how about not being able to build our own frameworks? That annoy you? Yep, that annoys us too, there’s a lot of libraries we use commonly like ASIHTTPRequest that just beg to be put into frameworks. Well, here’s the make-fmwk project on github that applies this article on creating one by hand to shell scripting up something kinda-sorta like a framework using a static library and healthy heaps of cleverness. We particularly like this linker trickery:

… this script proceeds as follows:

  a) The script reads a file as input (bootstrap.txt by default), which lists all source files for which linking must be forced.

  b) Each of these source files is then appended a dummy class (whose name comprises the nameof the file to avoid clashes). Both the definitions and the declarations are added to the source files in order to avoid additional header files. A backup of the original source file is made, and the dummy class is appended to the end of the file so that the original file numbers are kept intact. The dummy class itself does nothing more than expose an empty class method.

c) The library is compiled with the modified source code files, then the original files are restored.

  d) A bootstrap source file is created, which repeats the dummy class definitions (since we have no header files for them; class definition consistency is no issue here since we control the whole process). A dummy function is added to call the class method for all dummy classes. This file is saved into the static framework package as is.

When a static framework is then added to a project, the bootstrap code gets compiled as well (thus the term “bootstrap” I introduced). Even if the dummy function it contains is not used, the linker will happily load all dummy classes since their class method is called, which effectively loads the modules they reside in, yielding the desired effect…

Indeed. And they have an example of how to bundle things up using, wait for it, ASIHTTPRequest we mentioned above. So next time we stick that into a project, we’ll give this .staticframework stuff a shot and see if it actually simplifies things any.

h/t: @romainbriche!

UPDATES:

Note from the comments that iOS-Universal-Framework may be a more up-to-datedly functional way of accomplishing this!

If you’re making static libraries in any form, read Universal static library problem in iPhone SDK.

Another take on the subject: jverkoey / iOS-Framework

Continue Reading →
7

Hardware Specs

Ever have trouble remembering what exact hardware is in what iDevice models? Here is a very thorough indeed handy reference page for that:

iPhone, iPad, and iPod Touch Secrets

GPU versions, max cellular speeds, all kinds of tidbits we haven’t seen collected this expeditiously anywhere else. Well worth a bookmark.

And while we’re on the subject of hardware differences … check out this video for demonstration of just exactly how much speeds have increased from the iPhone 2G through the 4G. Striking, indeed.

iPhone 2G/3G/3GS/4 Speed Comparison

h/t: @shashivelur, @gaminghorror!

Continue Reading →
0

Implementing VoiceOver

So do you explicitly support VoiceOver in your apps? Um, well, never have we either. But here is an excellent introduction to it to read:

Adding VoiceOver to Dex

A blind, non-native english speaking user wrote in to say how happy they were with Dex’s support of VoiceOver, an assistive technology in iOS that helps people navigate through apps with sound. I politely wrote back that I’m happy they are happy but I didn’t do anything special to support VoiceOver; however if they had any feedback to let me know. In this blog post I’ll cover what Voice Over is all about and review the few recent additions I made to Dex to make it work even better with VoiceOver…

A lot easier than you’d think! Also note the videos here on the subject.

Also, Matt Legend Gemmell has an extended discourse on Accessibility here:

Accessibility for iPhone and iPad apps

Here’s the deal: if you’ll agree to just read this one article (do it over lunch or while you’re on the bus), I’ll absolve you of any moral obligation to think about accessibility for your software. If you decide to pursue the subject afterwards, that’s great – it’s completely up to you…

as well as offering review services for your accessibility implementations.

Continue Reading →
0

NSAttributedString+HTML

So you annoyed that we have NSAttributedString on iOS these days … but no way to use it conveniently, unlike on the desktop? Well, so is Oliver Drobnik, and unlike us, he’s doing something about it:

UIWebView must die

Almost always when we iOS developers want to display some rich text we are using UIWebView. That’s not by choice, since traditionally Apple did not provide any classes to us being able to show formatted text.

That changed slightly with the iPad, because in 3.2 we got CoreText as well as CATextLayer. CoreText gives us NSAttributedString which is basically a string that can have different attributes for ranges of characters. Those attributes can either be standard ones, like to describe the font, color, size and paragraph format. Or they can be your own arbitrary attributes.

I’ve shown how to programmatically construct these in my previous article on Core Text. The one thing though that is still missing from making CoreText really useful are ways to create attributed strings. Clearly doing it all in code is not feasable.

In this article I am introducing an Open Source project that aims to provide the missing functionality to iOS developers…

Also see this followup article about applying this to developing a commercial rich editing text component.

Now, it would be utterly unsurprising to see the desktop NSAttributedString RTF/HTML/etc. initializers appear in iOS in the nearish future, and hey maybe full rich text editing might not be too much to dream about either … but if you have formatted text display needs today, hey this project looks great!

Continue Reading →
2
Page 40 of 94 «...1020303839404142...»