Type an em-dash on an iPhone
Typography and punctuation geeks rejoice! It's easy to type an em-dash on the iPhone's or iPod touch's virtual keyboard. To do so, tap the .?123 key to switch to the numeric keypad. Then touch and hold on the Hyphen key to reveal a pop-up strip showing an em-dash. Slide to the em-dash and release your finger.
Note that this basic trick works with many other keys on the virtual keyboard.
Written by
Tonya Engst
Recent TidBITS Talk Discussions
- Alternatives to MobileMe for syncing calendars between iPad/Mac (1 message)
- Free anti-virus for the Mac (20 messages)
- iTunes 10 syncing iPod Touch 4.1 (2 messages)
- Thoughts about Ping (16 messages)
Published in TidBITS 1023.
Subscribe to our weekly email edition.
- Steve Jobs Shares iPad Sales Numbers
- Some iPad Users Suffer Wi-Fi Woes
- DealBITS Drawing: Win a Copy of FotoMagico Pro 3
- Google Groups on the Fritz
- Classic Video Game Characters Take Manhattan
- 22 Useful iPad Tips
- Apple Previews Major New Features in iPhone OS 4
- TidBITS Watchlist: Notable Software Updates for 12 April 2010
- ExtraBITS for 12 April 2010
iPhone Developer Agreement Change Bans Flash-to-iPhone Compiler
Along with this week's release of the iPhone OS 4 SDK, Apple made a change to Section 3.3.1 of the iPhone Developer Program License Agreement. Previously, that section read:
"Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs."
After Apple's addition, it reads as follows:
"Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)."
That additional verbiage appears designed to block the use of certain cross-platform compilers such as Novell's MonoTouch, which compiles C# and .NET apps for the iPhone, and Adobe's forthcoming Flash-to-iPhone compiler (there are actually four or five of these cross-compilers, not all of which will be affected). John Gruber explains the situation well at Daring Fireball, and his followup article "Why Apple Changed Section 3.3.1" makes some good points about how cross-platform compilers have seldom resulted in top-notch Macintosh applications. Read his analysis for details, and be sure to check out Steve Jobs's related comments in email to Tao Effect CEO Greg Slepak.
One aspect of the situation that John doesn't touch on is the legal firestorm that this change may engender. MonoTouch comes from Novell and Adobe has undoubtedly spent a huge amount of money on developing its Flash-to-iPhone compiler. Both companies have strong legal departments, and given that this change was made to a legal agreement, it seems entirely likely that we'll see these companies filing lawsuits against Apple for anti-competitive behavior.
However, it's important to remember that Apple isn't acting irrationally, as John notes:
"So from Apple's perspective, changing the iPhone Developer Program License Agreement to prohibit the use of things like Flash CS5 and MonoTouch to create iPhone apps makes complete sense. I'm not saying you have to like this. I'm not arguing that it's anything other than ruthless competitiveness. I'm not arguing (up to this point) that it benefits anyone other than Apple itself. I'm just arguing that it makes sense from Apple's perspective - and it was Apple's decision to make."
He's right. It would be nice to see Apple competing entirely on the basis of having the best products, but as Mac users know, the best product doesn't always win. Having been on the wrong side of that battle for 25 years, Apple isn't going give up any potential advantage in the brave new iPhone OS world.

address book, music, photos and much more between your phone
and Mac. Supports ANDROID, BLACKBERRY, PALM PRE and many
other phones. <http://www.markspace.com/bits>
not that this is wrong, but they were building a business on a loophole in the sdk agreement. apple closed the loophole, and now they're all upset.
if adobe had done what they should have done from the outset - supplementing dreamweaver to help people create native web apps - adobe would at once have made an ailing program relevant again, and created a product infrastructure that apple would not be able to cut off by modifying the sdk.
flash was semi-relevant under macromedia, but ever since adobe has taken it over, it's become increasingly bloated. it strikes me that adobe is trying to push flash to the degree that it is, in order to justify the outrageous sum they spent on acquiring macromedia.
1) Developer writes C++ code.
2) Developer writes C++ code using a UI where clicks on certain buttons generate templates consisting of C++ code.
3) Developer writes C++ code using wizards that automatically generate templates after filling in certain fields.
4) Developer writes C++ code using scriptable wizards that take input from text files.
5) Developer writes C++ code using scriptable wizards that accept input from text files written in Ruby.
Hmm... where did we cross the line?