Archive for July, 2009
Microsoft Surface – new task and new challenges
Jul 29th
New day, new task, new challenges – Today I started working on a social collaborative tool which will work on Surface, but extended eventually to Flex 3, Silverlight and iPhone.
First impression: Visual Studio is an old friend. Still, bad news: Surface SDK is kept locked in a website, having access only those who bought a license. Shame, Microsoft!
After installing the SDK I started running the examples, I noticed that many events are new, a lot of new interaction techniques appeared ( the device can track up to 50 different fingers) and also the trackers who can be identified and corresponding menus, actions, interactions can be setup.
I’m looking forward to this new style of programming and really hope to learn it as fast as Objective-C.
Latest Flash UI changes
Jul 27th
Final preparations for tomorrow’s big show! See below the latest Flash movie.
We added :
- sounds in our application, allowing user to get auditive feedback
- background and confirmation for hit sounds for improving the User Experience, creating an immersive experience who tries to transpose the user into the real wood atmosphere
- self generating levels, allowing users to improve themselves beyond our ideas about their possibilities: the user gets 60 seconds levels in which he has to hit more and more animals as he becomes better in targeting ( and in ball retrieval
) - changed the aspect ratio of the game from 4:3 to 16:9 to better use the whiteboard’s surface
- we dropped a lower right sensor from our latest setup to improve the quality of sensor reading. The reason is that wooden board conducts very well the sound. Thus, too close sensors can receive same signal in almost the same moment, given false positive responses.
Flash UI changes
Jul 26th
Since last week the Flash application changed- I added support for numerical keys for hitting. We mapped the numerical keys 1 to 6 to the 6 animals positions that can be hit. This way, it is enough to press a key to simulate the throw of a ball.
The reason behind this application architectural change is that we needed an smart way to simulate the sensors that were hit, without actually having the entire setup in our workplace.
iMeet application presentation
Jul 25th
Finally, the biggest moment: application is ready!! I am very proud of this application, as it represents my achievements in fast learning and adapting to:
- new way of programming, as XCode and Interface Builder truly represent the ModelViewController paradigm
- new language- Objective-C, which as any language has its pluses and minuses
- new device: mobile devices on which I didn’t work since my experience on Sales Force Automation in TotalSoft company, back in 2005, on Windows CE.
I’ve structured the application visually in few areas:
1. Login screen – the ‘”gate” to the application. Since the access to the![]()
XML-RPC is done in a secure way, the application implemented also a credential input and recording mechanism. The mechanism is dual: user can enter the login into the first screen or in the iPhone Settings application. Depends only on him where and how he’ll manage his credentials.
The main point of this screen is to create a intuitive interface for users to insert their credentials, instead of having to leave the application and go to the iPhone settings.
Objective-C: Putting markers on Map control
Jul 21st
This article comes as a completion to my previous ones, XCode : using MapKit with no geocoding available out of the box and XCode: Modal windows – Google maps and shows how to add pins on your already created Map View.
First of all, adding the points to the map is not as intuitive as it might seem, so let’s start by creating a new class called POI – point of interest. Its header must be filled with this code:
#import <foundation foundation.h> #import <mapkit mapkit.h> #import <corelocation corelocation.h> @interface POI : NSObject{ CLLocationCoordinate2D coordinate; NSString *subtitle; NSString *title; } @property (nonatomic, readonly) CLLocationCoordinate2D coordinate;@property (nonatomic,retain) NSString *subtitle;@property (nonatomic,retain) NSString *title;- (id) initWithCoords:(CLLocationCoordinate2D) coords; @end
The User Interface
Jul 18th
This week we work also on the User Interface – the Flash GUI. It was challenging since neither me nor Loredana had previous experience in creating games under this application.
Because of this fact, we searched for some advices on the net and after quite a long trial and errors we found something interesting here . Even that it didn’t met all requirements, this tutorial was what we needed to get a quick start.
The animal images are free clip arts taken from http://www.free-clipart-
After following the steps and understood the concepts,we modified the application to :
- Change the resolution, as it has to run on a projector
- Redesign the entire scene graphics, but keeping basic elements like scoring and timer.
- Change the game’s AI from
- how many simultaneously balloons you can hit in a specific period of time to
- having only one target available at one time and you can get another one only if you hit the current one
- Remove the old targets and create 6 new ones more appealing.
- Implement the Arduino interface classes taken from here.
XCode: Modal windows – Google maps
Jul 18th
From time to time, you’ll need to show in your iPhone application a view over the entire application without navigating and destroying your workflow of the application. I’ll present the mechanism of modal windows as it is implemented in Cocoa Touch.
Lets take a real case: you have a view in which you want to input an address. Near the address you have a button which will show the user the Map centered on the specific address that he inputted. How this can be implemented?
The answer is quite simple: you need to declare the view from which you launch the modal view as <UINavigationBarDelegate> in the header file (.h for newbies), like this:
@interface CtrlAddEvtView1 : UIViewController <UINavigationBarDelegate>
This way, the view will know “magically” how to interact with children views.
XCode : using MapKit with no geocoding available out of the box
Jul 15th
One of the tasks in the CSCW lab was to create a map on which the users to see the location of a specific address.
So I started working on it, knowing that the newest framework brings a lot of goodies, through which there is also a map framework. But surprise! Apple provides only reverse geocoding, not forward geocoding. This means that you can only transform a pair of Latitude / Longitude to the Map and it will show it to the user. But what to do when user enters an address?
My point is that nobody caries with him a GPS to search for the address, get the coordinates and enter them into my map!
I was curious about it and after a little search I found that there was a big argue about the geocoding and Apple didn’t want to pay the price that Google and Tom-Tom asked for this feature.
The User Interface
Jul 14th
We’re going on Arduino
Jul 12th
From the last lab we had a week of accomplishments:
- we set our hardware to Arduino platform
- completed on Monday a little programming and testing of the hardware platform
- decided the final idea of the game
- and also set Adobe Flash as our interface and display application
The idea of the game remains as presented a week ago. We will have a screen acting as a pressure sensor (composed from at least 9 sensors to be more precise about the user’s hit point).
The Arduino board will be linked with the sensors and will provide via USB the signals to the serial port. Flash will be on top, acting as a mix of a Controller of the user’s input gathered by the interface and providing the data for the View, thus creating a fully ModelViewController implementation.
The advantages of the MVC will enable us to quickly create an application, easy bug removal and improved User Experience by easy customization of the View.
