This section will present the Breiny application’s user interface and the available interactions with it, features which will be evaluated by the users. Following the requirements for extensibility, modularity and flexibility, the subsequent visible objects were separated into several user controls.
Category: CSCW Lab- iPhone
Be careful when copying information from this article! The paper is already published and you will be charged with plagiarism! My thesis proposes several approaches as result of the research questions. Their validity of each approach should be verified by allowing users to interact with a prototype built to fulfill all the proposed solutions. Hence, the final users will prove the correctness of this thesis approaches. The implemented prototype will be a brainstorming supporting application. Because my thesis studies brainstorming on a tabletop, I will choose the Microsoft Surface as the underlying hardware because it supports multitouch and multiuser experience. […]
is article presents the system architecture and the underlying decisions that were taken to achieve the above requirements. The system requires a repository for sessions, a repository for Brainstorming items and a native Windows application for achieving the baseline of desired features. Thus, a distributed client – server architecture is considered, exemplified here.
In this section the application requirements will be presented. They are split into functional and non-functional ones. The first refers to all the features needed to be implemented, while the second category refers to performance, extensibility and scalability of the system.
There are two sets of features that must or can be implemented: the first ones which regulate the brainstorming activity as a set of rules; the second ones add productivity to the process, enabling additional scenarios that improve the user experience.
iMeet 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.
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. Assuming that we have the Latitude and Longitude as NSStrings, we check if they are filled. Then I create the CLLocationCoordonate2D which basically is a tuple of two doubles and then create the point of interest.
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 […]
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 […]
While working on the CSCW Lab project, I encountered a situation in which the XML-RPC call returned an image, of course encoded as Base64. And guess what – in its known style, Apple doesn’t provide Base64 encoding and decoding – quite lame, given the fact that this encoding is used everywhere in data transfer over the internet – e-mail, browsers, web services – all of them use at some point this encoding to overcome the different local encodings on each one’s machine. Once identified this problem, I had to solve it somehow – but guess what? – over the free […]
During the CSCW Lab, where I had the experience of working on iPhone, I had to connect to a XML RPC server. Some of the parameters of the request had to be formatted as ISO8601 standard. After some reading, I end up using the following code, managing both the conversion of a NSDate to NSString and a NSString to a NSDATE using the above format: NSString –> NSDate -(NSString *) strFromISO8601:(NSDate *) date { static NSDateFormatter* sISO8601 = nil; if (!sISO8601) { sISO8601 = [[NSDateFormatter alloc] init]; NSTimeZone *timeZone = [NSTimeZone localTimeZone]; int offset = [timeZone secondsFromGMT]; NSMutableString […]
Almost any time you’ll need to pull some data from the web. Using Objective-C you have at your disposal a pretty good XML parser – the event-based version. What really means is that instead of building in-memory tree with the structure of the XML you’ll have some events raised when the parser encounters a special token – the most usual ones are tag start, tag end and found comments. The parsing goes node by node and is not nesting-sensitive. As soon as the parser returns you a node, you don’t know where in the structure you are currently anymore. As […]