Monday, October 15, 2012

16


I found another double popup problem, I forgot to engage the restartProblem on both catch types

The restartProblem bool need to be reseted, its stopping a button from working

Sunday, October 14, 2012

15/10


Worked on comments

After completing entering and confirming customer details; put the number -4 in pizza choice textbox and click next
Invalid input should appear in a message and after exiting that message it will be as if the user didn’t enter the invalid piece of information

I had to add an index out of range catch
The double popup problem happened with this, had to add an if statement and more use of the restartProblem Boolean

Tuesday, September 25, 2012

26



Problem with confirming order with no number in the box goes into another double popup problem, because the method has to return the text. I fixed this by adding another Boolean and an if statement of the code in the button click to check there is text in the text box
Doing some testing with message boxes my main array doesn’t contain anything, there must be a problem with the writing or it is over written

The string for the final display doesn’t clear for the next input, I fixed this by clearing the string before it is written to.

Monday, September 24, 2012

25


The invalid input checking comes up when it isn’t meant to, in not delivery mode.
I think I may be clearing the text box before I read it some how ?
Need line break at the end of the detail method
The delivery cost is somehow set to the content of the name textbox
Pizzas 4-9 are shown when they aren’t meant to, there is no total cost.

What I still need to do

Testing throughout  whole process
I need to fix one more double popup problem
I need to fix the displaying of the final order, its possibiliy something todo with the calculations.
Then I need to comment t he rest of my code

Sunday, September 23, 2012

24/9

I fixed the extra popup of the detail summery. It was caused because the invalid input was triggered in a returning method, so when it restarts for new input, it still has to return something to run; so the popup forces the user to restart the program again to get to the start. I fixed this by adding a Boolean to track if this problem is going to happen, this also meant I had to move and add other variables. Within this I also fixed the error checking, it was looking at the array for a invalid input but the starting values I added for other reasons stopped the detection. So I switched the check to the text boxes.

Working on check to see if there is a number in the name

Wednesday, September 19, 2012

20/9


When in pick-up mode; click confirm details button without inputting anything
Invalid input
Same error as other order type.
I just realizes the possibility that the dialog box pop-up if statement may not work at the start if it doesn’t work for the confirming of the order. I put in an additional pop to check if code was running, but it didn’t run when it was meant to. The conditional statement is the following;
 “DialogResult == System.Windows.Forms.DialogResult.Yes”
I then started playing around changing it to
(DialogResult != System.Windows.Forms.DialogResult.No)
And that ran the code?
 I did set the right message box to dialog result; this fixed the problem

After going through the program, I realised that the final order message wasn’t running because, you need to be entering your final pizza code when you click it. To make this more user friendly; I will add a check to see it the textbox is empty first.

19/9


It only goes to the invalid input method. I looked at the code and removed the part that restarts the program, in relation to the confirm details button and I removed the trigger. Although the invalid didn’t run the method that was meant to didn’t; this must mean my if statements comparison is wrong. 
I then switched the statement to check the condition of the second stage. It came up with a unhandled format exception. I forgot the syntax “.text” for reading from a textbox
                                                                               
Note; there is no need to check the customer detail details for formats and size exceptions. This is because even if the user doesn’t type the ideal input, it can’t break the program no matter what. As the input is only going to be collected and displayed. If the brief required more user guidance, I would have had to add a checking system. 
After completing entering and confirming customer details; put a letter in pizza choice textbox and click next
Invalid input should appear in a message and after exiting that message it will be as if the user didn’t enter the invalid piece of information
There was no handling of this exception. For some reason I put the line of code just above the try catch, I moved it down to fix the problem.
But after that I noticed that when the program prepared for a new order, the last input in the pizza choice text box was still there. So I added code to clear it on the start=up method.
 Doing this I also noticed the progress counter was one out. It starts at one then it change to one without an extra space. Setting the variable to one by default fixed this.

During the above I noticed that the menu doubled up after the program is restarted a few times.Because this has to be written on the first time but not after, I clear the label every reset. Another option could have been a counter and if statement.  

I noticed that after the max amount of pizzas has been entered the text box disables but the next button doesn’t

Monday, September 17, 2012

18/9


Testing Plan

Exceptions

Try to input into the pizza choice textbox before the customer details have been confirmed
Nothing

Try to click the next button before the customer details have been confirmed
Nothing

Try to click the confirm order button before the customer details have been confirmed
Nothing

Try to click the confirm details button order button before the customer details have been confirmed
Unhandled format exception; where there is the check to see if the phone number is a number. It seems I forgot to add the try catch statement over it. This stopped the exception, but when the program is re-started on the invalid message; it brings up the starting message and then the summary of the details entered, which is nothing. Once you continue pressing yes or no to the details; the program restarts, and works like before the error. I think the confirm detail button may have something causing it to engage once the program re-starts after the error initially. To try and fix this I will disable the button and reengage it when its needed. Disabling the button the button on the invalid message method didn’t change anything.
A message saying either invalid input or the summary of the customer details
After above; if there is an invalid input when you click ok or you click no to confirming the customer details; the program will reset. But if all is correct and you click yes to the customer details; the details textboxes and confirm button will disable as the next button confirm order button and pizza choice textbox is enabled.   

Try to input into the name textbox before the customer details have been confirmed
The text will appear

Try to input into the address textbox before the customer details have been confirmed
The text will appear

Try to input into the phone textbox before the customer details have been confirmed
The text will appear

Start program and chose any order type (pick up/ delivery)
The pizza menu should look like the following;
0: Pineapple $8.50                                                                                                                                                               1: Cheesy $8.50                                                                                                                                                                                    2: Bacon $8.50                                                                                                                                                                          3: Apricot $8.50                                                                                                                                                                      4: Ham $8.50                                                                                                                                                                               5: All in one $13.50                                                                                                                                                                        6: Double Cheese $13.50                                                                                                                                               7: Chicken supreme $13.50                                                                                                                                                8: Seafood $13.50                                                                                                                                                      9: Mexican fiesta $13.50
With the program full running I found that this test failed. This problem was immediately tracked to the use of my line break syntax. I used “</br>”; then I changed all the line breaks to the other syntax I know, “\r\n”; this resolved that problem. But there was still one other difference; the first line said defult 0: Pineapple $8.50, this was the part in the label on  the form, I removed this.

17/9


Run start up method
On “confirm button” click
 Show message box with the following;   return from “customer detail” method, line break and the text “Do you want to continue?(yes) Or start again(no)”, show yes and no buttons
If the user clicked yes use” stage two” method.
If the user clicks no; use “start-up” method
On “Next” button click
Use “Pizza choice” method The processes of this button is in a method because the same thing needs to happen when the confirm button is pressed
On “Confirm order” button
Use “Pizza choice” method
Message box show the following;
Return from “customer detail” method, line break this will show all of the details the user has entered in to the program
Return from “order detail” method, line break
“Do you want to submit (yes)? Or restart (no)”
Use buttons yes and no
Run start-up method  to pretend to send the information and move onto the next order and try to enter the order again 

With no errors my program still didn't run

Wednesday, September 12, 2012

13/11 programming

I fixed the syntax for the conditional statement from the message box.


Pizza order read method (input of the code of the pizza choice) used to find the name and price of a pizza code and to update the total cost
Start looking for exceptions
Declare string named pizza set this to the content of the menu array from the index inputted (read directly) 
Declare constant double called deluxe set as 13.5 local
Declare constant double called standard set as 8.5 local
Declare variable double new Cost local
Declare constant inerter “deluxe Comparison” local
in the above it seems again I have forgotten to say what the constant is meant to be set to. I looked up the indexes for the pizzas in the menu array, the index 5 is the first deluxe pizza. So I set deluxe comparison to 5 because, this is a distinction between the two pizza costs.
If the index input is between “default”- deluxe Comparison; set pizza cost to standard, otherwise set it to deluxe this is used to calculate the final total by determining the cost of the current pizza being read
If any format of size exceptions found; run invalid input
Return “pizza”
Customer order method (returns a string) compiles a string to display as the final summary
For loop; a now declared counter variable set at “four” until its at the derived value of the array length add one each time the loop runs this loop displays all of the content of the main array, while converting the pizza codes to their number and names   
Loop start;
Declare string all order used to store the details into one string
Declare integer index set to the return from; Use array main read method, send counter variable, 
Declare string order set it to the following; counter variable converted to a string, the return from using pizza array read(sending index) and a line break.
Array write, send total and use array main read (send total) converted to a double plus the pizza cost that as a total is then converted back to a string (this is a global variable)  this creates the total
Add order to the end of all order. End of loop
Add the following to the end all over; “delivery:  $” plus the return from using array read main (sending delivery cost)
In above the text piece needs a space at the end
Return all over

Tuesday, September 11, 2012

9/12 Programming


The following checks to see if the user did input the details 
If; the return of the delivery cost array index is equal to “address” and if use read array “main” method (send name constant) = default or:” use read array method(send Address constant) = default  or use read array method(send Phone constant)= default . Here I forgot to mention what the index value is for delivery cost, this is 0; so I will use the defult constant converted to an int. The above is just used to check if input has been recorded, so I have “null” because no text doesn’t equal 0.
Then use invalid input method
if use read array “main” method (send name constant)= default 
Then use invalid input method
The two lines of code above are not needed as I combined a check for the non-delivery input into the other check
The following compiles the summary to display
Declare string called “customer detail” and set to the following; local
 “Name:” use read array method(send name constant) line break
“Address:” use read array method(send Address constant) line break
“Phone:” use read array method(send Phone constant) line break
Return customer detail this sends  the string to the caller of the method

11/9 programming


I remembered more of the message box button syntax 

If pizza code; bigger than “total” or smaller than “default”. Then run invalid input
Wasn’t sure if the next two lines are part of the if statement above, I put it in the statement
 Use array main write method; send pizza number +”four”& pizza code converted to string
Declare constant inerter “max Pizzas” local  I haven’t assigned a number here so I think it must relate to the next line of code, so it could be 8 or 5. 5 is the max number of pizzas, 8 is it’s index. I don’t think the variable is related to the array so I assume it is meant to be set to 5; but it’s possible it could be set at 4, if 0 is counted.
If pizza number is equal or bigger than “max Pizzas”; set pizza number to “default”(0) disable pizza choice this will show that the user has reached the max pizzas and will prepare the form for the next loop
Clear pizza choice textbox reads the text box for more input; only needed when next clicked, even though it isn’t needed when the confirm order button is clicked
Set pizza choice label to; “Pizza number” and pizza + one (using++) number converted to a string this will show the user how many pizzas have already been entered ( by default when the program first opens the label will read Pizza choice number one I assumed that when I said “and pizza + one”, I meant to say pizza number pluss one.
If any format or size exceptions found run invalid input method
Stage two method (no input/outputs) sets the form so the user can’t change the customer details accidently when entering the order and can put in the pizzas  
Disable name textbox
Disable address textbox
Disable phone textbox
Disable confirm detail button
Enable pizza choice textbox
Enable next button
Enable confirm order button
Customer detail method(no input returns string)  shows the user the details of the customer to check them before continuing
Declare integer constant name as 1 local to this method
Use array write method (send name and content of name textbox) stores the details in array
Use array write method (send address and content of address textbox) stores the details in array
Use array write method (send phone and content of phone textbox that is converted to a number and then back into a string) stores the details in array

Sunday, September 9, 2012

Programming 10/9


Pizza choice this process is in a method because the same function is needed in two places; to record the pizza choice 
Add one to pizza number this will keep track of how many pizzas have been entered
Start looking for exceptions
Declare integer pizza code and set it to content of pizza choice converted to a number this is used to check the input is a number; if it isn’t there will be a format exception local
If pizza code; bigger than “total” or smaller than “default”. Then run invalid input
Wasn’t sure if the next two lines are part of the if statement above
 Use array main write method; send pizza number +”four”& pizza code converted to string
Declare constant inerter “max Pizzas” local  I left this as a variable because I haven’t said a value to give it

Use array write send “counter variable” and “default”, end of loop.
Show message box asking “Is the order delivery” with yes and no buttons did remember syntax need to find my example code
If the user clicks yes; array write send; “default” and “phone” the name phone is because the constant value of 3 is also used as the index for the address; this will add the delivery cost and keep track of the order type

Wednesday, September 5, 2012

6/9 programming


yellow = what I have completed in plan 
green problems and changes 

Read array method (input an index output the content of the index as a string)  saves having to repeat the code that reads from the main array 
Declare string named result; set this to the array content at the index of the method input
Return result


Invalid input method (void only) this method is used to undo any results from and invalid input and set up the program for the hopefully correct next input
Show message box saying “invalid input; restart program”
if use read array “main” method (send name constant)= default;  the name constant wasn’t global
and I  couldn’t find its decleration ,A constant called deliverCost had value of one so I used it instead. Another change I had to set a local string to the return from the method, as it didn’t work inside the conditional statement. Another problem the comparison uses a string and a number. So I had to change it so it compares the name content to null. This still didn’t work, I tried changing the comparison to not equal instead and it fixed the error. But no I have to reverse the action the statement commands.


run setup method restarts the program so the user can try to enter the input correctly.
else; clear pizza choice textbox and set pizza number to pizza number minus default This will undo the recording of the invalid pizza choice
I have a feeling this is wrong as default is a string content of “0”, I assume I forgot to say to convert to a int; but the value still seams incorrect. At this point I will assume the value is meant to be minusing one off the tracker of how many pizza choices have been entered,  as said in my original comment. For this value of one I will use the deliverCost constant.       

Tuesday, September 4, 2012

Day three

Today ( only partial lesson), I started to setup my first method.

I found a problem; C# won't let me call a void (method without argument or return specifically), at the start of the program.

I must improve the start-up method so it return something, or the my program structure will fail. I also don't remember how to use the enable and clear syntax, or its possabiliy


Monday, September 3, 2012

Programming day one

On the first day I set up my form layout and assigned all of the components names.

I didn't have a copy of my original plans screen layout, so I found it difficult to setup.

Take a digital copy of my layout.

Wednesday, August 29, 2012

Compression

my screen shot of  my table 
Image compression
Compression is a process used in most digital information storage. It takes the original file and it finds any consistencies, then it replaces these consistencies with a singular representation, if its smaller than the data its compressing as well as the space it requires for a key, the compression only is proceeded if this particular piece of data is repeated more than once. After compression ( to a particular level) there will be no large consistencies within the data and the data will not be usable in most ways. For the data to be used once again maybe in a different place, it will need to be decompressed; this replaces all of the singular  representation assigned with the keys, back to the original key it is representing.

Comparing Image consistencies
As in the table, I took results from two black and white phtots; The consistent one was a grid of squares that were duplicated from each other, the inconsistent image, was the same as the first one but it has black scribling on it so the photo from a viewing prospective was far less consistent. I did this to see if visable consistencies, has a connection to the images code representaions, therefore the affectiveness of compression. Looking at my table we see that there is a massive difference between the original file sizes of ((61-6)/61)*100= 90%. The only explanation within my knowledge for why this would be, is because the original image format PNG already compresses the image, if so, this means that the visual consistency does affect the effectiveness of compression. But the original of these images once compressed gave an unexpected result; the compressing enlarged both of the files with all quality settings. From this I can conclude that compressing a png made in paint, (with a resonable amount of use of the copy tool) isn't any better compressed as a jpeg; as the image quality doesn't seem to change much between all of the compression settings. This suggests that the png format accounts for the use of the copying automatically compressing in it's own way, but this would have to have no need for decompressing, or, popular programs would need integrated support for png image use. I still have the feeling that the consistency has an affect on compressing into jpeg s; as the bits per pixel goes from a difference of (7.36-3.17)=4.19 at the lowest amount of compression to (2.94-2.45)=0.42 at the highest compression. This tells us that the consistency doesn't matter at the lowest quality but it does at the highest, this could be because a distinct mile stone in compressing, where an amount of detail is lost, so the larger consistencies don't matter anymore. I suspect this is also the case with the colourfull image as it was created in paint, the detail about the colours may use a system that becomes irrelevent at the lowest jpeg compression setting.

Photo (slightly distorted)  This image is a more suited to comparing the affects of compression, without the unexpected complications of a Microsoft paint, constructed image. The original photo this time is reduced by 90% with the lowest quality setting and 41% with the highest, this is satisfactory; with multiple similar images this would save a lot of speed and space. But with the difference in the pixel per bits of 5.46 there comes a sacrifice, quality. Below are the two examples of the variation of the compression and there is a noticeable difference looking closer. The first image is the high quality so it is about the same as the original but using 41% less space.The second photo is compressed to a higher level; this shows through in the sharpness of the image rather that the detail in the colour. 

Photo I took with the tablet
HQ
Photo I took with the tablet
LQ






















    


Thursday, August 16, 2012

Error control-Parity



Parity
The following is a demonstration example of error detection 




The first photo shows the random 25 cards in a grid
The second photo shows the grid with redundant bits added
The final photo shows the grid with an error added

With a partner, unfamiliar with the trick, get them to set up the cards in a grid 5 by 5 using the double sided cards (black and white, representing bits of zero and one ). Make sure they have a random order of cards, ie not all one colour. Then complete the parity grid by adding  redundant bits for error detection (sixth row to the top and side of the grid); but in doing so complete each sixth row and column so there is an even number of black and white. Then ask your partner to tamper with the grid, you will then be able to detect any errors with the check equation (in each row bits are even). This is because if any of the cards change then the number of each colour in that row, will no-longer be even. This will then show if there is a  need for error correction. This technique is used in all kinds of computer applications we use everyday, for example if you try to open an Excel file in word, the program will have a reconisation system incorporated into the saved data to distinguish between Microsoft's other data types. This system will also most likely test to see if the file is damaged too. This could be achieved in a similar way to the demonstration with the parity cards, the program could add bits too the end of the text using a formula, like in the demonstration but more complex; this will communicate the necessary information to the program to give the user useful feed back rather than confusing them with an unrecognizable data representation.    

Sunday, August 12, 2012

Usability heuristics

Usability heuristics 
Four Basic Task (in estimated order of happening)

  1. Unlock device
  2. Turn on wi-fi
  3. Change brightness
  4. End running
 Nelsons heuristics

  • Feedback response time; between pushing the power button and the screen showing feedback there is a small delay, this delay being about 20-40 milliseconds. The variation of this delay is altered depending on the amount of applications running and if its on start-up. Viability of user status; I believe  the tablet is correct not showing a loading sequence during the delay, because this would in most probability increase the delay itself, and the delay is at the size where, the delay is only noticeable when its at the highest of its delay times variation. Aesthetic and minimalistic of design; once the lock screen has appeared, the lock screen is simple, as to start with there is only a circle with a padlock in the centre. Consistency and standards; By using the symbol of a padlock, the user will subconsciously recognize the meaning of locked, as the padlock in the picture is complete. When the user pressed the circle with their finger, a larger circle appears with a symbol of an open padlock, at this time a gentile wave dissipates towards the open padlock. The larger circle appearing around the smaller one, and the open padlock is complying with consistency. The wave gesturing towards the open padlock, and the logic that touching gives a response, is a very minimalistic way of providing instructions, this is also applied by; when the user experiments with touching the screen to unlock the tablet, if their finger moves by the open padlock, the circle has an attraction to the open padlock, to prevent the error of the user continuing to move their finger away from the open padlock incorrectly. From this experimenting, the user will discover that releasing their finger off the circle, as it is on the open padlock, will unlock the tablet. As the tablet is successfully unlocked the tablet makes a satisfying click to notify their task was successful. User freedom of control; the user may later discover that there are multiple options for unlocking the device,  this makes for good user flexibility.                 

  • The test for the following evaluation was completed after test one. Note: on the first boot the user is showed how to find and use simple tasks, including the location of the menu to turn the wi-fi on or off. When the user clicks the button to bring up the summirsed settings menu, sometimes the user will miss the button.( if they are in a rush ). The fact that windows also brings up more information when the clock is clicked, takes advantage of consistency standards; as the users are more likely to try something that has worked before with other electronic technology. Then after pressing the clock as shown in the first picture, the tablet responds with the menu shown in the second picture; but at this point if the user forgets the tablets self tutorial, there is no indication that this menu leads to change the wi-fi settings, as it doesn't relate to anything else the user may know already, apart from the use of the tablet of the device itself. But this half way menu complies with the minimalistic of design, to not over complicate use; as the user won't want to see the menu (as shown in the third picture) if they only want to see the date, battery percentage, or internet status. But because this task is to turn the wi-fi on, the user will proceed by pressing the status box to reveal the summarised setting control menu. Then to turn the wi-fi on the user slides the switch in the line with the word wi-fi and a symbol. The mix of the contrast of the slant trigger,and the resemblance of a traditional physical switch, increases users level of understanding and familiarity to turn the wi-on. As does the symbol that is internationally recognized as wireless transmission. But, the problem with the setup is that, if you touch within the line for wi-fi but not the switch, a more complex and detailed menu for wi-fi that takes over the whole screen, rather then the summarised menu that only covers the bottem corner of the screen.                                                                                                    
8/14/2012

My suggestions;                                                                                                                                            I think there is room for improvement within the use of turnning on the tablets wi-fi, with the summarised menu. First of all, there is little suggestion of the summarised menu at the satus menu. There is a small icon that Android uses to represent settings, but to a user new to the tablet, they will not recognise it as; click this box again for settings. I think the icon should be something that is more universal, the current icon looks like the icon for a sound editing app. Instead, it could be in the theme of mechanical cogs or tools, as this is more likely to be recognised, also this could relate with the mechanical switch symbolization. I would also suggest that the status box includes a very gentle pulsating glow, to gesture to the user to click the box while also adding to the consistency of gestures, like the wave in the unlocking of the screen, this won't cause user irritation, as the pulsing would only last the short amount of time that it takes to read a date, or click to change settings.To increase the change of the user pressing the clock button; if they increased the size of the clock it would look out of place so they would have to increase the size of the tool bar, and that wouldn't be an efficient use of the screen. But, the developers could use a gesture like swiping upwards from the tool bar at any point, but this would be bad for new users, as they would forget the gesture more easierly compared with the thought, "its like with my computer at home". To avoid the annoyance of bringing up an unwanted menu when trying to slide the wi-fi switch, I would suggest increasing the size of the switch itself, this won't affect the heuristics as there is room for the switches to increase in size.


  • To change the brightness of the tablets display the setting is in the same place as the wi-fi switch, so I don't need to re analyse the process of getting to the summarised settings again. The brightness slider is in the third photo. The fact that the method of adjusting the brightness is similar to a physical potentiominter slider applies consistency with the real world tools and symbols for interface control. The symbol of a sun is internationally used for brightness for most electronics, and as the sun is a light source, this makes for a good chance of the user recognizing the slider as a brightness controller.

  • The first problem to ending tasks is finding the correct menu which is a matter of trial and error, if the user doesn't remember the system tutorial. But, if the user knows they can get to the menu from the home screen, they will be likely to discover the menu by association of the symbol. From knowing the areo stack function in windows, the user will get the idea the application icon is in relation to choosing and managing running applications, this is shown in the image below. Once the user clicks this button the running applications will pop up on one side of the screen. I find the representaion of the running applications to be highly effective; as this isn't only an icon but a screen shoot of the last time it was in use, and the text name too. The screen applies the heuristic recognition rather than recall, as the user will recognize the program as they last saw it, over the icon or name in most cases. But the multiple forms of representation in one, doesn't seem to have an affect on the over all minimalism of design. But a big problem for new users is that when your in the menu, its easy to assume you click on the picture to go to the app, but it isn't easy to fiuger out  to end applications, you must slide them to the side.                                        My Suggestions                                                                                                                                                                             I think that once your in the task menu there should be some sign or gesture to indecate how to end a chosen application. One way this could be achieved is to add something like the slant on the switches for the summarised settings control, this would add to the consistency of the tablets interface and improve the ease of use. But this slant would have to be carefully designed so that it doesn't affect; the user recognising the screenshot, over complicate the menu or be to unsimilar to the settings switches. 




Showing the running tasks menu button to the right
  http://files.tested.com/uploads/0/1507/32719-menu.png 
The running applications menu
The ending of an application 

Friday, August 10, 2012

Text Representation

Text Representation
As previously discussed the value calculated for the available storage value for the SD card is most likely  displayed from a string (and an integer) as it is accompanied by text; specifically "Available" and "MB" for the purposes of this discussion we will use the value of 4.79MB as the available storage. The following is the Assci representation for the string showing the available storage value for the SD card;
A=01000001
v=01110110
a=01100001
i=01101001
l=01101100
a=01100001
b=01100010
l=01101100
e=01100101
↵                    =00001010
4=00110100
.=00101110
7=00110111
9=00111001
M= 01001101
B  =           01000010

The tablet uses Unicode as its base text representation system; as it is comparable will most languages, this of corce means its backwards compatable with ASCI code; as the first 256 characters of Uni code are all of the ASCII code characters with the same representation in binary.

ASCII
This is a representation system for all characters in the English language with 128 individual character possibilities; containing all the letters including the capital versions ECT. Each character is stored using 7 bits(one byte),but this is can rounded to one byte this is why all of the binary representation above have an unused zero. ASCII isn't compatible with any other languages. For example an device only capable with reading ASCII can't read other languages, but a device using the more universal data type Unicode can read ASCII. For example in the code to display simplified text on light emitting diode segments with something similar to the Atmega or tiny microprocessor series, would have to use ASCII singularly due to low storage capabilities. 

Uni code
This is a representation system for all characters in all languages. This uses 16 bit for each character and uses two bytes. This system can represent up to 65536 characters. Unicode is backwards compatible with the ASCII system, the first 256 of the characters are the same. But the downside to this is that the Unicode system requires double the store comparability to ASCII code. Uni code is used all the large majority of all electronic information devices; simply as these days we have the capabilities to do so.  

For an example of the multi-language base of Unicode here is the multiple representations for Banana; 

English           Chinese             uni                                                  Binary 
Bannana        香蕉             &#39321;&#34121; (for -> 香蕉 )      1001100110011001 1000010101001001 (for -> 香蕉 )