Windows Apps conversion in Mobile Apps

4:47 PM
Windows Apps conversion in Mobile Apps -

window-view

The Microsoft Windows story began in 1985. A young Microsoft has realized that he needed a graphical user interface instead of simply DOS. Microsoft's history tends to ignore the influence of the market. At the time, Apple had released the Macintosh and was a serious contender for DOS.

billgateswindows3

The first thing that should be clear is that Windows programs developed before Windows 8 was never intended to be run on mobile devices. Windows 7 and before were only intended for workstations and laptops. It ignores to run on tablets and mobile phones. This makes sense simply because it was impossible to run Windows on mobile devices before Windows 8.

To summarize what happens in this space:

  • Windows programs need the operating system
      Windows
    1. iOS and Android are completely different platforms and incompatible with Windows
    2. Windows 8 supports phones / tablets but still not as popular compared to Android and iOS
    3. It is difficult to continue as usual with the encroachment of mobile devices in the workplace

    the most likely conclusion is either re-write applications or try tweaking Windows 8. Anyway has advantages and disadvantages. If the application is rewritten, it will most likely have features that are absent in the new version. Also, there is more than one choice of the platform to target. If Windows 8 is selected, the port of the older Windows application becomes easier, but it also means it will not work on mobile platforms the most popular.

    mobiledevicesales

    This chart shows how the market has evolved over the seven years between 05 and 2012. What the chart does not reveal the number of devices sold.

    mobilesalesvolume

    of these data, it is clear that Samsung and Apple have a big lead over the rest of the devices. Also keep in mind that Android has Samsung and other manufacturers so that it would be greater than 29%.

    In this collection of slides of Mary Meeker, there is still a slide that is very alarming.

    wintelera

    This slide shows that the Windows Platform / Intel is seriously eroded by sales of mobile devices. This, perhaps, is the most difficult thing for companies to accept.

    Currently, the Android platform is growing very rapidly. This becomes more evident looking at the people who use their devices in public. The most common platform I see is the Samsung Galaxy S series

    So how Windows applications never run on Android or iOS? The only known solution is Windows Remote elsewhere. The Windows program runs on either a virtual machine or on an actual workstation or server. Citrix has benefited from this model 07 world with the introduction of Citrix Receiver for iOS. The application works when it is displayed on Windows and non-Windows device.

    Normally that would be enough for a complete solution. The same strategy has been applied to other platforms like Mac and Linux. The problem on mobile devices is that the Windows GUI, before Windows 8, are not well suited for touch-only interface.

    Capture

    There is quite a long list of things that causes problems with simple notepad interface.

    • Legend. The caption area contains system menu, minimize, maximize, and close. First problem is that these elements are too small to select with a key. The second problem is that there is no such thing as minimize and optimize mobile platforms. Even close is discouraged. Essentially, the title bar does not provide any value to iOS and Android. It also wastes space on small devices.
    • Menu bar. The menu bar is too small to use. It would be very difficult to select the menu items with the default size. Windows is usually very intolerant of errors in the selection of elements of the user interface. This translates into a frustrating experience that users try to re-select menu items when it comes to close the menu touch the outside of the menu area by mistake.
    • The scroll bars. It was meant for the mouse. It is very difficult to effectively use and above the scroll bars if the scroll bars do not allow a brake slider switch. On mobile devices, scrolling is done generally with very few reviews of the user interface and a very smooth manner. Like all other elements of the user interface, scroll bars take too much space and do not provide enough value.
    • Text. This is most obvious when trying to read the screen on a device with higher per inch points. Modern mobile devices have "retina display" that can be 300 dots per inch or more. Most desktop computers have only around 100 dots per inch. This translates to have the text which tapers in a factor by surface area 9. For example, a text block with a surface area of ​​9 square inches on a desktop appear as a square to 1 from a mobile phone . Depending on the design of the application, it is most probably be too difficult to read if it was already small font.

    Capture

    The picture above is one-third the width and height of the original image. He illustrates the problem with DPI for small devices. Hopefully this is a clear demonstration of how a high DPI can affect the application.

    • Sizable border. This is another element that are no longer needed. Since there is only one window at a time, no need to do any resizing the window. Beyond this, it is very difficult to control given the thin border and a bad translation sometimes touch events to mouse events.

    What does all this mean? Is it possible to still use a Windows program on a mobile device?

    This means there is a little work to change the nature of a Windows program but that this conversion is not as radical as the transition to a new platform. Existing investments can be widely held that improve the software to support mobile devices.

    To give you a taste of how things can change, take a look at this simple line of code for a Windows Forms application.

     // hide the resizing border and title bar FormBorderStyle = FormBorderStyle.None; 

    StackOverflow Q & A
    This single line changes the nature of most of the problems we had. The border and caption / title bar are removed. The next step is another low-hanging fruit. It is possible to remove the menu with a line as well

     // hide the menu menuStrip1.Visible = false ;. 

    This example is a program with a control called menuStrip1. Each control has a Visible property that can show / hide this control. The idea is that if you detect a mobile device, you can disable the border and the menu with only two lines.

    There is one last thing to mention at this stage. Since you're unlikely to want to show all controls at a time, it is safe to assume that you will start from a clean slate. The method is simple. Later, you just made visible controls you want

     // Clear our controls UserInfoGroup.Controls.Clear control the current group (). UserInfoGroup.Visible = false; 

    This method is based on the fact of a GroupBox control around a collection of user interface controls. It deletes the group and makes the GroupBox so hidden. similar code would be required if controls were directly on the form. UserInfoGroup could be any type of container.
    In recent months, I work on the construction of an example for our SDK for Windows Mobile Apps. On the way, I learned a lot about what it means to transition from a WinForms application to work on a mobile device. Consequently, I have a work program that can use Active Directory to find information about the work of colleagues to contact them.

    The inspiration was to have a program that could give me the contact information for people in the departments concerned. The aim was to build not only the mobile version of this application, but to start with a decent first version WinForms.

    The result is a before and after snapshot of what needs to change to get good results. It is still not in its final state, but good enough to talk and use as an example. I hope to write a series of blog on the application and the different things that have to happen in the transition.

    It is important to note that this example can function either as a standard desktop application or a mobile application. The code allows to be executed anyway without compromising either.

    mobileuserinfo

    The above screenshot is from Mobile User Info running on the iPhone 5 Emulator our SDK. It is not a complete representation but gives you an idea of ​​what he can do. How to choose a test account because of privacy

    One aspect that I have proved works is as follows :.

    • You can take a picture of yourself using the mobile device and have that picture used in Active Directory for things like Outlook.

    This is really just a taste of what is possible between the SDK and the sample program. Because the program can access Active Directory information, there are many possible use cases for use on the mobile device. As suggested by Warren Simondson, it is possible to manage the user's password resets for administrators. It is also possible for users to change their passwords using a tool is derived from this code base.

    The Plan is to provide both versions of the application (WinForms and mobile enabled WinForms) on CodePlex when they are ready.

    In the next post I plan to talk more about how you change a WinForms application in a mobile application.

  • Previous
    Next Post »
    0 Komentar