Mathieu Tozer's Dev Blog

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




A big chunk of dev notes


E-mail this post



Remember me (?)



All personal information that you provide here will be governed by the Privacy Policy of Blogger.com. More...



I have made 6 basic releases through sparkle now, and have gotten
some valuable feedback. Further, I have made some improvements to the
system.

I am sick of my crappy grouping system not working properly, and I
had a brain wave. Why not just bind the groupsArrayController to the
selection of the languageArrayController and ask language objects for
the aggregate lists? This seems to work nicely, and updating is all
working *for free*. I have to work on adding and removing objects.
I've got this working, but the array controller isn't refreshing
itself (you still have to click off the view and back again).

Just to clean off my desktop, here's some other dev notes from the
past week.

------

how about some highlighter tool that lets you select the text to be
used in quizzing? So I dump the text, and you just choose what needs
to be used by highlighting.

So the next step in usability for me is to have that freeform space
for defining words.
(which includes images)

So today's goal is to have that free form space available.

Could even use google define and wikipedia search for terms.

And I want the flow of the program to be more intuitive to 'flow'
from the search bar, as you would in a regular online dictionary.
This will help people ease into using it. So you enter a word in the
search bar, the most natural thing to do, and it tells you

"WORD not found in MANUAL GROUP or in LANGUAGE, looking up word in
ENGLISH dictionary

Add WORD to ENGLISH?

And all the user has to do is hit enter to add it to their list.

Find out how it works (dict.h) and import it into words.

Sweet! Now I can export dictionary objects. It was fairly
straightforward.

Funny how when doing something for the first time in Cocoa you kind
of hold your breath, and loose confidence when things go wrong, but
then when it all comes through you feel more confident about doing
the same thing again elsewhere, and you also realise how simple it
all really is!

With this newfound knowledge I should be able to import and export
dictionaries at will from Words to Words, so that users can download
dictionaries of type 'wordsdict' willy nilly from my website, or be
emailed them from friends, or whatever, and then import them into
their dictionary managers.

I just thought of a nicer interface for managing dictionaries. What
about a column for selecting the languge onb the left, with the
number of available dictionaries in brackets on the right.
English (4)
Japanese (3)

Selecting them shows the current view. Shouldn't be hard to do.

Anyway before doing that it's time for an SVN commit.

The next step I think to make it usable is to support some local
dictionaries, not just remote ones.
I should at this point Finalise the model attributes for dict
protocol dictionaries, because if I am going to start passing
dictionaries around, then I'm going to need them to work with later
versions of Words.
I will also need a way to perhaps modify a dictiionary's attributes.

It's funny the way I cross my fingers every time I commit something
to SVN, because I expect I've broken something in the process.

Drag and Drop system. Moving Words around the system fluidly,
wherever the user wants.
Take the selected words
Bundle them up in the drag operation
Drop them on something.

Which means that group objects and languages need to know how to
accept dropped bundles of words, and manage that appropriately.

I have implemented some basic drag and drop functionality for moving
words around the system.

What about if words actively supports some languages, but still lets
you use Words for languages what aren't actively supported? What
would the difference be?
Making sure that encodings work on certain dictionaries which are
provided.

Custom view for the definitions view. So you can send it
notifications to display certain things, and to behave in a certain way.

Wrap the table view in a custom view... maybe a tab view?, and
connect it up in the same way... then register the custom tab view to
change itself upon receiving a notification or an invocation of a
certain method or something.

How about 'edit type' for word type?? So that the user can specify if
they want. Otherwise, the available types are defined by the
supported language.

It's going to have to register for some3 notfication so that it can
run code when there is nothing or something in the wordArrayController.

When you search in the box, should you be searching for words in a
language, in all language, in the selected list, or what? What is the
scope of the search??


0 Responses to “A big chunk of dev notes”

Leave a Reply

      Convert to boldConvert to italicConvert to link

 


+RSS | dev blog | Portfolio

About me

My status

Previous posts

  • my del.icio.us
  • my flickr