Main Screen consideration

As purpose of my application: I want to make an application to input word definition, work like input words into dictionary. And also want to see
word definition picked up randomly in some criteria: Like category, dictionary.
So the question is what the main screen should look like?

Obviously, the most common actions will be:

  1. Adding words
  2. Displaying random words
  3. Might want to search for some words
  4. Then come to category, dictionary management

Still thinking ….
After a while, i decided to have these things in the main view, i will use View instead of Screen.
As every software has, it has Logo and menu.

  1. Place to add new word directly.
  2. Place to display random words.
  3. A set of commands to be called from main view, like: create new word, edit word, create new dictionary, create new category,
  4. Ability to search word by keyword, and call up an advanced search

Based on those stuffs, i can come up with building MainModelView class. Quite simple, just contains all information needed to display in View. Remember that, we are in MVVM model, so the ModelView only contains data NOT any specific GUI implementation.

(I will put code here when i finish )

From the specification above, i come up with 2 user controls:

  1. User control for adding new word
  2. User control for displaying random words

One thing lefts, how to position them in main view?

Re-done with NHibernate

As written in previous post, i do re-read the article from Ayende. Yes, to make sure, i fully understand what he is talking about.
OK, i come up with these in my application:

  1. Session’s lifetime is inside a ModelView life: Created automatically when it is first called. And disposed when the ModelView is disposed. These will be done in ModelViewBase class
  2. Keep the idea of DatabindingFactory and Interceptor. However, there is no need for PublisherEvent here. Since i do not need it now.

And of course, borrow all code to initialize NHibernate :p

Next will be MVVM in detail and GUI of the application. From each GUI, i can define scenario for it clearly. Have a better chance of right implementation

First fail with WL

As i mentioned in my plan: Building a desktop application, quite simple for the first version. I also mentioned about technologies usage: NHibernate + WPF with MVVM model.

I also did some researches on that model, also have done some projects with NHibernate ( web application).  Therefore, i am quite confident to start up. And i did start up. Put all framework code and prototype of MVVM in place, in fact i copied and pasted from others. You can find them in my should read page.

Well, things were not that easy. I ran the project, it was fine for the first look. However, it did not do any db action. In fact, i did not know why NHibernate did not contact with DB when i made some query. Even wrap them up in a transaction. I have been working on finding out why. BUT the most important thing i found out is that: I DO NOT UNDERSTAND THEM CLEARLY.

So what they actually are???

  1. I did not define my application clearly. I mean the workflow of each action. For instance, what happen when i create a new word. Since it will help me define the scope of unit of work
  2. I did not understand the article from Ayende clearly. Not read it carefully enough.
  3. Wow reading MVVM one time does not mean i understand it completely. I know it but NOT GOT it.
  4. Even though, in MVVM, the view is separated from others. However, designing a good looking view will inspires you a lot. And i am terrible at making GUI

And, what i am going to do now are:

  1. Design the GUI. It is as a part of learning XAML.
  2. Re-read 2 articles from should read.
  3. Start defining the lifetime of session. Define workflow for each scenario.

After all these fails, am i sad? NO. I am happy to find them out.

Step into hospitality business

Sound like weird, right? Since i am a developer, building software. Being at Xnhotel for more a week already. After some days getting familiar with people and setting up stuffs, i have been starting discussion with the team and our PM about the new software: Central Reservation System, CRS.

I got some raw explanation before, and my first thought was that it is quite simple. However, within 2 days meeting, our PM went in more detail -> surprise me. The business rule of hotel, reservation exactly is soooo complex, so many scenarios.

In summary, i have 2 obstacles:

  1. I do not know about hotel reservation, and according to what i have gotten so far, i have not made any booking.
  2. Languages: Vocabulary using in hospitality.

I also admit that, this is the first time i get involved in a development from scratch, understanding business rules, write down document for requirements. Of course, i do not do all that stuffs. I am participating in that job. Quite nice and interested in.

First 2 days at XnHotels Company

Moving to a new company always brings to you new things, new experience and something you were not familiar with before. I have been in my new company, XnHotels, for 2 days. Should be interesting to write down what have been going on and some first impression.

It is smaller then my previous one, thus, lacking of guys, called system admin, to take care of computer thing: setup, installing required software. Yeah, it is a chance for me to do it all. I had not done it before. I now get familiar with VMWare, setting up the new laptop given to me.

People here are very friendly. It takes me no time to talk with them and laugh each other. We are now can enjoy work and fun together. Quite fast and nice, i guess.

I am now working as developer, before i was a Technical Manager. No problem with that! It is just  a matter of title. I care most about what i can do and what i can gain on that position. There are about 10 peoples working together here. Some do sale business, some take care of reporting, using the existing one. And there are a few actually doing coding.

My team consists of 3 people, 2 developers and 1 designer. We get requirements and instruction from Manager in US and one manager here.

So far so good. Welcome me to XnHotels!

%d bloggers like this: