The Story about RunRev and the Apple iPhone SDK

Apple’s new iPhone 4 license terms, particularly section 3.3.1, have caused many software development communities to shake on their foundations and make many small and medium business owners worry about their invesments.

“3.3.1 — 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).”

Read more about it at http://qurl.tk/9d . As a result, many investments in iPhone development platforms and many man hours as well as finished products are now foregone. In response, Greg Slepa wrote on his blog (excerpt from http://qurl.tk/9b):

“[…] I no longer think Apple can continue to honestly claim that they have the best phone around. Steve Jobs and Apple’s legal department have taken a figurative dump on their hard work with these insane restrictions, and that creates an foul odor that stains the product as a whole. […] The new rules, interpreted as written, ban all kinds of applications written by great folks who have put in countless hours of work developing for this platform.”

Greg wrote a message (read it at http://qurl.tk/9i to Steve Jobs, who is said to have responded:

“We think John Gruber’s post is very insightful and not negative: http:// daringfireball.net/ 2010/04/why_apple_changed_section_331

Steve”

(In case you want to copy Steve’s link you can also use http://qurl.tk/9e.

This has caused quite a stirr in the RunRev community. RunRev is currently working on a version of their development environment for the iPhone, but this new condition in the iPhone license has made it very unclear whether RunRev for iPhone will ever be able to be used to release products to the iTunes store. Naturally, RunRev programmers are eager to know whether they will be able to use RunRev for iPhone (particularly those who have already paid for their license).

A RunRev user writes at the RunRev forums (firstly posted publicly at http://qurl.tk/9c):

“I received the following email from runrev this morning. I take it to mean that this announcement caught runrev by surprise, too, and that they will be seeking clarification from Apple ASAP. It would be a significant blow to the company if Apple included runrev in their ban.”

Surely, he’s right. The RunRev support department replied, quoting a message from the CEO. Above quoted user has included the reply:

“Thank you for your comments and questions with regard to the new licensing  provisions in Apple’s iPhone agreement. We value all our customers greatly and we know how important it is to you all that revMobile is launched as an outstanding platform to deliver iPhone apps in full compliance with Apple policies. We know many of you have already invested considerable energy in getting your applications ready for the iPhone and iPad.

As part of Apple’s announcement yesterday, Apple have posted updated iPhone Terms of Service. The specifics of these changes are under NDA so we cannot discuss them at this point. We have an excellent relationship with Apple and we will be working with them to address any specific issues that may need clarification in relation to their proposed changes.

Rest assured that we will be doing everything possible to ensure a speedy and positive resolution that allows you to deliver outstanding apps on the revMobile platform in full compliance with Apple policies.

I will be posting further information as I get it over the coming days.

Please feel free to get in touch with us if you have any questions or would like to discuss this further. Thanks to everyone who has offered their support.

Kind regards,

Kevin”

Apparently, RunRev is still looking for options to create a development environment which will eventually create applications that are approved by Apple. It seems that this will be a tough job, given the fact that Adobe has given up their attempts to do the same. Quoting from Mike Chambers’ post at http://qurl.tk/9f leaves no doubt:

“We will still be shipping the ability to target the iPhone and iPad in Flash CS5. However, we are not currently planning any additional investments in that feature.”

We also know that (almost?) the third-party JavaScript-based framework PhoneGap is said to be eligible for the iTunes store. This appears from an announcement on the PhoneGap website at http://qurl.tk/9g:

“Through email discussions with Apple, I specifically asked what, if any, impact did this have on present/future applications submitted to the App store that were built using PhoneGap. In no uncertain terms, my contacts at Apple have assured me that ‘PhoneGap is not in violation of the 3.3.1 clause of the license agreement.'”

Unfortunately, I haven’t been able to find any clear statements with regard to other frameworks, such as Appcelerator, Nimblekit and Titanium. As you can read at http://qurl.tk/9h It seems that Unity3D is in pretty much the same situation as RunRev.

The verdict? The situation is currently highly uncertain. Unless RunRev invents a way to convert stacks to a native ObjectiveC or Javascript application, which compiles natively in XCode without the need for any RunRev-specific libraries and APIs, there is no reason the believe that RunRev applications will be approved by Apple anytime soon. Moreoever, Apple is free to change the licenses again however and whenever they want. If you want to develop for iPhone while avoiding the risk of having to re-create your work anytime soon, you probably will want to do this with a tool provided by apple.

(I believe I should make explicit that no rights can be obtained from the text above in any way).

Because of the problems described above, Economy-x-Talk won’t be realeasing any commercial applications for iPhone that have been created with RunRev. We are, however, still using other tools to develop software for iPhone. If you are interested in having us doing a project for you, feel free to send an e-mail or contact us directly through Skype. You can find our contact information at http://www.economy-x-talk.com/contact.html.

A Telnet Server in RunRev

This is a very primitive yet complete example of a telnet server written in RunRev. You can access it from the unix terminal with the command

telnet localhost 2222

It might work from the Windows command line as well, although you may have to replace “cr” with “numToChar(13) in the script below –just give it a try. After connecting, type something in the terminal and see what happens. Type “close” to close the connection.

In RunRev, all you need is to create a button with the script below. Set the label of the button to “Start” or click the button twice when you run the server for the very first time.

on mouseUp
     if the label of me is not “Start” then
          closeAllSockets
          set the label of me to “Start”
     else
          accept connections on port 2222 with message “welcome”
          put the result into rslt
          if rslt is not empty then
               beep
               answer error rslt
          else
               set the label of me to “Stop”
          end if
     end if
end mouseUp

on welcome theSock,thePort
     write “Welcome. You are connected.” & cr & “rev> ” to socket theSock
     read from socket theSock until cr with message “telnet”
end welcome

on telnet theSock,theMsg
     // uncomment next line if you want to see the message in a field
     // put theMsg into fld 1
     if theMsg begins with “close” then
          write “byebye” & cr to socket theSock
          close socket theSock
     else
          if theMsg begins with “beep” then beep
          write “You wrote:” && theMsg & “rev> ” to socket theSock
          read from socket theSock until cr with message “telnet”
     end if
end telnet

on closeAllSockets
     put the openSockets into mySocks
     repeat for each line mySock in mySocks
          close socket mySock
     end repeat
end closeAllSockets

 

Soon to be released: Clipboard Link

Clipboard_48px

Clipboard Link

Clipboard Link is software for sharing the clipboard of your computer with other computers on your local network. To use Clipboard Link, copy a text or picture from any window first and start Clipboard Link. Now start Clipboard Link on another computer on your local network. The name of your first computer will appear in the Clipboard Link window on the second computer. Click the Copy button next to the name of the first computer. The clipboard of the first computer has now been transferred to the second computer.

Picture_394
The picture shows Clipboard Link 1.0b02 running under Windows Vista.

Information about obtaining and licensing Clipboard Link will be available soon.

18 Reasons Why Compiling with RunRev May Fail

What to do when building standalones goes mysteriously wrong?

This post is an update to an earlier post about why one may not be able to build a RunRev standalone. Below follow 18 possible fixes for reasons why compiling a standalone fails. These reasons are not related to each other. You should try them one by one, preferably not in combinations. If all of these possible fixes fail, try to combine those that are most likely to solve the problem.

If you have no clue where to start or if you have tried everything and still can’t create a standalone, feel free to contact me at support@economy-x-talk.com and ask for help. We will handle your request as a support incident and will charge for it as such.

• try removing passwords from stacks

• try toggling the destroyStack property

• check whether pictures are referenced or imported as controls

• make sure that pictures are in the correct location relative to your stack

• make sure to use relative file paths for portability

• select “Select inclusions” instead of “Search for required inclusions” on the General pane of the standalone application settings

• after selecting “Select inclusions”, make sure that you actually include all components that you need for your stack, this may involve knowing for sure what each component does

• you might try to forget about profiles, just select “Remove all”

• if you build for multipe platforms, try building for one platform at a time

• quit and restart Revolution without saving your project right after building a standalone

• quit and restart Revolution after saving your project and before building a standalone

• when moving your standalone for Mac OS 9 or Mac OS X to a different computer, make sure to create a sit or zip file of your standalone first

• when uploading your compressed standalone or exe file to a server, make sure that your FTP software treats it as binary

• you might try to build a standalone while suppressing messages (see Development menu)

• you might try to build a standalone while suppressing errors (see Development menu)

• if building standalones takes ages, set the cREVKeepDevelopmentProperties of your mainstack to true

• Change the preference “If destroyStack is false, when closing last stack in file:” to something other than “Ask”. This can be found by doing Edit -> Preferences -> Files & Memory.”

• Try setting the cantModify of your stack to false, if you happen to have set this property to true.

If you encounter any unparsed errors while building standalones, you can parse them at http://runrev.info/error.html

What is my IP address?

Here’s a link to a simple website, showing your IP address.

You can give this number to other people, elsewhere on the internet, to let them know how to connect to your computer. You might also use this website to check which proxy server you are currently using or whether your local and global IP number are the same.

Find out more at http://qurl.tk/ip.php

CSV to Tab conversion with RunRev

The csv to tab delimited conversion script, which I just posted on the Revolution Use List. I post it here just in case it is useful to someone. This script doesn’t take returns and tabs inside cells in consideration.

function csv2tab theData
    repeat for each line myLine in theData
         repeat for each word myWord in myLine
              if char 1 of myWord is quote and (char -2 of myWord is
               quote or char -1 of myWord is quote) then
                   replace comma with “<#>” in myWord
              end if
              put myWord after myNewData
         end repeat
         put cr after myNewData
    end repeat
    replace comma with tab in myNewData
    replace “<#>” with comma in myNewData
    return myNewData
end csv2tab

List of RunRev Tutorials

My updated list of Revolution tutorials and tips.

http://h.webring.com/hub?ring=runtimerevoluti1
http://revolution.byu.edu/indexgeneric.php (wow!)
http://www.runrev.info
http://www.altuit.com/webs/altuit2/RunRev/Tutorials.htm
http://www.revjournal.com/tutorials/
http://www.sosmartsoftware.com/?r=revolution_didacticiels&l=en
http://support.runrev.com/scriptingconferences/
http://derbrill.de/developers.php?lang=en
http://ists.runrev.com/pipermail/use-revolution
http://runrev.com/downloads/all-downloads/full-list/
http://runrev.com/downloads/all-downloads/sast-code-examples/
http://www.runrev.com/developers/exploring-revolution
http://www.runrev.com/developers/tutorials
http://tactilemedia.com/site_files/software/tutorial_thumbs.html
http://www.hyperactivesw.com/Resources.html
http://www.sonsothunder.com/devres/revolution/revolution.htm
http://www.sanke.org/MetaMedia/
http://revclever.com/

Thanks to Judy Perry.
http://revined.blogspot.com/

Neue Webseite: Koenner.eu

Make another
person happpy as you
allow the first best
applicant to do a
job for you. Koenner.eu
makes it possible by it’s
unique job ads platform

Stellen Sie einen
Menschen zufrieden, indem
Sie ihm als dem ersten
Interessenten Ihre Aufgabe
anvertrauen. Könner.eu bietet
Ihnen diese Möglichkeit
durch seine einzigartige
Aufgaben-Plattform.

http://www.koenner.eu