Showing posts with label Windows 8 apps. Show all posts
Showing posts with label Windows 8 apps. Show all posts

Tuesday, 19 February 2013

Zomato Windows 8 App : Review Part II

Continuing the review:

Let me start with Explore: (2/2)



Functionality : Shows me list of hotels . Gives Recommendation , Explores by location and Explores by cusine.

Good here ,
a. the screen is very intuitive.
b. Filter and Sort options are put out very neatly.
c. Explore by location/ Explore by cuisine has come out wonderfully,
 The filter list concept is beautiful.



Rating for this module is 2/2
 
Next lets look at Top 25 (0.75/1)
 
Top 25 is simple , its a list of the top 25 trending resturants .

I would have liked this page to have sorts and filters as well.

So I give this (0.75/1)
 
LeaderBoard: (1/1)
Its good and same as the top 25.

It gives a Twitter button,.

So , Total Zomato App gets is : 13.35/14. (That is Awesome)

Great going Zomato app.
 


Thursday, 14 February 2013

Review : Book Your Table App

Name of App : Bookyourtable
Category : Food & Dining

About the app :
Bookyourtable was launched to deliver the convenience of online reservations, food ordering and Discount deals for all guests. Bookyourtable today operates in top 10 cities of India & has plans to expand to other cities in India very soon. It is also a perfect search destination if you are hoping to get some fabulous discounts to explore the culinary world in India.

Bookyourtable,  provides you a simple way to find tables that meet your desired criteria for cuisine, locality & price.  Through Bookyourtable you can view Restaurant details like address, cost for two,offers, restaurant timings etc. You can download coupons and vouchers.

You have this app in book your table website , you can download the app from Windows 8 App Store.

I am writing this review for the windows 8 app store app.

On Installing ;creates a wide tile on the start screen.

Splash Screen : Its is one of the applications where I have seen a metallic splash screen.

Capabilities : a. Internet connectivity and Geo Location.

Design Style : Uses Flat navigational m
Home Page :
Pros : 1. Tiles  are arranged properly , neat and informative.
2. Cannot click on a tile , which has no information.
3. When not signed in I am welcomed as Guest , but if I sign-in , close and open the app again I am not welcomed. :(




Flyouts : Uses a basic flyout .
When I click New User:Registration Form pop-ups .
Let us try to evaluate the registration module:
Pros:
1. Very simple and elegant.
2. Errors are notified in red like :


3. The UI navigations and tabbing that registers a user is good.

Cons:
1. Although this is a clean way to do , but all my errors are not notified to me at a single go , I would have appreciated if it had given me something like :
 2.  after signing-up the app doesn't clear already entered values. :(  That is a negative point from the app developers.
3. I need to login manually even after I have registered successfully and the session hasn't died. :(
I did not like this feature.

4. You get no notification mails even after after registering.

5. Mobile number is the primary key for registration , but for signing-in you need to remember username.

6. There is no forget password / reset password feature available.

7. I cannot sign out of my app without closing the app itself.

Now lets see My Profile:

 Pro :
1.  Simple and Straight Forward .
2. Shows User data and Bookings.

Cons:
1. There is a remove button , which should ideally remove the old bookings from the screen. It should be placed along with the booking info , on the div/ grid column itself , but it placed in the app-bar and most of the time it is of no particular use.


2. The Scroll bar and flip slider button should be invisible when no data is present.

Now , lets go to Featured Restaurants module:
Pros:
1. Select buttons are placed very nicely , neatly and can be accessed with ease.
2. Book Now feature is neat and easy to use. 
3. You can write and post reviews easily.
4. You can mark favorite easily.

Cons:
1. Although Home page shows 12 options , I see only 11 options in my Featured Resturants Page.



2. Featured Restaurants don't change when I change the location , put I show reload the page every time I change the location.

3. Not sure the distance is calculated, with reference to What? If it is calculated with respect to longitude and latitude then also the distances shown here don't match the actuals.




4. For the slots which are past. I am able to click on book now but am shown with wrong error
I am said to select a time slot when there is no where I can select a time slot.
5. The error messages are shown in white instead of read. :(
6. Even when the time has not passed  , I am not allowed to book any slots ( reason no more seats are available.) but I am shown with error message.
7. Session is not persisted between pages. If I plan to go back to previous page from Book now page to change the number of people/date the whole UI is reset back .

8.  Although I can take favorite , I cannot remove it. Marking the favorite doesn't reflect back on my profile immediately.

9. Post review does not validate if you have added any thing in the text box/marked the stars or not.



For all other modules( Dine Out and Buffet) , the above points remain valid .

Let us look on to the Coupons  module  now:
Pros: 
1. Simple and straight forwards , the ways coupons is handled is great.
2. You get all the relevant features in a single go.
Cons:

1. Share Source is not implemented I guess

2. Although I am logged-in and my information is there with the app , still them I am forced to enter the mobile number to send coupon.
Agreed I may want to send the coupon to someone else but we can always give it pre-filled , editable text box.

Final verdict

The app is good usable , fast and efficient.Although there are certain things that needs to be removed .
Many features from the website of BookYourTable is missing. Some of them like testimonials etc are missing.
But it can go a long way in future if properly taken care.

Thursday, 31 January 2013

App Bars in Windows 8

The app bar is analogous to a toolbar in classic Windows interfaces, or the ribbon in more recent offering. It’s a container for buttons that trigger commands.

App Bars are available on demand as they are not in the primary scenario of your application building. App Bars can be drawn when you press Winkey + Z or right click the mouse.

You can place app bars at top of the page or at the bottom of the page. A page can contain both top and bottom app bars as well.

<Page.TopAppBar>

<AppBar>

<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">

<Button Style="{StaticResource AddAppBarButtonStyle}" />

<Button Style="{StaticResource DeleteAppBarButtonStyle}" />

<Button Style="{StaticResource SaveAppBarButtonStyle}" />

</StackPanel>

</AppBar>

</Page.TopAppBar>

The above code puts the app bar on top of the page.

<Page.BottomAppBar>

<AppBar>

<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">

<Button Style="{StaticResource AddAppBarButtonStyle}" />

<Button Style="{StaticResource DeleteAppBarButtonStyle}" />

<Button Style="{StaticResource SaveAppBarButtonStyle}" />

</StackPanel>

</AppBar>

</Page.BottomAppBar>

The above code places the app bar at the bottom of the page.

The content of the page lies between the top and the bottom app bars.

<Page.TopAppBar>

<AppBar>

<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">

<Button Style="{StaticResource AddAppBarButtonStyle}" />

<Button Style="{StaticResource DeleteAppBarButtonStyle}" />

<Button Style="{StaticResource SaveAppBarButtonStyle}" />

</StackPanel>

</AppBar>

</Page.TopAppBar>



 
 
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">




 
</Grid>

<Page.BottomAppBar>

<AppBar>

<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">

<Button Style="{StaticResource AddAppBarButtonStyle}" />

<Button Style="{StaticResource DeleteAppBarButtonStyle}" />

<Button Style="{StaticResource SaveAppBarButtonStyle}" />

</StackPanel>

</AppBar>

</Page.BottomAppBar>

You can also play with the background/foreground colors of the app bar. By default the background color of app bar is black and the foreground color is white.

By default the border for the app bar is not visible to can add the border brush attribute and show the border as well.

<AppBar Name="topAppBar" Background="Aqua" Foreground="Black" BorderBrush="Red">

I can put my UI controls on to app bar , the UI control can be a simple button , a normal checkbox , a radio button etc.

Many people often debate on Microsoft's decision to introduce App Bars. According to msdn:

The reason the contextual commands that come and go are on the left is ergonomic. We found in studies that most users (even lefties!) operate touch devices with their right hand. If selection-based commands were to appear on the right, then as you raise your right arm to select an item you would cover the new commands that just appeared! Similarly, putting commands that are always present on the right allows you to use your right hand to access them, which is ideal because most users interact with touch devices with the right hand. So putting commands that come and go on the left, and commands that are always there for a given screen on the right, makes it more efficient for users to get to with touch.

My view : App Bars are great create UI element  , they help you when you need.

Wednesday, 30 January 2013

Layout : Xaml

If you are familiar with Silverlight , WPF Xaml , you may find this blog very basic.
If you are new to Windows 8 app/phone app development and want to understand UI layouts then you are at the right place.

What do you mean by UI Layout?

In my last article I explained containers. Containers tell you how your controls are held on the UI , layout defines how the containers or the controls inside the containers are positioned.

If layout of your application is proper , the UI is not going to get distorted on different devices and different resolutions. The main concept of Windows 8 was Develop Once and Port anywhere. For this porting to happen smoothly we need to be careful enough when we are selecting layout of the xaml page.

For a canvas container you always define the controls at their absolute positions , for a grid/stack panel you define the controls in a relative manner.

So , if your app is targeted towards various devices the best I will suggest is grid and stackpanel.

Now that we are settled with the grid/stack panel as container , let us think on how to position them.

Windows 8 Phone/App supports two types of layout.
a. Absolute Layout
b. Dynamic Layout

Absolute layout should be used when you can define the absolute positions of the controls. That is you define exact locations of all your child elements relative to the parent.If the app requires absolute positioning of UI elements, you can design different pages for different screen resolutions or use scaling as an alternative.

By default the layout is absolute and container is grid for a Windows 8 app.

Dynamic Layout:

You specify the relative positions for all your controls.To use automatic or proportional sizing, you must assign special values to the Height and Width properties.

Microsoft recommends following for a dynamic layout:
(Following lines are taken as is from msdn)

  • Set the Height and Width of the control or layout to Auto. When these values are used for controls in the Grid layout, the control fills the cell that contains it. Auto sizing is supported for controls and for the Grid and StackPanel layouts.

  • For controls that contain text, remove the Height and Width properties, and set the MinWidth or MinHeight properties. This prevents the text from scaling down to a size that's unreadable.

  • To set proportional values for the RowDefinition and ColumnDefinition elements in a Grid layout, use relative Height and Width values. For example, to specify that one column is five times wider than another column, use "*" and "5*" for the Width properties in the ColumnDefinition elements. 

Conclusion:
If you have a screen that should readjust itself based on reolutions my suggestion is use Grid with Dynamic layout.

Tuesday, 22 January 2013

Windows 8 Apps : Guidelines

Recently we are trying to push a few of our apps on to windows 8 app store. Before we push the apps the store the app needs to undergo some basic guideline checks.

Microsoft team definitely does those checks , but you can also ensure that your app adheres to all the guidelines set across. To do this we follow a two step process.

Step 1: Run certification kit on your app.

Step 2: Ensure that your app adheres to all the Windows store guidelines set at msdn.

I have captured them here for my reference. You too can use this.

You can also download the document from gdocs.


Category Guidance A few facts
Windows Store apps provide value to the customer Your app must offer customers unique, creative value or utility in all the languages and markets that it supports  
Your app must be fully functional when the customer gets it from the Windows Store
Your app’s trial functionality must reasonably resemble its full functionality
Each app must display only one tile after it is installed
Windows Store apps can display ads but are more than just ads or websites Your app must not display only ads  
Ads in your apps must comply with our content policies
Your app must not use its description, tiles, notifications, app bar, or the swipe-from-edge interactions to display ads
The primary experiences your app provides must take place within the app
Ads must not execute program code that didn't come from the ad provider
Windows Store apps behave predictably You must use only the Windows Runtime APIs to implement the features of your Windows Store app
Your app must not stop responding, end unexpectedly, or contain programming errors
 Your app must provide the same user experience on all processor types that it supports
Updates must not decrease your app’s functionality in a way that would be unexpected to a reasonable customer
Your app must fully support touch input, and fully support keyboard and mouse input
 Your app must use the mechanisms provided by the system for those features that have them
Your app must meet the basic performance criteria on a low-power computer The app must launch in 5 seconds or less

The app must suspend in 2 seconds or less
All app logic must originate from, and reside in, your app package  
Direct3D apps must support a minimum feature level
If your app contains Windows Runtime components, they must conform to the Windows Runtime type system Must be located in the package file with the longest namespace-matching name.
Must be the only types with public visibility in a Windows Metadata (.winmd) file.
Must have a unique, case insensitive name.
Must not be located in the Windows or global namespace. 
Must have public visibility unless the type is an interface marked as exclusive to a specific runtime class.
Must be sealed unless the type is a runtime class marked as composable.
Must compose an unsealed system class, if the type is a composable runtime class.
Must not include write-only properties.
Must not implement interfaces that are marked as exclusive to another class.
Must not be generic or parameterized.
Must not define methods that overload operators.
Must not change signature or parameter names between interface and runtime method declarations.
Must not include default values for method parameters.
Must not include property getters that take input parameters.
Must not include property setters that take more than the single set value parameter.
Must not define factory methods with additional out parameters beyond the return value.
Must not use IReferenceArray<T> or IReference<string> as a parameter type.
Must not use the signed byte fundamental type. 
Must define enums with an underlying type of Int32 or UInt32 only.
Must apply the FlagsAttribute to UInt32 enums.
Must not apply the FlagsAttribute to Int32 enums.
Windows Store apps put the customer in control Your app must comply with the following privacy-related requirements:  
 Your app must have a privacy statement if it is network-capable
 Your app must obtain opt-in or equivalent consent to share personal information
Your app must respect system settings for notifications and remain functional when they are disabled
Your app must not jeopardize or compromise the security or functionality of the Windows system
Your app must not be designed or marketed to perform, instruct, or encourage tasks that could cause physical harm to a customer or any other person
Your app must protect customers from unintentional large data transfers over metered networks
Your app must comply with Windows Push Notification Service (WNS) requirements if it uses WNS notifications You may only use WNS for apps distributed through the Windows Store. Notifications provided through WNS are considered app content and are subject to all Windows Store app policies, including the certification requirements.
Your app must be associated with only one Package Security Identifier.
You may not obscure or try to disguise the source of any WNS message or Package Security Identifier, or other unique referral identifier.
You may not include in a notification any info a customer would reasonably consider to be confidential or sensitive.
Your app must not use excessive network capacity or WNS bandwidth, or otherwise unduly burden the Windows system with WNS notifications. For example, using WNS to stream content or transfer files violates this requirement.
If you use a commerce transaction provider other than the Store's, you must identify the provider at the time of the transaction or whenever you collect any payment information from the customer  
 Your app must prompt the user for authentication to allow a commerce transaction to be accomplished. 
If your app collects credit card info or uses a third-party payment processor that collects credit card info, the payment processing must meet the current PCI Data Security Standard (PCI DSS)
Windows apps are appropriate for a global audience Your app must conform to our content and age rating guidelines, and metadata must be appropriate for everyone
Your app must not contain content that advocates discrimination, hatred, or violence based on membership in a particular racial, ethnic, national, linguistic, religious, or other social group, or based on a person’s gender, age, or sexual orientation

Your app must not contain content or functionality that encourages, facilitates or glamorizes illegal activity in the real world

Your app must not contain or display content that a reasonable person would consider to be obscene or pornographic

Your app must not contain content that is defamatory, libelous or slanderous, or threatening
Your app must not contain content that facilitates or glamorizes excessive or irresponsible use of alcohol or tobacco products, drugs or weapons
Your app must not contain content that facilitates or glamorizes extreme or gratuitous violence, human rights violations, or the creation or illegal use of weapons against a person or animal in the real world
Your app must not contain excessive or gratuitous profanity
Windows Store apps are easily identified and understood Your app must have a unique name
Your app must have a Windows age rating, and you must submit third-party ratings for your app if you have them
You must provide technical support info for your app
 You must list your app in at least one of the Windows Store's geographic markets
 You must list your app in at least one of the Windows Store's geographic markets
The capabilities you declare must relate to the core functions and value proposition of your Windows Store app, and the use of those declarations must be compliant with our app capability declarations
You must describe any changes to your app when you submit an update to the Store
You must provide localized screenshots of your app for each language your app supports
Your Windows Store app’s packages must have a correct app manifest
Your Windows Store app’s packages must be correctly formatted
The app's category and subcategory must correspond to the character or purpose of your app
Desktop apps must follow additional requirements The purchase page link provided for your app must send users to a location where they can directly download the app, and must not lead users to another intermediary site or a site that spoofs the purchase page
The information you provide to the Store about your app must match the information used on the purchase page for that app. That includes your app or company logo, the app name, price and major and minor version numbers