Last night, a technology talk was held on Makati Shangri-La hosted by Accenture. The talk was entitled; “Application Development on the Windows 8 Platform”, with Warren Yu as the main speaker. During the talk, Warren asked, “What makes a good app?”. The answer to this led toward three main points; it should be nice, it should be simple and focused, and it should be fast and fluid.
It Should Be Nice
When developing a Win 8 app, Warren’s advice is to get a “UI or UX” guy. This role is very important in Windows 8 development. “Developers can only do so much”, he said. For starters, we can use 3rd party templates to make our lives easier. Next step is to build up content. The app should have interesting content. Warren said that “content is the star of the show”, just like as John have said before, content is still the king.
It Should Be Simple and Focused
There should be consistency in design. We could use project templates to make our design consistent. Warren recommends the use of MVVM or the Model-View-ViewModel design pattern, a design pattern that originated from Microsoft. You can look more about it on this link.
Work within the ecosystem. The Windows 8 ecosystem provides features within the platform that your application can work with. An example of this is the search feature and the settings, both located on the charm bar. We can utilize these built-in features and use them for our implementation. This gives off a native experience for the users. Warren also said that working with the ecosystem of Windows 8 makes it easier to learn.
“We want to make a package application that could kill all the other package applications. NO. We should leverage the application that the user is using. Minimize the learning curve.” – Warren Yu
It Should Be Fast And Fluid
In developing an application for the platform, you should not hard-code sizes. Warren pointed out that hard-coding sizes would not work with different kinds of devices. If your application is not intelligent enough to detect the device, and adjust the sizes for that certain device, you seek help for a far more intelligent component: the user. Warren said that another solution is for you to create a Settings menu where the user can select the sizes for the application. Less convenient for the user, I thought.. but easier to implement. After that, Warren showed a demo on the differences of async and sync applications. Synchronous application tend to lock the UI while a process is still running; so you will need to consider this when implementing your application.
Other Stuff that I took note of:
During the talk and the demo, Warren was using Microsoft Visual Studio to run and debug the application. He also showed us a simulator that he used that is capable of showing the application layout on different Windows 8 devices.
Did you know that ”Today there are more mobile devices than toothbrushes in the world.”?
The use of SOLID principles. Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion. These are principles that when put together in programming, would create a system that would be easier to maintain and extend over time.
Q & As:
How do you start developing on Windows 8?
You should have a Windows Store developer account.
What to use in developing for games?
Use DirectX to utilize the hardware component of the device. You can also use XNA, but it is highly discouraged.
What database to use?
It is recommended that you use SQLite. SQLite established its name as the ‘database management system for mobile’ as major mobile devices have SQLite capability. Microsoft may also implement this soon on their devices as well.