42Gears Speaks
22Feb/110

What is applify?

"Applify" means "Doing it the way Apple would do it". i.e. making the UI simple but usable. Recently we "applified" a part of our UI. We liked it and so is everyone else.

Thinking simple is hard :)

Take a tour of SureMDM, Our cloud-based mobile device management platform

Go to Home


Tagged as: No Comments
22Feb/110

New Message Notification UI in SureMDM

SureMDM provides a convenient method for IT administrators or managers to send text messages over the data network to mobile users. Latest SureMDM release implements new and better message notification UI on the mobile device. See the image below:

Mail Message Notification window on mobile device (Nix Device Agent)

Mail Message Notification window on mobile device (Nix Device Agent)

Tapping on the Inbox button shows the list of all messages received so far. User can select the message and view it again with more details as shown below:

Inbox view

Inbox view

Text messaging is a much liked feature and we hope our effort to "applify" the UI will be appreciated.

Check out SureMDM, cloud based mobile device management from 42Gears Mobility Systems.

Go to Home


13Feb/113

Getting rid of flickering in .NET CF forms with custom drawn controls

.NET Compact Framework doesnt provide builtin double buffering for forms. In case you have multiple custom drawn user controls on a form, loading will mostly show flickr. Overriding OnPaint and drawing the form and its child controls to an offscreen bitmap before putting it out to actual display is expected to solve this. But, once a child control is added to another container control, overriding OnPaint of the parent container control doesnt allow you to paint the child as the child's client rect is clipped out from the graphics object passed to parent's OnPaint.
The solution to this problem is to avoid adding the custom user control to the forms. Instead, maintain your own list of such controls. Form's constructor should make these changes.

//this.Controls.Add(customControl); //don't do this
control_list.Add(customControl); //control_list is Forms own custom list for it's child controls.

When we do that, GWES doesn't know of these controls as child to our form and hence allows us to paint anywhere we like. We can now paint all child controls (by calling their respective OnPaint) to an offscreen bitmap before blting it to actual display. Heres a sample code which does something like this.

protected override void OnPaint(PaintEventArgs e)
{
using (Bitmap doubleBuffer = new Bitmap(this.Width, this.Height))
{
using (Graphics gxOff = Graphics.FromImage(doubleBuffer))
{
using (Brush backBrush = new SolidBrush(this.BackColor))
{
gxOff.FillRectangle(backBrush, this.ClientRectangle);
}

foreach (CustomControl ctl in control_list) //control_list is list of child controls maintained by Form
{
Rectangle rc = new Rectangle(ctl.Left, ctl.Top, ctl.Width, ctl.Height);
if (e.ClipRectangle.IntersectsWith(rc)) //update only those child control which fall within the invalidated region
{
ctl.OnPaint(new PaintEventArgs(gxOff, ctl.ClientRectangle), ctl.Left, ctl.Top);
}
}

e.Graphics.DrawImage(doubleBuffer, 0, 0);
}
}
}

This scheme, however, also requires the form to manage and delegate other GWES events (keypress, clicks, etc) to respective child control. Following code snippet shows that for MouseDown

protected override void OnMouseDown(MouseEventArgs e)
{
foreach (CustomControl ctl in control_list)
{
Rectangle rc = new Rectangle(ctl.Left, ctl.Top, ctl.Width, ctl.Height);
if (rc.Contains(new Point(e.X, e.Y)))
{
ctl.OnMouseDown(e);
this.Invalidate(rc);
break;
}
}
}

I know its a bit of pain but in case you have simple custom controls like buttons, picturebox, very few events need to be overridden and its worth for the flickr free smooth rendering of your forms.

SureMDM: Mobile Device Management for Starters and Experts

Go to Home


10Feb/110

Best approach to deploying a Mobile Device Management system

The company leadership has identified the need for a system to effectively manage mobile devices in your organization. As the best IT guy around here you have been given the mandate to roll-out the system. You obviously will start looking for solutions in the market that can solve the problem for you. But there are few points to take care of that are mostly irrelevant of the product that you finally choose.

  • Start Slow and measure the benefits: Do not try to use all the features that the chosen MDM solution provides. Select the most important ones first and then add new ones slowly. This is especially important if this is the first time you are doing such implementation.
  • Start Small: Do not start with managing all the mobile devices in the organization. You have to observe how the end-user and mobile devices reacts to new policies. Keeping the working set small ensures that you can fix many issues before the full-scale deployment is done. Moreover if you go all the way initially, just in case something goes wrong, it would unnecessarily be a big effort to back off.
  • Keep it Simple: If possible look for an MDM product that is easy to learn and operate. Remember there are not-so-expert members in your team. Keeping the implementation simple for them will help the organization in the long run.

More later...

SureMDM: Mobile Device Management for Starters and Experts

Go to Home


9Feb/110

How to Remote Wipe your Windows Mobile devices?

Device security is one of the prime concerns why companies deploy mobile device management solutions such as SureMDM. An important requirement is the capability to remotely wipe the critical business data (hopefully all data) residing on the device incase of loss or theft. Remote Wipe is also known as Remote Kill.

42Gears mobile device management suite comprising SureMDM and SureCop provides two ways to remotely wipe the lost mobile devices.

Using SureMDM: Go to the Jobs panel and create a Remote Wipe job. Then select a mobile device from the list and apply the Remote Wipe job. If the device is currently online, the wipe operation will commence immediately. Otherwise it will start when the mobile device connects with the server again.

Using SureCop: Send a text message containing wipe command and password from the manager phone.

wipe$password$

As soon as the remote phone receive the SMS message the wipe operation is initiated. Note that the SMS message can be sent from the registered manager phones only.

SureCop

SureMDM: Mobile Device Management for Starters and Experts

SureCop: Get back your lost phone

Go to Home


8Feb/110

Solution to “Not Found” error when uploading large data in your Azure web application

So you deployed your brand-new ASP.NET web application to Azure cloud. All seems to be working perfectly until a user tried to upload large amount of data (approx. over 30MB) through your application UI. Unfortunately the operation failed. Surprisingly small file uploads works just fine.

To fix the problem you need to ensure that following configuration are made in the web.config file.

<httpRuntime maxRequestLength="102400" executionTimeout="3600" />

Here value of maxRequestLength is in KB so that makes it 100MB. Having a bigger executionTimeOut value ensures that the file upload operation is not terminated prematurely by the web server.

<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1024000000" />
</requestFiltering>
</security>
...
...
</system.webServer>

Here the value of maxAllowedContentLength is in bytes so that makes it 100MB again.

Restart the website and large data uploads should work just fine.

Go to Home


7Feb/110

6 advantages of using a cloud-based Mobile Device Management solution

Traditionally mobile device management has been done using On-Premise solutions. Recently there has been a shift in how companies especially small and medium sized ones have started managing their fleet of mobile devices and their mobile workers. Modern way to approach this problem is to use cloud-based mobile device management solutions (e.g. SureMDM).

Mobile Device Management on the cloud

Mobile Device Management on the cloud


Following are a few advantages of using a cloud-based mobile device management solution instead of an On-Premise solution:

  • Zero setup time: Since the solution is available on the cloud there would be no or a little setup time requirements. And most of the initial setup will be done by the service provider.
  • Zero setup cost: IT departments are always under budget constraints. As an IT manager you don't have to spend any money on buying new server machines, switches, cables, power sockets (You might have already some of those items but you can use them for something else :) )
  • No maintenance: There would be no requirement for regular server maintenance. No need to worry if the server software is properly patched up with latest service packs or any other updates or if the power systems are working properly.
  • Pay as you go: Using the cloud-based mobile device management solution is good for financial reasons (budget constraints) as it has low upfront cost. You will pay as per usage or fixed subscription cost. If you have 50 mobile devices, your running cost would be much lower (linearly) than if you had 100 mobile devices.
  • Operate from anywhere: Administrator does not have to log into a desktop on the company network to manage the mobile devices. He or she can remotely lock or kill a lost mobile device even while holidaying in the bahamas :) .
  • Discontinue whenever you want: This is a real beauty. For any reasons if you intend to discontinue the cloud-based solution you can pull the plug as and when you want. There is nothing to dispose or take care of. Decommissioning an on-premise solution is sometimes not very straightforward.

There are some real advantages of using on-demand mobile device management solutions running in the cloud.

Check out SureMDM, cloud based mobile device management from 42Gears Mobility Systems.

Go to Home