Rockford Lhotka's Blog

Home | Lhotka.net | CSLA .NET

 Thursday, April 24, 2014

Ho hum. Microsoft is going to bring back the start menu in Windows 8 – presumably in August.Windows-8-logo

That might be ok, though I’ve long since adapted to the start screen so I’m not sure I care at all.

What I do care about are much more real challenges when working in the ‘modern’ or WinRT (Windows Runtime or Windows Store) side of the operating system.

My top list:

  1. The file save/open dialogs don’t sort or filter items and so are almost useless if you have a lot of files
  2. The file save/open dialogs (and OneNote app) often don’t show the full filename or properties of files, making similar files hard to distinguish – again making these core aspects of the OS extremely challenging if not useless
  3. The OneDrive app doesn’t let me access folders shared to me by other people – a feature I use constantly, and so spend more time in the web UI than the app
  4. Unpredictability and lack of control about how WinRT apps display side-by-side is a continual thorn in my side – I launch an app in one monitor and it messes up the display in another monitor? Seriously?!?!
  5. The Calendar app is lame at best. It has some good features, but wastes amazing amounts of space and lacks simple bits of functionality like copying an item or moving an item from one calendar to another. Hopefully it turns into something more like the Windows Phone 8.1 calendar
  6. There’s no way to schedule Lync meetings using the Lync app – how lame is that???
  7. I’ve tried nearly all the file manager apps out there, and some are not bad, but what I _don’t_ understand is why the OneDrive app (which already does OneDrive and local PC stuff) doesn’t just handle things like removable and network drives so it would literally be the “one drive” app
  8. I want a notification summary screen like we now have in Windows Phone 8.1 - _that_ is a useful feature!

I guess what I’m getting at is that I understand that Microsoft feels like they need to add back the Start menu to lure stubborn people into using Win8. BUT what I’m afraid will happen is that they’ll lure people into the WinRT world only to have those people suffer the same day-to-day frustrations I already suffer because these core fit-and-finish capabilities aren’t implemented or complete.

Personally I think it would be better to make the WinRT platform so nice and compelling and fun to use that people will _choose_ to use it over the legacy Desktop with or without cosmetic stuff like a Start menu.

Thursday, April 24, 2014 9:58:09 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [4]  | 
 Thursday, April 10, 2014

The term “modern app” is starting to gain some traction in our industry, but what is a modern app?

Microsoft started using this term to describe formerly-Metro and now Windows Store apps, but then they kind of backed off because they settled on Windows Store App as the name for what they were doing.

At Magenic though, we design and build modern apps for our customers in a platform independent way. We define the term thusly:

Modern applications support all types of devices, from phones to tablets to laptops to desktop computers, on all different platforms, from Windows to iOS to Android and HTML5. They provide first-class support for touch, keyboard, and mouse scenarios. And they rely on well-considered UX design to enable your users to leverage complex back-end or cloud-based services and data in a highly productive and compelling manner.

In our view, modern applications extend beyond simple mobile apps to include enterprise realities such as the need to work on existing computing devices (mostly PCs with keyboards and mice) as well as newer devices such as ultrabooks, tablets, and phones of all shapes, sizes, and OSes. And modern apps leverage existing backend services, as well as public and/or private cloud infrastructure where appropriate.

You can imagine that this definition of modern apps isn’t necessarily neat or simple, but it is meaningful. A typical modern app requires extensive development an integration on an enterprise’s servers and backend systems. It probably has a substantial Windows or web client for use by employees who need deep and rich interactivity with the entire system. And in today’s world it almost certainly has a meaningful subset of (or even full) functionality on tablets and phones.

At the moment enterprises are still trying to make BYOD work. As a result a typical modern app tends to have multiple client device implementations. If the BYOD trend continues it is reasonable to expect that cross-platform technologies such as Xamarin and JavaScript will become the norm rather than multiple disparate native implementations.

It is also possible that the high cost of BYOD for enterprise apps will cause enterprises to reassert control over client devices (like what happened 20 years ago as the PC and Windows emerged into the enterprise). This would likely bring out one majority client platform such as the Windows Runtime (WinRT) that enterprises would target for many internal modern business apps.

Time will tell on that front. But regardless, the high emphasis on UX, the need to support keyboard/mouse and touch equally, and the deep integration with existing enterprise and cloud systems are the cornerstones of the definition of a modern app.

Thursday, April 10, 2014 3:59:24 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, April 07, 2014

CHSPK18 Visual Studio Live! is coming to Chicago again this year. We’re right downtown near the big park and the lake, so it is a great location!

Even better, we’ve got a great lineup of content that covers today’s technologies (like WPF and ASP.NET) and emerging technologies like JavaScript single page applications (SPAs), TypeScript, mobile development for Android, iOS, and Windows.

I hope to see you there!

Update: I forgot to mention that you can save $400 on registration by clicking the link in this post!

Monday, April 07, 2014 1:29:15 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [1]  | 
 Thursday, April 03, 2014

Microsoft has substantially improved the story around side loading of Windows 8 WinRT (Windows Runtime or Windows Store) apps for the enterprise and business environments.

I’ve blogged pretty extensively in the past about the costs of the two steps necessary to side load apps:

  1. Unlock your devices for side loading
  2. Actually side load (install) your various business apps

Microsoft has now radically changed the cost of step 1. This blog post from Microsoft contains the following statement:

Enterprise Sideloading– In May, we will grant Enterprise Sideloading rights to organizations in certain Volume License programs, regardless of what product they purchase, at no additional cost. Other customers who want to deploy custom line-of-business Windows 8.1 apps can purchase Enterprise Sideloading rights for an unlimited number of devices through Volume Licensing at approximately $100. For additional information on sideloading licensing, review the Windows Volume Licensing Guide.

Basically what this means is the following (as I understand it):

For developers/testers things are unchanged – you still use a free dev unlock key to install apps for development and testing.

For organizations with an Enterprise Agreement (EA) you’ll be able to get a side loading unlock key that you can use on all your Windows 8 Pro and Windows 8 Enterprise devices, regardless of whether they are domain joined or not. As before, you can also get ‘companion device’ keys to unlock Windows RT devices if you have a Windows 8 Enterprise device too.

For smaller organizations that don’t have an EA you might have (or can get) one of a number of ‘Open’ or ‘Select’ license agreements with Microsoft. Once you have one of these you can buy a side loading key for around $100 that will unlock any number of Windows 8 Pro or Windows 8 Enterprise devices.

When compared to the old model of buying keys for $30/device this is a major change in the right direction. For a maximum of around $100 virtually every organization (small to huge) can get a side loading unlock key for all their devices.

Now this still doesn’t address the need to actually install your apps onto your devices.

Microsoft offers InTune, which is a full MDM (mobile device management) product. If you find the value proposition of an MDM compelling then InTune is probably the right answer for you – though there’s a per device/per month cost (ranging from $6/device/month to $11/device/month) so you don’t get MDM for free of course.

Screenshot (5)I’ve been coordinating an open source project called OrgPortal that you can use to (relatively) easily create an app store for your organization.

There’s another open source project called CompanyStore that is very similar.

Alternately you can have your users manually run a PowerShell to install and update each app manually over time.

I think Microsoft has taken a substantial step in the right direction with the changes to the cost and availability of side loading keys. Couple this with the increasing maturity of projects like OrgPortal and CompanyStore and I think we’re getting to the point where WinRT is something to consider for business app development.

Thursday, April 03, 2014 12:43:38 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [6]  | 
 Tuesday, April 01, 2014

On my flight to SF for #bldwin this week I sat between two random people. All three of us were normal business travelers, all spending our time on the flight doing a mix of entertainment (videos, reading, social games) and work (spreadsheets, email, editing documents).

(yes, I know it is rude to look at what your fellow travelers have on their screens, but in the cramped quarters on an airplane how can you NOT see???)

To my left was a man, perhaps in his late 30’s. He had an iPad that he used as a tablet to do some reading and watch some video. He also did some work on the iPad, for which he dug out a clamshell case that converted the iPad into a laptop with a keyboard. One device plus a laptop-sized keyboard peripheral.

To my right was a woman, maybe in her early 40’s. She had an iPad that she used to play some social games and do some reading. For most of the flight she dug out a traditional big Win7 laptop so she could use Outlook, Word, and Excel. Two devices consuming about the same physical area as the guy with his iPad and clamshell, though I bet he carried less weight than she did.

I’m sure it’ll be no surprise to anyone reading this blog that I was using my Surface Pro 2 the whole flight. And I too did some reading, some email, did a little social gaming, browsed the web, and did some work in Word. I am quite confident that my single device consumed less physical area than their devices in my carry-on bag. It might be that the weight of my device was comparable to the guy with his iPad/clamshell (the Surface weights more than the iPad, but perhaps less than the clamshell). Certainly we both were carrying less weight than the woman with an iPad and old-fashioned laptop.

For a long time I pleaded with Microsoft to give us (or at least me) a device that gave me the power of a laptop in the form of a tablet. It took them long enough, but I want to be clear that I think the Surface Pro 2 is exactly what I asked for way back when.

Enough battery life I don’t think about it. Light enough to carry (though not as light as the smaller iPads). Powerful enough to run Visual Studio and 1-2 Hyper-V VMs so I can do my work. Compact even with the backlit type keyboard.

The only thing I really wish is that there was a WinRT version of Office. The fact that existing Office drops me into the legacy desktop, and more importantly doesn’t allow me to use the Share charm or the integrated-into-WinRT DropBox and Box support is frustrating.

I’m fine with being in the legacy desktop for Visual Studio, because then I’m almost certainly connected to a bigger monitor, keyboard, and mouse setup.

(for those who are curious, here’s a good example of a nice USB-based docking station for Windows tablets; dual monitor output, keyboard/mouse, and more USB ports for other peripherals; all by plugging in one USB cable to your device)

But I frequently use Office without being docked, and it would be much nicer to use a WinRT version in that scenario.

Tuesday, April 01, 2014 4:57:13 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, March 20, 2014

The MyVote app is a complete modern app built by Magenic as a demo for Modern Apps Live! conferences.Logo

MyVote from Modern Apps Live! LV 2014 is available on the MyVote releases page on GitHub.

The MyVote app is available for install

Although we’ve made the code available on GitHub, getting the app compiled and running is non-trivial of course, because this is a complete modern app with clients for

  • WinRT
  • iOS
  • Android with Xamarin
  • HTML 5/JavaScript single page app

and services that use

  • Windows Azure SQL Server
  • Windows Azure Mobile Services
  • Windows Azure Web Sites
  • Windows Azure Cloud Services

In GitHub the README.md file contains a list of places in the code where you’ll need to insert your own encryption and service keys. Beyond that you are largely on your own. If you are looking for a more detailed walkthrough of the implementation I can only suggest that you attend Modern Apps Live! in Orlando this fall.

Thursday, March 20, 2014 10:23:53 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, March 17, 2014

I just created a release of CSLA 4 version 4.5.580-Beta with preliminary support for iOS via the Xamarin tools.

You can get it via nuget (easiest), or from the release page on GitHub.

This is an exciting pre-release because it now means you can reuse the same business logic code across all modern app client platforms and the desktop and the cloud. This is a “who’s who” list of supported platforms:

  • iOS
    • iPad
    • iPhone
  • Android
    • Phones
    • Tablets
  • Windows
    • WinRT (Windows 8)
    • WPF
    • Silverlight
    • Windows Forms
  • Windows Phone
  • Cloud and servers
    • Windows Azure
    • Windows Server
    • ASP.NET (MVC and Web Forms)
    • WCF
    • Web API
  • Linux
  • OS X

CSLA .NET allows you to easily create reusable business logic (authorization, validation, calculations, etc.) and to share a common app server with simple network configuration. I don’t know of any other open source C# framework that makes it possible for you to reuse the exact same business logic across all these different platforms.

Because the iOS support is new we are asking for your help. If you have the Xamarin tools for iOS please help us out by building some business code using CSLA and let us know if you find any issues (either on the forum at http://forums.lhotka.net or via the CSLA GitHub page.

Monday, March 17, 2014 10:42:21 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
 Thursday, March 06, 2014

I few weeks ago I posted about my new Nokia Lumia 1520 “phablet”: Lumia 1520- First thoughts

Tomorrow my new Lumia 1020 will replace the 1520.

Why?

Because the 1520 is just too big. Otherwise I really like it in a lot of ways – high def screen, easy to read content, very fast, slot for MicroSD card.

But it doesn’t fit nicely into my pockets, and it is very awkward to hold up to my ear when talking (yes, I often use BlueTooth, but not always).

Mostly though, even with my big hands (I’m 2m tall after all) I can’t use it one-handed. <insert texting while driving jokes here> In reality this has nothing to do with driving as I have a good hands-free setup in my truck. This has to do with normal everyday use of the phone, and the reality that it never works one-handed, even for basic things like pulling it out of my pocket to answer a call.

I have high hopes for the 1020. It is the size of my 920, which I loved, and has a much better camera. I don’t believe it has a MicroSD slot though, which is the only real negative I can see.

Thursday, March 06, 2014 1:56:47 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
On this page....
Search
Archives
Feed your aggregator (RSS 2.0)
August, 2014 (2)
July, 2014 (3)
June, 2014 (4)
May, 2014 (2)
April, 2014 (6)
March, 2014 (4)
February, 2014 (4)
January, 2014 (2)
December, 2013 (3)
October, 2013 (3)
August, 2013 (5)
July, 2013 (2)
May, 2013 (3)
April, 2013 (2)
March, 2013 (3)
February, 2013 (7)
January, 2013 (4)
December, 2012 (3)
November, 2012 (3)
October, 2012 (7)
September, 2012 (1)
August, 2012 (4)
July, 2012 (3)
June, 2012 (5)
May, 2012 (4)
April, 2012 (6)
March, 2012 (10)
February, 2012 (2)
January, 2012 (2)
December, 2011 (4)
November, 2011 (6)
October, 2011 (14)
September, 2011 (5)
August, 2011 (3)
June, 2011 (2)
May, 2011 (1)
April, 2011 (3)
March, 2011 (6)
February, 2011 (3)
January, 2011 (6)
December, 2010 (3)
November, 2010 (8)
October, 2010 (6)
September, 2010 (6)
August, 2010 (7)
July, 2010 (8)
June, 2010 (6)
May, 2010 (8)
April, 2010 (13)
March, 2010 (7)
February, 2010 (5)
January, 2010 (9)
December, 2009 (6)
November, 2009 (8)
October, 2009 (11)
September, 2009 (5)
August, 2009 (5)
July, 2009 (10)
June, 2009 (5)
May, 2009 (7)
April, 2009 (7)
March, 2009 (11)
February, 2009 (6)
January, 2009 (9)
December, 2008 (5)
November, 2008 (4)
October, 2008 (7)
September, 2008 (8)
August, 2008 (11)
July, 2008 (11)
June, 2008 (10)
May, 2008 (6)
April, 2008 (8)
March, 2008 (9)
February, 2008 (6)
January, 2008 (6)
December, 2007 (6)
November, 2007 (9)
October, 2007 (7)
September, 2007 (5)
August, 2007 (8)
July, 2007 (6)
June, 2007 (8)
May, 2007 (7)
April, 2007 (9)
March, 2007 (8)
February, 2007 (5)
January, 2007 (9)
December, 2006 (4)
November, 2006 (3)
October, 2006 (4)
September, 2006 (9)
August, 2006 (4)
July, 2006 (9)
June, 2006 (4)
May, 2006 (10)
April, 2006 (4)
March, 2006 (11)
February, 2006 (3)
January, 2006 (13)
December, 2005 (6)
November, 2005 (7)
October, 2005 (4)
September, 2005 (9)
August, 2005 (6)
July, 2005 (7)
June, 2005 (5)
May, 2005 (4)
April, 2005 (7)
March, 2005 (16)
February, 2005 (17)
January, 2005 (17)
December, 2004 (13)
November, 2004 (7)
October, 2004 (14)
September, 2004 (11)
August, 2004 (7)
July, 2004 (3)
June, 2004 (6)
May, 2004 (3)
April, 2004 (2)
March, 2004 (1)
February, 2004 (5)
Categories
About

Powered by: newtelligence dasBlog 2.0.7226.0

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2014, Marimer LLC

Send mail to the author(s) E-mail



Sign In