Improved icons list with new skin

Today I continued with UI skinning and enhancing visual feel from application. After few hours spent by searching a way how assign two different keyboard layouts to one screen (numerical for cash amount and alpha-numerical for comments), I gave it up and wrote to the Airplay forum. I hope that this function will not be a big problem and will be solved.

So result of my today work is full reworked icon list with automatic layout related to screen resolution and with full skin support. Here is result:

I realy like it and on iPhone with finger ability is icons-list much more better 😉

UI elements for iPhone GUI

Because Airplay SDK doesn’t have direct GUI support for iPhone applications, you have to skin all controls on your own. After a little search I found complete UI Photoshop .psd file where are all necessary controls in separate layers.

From this .psd file is then pretty simple to create your own .psd file which you used for exporting separated .png files to skin all UI controls.

Toolbar icons for iPhone UI

Because I started works on UI interface, I need some toolbar icons. After a lot of search, I found few sets which are nice and free, and few which are nice and paid ;-).

Here is compilation of UI sets links: (160 icons for free) (130 icons for free, next 80 paid) (few for free, rest of them paid) (64 icons for free) (30 vector icons for free) (60 free vector icons)

Paid icon sets: (428 icons for 50 €) (260 icons for $79) (350 icons for $69) (160 icons for $69) (130 icons for $60) (150 icons for $50) (1000 icons for $75)

First attempt with skin framework

Today I spent several hours by reading a documentation and trying lot of examples. Create UI to be like iOS as much as possible in Airplay will not be easy ;-). There is lot of obstacles that I will have to overcome to accomplish a desired GUI. Here is a result from my first day of work:

Airplay SDK is great framework for developing multi-platform applications (but primary games), but create nice iOS GUI is a real challenge ;-).

Another example from application logic

Here is one more example which I think is interested ;-).

Imagine that Alice makes a party and pays some money. One of this operation can look like this. Alice pays $200 for some purchase which is for her and next three person. Then application will counts, that each of these three people owes $50 to Alice.

Pretty nice, right? 😉

Application logic complete

Today I finished application logic coding and it seems that all works ok 😉 (or at least my unit test says that). Currently application can compute and simplify complicated loans relation and returns a result with minimal payback operations. Because a picture is better than thousand words, there are few examples:

On beginning, a simple example when Alice lends $10 John, and John lends $10 Bob. Instead of complicated payback from one person to another, there is a simply equal solution, where Bob will payback $10 directly to Alice:

Now little bit complicated example:

As you can see, after this optimization you save three steps.

And finally even more complex example:

Alice lends $100 John, John lends $50 Bob, Bob lends $20 Alice and Jane lends $10 Bob. Do you know how to payback money simply without duplicate the transfers? ;-).

And this is all for now. Application can handle also multiple loans to more people. I will try to prepare another examples of what application can do ;-).

Implemenation of simple DDX version

After windows implementation and action manager which makes my life a lot of easier, today I continue in extending of my UI framework builded upon Airplay SDK. I’m currently developing screens which have lot of input widgets and getting/setting data to this widget becomes a nightmare ;-). So, I implement simple DDX functions known from C++ MFC framework. This helps me to have a code much more cleaner and to maintain screens easier. And here are few screenshots from my today work:

Working on date selector under Airplay FW

A next goal during my work on the Party money application was a date selector. Because Airplay doesn’t have a native support for Apple Date widget, the whole element is created by using several CIwUIScrollableView controls. After few hours of trying to figured out how all things work I have finally working date selector ;-). Here is a screenshot from date selector with default (ugly ;-)) skin.

List of icons II.

Because list of icons looks really good for me, I decided to use it everywhere where it is possible ;-). I extend list classes, so buttons can have different sizes and customized captions. Besides icons choosing this widget will be used for displaying a person in a profile and for choosing person in a transactions.

List of Icons implementation

A next screen widget which I need for my Party cash application is scrollable grid of icons. What looks simply became a problem which needs several hours ;-). Again, because Airplay SDK doesn’t have any prepared widget, I have to create a new by using several existing ones. Result looks very promising, but currently without a final skin. So buttons have ugly default gray skin ;-).

Simple window framework for Airplay SDK

Altough I still explore lot of features and possibilities of Airplay framework, definitely I know that framework has only limited support for complex UI applications. Guys from Airplay SDK do a lot of work for 2D and 3D applications, and have a basic support for creating and skinning app windows and widgets. But what I really miss is some layer which helps you with window creating, event handling and so on.

So, I decided to create one on my own which is based on my another project Atomix – a large project for Visual C++. Currently I have implemented a window manager and action manager for Airplay SDK. So now, instead of writing lot of code for creating and handling windows, I have everything encapsulated in few objects and all my screen objects are derived from these base clases.

Still a lot of work has to be done to achieve the final application 😉

Continue reading

Party cash application diagram

As the first thing in Part-cash application development we brainstormed an application diagram. I think that during time some screens will be extended or modified, but major part of the app will be the same. And here is a screenshot of our whiteboard after three hours of drawing and erasing 😉

Party money – what it might be

Few years ago I created a simple small application for windows mobile, which we used with our friends to track our group expenses during our life at campus. Those days we called the application “Blbnik”, what in english means something like “Dummier” 🙂 We used the application about two years until we had changed windows mobile phones to symbian phones. After that, we have forgotten this app and there hasn’t been any plans to develop a new version. Until now 😉 Because I want to try another project, and mobile projects have currently a great potential, I decided to reborn this idea and create it for mobile devices.

Because I’ve always worked in Visual C++, I searched for a project which would enable me to create an iPhone app using this environment. After reading lot of websites and reviews, I decided to give a try to Airplay SDK project. They promise multiplatform framework, when I create one application using Visual C++ and then compile the final executable application to several platforms like iOs, Symbian, Badu, Windows Mobile, etc (list of all platforms here). Looks promissing, we will see if everything will be so simply 😉

Welcome to my blog

Hi, I greet everybody who came to this blog 😉

My name is Ludek Vodicka and I’m a C++ developer.

I have created this blog because till now I have worked on many projects, but none of them has any history log or screenshots from its development. My previous and still active project ORM Designer has also a blog, but I started blogging just after majority of work has been done. And after two years of development it is a shame that I don’t have any screenshots from the first aplha version or don’t have any notes from the first days of development.

So I decided to start this blog where I will put all my notes, alpha screenshots and piece of knowledge about my next project – Party money. I suppose and hope that I will add to this blog all relevant informations about this and maybe about my next projects. So maybe after few months or years this blog would become a usefull logbook of all work made on projects of mine.