iPad intentions?

4 views
Skip to first unread message

Brian Rice

unread,
May 25, 2010, 4:15:12 PM5/25/10
to isq...@googlegroups.com
Hello, all.

I've had the iPad 3G device in hand for a couple of weeks now, having spent the greater part of that going across country, and intend to try using Squeak images on it. I've jailbroken it and have experience with the SDK in any case, but I'm wondering, are there foreseen stumbling blocks or do any of you have specific intentions there?

I imagine that (hooking into native) typing-based input methods may be an issue. I do have an external keyboard which I hope will "just work".

--
-Brian T. Rice

johnmci

unread,
May 25, 2010, 4:32:44 PM5/25/10
to isqueak, J.F. Rick
Jeff I think has some code changes to enable keyboard input on the
ipad.

I had built the logic into the VM source earlier in the year as part
of work on the iPad version of Scratch.
What has to happen is that you need to make the SqueakUIView instance
the first responder. That will bring up the keyboard. Alternately I'd
guess there is work there to deal with being the first responder but
not show the keyboard if you have an external bluetooth, or keyboard
dock.

When to bring up the keyboard is an issue, but I had thought you could
do this when the image thinks it has to show the text input cursor?
However if you have an external keyboard maybe you don't care about if
the keyboard should be up or not?

For Scratch which was pre the <UIKeyInput> solution we use a dummy
text entry field which overlays the keyboard image and re-direct the
data to the squeak vm keyboard UI.

Bert Freudenberg

unread,
May 25, 2010, 4:33:53 PM5/25/10
to isq...@googlegroups.com
On 25.05.2010, at 22:15, Brian Rice wrote:
Hello, all.

I've had the iPad 3G device in hand for a couple of weeks now, having spent the greater part of that going across country, and intend to try using Squeak images on it. I've jailbroken it and have experience with the SDK in any case, but I'm wondering, are there foreseen stumbling blocks or do any of you have specific intentions there?

No need to jailbreak if you have an SDK ...

I imagine that (hooking into native) typing-based input methods may be an issue. I do have an external keyboard which I hope will "just work".

I modified the VM to bring up the iPad on-screen keyboard when rotating it to portrait mode. Works quite well in latin locales, except there aren't any modifiers.

- Bert -


Brian Rice

unread,
May 25, 2010, 4:35:07 PM5/25/10
to isq...@googlegroups.com
That's interesting but beyond my current knowledge, not having been in the iPhoneOS development arena for several months.

I suppose I could throw in the idea that image files (and maybe other sources?) be usable/selectable from the shared documents area that iTunes has access to.
--
-Brian T. Rice

Steve Wart

unread,
May 25, 2010, 4:38:35 PM5/25/10
to isq...@googlegroups.com
AFAIK there is no shared documents area that iTunes has access to.
There was an undocumented (i.e. world writeable) part of the file
system that some media apps were using to share files, but Apple has
prohibited this.

Jailbreaking might be the best option.

Brian Rice

unread,
May 25, 2010, 4:39:14 PM5/25/10
to isq...@googlegroups.com
On Tue, May 25, 2010 at 1:33 PM, Bert Freudenberg <be...@freudenbergs.de> wrote:
On 25.05.2010, at 22:15, Brian Rice wrote:
Hello, all.

I've had the iPad 3G device in hand for a couple of weeks now, having spent the greater part of that going across country, and intend to try using Squeak images on it. I've jailbroken it and have experience with the SDK in any case, but I'm wondering, are there foreseen stumbling blocks or do any of you have specific intentions there?

No need to jailbreak if you have an SDK ...

Well, I'm thinking about distribution scenarios to allow arbitrary people to program on their devices. Naturally, any discussion or relationship with Apple would, uh, interact with this due to the recent controversy regarding software development tools. Perhaps I ought not bring it up.
 
I imagine that (hooking into native) typing-based input methods may be an issue. I do have an external keyboard which I hope will "just work".

I modified the VM to bring up the iPad on-screen keyboard when rotating it to portrait mode. Works quite well in latin locales, except there aren't any modifiers.

Thanks.

--
-Brian T. Rice

Brian Rice

unread,
May 25, 2010, 4:40:05 PM5/25/10
to isq...@googlegroups.com
Yes, there is, on a per-application basis and this is available in the SDK. I'm using this to put PDFs onto the device for reading as well as other documents.
--
-Brian T. Rice

Steve Wart

unread,
May 25, 2010, 4:42:53 PM5/25/10
to isq...@googlegroups.com
Is this the shared documents flag new with 3.2?

I was hoping to play with that, but so far I don't need an iPad yet.
Does it work with the simulator?

John M McIntosh

unread,
May 25, 2010, 4:43:22 PM5/25/10
to isq...@googlegroups.com

On 2010-05-25, at 1:33 PM, Bert Freudenberg wrote:

I modified the VM to bring up the iPad on-screen keyboard when rotating it to portrait mode. Works quite well in latin locales, except there aren't any modifiers.

- Bert -


Mmm a custom keyboard? I've not looked but wonder how easy that would be now? 

--
===========================================================================
John M. McIntosh <joh...@smalltalkconsulting.com>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================




John M McIntosh

unread,
May 25, 2010, 4:51:44 PM5/25/10
to isq...@googlegroups.com

On 2010-05-25, at 1:39 PM, Brian Rice wrote:

Well, I'm thinking about distribution scenarios to allow arbitrary people to program on their devices. Naturally, any discussion or relationship with Apple would, uh, interact with this due to the recent controversy regarding software development tools. Perhaps I ought not bring it up.

Brian, a Squeak.app lurks, all I need to do now is convince Steve Jobs that this is a good idea.

However such a question is queued up behind getting approval to run Scratch and eToys on the iPhone & iPad which are more important issues. 

At the moment (updated last week) Apple is still pondering the question of Scratch, so they have not said NO yet, or YES either. 

The next update will happen mid WWDC after we see if Apple is going to change any of the developer contract terms based on 
feedback they've received from the developer community in the last 2 months.  


For jailbroken devices there are only minor steps needed to provide a squeak environment you can program with on the ipad. 
Largest issue is figuring out how to deal with modifier keys. Perhaps a custom keyboard?  However at this time I have no time 
to address the matter. 

Brian Rice

unread,
May 25, 2010, 5:05:59 PM5/25/10
to isq...@googlegroups.com
On Tue, May 25, 2010 at 1:51 PM, John M McIntosh <joh...@smalltalkconsulting.com> wrote:

On 2010-05-25, at 1:39 PM, Brian Rice wrote:

Well, I'm thinking about distribution scenarios to allow arbitrary people to program on their devices. Naturally, any discussion or relationship with Apple would, uh, interact with this due to the recent controversy regarding software development tools. Perhaps I ought not bring it up.

Brian, a Squeak.app lurks, all I need to do now is convince Steve Jobs that this is a good idea.

However such a question is queued up behind getting approval to run Scratch and eToys on the iPhone & iPad which are more important issues. 

At the moment (updated last week) Apple is still pondering the question of Scratch, so they have not said NO yet, or YES either. 

The next update will happen mid WWDC after we see if Apple is going to change any of the developer contract terms based on 
feedback they've received from the developer community in the last 2 months.  

Thanks, John; I truly appreciate the effort out in front of the Squeak community to work with Apple on this.
 
For jailbroken devices there are only minor steps needed to provide a squeak environment you can program with on the ipad. 
Largest issue is figuring out how to deal with modifier keys. Perhaps a custom keyboard?  However at this time I have no time 
to address the matter. 

That's fine; I'm sure that something can be done with a little work, probably by us in the community here. I'll get started poking at it and see what issues come up.
 
--
===========================================================================
John M. McIntosh <joh...@smalltalkconsulting.com>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================







--
-Brian T. Rice

Bert Freudenberg

unread,
May 25, 2010, 5:33:23 PM5/25/10
to isq...@googlegroups.com
On 25.05.2010, at 22:51, John M McIntosh wrote:
> Largest issue is figuring out how to deal with modifier keys. Perhaps a custom keyboard? However at this time I have no time
> to address the matter.

For my Etoys proof-of-concept I added an on-screen modifier button in Squeak. If the first touch contact is inside that area, it will set the Cmd bit on keyboard events, and clicks become blue-button rather than red-button. This is all image-side, just using multi-touch.

Having done that it also is clear this is not the way to go for general use. Emulating a PC interface on a touch device feels really clunky.

- Bert -

Brian Rice

unread,
May 25, 2010, 6:44:53 PM5/25/10
to isq...@googlegroups.com
On Tue, May 25, 2010 at 1:42 PM, Steve Wart <st...@wart.ca> wrote:
Is this the shared documents flag new with 3.2?

Yes.
 
I was hoping to play with that, but so far I don't need an iPad yet.
Does it work with the simulator?

I'll have to see about that, but I imagine not by default since the simulator isn't designed to work with iTunes.

--
-Brian T. Rice

Brian Rice

unread,
May 26, 2010, 5:08:13 PM5/26/10
to isq...@googlegroups.com
As a follow-up, I've built and installed Squeak through the SDK and have toyed a bit with the Faure project (http://www.squeaksource.com/Faure/) as an interim setup for input management (it includes a soft keyboard, for example) and am looking at the interaction issues.

Squeak 4.1's "master search bar" facility seems like a good simple UI to start with, but mainly I'm pursuing the use of Squeak tools in almost-full-screen, chromeless setups.
--
-Brian T. Rice

Brian Rice

unread,
Jun 18, 2010, 12:43:47 PM6/18/10
to isq...@googlegroups.com
Bert, having seen your demo getting some great recognition via:
http://news.squeak.org/2010/06/17/squeak-running-on-ipad/

I wonder if you could share some preliminary setup/contribution that would allow collaboration. I'm excited to get involved, and there are a number of aspects that can be addressed in concert:
- blitting overhead.
- devising a better strategy for presenting finger-sized/oriented touch targets.
- devising some facilities for abstracting gesture inputs (which Cocoa Touch provides some good pattern for).
--
-Brian T. Rice

John M McIntosh

unread,
Jun 18, 2010, 12:47:14 PM6/18/10
to isq...@googlegroups.com

On 2010-06-18, at 9:43 AM, Brian Rice wrote:

Bert, having seen your demo getting some great recognition via:
http://news.squeak.org/2010/06/17/squeak-running-on-ipad/

I wonder if you could share some preliminary setup/contribution that would allow collaboration. I'm excited to get involved, and there are a number of aspects that can be addressed in concert:
- blitting overhead.

BTW an Apple engineer and I spent *lots* of time looking at the VM drawing code. In order to understand where the "blitting overhead" is you need to compile and run your own VM under Apple's instruments. 

Brian Rice

unread,
Jun 18, 2010, 12:51:06 PM6/18/10
to isq...@googlegroups.com


On Fri, Jun 18, 2010 at 9:47 AM, John M McIntosh <joh...@smalltalkconsulting.com> wrote:

On 2010-06-18, at 9:43 AM, Brian Rice wrote:

Bert, having seen your demo getting some great recognition via:
http://news.squeak.org/2010/06/17/squeak-running-on-ipad/

I wonder if you could share some preliminary setup/contribution that would allow collaboration. I'm excited to get involved, and there are a number of aspects that can be addressed in concert:
- blitting overhead.

BTW an Apple engineer and I spent *lots* of time looking at the VM drawing code. In order to understand where the "blitting overhead" is you need to compile and run your own VM under Apple's instruments.

Okay, I'll take some time to look at that this weekend. I presume the (implied) answer is that either I'm obviously mistaken ;) or that there are a couple of different things going on that could be tackled individually.

--
-Brian T. Rice

Bert Freudenberg

unread,
Jun 18, 2010, 1:01:43 PM6/18/10
to isq...@googlegroups.com
On 18.06.2010, at 18:43, Brian Rice wrote:

Bert, having seen your demo getting some great recognition via:
http://news.squeak.org/2010/06/17/squeak-running-on-ipad/

I wonder if you could share some preliminary setup/contribution that would allow collaboration.

I've sent my changes to John but we have not yet figured out how to really collaborate. There is the VM source code, plus the in-image handling. I'm doing my experiments in the Etoys image (squeakland.org), John's mostly using Pharo. Both the low-level EventSensor logic and the high-level Morphic code are different enough to make sharing hard (though I have not yet looked at the actual differences). I already proposed to adopt Pharo's event handling in Etoys to eliminate one of the differences, but this might be a larger undertaking.

Suggestions welcome.

- Bert -
Reply all
Reply to author
Forward
0 new messages