Pages

Friday 29 March 2013

Adding scroll view page

After looking at the great design of a Japanese app for London tube in my recent post, I decide to add in the slide page on my London app too.

The idea is to slide from a departure page to arrival page instead from scrolling a long list down the departure to arrival. It is faster and avoid accident tabbing into the route.

It takes me a day. It can be shorter. Most of my mistake is that I forget to link the delegate for my second tableview and that for my scrollview.

My beginning is to search online for code. It turns out apple has a sample code. I find it too complex as it have part for iPad.

My idea is to create 2 tableview in a view controller. The scroll view will switch between the 2 table view. However, it only show one table.

Start at about 2pm, i read about scroll view document from apple. i try a simple project and I got struck by 5 pm. It does not work and I get frustrated. It is a sign to take a break and go sleeping.

When awake, i reflect and think I take a smaller step than creating a simple project. I am thinking of creating just 2 ui view instead a of 2 tableview.

I study the sample project again. This time I understand it. Think about what I am missing. Then I play again on my small project. By 11pm, I already got it working and adding the page control. And submit to iTune by 2 am, and satisfied with my work.

Once I understand the sample code, I can use the scrollview to my case. 2 table and 1 view controller. I was very near to my solution at 5pm. It is only rearranging the tableview and scrollview to be equal level in the nib file. Then add the tables as subview to the scrollview.

It is the same to arrange the page control to be in the view and equal to the scrollview.

I find myself better in using the view now of the view controller.

Not bad for a day work on Good Friday. It is a small step but it makes thing easier.






Thursday 28 March 2013

Great train app found in London..

Made in Japan. Very clean. Well designed by a team. A very good designer. And a team of builder. I do not think individual can make such a standard.





4th day site test train delight..!

I sort of like SBS train and LRT. They are cool, automated and clear window.

My test today brings me to PE and SE SW LRT. Overall a fun ride. Look like punggol is only half developed. Notice that there are new train ticket machine that uses 2 level zoom and a button to LRT stations. Just what I fuss about..:)

Submitted my new sg train delight version. It has better path finding, LRT stations, better location and faster zoom in and out.

It is fun to develop and test immediately. But I too get tired and going for a 3 no laptop days.

Will be going to maintain NYC buses. There are certain development on her route and I have better ways of doing things.







Wednesday 27 March 2013

Still working on sg train delight

It is my longest testing app:)

About 3rd site test, I get some local advantage by visiting BP LRT. It is there that I know how the trains loop, in 2 directions. I don't really understand from the online MRT map until I am there to see myself. And to know that ten mile junction has shut down due to building reconstruction. These do not show online.

The local always has advantage over foreign developers. It is always my dream to go London and New York to use their subway system.

I find my path finding not giving the fastest route. From yew tee to changi, from Jovian to orchard. I have having so much path finding method, 4. And it takes too long.

Luckily I search online and found some work from France and London. They have open data. And they plot on real geolocation instead of system icon map. And a path finding method D is so easy to use.

To understand D, I find wiki confusing. As I google, I find YouTube video on D. It turns out the best video is a guy with paper form and a pencil. The animation video is confusing and too fast and too much work for the creator.

Using D, my app can easily find the best route for all kind of situation like from lrt to EW line. My code has shorten by 5 times.

Using the right method is so critical. I have stressed under A star and line of sight method.

Google and YouTube are both so useful in learning.

I still have the issue of labeling the station quickly on my map. A split second late and the panicky user feels worse! How to format the label so that it will not block each other and do it instantly?

My app combines the question of how to go to a station in shortest time avoiding transit that requires walking and more waiting. Then when is the train coming, should I walk faster or go to the toilet.

The zoom in to the station has the benefit to display nearby places and bus stops. A tap on the bus stop shows the bus time. It will takes a lot of thinking to make train and bus app simple.

So much effort is spend on path finding. I hope it helps people to avoid waiting for train, avoid walking during transit and get to her destination in the fastest way, hopefully most comfortable.

- an app that takes into account of transit interchange.
- an app that plan journey with effect from the crowd.
- an app that avoids queue with loading info.
- an app that present a few options. Fastest time. Less interchange. Less walking.

Mrt in SG is getting more complex with more option. My app will be useful to help user find the fastest way. Combining with train arrival to get no waiting transfer.





Tuesday 26 March 2013

Open your mind

I am so surprise to see that people are so set in their mind that they could not see the truth.

My parent could not see that orange can cure their illness and think that only doctor can treat them.

Some developers cannot see the advantage of widgets even if I tell them it is the future.

IBM cannot see the important of software. Steve opens his eye to software and develop iPod. Software on iPod, Mac and cloud store.

See things as they are not what you want. See they are not we are!

Is there any thing I could not see due to my belief?

Sunday 24 March 2013

use google map or system icon map

Recently, i am working on a train map. The advantage of using

gouge map is
- show actual station location on  a map
- good for finding nearest station using GPS
- good for A* path finding
Note: The app usually does a poor job to display station name. They cumber into each other.

Existing icon system map
- user is already familiar with it
- station labels are equally spaced out
- user can quickly locate a station
Note: I find app with system map does not auto locate user nearest station.

I am using google map with train stations. Lets see what the users say...:) The zooming can go into the building shape with nearby bus stops! That is something that existing icon map cannot do.






Tuesday 19 March 2013

A quick survey of subway apps in 2013 mar

I make a quick try out on train apps in Bangkok, Taipei, Chicago. Overall, the best apps are from NYC and London. There are some great apps.

I admire the creativity in NYC app. They are beautiful. And app does not have advert! London has very practical apps but a little too complicated for the impatient commuter.

Train app is vastly different from bus app. It seems what the rider want is not so much on train time but on where to transit in order to go to a place. When you go to the right platform, then you worry when the train is coming.

I am doing experiments on sg trains. What the train user want?

A routine train ride means the arrival time is important. A new place to go means the map is important to know where to transit and what is the traveling time. At night, the last train info is important.

----- A day estimation -----
Routine people: 2 million
New place to go: 0.1 million
Late rider: 0.5 million

----- App useful -----
1. Instant response. Any wait more than 5 seconds is unacceptable?
2. Visual presentation. Typing should be avoided in going to a place. Search should use line selection.
3. Users are usually in panic mode with the large crowd. Thoughtless use to get arrival time is important.

No matter what, the actual site use is always more important than anything above :)

My app avoids the waiting time. But in rush hour, it is over crowded. People still have to wait for several trains before they can board. Such incidents happen only in the peak hour. 8 to 10am. 5 to 8pm.

Hopefully load information can be developed soon in 2013. If I know the next train is 100% full, I will stay at the perimeter of the station. I will only walk into the station when I know the next train is only 70% full.

Same case in choosing to take bus or train. If I know the next 2 bus is 95% full, I will walk over to take the train.

I really hope Singapore can capture the train and bus loading information. People can not only avoid the waiting time but also avoid the cannot board train or bus.

I know it takes me 5 minutes to walk to the platform from a nearby cafe. I will still wait at a cafe for a train that is only 70% full. I could have surf net or go toilet.

It is the same as bus app. Instead of waiting at the bus stop where the condition may be bad such as noise, air pollution, no seat, crowded, cold weather as in the west, I can wait at the warm cafe and go only when the empty train is coming. Life is easier this way.

Bus and train loading is coming soon. But I hope the official can consider this innovative advantage.

The US apps are very stylish and the Chinese is very practical.







Sg trains delight extension

Working on it on 190313.

- add route info so that fav button does not stress users. Will apply to NYC subway. K



- use local stop to find nearest station
- add map with all station and line for quick zooming. 200313


- to show station name when zoom in




- pathfinder on 220313 using A star algorithm and line of sight theory.



- tab station for travel time, transit, arrival. 230313 using reverse path finding.





It is a hard nut on train usage. What is important?

- where to interchange (map) k
- train arrival k
- last train k
- travel time k

----- 240313 site testing
- add choose best from 4 path options
1. forward search
2. reverse search
3. reverse search without avoiding duplicate path
4. forward search with no limit of line of sight
Note: it seems to find best path for any stations in Singapore
- work on path clear
- work user station disappear when zooming
- work on path highlight
- work on minimum map region automatic adjustment (a source of irritation when it keeps auto adjusting) I prefer minimum adjustment, only when the path is very long and out of sight.
- work on last train table

Taking train is way faster than bus. But bus is way nicer. I think people who take train wants the fastest way to go to a place. And path finding seems to be most important.

From 15 to 260313, for Joselyne..



Monday 18 March 2013

Coconut fails

As I sit along the river, I hear a loud impact. I turn my head and see a coconut fails 2 meters away.

It comes to me that thing may happen out of a sudden. The sign is there but I did not want to notice. The coconut is ripe in orange color.

I think success will come too. There will be signs. And sometimes it just come suddenly. Things always change in time.

iOS google map

In iOS 6, the user has to install google map is not as easy to use as the previous version. The control is so much hidden. I will need to study more.

The mew google map opens up opportunities for better transit apps.

Cross junction

Have done sg trains delight. Now where should I go?

1. Further develop sg trains to useful map with travel time and transit stations. Take about 14 days. 2 million.

2. Fix nyc buses nearby list by distance. 1 day. 2 million. K

3. Fix sg buses nearby with direction and big bus number. 3 days. 3 million.

4. Start my dream game basic. 1 month for battle field. 10 000

5. Fix favorite method in NYC subways. 3 days. 2 million. K


If I run a business, I will want my builders to take customer feedback. They have the ability to make the changes.

Builder -
Designer -
Marketer -
Taster -

A frontier team: 4 person
- a programmer : build it
- marketer : find new market
- a designer : make it beautiful
- a taster : use it and improve

A support team 2 person
- a programmer : read email & build
- marketer : compare competition & customer need, use it.

I am doing every role myself and I find hard. I have no helper. And there are so many problem to solve.

I can only choose one problem and focus on it. I know I will choose nyc buses first then nyc subways. They only takes a few days. My map for sg trains needs lots of studies. And my game has to be postponed. Game making is so new and will take a month to make. And 3 months to develop. And can I find players for my strategy game?

It comes to me that thinking near a river is way smoother than doing my thought at home or in the park. A river has flow. It seems my thought also flows when I am near it. It is strange but I can feel the difference!

Saturday 16 March 2013

Add note below table section in iOS

Often I have to add a note at the table section footer but could not remember the code. Here is it...



- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
    // use to display travel time from transitLink
    if (_stop.code == NULL)
        return @"Your station is not served real time yet. Please check back in the future. Thank you very much.";
    else
        return @"";
}

Thursday 14 March 2013

Start my SG Trains Delight iOS

I try to take a few days off but it seems that I am too eager to go into app that I can use myself instead of imaging how people use it in the US or UK. I remind myself that a features packed app may not win the race. It is more important to hit right on what the customer wants at that time. In UK app, it seems that in 2013, the user wants a quick way to view train departure, the train on a map and a small widget. The next shift will be scrollable widget that going to happen in end 2013. And train delay alert is something that is going to be very useful the user in 2014. For 2015, it may be a siri way of asking when is my train coming? For 2023, the shift may be all car has built in pad to warn driver of traffic jam ahead. From 2010 to 2050, the world is coming to bus, train and rail time. Timing like cable car, ferry and flight are very specified app by 2015.

Most data will be in the train schedule found in Google.

"One trait of the Mongols was their nomadic yen to keep on the move, seeking more loot and slaves. Having expanded over the known world and finally overrun China, they used the captured Song fleet with its experienced captains and crews to send expeditions overseas."

Sadly, they were unsuccessful in their venture outside China. I read their thousand of ships sank in an tsunami when they attack Japan in 1274. They also try to conquer Thailand, Myanmar, Java and Vietnam, but all failed. I wonder why.

It comes to me that I keep creating mobile app even thought they are not making much money. Just can  coffee :) At least, I am happy.

150313
- Logo
- Nearby Page for station only.



160313
- Map with search. As you move the map, the station appears.



- Stop with direction


160313
- Stop with last train



- Search
a. using text search (instant result)
b. using line to stop list X






- NE line using google timing X

170313
- Tab timing to add favorite
- Testing


180313
- testing
- submit


Monday 11 March 2013

Answer to my teen question

When I am 16, I ask the question why I can play computer games for 16 hours a day but cannot do my homework for even 5 minutes.
I figure out it is the instant response of computer game and the visual goal you see on the screen.
There is no waiting on playing rtk. You get immediate result for your every command. And you don't die easily. The goal and response are clear.
There is a long learning curve in rtk because of its many commands. They can be simplified.
Rtk does it right by letting you play forever. It has no waiting.
SimCity is stupid to have a time limit. Modern game has a 4 hours wait for carrot to grow. Asking players to leave.


There seem to be more than just goal and response. I have goal to do uk rail and I get response my map is not working right. I try a few hours and get struck. This is no fun. I am not in the flow when though I have goal and response.

In rtk, there is a visual goal and immediate response but there is getting struck at all

There is a goal and always things to do. I can recruit soldier. I can give woman to a strong general. I can recruit general from another state. I can move generals to prepare for war. There is so much to do.

When doing homework, I want to get A. But when I get struck. The flow stops. There is nothing else I can do. I have to go back and read the solution.

To get flow, it is better to do small and simple step by step. It keeps you moving. Don't get struck.

Start UK Rail Today iOS

There is a lot to study on UK rail. I might change the logo. It has high speed train.
110313
- study of osm http radius 0.02
- create icon
- update iOS id and google

120313
- have nearby station k
- have map k
Note: the existing 2 widgets are quite badly done. The alert is a new concept but too muck work to set up. The AI should know what time and day to alert her users. There should only be a button to turn on or off.
As in train times is elephant list, it should uses the scrolling widget. Rail has good multiple widgets but lack basic widget.




130313
- have station page
Should users select departure or arrival? No. Present departure as default. Let users select arrival.



Have an alert on route detail.
- departing London bridge
- arriving London bridge


140313
- have favorite



- have search


Have status


Will be doing test day 1 today.  Test next day. And resubmit on 150313.

I note that my nearby has no london cannon street station. It is not found in osm. I put in a note to use search instead.

1. Remove it on 020513. Will find alternative source.

Sunday 10 March 2013

Doing my first game soon

If I don't do now, I will never be able to do it.
Should I do ios or android? I should do ios as I use iPhone more. I want a game that I can bring out to play.
My 2 other app may have to be postponed.
110313
I estimate it will take me about 3 months to do a simple romance of 3 kingdom game.
- 7 days to study existing game
- 14 days to create battle scene
- 14 days to create overview scene
I will continue creating
- 2 transport apps
I am expecting iOS to release widget in July..!
While learning game programming. I want to create game as I could not find any thing that can create the in-the-flow state in iTune and Play.
The theory that game is play only 2 to 5 minutes is really horrible. And building level in game is really not fun. The player wants a game that they can play and play without getting tired of it.
A flow that goes right into the game and starts playing for a long time. A game that is responsive.
Will it be fun?
- i find the AI interesting on the war and home economic.
- I want to play on the go.
- maybe I should build in state AI with democracy or Communist government.

NYC subway task

- rate using play app K
- investigate no weekend line K
- tab row to favorite K

Saturday 9 March 2013

New ideas for transport app

1. Notify users when bus is only 5 min away. So the user can leave his office for the bus.

2. Notify user when there is a traffic jam on his route to work.

3. Transfer bus assist. Draw line for bus 70 and bus 82. See if they can intercept.

Recent lesson

I reflect the rise of google. It is a small company in 1999. Yahoo uses google for search. And google name is in yahoo.

The only thing is that Yahoo cannot see the important of search. Neither can Microsoft. They fight for media content in the form of news. They are so focused in fighting each other that google has eclipsed  them.

It is the search that is important in the Internet not providing news content. Msn.com and yahoo.com loses the advertising income as more users go to google.

See clearly what is going to be important. It is not the competition but to see what the users want. I switch to google site because it is faster than yahoo and I just want to search something.

There are dozen of site providing news but very little site has great search. It also brings to avoid competition by providing a great service to these people. And come to the question

What can I do to provide a great service to my competitors and myself?

Friday 8 March 2013

What we are doing...

Invents ways to avoid waiting. And most of the below problems for the world can be solved with information solution. I am so surprise to use property guru to find a HDB flat that is on the ground floor. It is never possible before. And the app developer does not make any money. It is the

Waiting
- struck in a jam
- wait forever at a bus stop
- wait for favorite food
- wait to make appointment with someone eg dentist, date
- wait to check in at airport
- wait for books to arrive
- wait for favorite game
- wait for train
- wait in a bank to draw money
- wait to unload goods
- wait to see a client
- wait for delivery
- wait for photo to load

Lost
- in a unknown place

Sell
- get rid of my old books
- house
- car
- phone
- mosquito lamp
- technical knowledge

Buy
- where to travel
- where to get ground floor
- where to get cool places
- where to buy machines
- where to buy iPhone
- where to get services
- where to rent
- good hotel
- good movies
- good food

Create
- babies
- cool environment
- mosquito free
- ways to avoid waiting
- ways to sell unwanted things
- ways to buy

It is my nature to avoid in queue. Often I go to a place to eat where I do not need to queue. In a busy eating place, I would always order food that are already ready.

No one like to wait.

In a parking lot, waiting is a must. Going round and round, I never find a spot. But when I wait, I get a chance.

Things always change. Maybe slowly. From 1927 to 1937, Mao's lucky come when Japan attract China and Chiang is busy dealing with them.

Mao's escape in the form of long march become his advantage. His skill in mobility wins over Chiang needs of road for tank and truck. His hit and run tactics work do well. It seems to me the Vietnam uses the same strategy to fight the American. I hope for peace.

I am always trying to figure out why people say in a forest, things coexist. It seems to me that animals are killing each other for survival. What a tough problem? :)

Thursday 7 March 2013

See clearly tthrough the end

Casio is so much advance in 1987 to 1999 in device. But she cannot see the future of opening up their api for others to develop app. She is at least 15 years in advance than palm, pocketpc. She just think of calculator.

15 years later palm see mobile device with stylus and open api. Palm cannot see WiFi internet as battery life improves. She just think of pda. Pocketpc takes over with internet pda.

2007 see that Nokia is opening its phone to java. She just think of phone.

2008 see that iPhone has a touch screen and helps developers to market their apps. It has GPS and compass. She thinks of internet apps like web, map and YouTube.

2010 Google see phone and add in java api and widget. Both apple and google see the notification uses.

2012 apple sees map as very important and starts its own map. But fails. Samsung takes android to tablets.

2013 mobile app users explode. Server costs increases sharply.

2015 advert comes.

2022 track car,




I think it is possible to see 70% right into the future of 20 years later. Bill sees the info for bus on time and road accidents on his route in his 1995 book. It happens in 2010. 15 years later.

65 years old aunt uses bus app

I see 45 years old lady uses bus app. I do not expect a 65 years old also want to use it. There is a need to redesign my app for the elders.

I would be very happy if my app can helps old people. Waiting for the bus is one of the hard things to do.

Thanks from j.



Wednesday 6 March 2013

Big company loses new opportunities

I come to a conclusion that big companies have a certain disadvantage.

IBM focus on its PC market and loses it last own database opportunity to oracle. Oracle becomes so big. If IBM ere to spin off a new company to provide database, it has a better chance to compete with oracle. Her lost in PC war brings down her database opportunity too.

Yahoo focus on search war with google takes away its auction opportunity. Her auction site used to be better than eBay but it is losing so much money on search. That it shuts down its auction site. Yahoo is better to survive if it can spin off its auction site in Singapore. It can form small team with capital of $300 000 to fight, employing the local people.

US army trains local people to fight in Iran.

1 man company in NYC to support bus time?

Listen to your worker and act!

The story that apple is found because Steve's manager listen to his idea and look at his new PC that needs a TV set, decides that it is not good enough to be a HP product.

When a worker reports an opportunity or problem, study it carefully. And if is single, assign the worker the new leader of the new team.

- ring lock
- how many companies doing
- who are using
- can we provides to our own customers?
- why they are using? Faster
- can government supports?


Future of traffic app

Just come across a Russian traffic app. They are really good. The communist Russia may have missed the automobile and electronic revolution, but they certain are prepared for the information app revolution. Too bad the traffic is only for Russia cities.

The other app is from an individual who I respect greatly. His app is simple, clean and essential.

To make a traffic map widget, one possible way is

1. Get google map API js on android app.
2. Save it into a image file.
3. Display on the widget.
4. Each time user tabs refresh, activate the main app in the background to get the current google map with traffic layer and save it as an image file again.
5. What is the latest widget abilities?






Tuesday 5 March 2013

Lonely Path

My father tells me my work on bus app is useless. My girlfriend is asking am I going to do app for my whole life. She seems to be having no confidence in my work. It seems like I am alone on my path. My mother asks me to stop my work and helps my dad's business.

I am getting good reviews in iTune and Play. They keeps me going. I just feel sad that no one believes in my work. It hurts that my lover does not have confident in me.

Only thing that I know is that i am doing something that I like. There is not enough money but at least I feel alive. It is really a tough road ahead with no one to give me support. But I hope that tomorrow will be better.

Sunday 3 March 2013

how to loop a hashmap in android


If you're only interested in the keys, you can iterate through the keySet() of the map:
Map<String, Object> map = ...;

for (String key : map.keySet()) {
    // ...
}
If you only need the values, use values():
for (Object value : map.values()) {
    // ...
}
Finally, if you want both the key and value, use entrySet():
for (Map.Entry<String, Object> entry : map.entrySet()) {
    String key = entry.getKey();
    Object value = entry.getValue();
    // ...
}

Saturday 2 March 2013

Sort array in Android and iOS

For iOS, use


// Sort by timing
direction.timings = [[direction.timings sortedArrayUsingComparator:(NSComparator)^(NSString* a, NSString* b){
      return ([a longLongValue] > [b longLongValue]);
}] mutableCopy];


for android, use


     // sort by raw timing
    Collections.sort(items, new Comparator<Bus>() {
        public int compare(Bus a, Bus b) {
            return Long.signum(fixString(a.timing) - fixString(b.timing));
        }
        private long fixString(String in) {
            return Long.parseLong(in); // .substring(0, in.indexOf(' ')));
        }
    });

Friday 1 March 2013

Long subway timing for iOS and Android


for android use..

                Long timing1 = Long.parseLong(timing) * 1000;

        arrivalStr = arrivalStr + (int)((Long.parseLong(timing)-System.currentTimeMillis())/1000/60)+" min ";        

 

for iOS use..

               long long timing2 = [[NSDate date] timeIntervalSince1970] * 1000;

Taipei Software Ambition

Taipei has a MRT train station that named after its software park, Nangang Software Park station. She is developing its software to match her world strength in electronic hardware. She has a few popular software like yahoo and Trend Micro. Some of the benefits provided in the park that caters to small and medium companies are

- a office for marketing, technical support and to go public
- 15% tax deduction for R&D
- Grant for new product development
- Pay for engineers' salaries
- government commitment for small companies survival

She is focusing on software in area such as cloud computing. She is using her electronic advantage in Asus, Acer and HTC. Taiwan is aware of iTune and play marketing. However, I could hardly find any objective C books in Taipei major bookstores. 

It looks Singapore is behind Taiwan in local home enterprise. Singapore has many MNC software like Microsoft and oracle. But these companies are also present in Taipei. Only Taipei has focus on developing its local brand. Thinking of it, I fear Taipei ability. They have already dominate the world laptop and on less portion, smartphone. And software is their next growth engine that brings immediate profit. 

Software is actually an ideal industry for Singapore to focus on. The main reason is that software is digital. It does not require physical factor such as big land use as in manufacturing, water consumption as in semi conductor industry. All it needs is man and his laptop. And similarly, Singapore does not have extra land and water, it has only talents in the island. (5 million people in SG vs 2.5 million people in Taipei)

The market for software is world wide. It can be distributed easily over the internet. And many local people can start a software business in online services and apps. It will even be better there is a similar support like Taipei to support these small software companies in marketing, getting capital, technical support, paying programmers and going public. A thousand of small companies have a better chance to make it in a new industry. Being a helper instead of a competitor, the government stands to gain in tax and employment when these small companies grow big and go international.



How to escape ( in android?

I keep making the same mistake and get annoyed for half an hour. Here is the way to escape ( in android method such as split


    String lineStr = stopName.split("\\(")[1];

All you need is to add a double slash. I get error because I add only single slash. and when i add double, the warning does not go away. the right way is to just add the \\ and go ahead and run it :)

Taipei couple

A nice city. Will return next year! On the last day, it is the holiday 228 in Taiwan where the rebels are killed on 28 Feb 1958. I make a study of the Taipei couple in Xinmen. By looking at these photo, it seems that couple is usually form between 2 equally attractive people.


The guy above has a fashion sense of 7 with brown bag and shoe. The lady is also slim with white shoe and partial white top and mainly blue pant and top. They are both about 7 in attractiveness. 













The guy is a 8 and the girl is another 8.5. Both almost equal in attraction level. Very trendy hairstyle for the guy and girl.