Jonathan Stephens

This user hasn't shared any biographical information

Homepage: http://jonathanstephens.us

AIM: ELNATNAL


Posts by Jonathan Stephens

Rollover

This is from working on my single page website for my app: a rollover. We did this last semester in a demo with Amber too, so it may look familiar to some. This takes the rollover and whatever animation you assigned to it will play when you hover but reverse when you hover out, so it just doesn’t keep playing the whole time. You define an invisible button inside to be able to hover and play. Assign an instance name to the movie clip on the main stage. The [about.btn.addEventListener] accesses the button inside the about movie clip.

//PRESET
var rewind:Boolean = false;

//LISTENERS
about.addEventListener(Event.ENTER_FRAME, aboutReverseFrame);
about.btn.addEventListener(MouseEvent.ROLL_OVER,aboutOver);
about.btn.addEventListener(MouseEvent.ROLL_OUT,aboutOut);

//FUNCTIONS
function aboutReverseFrame(event:Event):void {
if(rewind == true){
about.prevFrame();
}
}
function aboutOver(event:MouseEvent):void {
about.play();
rewind = false;
}
function aboutOut(event:MouseEvent):void {
rewind = true;
}

Play Sound onClick

Here’s where you play a sound when a symbol is clicked. This is after you import a sound and Export it for Actionscript, defining a class name. Here the class name is play6. You define the instance name in the first bit (var snd6:play6. play6 references the class defined in exporting for AS. Then, adding the listener and variable, in the function say you want whatever you named the object to play.

//Listener
sentence_6.addEventListener(MouseEvent.CLICK, sentenceSix);

//Variable
var snd6:play6 = new play6();

//Function
function sentenceOne(event:MouseEvent):void{
snd6.play();
}

Scroll

This tut is for how to make a scrolling menu, like I did for my landing navigation. Basically, what you’re doing is defining a box that you can drag and drop in, defining the width to the width of the buttons and height, however tall you would like it to be taken. From there, embed various buttons or movie clips and define where they should go from there.

//Listeners

nav_buttons_mc.addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
nav_buttons_mc.addEventListener(MouseEvent.MOUSE_UP, mouseRelease);

//Variables
//Here’s where you define the rectangle

var boundArea:Rectangle=new Rectangle(33, -155, 0, 1000);

//Functions
//Here you define the drag and drop itself. The second section [nav_buttons.mc.startDrag] is binding the dragging and dropping to the area defined in the Rectangle.

function mousePress(event:MouseEvent):void {
var item:MovieClip = MovieClip(event.target);
nav_buttons_mc.startDrag(false, boundArea );
}

function mouseRelease(event:MouseEvent):void {
var item:MovieClip = MovieClip(event.target);
nav_buttons_mc.stopDrag();
}

Progress – Into Flash

I have most all of my ’screens’ into flash. I have a few elements that pop up or come out whenever a button is clicked that I need to put in. I’ve also recorded all the sound to place into the sound parts, just need to film someone speaking for the video part.

Apple takes aim at Adobe… or Android?

Apple takes aim at Adobe… or Android?
By Peter Bright | Last updated about 4 hours ago

The already strict requirements that must be met for an application to be published on Apple’s App Store are set to take a turn for the worse, as Apple’s NDA-protected license agreement has now updated an already annoying existing clause, Section 3.3.1, to make it even more offensive.

The original clause stated:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

This clause has already frustrated developers in the past because there are tasks that developers would like to perform that can only be achieved through private APIs; though some have taken a risk and submitted applications that use such APIs, the result is often that the application is denied. The new version of 3.3.1 reads:

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).

Things just got a whole lot more restrictive for iPhone developers. What this change means is that developers can no longer use software like Novell’s MonoTouch, Unity3D, or Ansca’s Corona to develop iPhone applications, and tools like Appcelerator’s Titanium and PhoneGap are looking questionable. MonoTouch, Unity3D, and Corona allow developers to use the C# language and Lua scripting, respectively, to write iPhone applications. Titanium and PhoneGap allow application development using JavaScript and HTML; because they use WebKit behind the scenes to run that JavaScript, they might be OK.

The reasons that developers like and use these tools are many and varied. Titanium, PhoneGap, and Corona, in particular, offer rapid iPhone development environments that are simpler than the Cocoa and Objective-C environments used for native development. As such, they offer their users quicker, more responsive release cycles, and lower development costs. Unity3D provides a range of features to game developers like a 3D engine, a physics processing engine, audio processing, and so on—features that would be prohibitively expensive for most developers to write from scratch. MonoTouch more simply allows the use of a different programming language and different libraries, ones that certain developers might be more comfortable with.

A significant product that is soon to be added to this list of development tools is Adobe’s Flash CS5.
The real enemy: Adobe

As is now well-known, Flash isn’t supported on the iPhone (the license conditions prohibit that kind of runtime application), so in response, Adobe has given Flash CS5 the ability to produce iPhone applications, in a broadly similar manner to how the other tools work. As Adobe explains, Flash CS5 completely skips Objective-C, instead plumbing into the iPhone compiler to directly produce executable code.

Apple’s seething dislike for Adobe has become increasingly apparent in recent years. It’s a dislike that in many ways makes no real sense: most of Adobe’s biggest products don’t compete with Apple’s (and vice versa), and using Adobe’s applications has traditionally been one of the biggest reasons that people have chosen—and stuck with—Apple’s platform. But that’s all in the past; Apple has Flash in its sights and is doing its best to destroy it.

Adobe, for its part, has made some non-commital comments on the issue; the company still plans to ship Flash CS5, but its ability to create iPhone applications might turn out to be short-lived, to say the least.

Apple’s new 3.3.1 restrictions have been met with some disdain from the developer community, too, and it’s no surprise. After all, if followed literally, they’d prevent developers even from writing English language specifications for their programs—since such applications would not be originally written in one of the blessed languages! A case could be made that the rule change prevents even thinking or talking about iPhone programs. Of course, the App Store gatekeepers will not be quite so absurd, but there’s certainly ample scope for inconsistent application of the rules. Nothing new there, unfortunately.
The other real enemy: Google

As well as hurting Adobe, and certainly tarnishing the company’s brand new product, this move hurts Android. In fact, I think the harm done to Android could end up being even more substantial than the harm to Adobe. Although I would say that the biggest virtues of these banned tools are faster, easier development, the fact is that they also often encourage cross-platform development. Flash is perhaps the most obvious example of this, but MonoTouch, Unity3D, and Titanium all enable developers to write applications that are more easily ported to non-Apple platforms such as Windows and Android. Such conversion is not necessarily automatic—applications will typically need some amount of tailoring to adapt them to the different environments—but it’s a big help.

Minority platforms are always going to be the biggest beneficiaries of cross-platform development. It might be hard to justify developing an application for a minority platform from scratch. But if I can take a program for the majority platform and then put in an extra 10% development effort to cover the minority too, that’s a much more appealing prospect. Though Apple does not dominate the smartphone market taken as a whole (Symbian is the runaway leader, with RIM’s BlackBerry in second place), I think it’s clear that in the narrower market of, shall we say, mobile phone-computers, Apple is the leader. Symbian and BlackBerry devices are all too often relegated to being little more than phones with e-mail, and though applications can be developed for both, they have not inspired developers and users in the way that iPhone and Android have.
No real defense

Some observers strive to justify this decision by claiming it’s better for Apple’s users, because in their world all cross-platform apps are bad, so they’re better off without. It’s true that cross-platform apps often buck platform UI conventions, and so end up feeling kind of alien—available on lots of platforms, but not really fitting properly on any of them (as anyone who’s had the misfortune to use iTunes on Window will testify). But it’s not as though being platform-specific is some guarantee of quality. There are plenty of lousy natively-written iPhone applications out there, and these are often produced in a cookie-cutter fashion, so that they can be churned out en masse. In contrast, there are also lots of good cross-platform programs out there.

Nowhere is this more apparent than in the world of gaming. Games are in many ways a class of their own, because games generally offer unique user interfaces: interfaces that are tailored to the game, rather than leveraging the platform. And there are certainly a lot of developers out there producing high quality, popular games using tools like Flash. This idea that cross-platform applications will be bad, such that Apple’s users are better off without them, just isn’t universally true.

Yes, some cross-platform applications will be bad. Some native applications will be bad, too. The reasonable, equitable solution is not to ban the use of tools that produce cross-platform applications. It’s to say “applications must conform to all appropriate user-interface guidelines” and ban any application that doesn’t. This is something the company is already doing anyway, and something that’s unlikely to be a big issue. The existing development toolkits for iPhone make it easier to produce cross-platform applications, but certainly don’t enable the kind of Write Once Run Anywhere approach that Java once promised. They just enable developers to migrate the “working parts” of their applications from one platform to another. The all-important user interfaces will still need to be customized to the needs of the different mobile OSes.

No, this policy change can’t be attributed to a desire to ensure the quality of the user experience. It’s about control. Developers must choose to target iPhone explicitly, or not at all. Apple doesn’t want anyone to even consider writing applications for other platforms, and is going to stand in the way of anyone trying to do so.
Open hostility

Hostility towards competitors is, I suppose, all part of the game. But this action is also hugely hostile towards developers themselves. The banned development environments offer things that Apple’s Xcode doesn’t. Sometimes it’s just a different choice of language, one that a particular deveoper might feel more comfortable in. But often the advantage is simplification—the use of higher-level programming languages (like Lua, or JavaScript, or C#) and frameworks that take out a lot of the grunt-work of software development (like writing a 3D engine). In turn, developers get quicker development cycles, easier development, fewer bugs, and overall, superior applications. Banning these tools doesn’t just hurt competitors. It hurts developers on Apple’s platform, and in turn hurts the platform itself.

The absurdity of this is even more apparent if one thinks back to the initial announcemnt of the iPhone. The iPhone was never going to have an SDK. The mantra was “use web applications”. Indeed, that was one of the driving forces behind Apple’s creation of a first-rate mobile browser. Since the browser was going to be the application platform on iPhone, it had to be good. And indeed it was. The company was reluctant to produce an SDK; this was not simply a case of managing expectations, and keeping quiet about the SDK until it was good and ready. It was a sincere desire to use the web as the development platform. The eventual decision to release an SDK caught many within the company by surprise.

Web apps are still an option, of course, for developers willing to live with their inherent restrictions. For those who can stick with C and C++ for the majority of their development, some level of compatibility between iPhone and other platforms is still possible. But both options still fail to give the considerable benefits that the third-party development platforms provide.

Apple’s current—and in our opinion, objectionable—position is now close to the complete opposite of its initial stance. From promoting openness and standards, the company is now pushing for an ever more locked-down and restricted platform. It’s bad for competition, it’s bad for developers, and it’s bad for consumers. I hope that there will be enough of a backlash that the company is forced to reconsider, but with the draw of all those millions of iPhone (and now, iPad) customers, I fear that Apple’s developers will, perhaps with some reluctance, just accept the restriction and do whatever Cupertino demands.

Scenarios: Take 1

Application Screens

Service Goals

Through the series of steps, learning on tier-based process. When one level of ability is attained, another can be reached. The user is asked, and somewhat forced, to think in Spanish, seeing words and objects and making them become the Spanish word or phrase. Vocabulary will be shown to create a knowledge base of words. Grammar is an essential to learn and will be part of the tier-based app, certain forms and conjugations will be learned later on as they advance and comprehend more Spanish. Throughout the entire app, the user will be able to listen to native speaker’s speech, how words and sentences are supposed to sound and how they are supposed to be formed. There’s also a progress tracker that would determine the advancement of the user. They would advance as they improved in their knowledge and communicative skills, not when they felt like moving on.

Faux-Interaction

Here’s what we did last semester in Imaging III, to a degree. We animated our apps to make it seem like the user, in the video, was interacting with the app. This method of working has been applicable to our prototyping this semester. Here is just another example of how this way of faux-interaction videos can work and be fun too!

<a href="http://www.youtube.com/v/blOrY-nEGaE&hl=en_US&fs=1&color1=0x5d1719&color2=0xcd311b">Shadowy Easter Sendoff</a>

Hey! It’s an App!

Irreplacable by Beyoncé, iPhone remix by 0applegirl0

Iphone apps are being used for very many things these days, there’s an app for everything. What I find as one of the most interesting aspects of interaction design, especially concerning mobile interaction design, is the user’s capability to produce something that I never could have thought of. Sure, a guitar app! That would be perfect! Someone could learn how to play the guitar and everything with it! Who would have thunk a girl in Korea would use the app, along with the drum app and a custom build amp/mic setup to recreate Irreplacable by Beyoncé?

http://www.youtube.com/watch?v=HK15Fwho6Ys

5 Minute Sketches

Image Finds

Mobile App Project Proposal Presentation

Click the image to go to Slideshare!

Wireframing

The Flash plugin is required to view this object.

Here’s the link if you can’t see it: http://vimeo.com/10075261

Microsoft Courier

So with all this hype of Apple’s iPad, Microsoft has been developing a similar device that’s going to be more ‘journal-like’. The link to the Engadget article is here. They have various demos of the product ‘working’ or what it will be like. The interface is multi-touch driven and is based around using a pen, basic premise to make it like a digital moleskin. It’s launch date is supposed to be this year sometime.

I think it’s quite interesting. Microsoft keeps trying to fight Apple’s consumer touch device. Also, watching the videos, Microsoft seems to be designing with designers or the typical Apple-cult followers with their new device. Check it out, quite neat.

March 4 – In Class Work

So here’s everything I did in class. It will all be updated and fleshed out more later this weekend.

Women more socially mobile

demographics social networking activity on mobile devices

demographics of social media use on mobile devices

Nielsen posted these mobile social stats from December 2009 about the gender differences when accessing social networks via mobile devices. You may be surprised to discover women were found do use their phones to “tweet” and “friend” 10% more than men.

Nielsen research also showed the 35-54 age group had more active mobile social networkers than any other group.

demographics of mobile social use - breakdown by age

demographics of mobile social use – breakdown by age

This was exactly the data I was looking for I wrote a post last year about how iPhone was shaping mobile social use and was driving a lot of mobile content creators. 9 months on, and I feel the impact of iPhone and other smart phones is just starting to hit the mainstream, and the statistics support this. AdMob report growth of nearly 300% in iPhone and iPod touch use in Australia alone, between January and November 2009

So how can we use these insights?

optimising websites – making them mobile and smartphone friendly
making social sharing easier – sophisticated scripting to know whether you’re logged in to social network so you don’t have to log in every time you want to share on the move
social shopping, both real and virtual- Facebook announced a strategic partnership with PayPal, Read Facebook Credits “give users a fast and easy way to buy virtual goods on Facebook, including items from the Facebook Gift Shop”
geo location social- hot for 2010. Watch Foursquare – the sponsorship pieces like Pepsi & Bravo, and the localized business offers
social games – ones that work on the move. Foursquare encourages repeat use through reward. There are so many social mobile game opportunities, its the “how to monetize” which is the hardest nut to crack.
extending social media marketing to older audiences – Facebook’s fastes growing demographic in US is also reflecting the shift to 35+, whilst in Australia 25-34 is still growing fastest.

Scott Despain Interview

The Flash plugin is required to view this object.

Interview of Spanish professor at NC State University with a PhD in The Instruction of Hispanic Language and Literature. Research for Learning Spanish app.

Photographic Storyboard

The scenario is thus:

1st row –  She is looking up how to learn Spanish on the computer, without aid of listening or seeing words formed.

2nd row – She uses the application for a period of a few weeks and begins to learn Spanish by listening to herself speak, listening to the speaker on the application, being corrected and being taught grammatical structures.

3rd row – After learning how to speak/read Spanish, she is able to go to a Spanish website to plan a trip in the Dominican Republic without the use of a translator. Planning to enter and immerse herself for a more fulfilling experience abroad.

Scope of Goals and Outcomes

Service Purpose

Teaching the abilities to converse with a native speaker and survive in  a foreign Spanish environment.

Service Goals

Through the series of steps, learning on tier-based process. When one level of ability is attained, another can be reached. The user is asked, and somewhat forced, to think in Spanish, seeing words and objects and making them become the Spanish word or phrase. Vocabulary will be shown to create a knowledge base of words. Grammar is an essential to learn and will be part of the tier-based app, certain forms and conjugations will be learned later on as they advance and comprehend more Spanish. Throughout the entire app, the user will be able to listen to native speaker’s speech, how words and sentences are supposed to sound and how they are supposed to be formed. There’s also a progress tracker that would determine the advancement of the user. They would advance as they improved in their knowledge and communicative skills, not when they felt like moving on.


Cognitive Domain

Knowledge:
- Identify when Spanish is being spoken and identifying words or sentences while listening to Spanish.
- State basic phrases in Spanish.
- Define Spanish words in English

Comprehension:
- Explain some tasks happening at a certain time.
- Describe physical attributes of an object
- Paraphrase paragraphs, though limited by knowledge.
- Translate learned material to the limited extent.

Application:
- Carry out a conversation, when kept going by the native speaker.
- Prepare, fluidly, for a response or words to use before entering into a topic of conversation.
- Use correct grammar, past, present, and future, though at times broken.

Analysis:
- Categorize verbs and appropriate conjugations/tenses for speaking.
- Analyze the origin of the speaker
- Outline a paragraph or story in multiple tenses and verbage

Synthesis:
- Start a conversation in Spanish with a native speaker
- Evaluate self Spanish pronunciation by listening to themselves speak, recognize problems in speaking.
- Generate stories, future/past/present
- Propose a conversation topic

Evaluation:
- Assess what would be appropriate to talk about in certain situations
- Interpret correctly, switch languages relatively easily
- Support other’s conversations, speak with multiple speakers and in multiple threads of conversations
- Evaluate your skills, knowing to improve
- Conclude that you can speak Spanish!