Mathieu Tozer's Dev Blog

Cocoa, the development of Words, and other software projects (including those dang assessment tasks).




Scenarios

0 comments

It is useful to create scenarios that describe a typical day of a person who uses the type of software product you are designing. Think about the different environments, tools, and constraints that this person deals with. If possible, visit actual workplaces and study how people perform those tasks you intend your product to help them perform. 

Scenario 1.
Yoshiro wants to learn Swedish. (For whatever reason, but let's say he's met someone nice). 
He's undertaking dokugaku, or independent learning, and this is where Words can come in. It will act as a definite repository of words that can be accessed system wide. 
To learn Swedish, he's got various information sources.
1. People
2. Internet
3. Emails
4. Hard Copy books and other written publications.
5. Dictionary

The internet is a good source for language learning especially, so words should foster this. 

1. People
He has to learn to communicate with people, face to face. It's well known that reading and understanding vocabulary more intrinsically can help this. Sometimes he gets a new word down on a bit of paper, or in his PDA, or more ubiquitously, his mobile phone, as an email. This word should be able to be fired off to Words and automatically added to his word list when he logs on at home. Alternatively, individual words that came up during the day can be manually entered. 

2. Internet. Say he decides to study some Swedish one day, and logs on to a Swedish language blog. The text comes up, he doesn't understand a word of it. Inputing this into words with a key command generates a list of his unknown words from the current web page, and shows in the Words app. Translations are made and example sentences searched, saved, and given, from real world examples. As he begins to read the page he can click on a word and look it up, the meaning showing conveniently at the top of the list in the Words window, when a word is searched from the text, it comes to the front so the user can see it (by default) but is not selected. In this way he can search the words he doesn't know and gain confirmation of it's meaning, all the while building the knowledge level statistics in his user dictionary, so that he can be quizzed on the words he looked up later on.

He gets bored or tired after only reading half of the text, so what happens?
The words he hasn't seen yet shouldn't be put into his 'seen' dictionary. Therefore here again is another argument for only adding words to the unknown dictionaries and known dictionaries if the word has been read. This would only really be an issue for long websites and pdfs.

Emails would work the same as above, and hard cover prints would have to be entered word by word using the search function.

Maybe I should ask him how he is going about the study. He's already expressed the lack of adequate Swedish - Japanese Dictionaries.

 

Scenario 2
Kimiko is learning Eikaiwa from a teacher. Each week she's introduced to new words by her teacher, on a sheet of paper. It would be nice if he could just email it to her, because the alternative is that she enter each word one by one. The great thing is that she can also enter her own usage examples of the words, and Words can also search the internet for other examples for her to practice reading out loud (and recording). If her tutor comes to her home, she can sit there with him at the computer and directly enter words for her, and record the sentences and words herself, which will make it then into her iPod for later listening. 

Future idea is for remote teaching using the iSight, where Kimiko can record her teacher's lesson, or parts of it, and review it later, even on her Video iPod.

Kimiko doesn't read much English online (no time), and she doesn't really understand the helpfulness of whole text parsing, but her main use of Words is as a word list manager with the cool multimedia functions. It helps her learn by providing an integrated system for eikaiwa and vocabulary management and learning.

Scenario 3
Hiroshi is a high school student studying hard for his entrance examinations to enter University. He has to remember many difficult English words and definitions, and also a lot of grammar. The emphasis is on reading. Many of his readings come from bookshop bought books specific to the university he is applying for, and perhaps from the internet. He might even have some email friends who he corresponds to in English. He needs to have the translations of English to Japanese, and also the other detailed information about the word that comes with dictionary definitions. It helps him know where he can use the word within the grammar. Words can help him too, by providing other examples of where the word might be used, so that he's not thrown by the same words appearing in different contexts in the exam, and also by providing him with the ability to manage a larger number of diverse and possibly categorised word lists.

Scenario 4
Mathieu speaks Japanese, has started Chinese (Simplified Mandarin) and also is seeking to further his English vocabulary.
Words will help him by allowing him to specify which language he is working on at the time, and then getting from language sources mainly from the internet, parse the texts into Words, and have it tell him which words are new and which words are not. Being able to have multiple word lists in columns will help him revise words, which he is prompted to do by the quizzer. 

My Audience is to a large decree Asian, particularly Japanese learners of English, although the program should be flexible enough to accommodate anyone learning a language in any combination.

Analyse User Tasks
People use word lists in the real world. So call it that. Most people are familiar with iTunes, and how the categorising of words go. What people wish they could do is move words off their lists without re-writing them as they learn them, and not have to look up the meaning. People cover one side of the list to learn the other. 

People make flash cards to learn vocabulary.
People drill kanji
People say the word out loud and record them for listening back.
People read, and look up in dictionaries the words they don't know, and write them down on lists to revise later. People look up random words too. People do crossword and word search puzzles. (make these from word lists)!

"____ is a program to help you learn Languages."

People make notes in the side of margins and pencil scribbles in books. 

Phillip Photographer. Test shoot on the 31st.


Dear Everyone

0 comments

お久しぶりですね!

お元気にしていますか?最近メルボルンはどんどん
暖かくなっています。今頃は最終試験ですので、
四ヶ月間のある夏休みを楽しみにしています。

私はもうすぐ大学四年生が終わりますが、まだ来年
もコンピュータの勉強が続けます。去年で日本語の
勉強が終わりましたので、日本語を忘れないように
「ハリーポッター」を読んだり日本人と話したりし
ています。今年で中国語を一から勉強始まりました
が、たった一年間だけを勉強する事になっていま
す。だからあまりうまく喋られません!

去年の今頃に自分のウエッブサイト(HP)を書き始
まって、今も続いていますので、www.mathieutozer.comを
時々見てくれたらうれしいです。

でもその長い夏休みをどう過ごすべきでしょうか。
アルバイトをあまりしていなかったため、お金ため
てないから、日本やどっかにも旅行できないと思う
んです!残念!

少し前からはファションモデルのような活動(って
いうかアルバイト?仕事?活動!?)をし始めまし
たから、ときどきキャットウォークなどいろいろ
やっている。けっこう楽しいし、お金もいいです。

でもその他に来年の大きなコンピュータアサインメ
ントを考えています。言語学歴も少しありますの
で、コンピュータの勉強をくっついて何かソフトウ
エアアプリケーションを作れるのかなぁと思ってい
ます。

みなさんどう思いますか?パソコンが自分の言葉リ
ストを整理したり、インターネットで無料英会話を
したり、iPodなどに録音した先生の声を入れたり、
自動的にテキストを辞書で調べる機能が搭載したソ
フトでパソコンを使って言語を勉強したりします
か?他にいろんな機能もありますが。

もしアイディアがあれば、教えてください。そして
今はどのように言語を勉強するか、そしてどの材料
を使って学ぶかは知りたいです。できれば、作って
いたいと思っていますから、皆さんの考えをお願い
します。

じゃ今日はとても奇麗な天気ので、マシューは今か
らジョギングをしにいきます。

マシュー


Reading Checklist

0 comments

OS X User Interface Guidelines [Design Process] 



Next Steps and Implementation Order

0 comments

  • Need core data foundation to save data persistently
  • need to implement word categorising as in iTunes (weak binding)

  1. Word (add, delete) word search
  2. Word lists
  3. Detailed view drawer
  4. Lookup in dictionary Automaton Function
  5. Parser to automatically add words
  6. Extra features after that
  7. Flash cards, printouts
  8. Graphical Design
  9. Documentation, help and user manual


Core Data Study

0 comments

It's the latest thing for the model in the MCV paradigm, joining IB and bindings. Does Undo and saving to files automatically.

It provides a general-purpose data management solution developed to handle the data model needs of every kind of application, large or small.

First, we're going to look at the definition of a Core Data data model: The managed object model.


Don't hand code classes, and getter setter methods anymore, use Core Data framework to build a manages object model, a entity - relationship.


For example, an application for managing books in a library would contain a Book entity which has attributes of title and ISBN number, and relationships to other entities, such as a Person entity for the book author and a Collection entity that represents a group of books in the library. The Person entity would, in turn, have attributes of first and last names. 


The use of KVC and KVO allows managed objects to be used seamlessly with Cocoa bindings.


There is the managed object context, 

persistent store co-ordinator,

in addition to the managed object model (which is the design time representation)

The use of KVC methods allows Cocoa bindings to easily display and operate on the data contained by managed objects. In fact, it is possible to create many kinds of simple applications with absolutely no code at all by defining a model and then using Interface Builder to define bindings to data in the model.

To commit changes to the data model to disk, simply send a save: message to the managed object context.

For More Information


+RSS | dev blog | Portfolio

About me

My status

Last posts

  • my del.icio.us
  • my flickr