Friday, March 26, 2010
Windows phone 7 Developer Q&A: Alex Kac, WebIS
Posted by Jason Dunn in "Windows Phone Talk" @ 10:00 AM
We've had some intense discussions in our forums around the development story for Windows phone 7, but not being a developer myself, I don't have the insight required to understand how the radical changes Microsoft is implementing will impact the applications, and developers, that we're familiar with. This is part one of a short series of Q&A interviews I'm doing with some of the top Windows Mobile developers in this space. First up, we have Alex Kac the Founder/President of Web Information Solutions (WebIS).
WPT: Looking at what Microsoft has announced at MIX10, what's your general impression of their development platform for Windows phone 7?
WebIS: I'm pretty impressed by the development toolset and I think Microsoft has definitely made some good choices in their platform vision here. I'm really excited to see how far we can go with the tools and APIs. I understand that right now the APIs are pretty weak because you have to start somewhere and its really designed for consumer/feature phone type apps, but the foundation is really good so long term that's a good thing.
WPT: As a developer, can you do what you want with Silverlight and XNA, or do you need native code? What about the APIs Microsoft is providing, and the SDK? Does it give you what you need to create new applications?
WebIS: Unfortunately the SDK does not provide what we need today. I don't think we need native code if Microsoft gives us access to the PIM information like they did with POOM in Windows Mobile (which as of right now they have not). The reason is Silverlight is perfect for creating awesome UIs and our app doesn't have to run any complicated processing. On BlackBerry we are using Java for our underlying database processing and it runs all right, though it is noticeably slower than it was on Windows Mobile.
As such we could definitely write our own POOM-like system using Silverlight as it stands now, but doing so has a few major challenges. One is people's expectations. On the iPhone our biggest negatives come that we don't sync with Exchange and offer native alarms. I believe both of those will go away soon, but after experiencing those negatives on the iPhone I don't think I want to do so again on Windows Phone.
WPT: Looking at your application portfolio today, how many of those applications can be ported/re-created to run on Windows phone 7? How much work will be required for this to happen, and do you plan to release those applications for Windows phone 7?
WebIS: At the moment it goes like this: FlexMail requires it be able to use socket programming to call SMTP, IMAP, POP3 accounts and WP7 does not allow socket programming. Only HTTP. Note2Self might be able to be made for WP7, but I need to look at the audio APIs more. I didn't see when I did a fairly cursory look, but I think I'm just missing something. Pocket Informant is the big one. We probably can do it, in a fairly limited form. But is it worth it right now? I don't think so.
WPT: For the non-devleopers out there, which would include me, what's the big difference for the types of applications that your company developers when it comes to managed versus native code?
WebIS: Managed code is easier to write, maintain, and depending on the API can offer a lot of newer functionality that comes "for free". However managed code requires the APIs for everything you want to do. Native code gives you more freedom to do things not expected by the OS developer, is faster, but also a lot more work to work create and maintain code. So it can take a lot more work to do anything in native code.
On the whole I prefer managed code if its a native runtime (like on WP7). I do not like managed code if a user has to install the runtime (like on WM). It may be also be useful to compare what you get here with other platforms like BlackBerry and iPhone.
The BlackBerry is managed code all the time. Its all Java. Some stuff runs slowly. Animations are hard to do. Note2Self could not do a waveform display using basic Java APIs, not on those slower devices. Audio requires more real-time access.
The iPhone SDK is actually better in this respect. You get native performance (Objective-C runs at C speeds) with a managed-like API. Its not completely like managed code: no garbage collection on mobile device and you are dealing with C so you can do low level stuff, but you also do deal with pointers and memory leaks. Its actually nice because you can mix super high performance low level C/memory functions with high level Objective C classes/methods.
Another example - I've been told that handwriting recognition was easily portable to the iPhone as it was mostly C code, and it runs great with managed code on a desktop, but its not usable at all on a phone running managed code.
I counted how many apps on my iPhone I thought the current WP7 SDK could handle with the same or greater feature-set and high quality UI and it was about 75% of them. That's a good number. The other 25% will come as Microsoft improves and expands its API to support more low level networking, PIM access, and more.
WPT: What do you think of what you've seen of Windows phone 7 so far? As a developer, do you see potential in the product for you to make money?
WebIS: I am not a fan of the user interface for the most part, but I see things I do like a lot. I like the live panels. I like the hub idea. I do not love how it handles lists or menus. I don't mind the large text, but the lists I just find appalling and I have found my brain just sees a lot of text and I can't distinguish easily what I want to hit. I find the application bar OK, but pretty weak. I hate the round circles in the application bar as I think they are ugly. I also really dislike the extreme minimalism in some places, for example the switch control. The relative weak controls on WP7 mean people will be making lots of custom controls in Silverlight. Not a horrible thing, but it will mean a less consistent interface. I can go on with lots of specific criticisms, but WP7 will outgrow most of them because what WP7 brings is a new foundation that I think is the right one for Microsoft. I'm a big fan of them using Silverlight and XNA. I'm a big fan of them doing a new user interface.
In other words I am happy with WP7, but that's mostly because I'm looking at the platform as more of a early release. Its a 1.0 product in many respects (even though its running Windows CE 6.0) and we all know it takes Microsoft a few revision to get things to a place where its really workable. The API set is very weak right now, but MS just needs to continue working on it and I think within the next 18 months its going to improve dramatically.
WPT: If you could ask Microsoft to make three developer-related changes to Windows phone 7 - either the on-device software, or the ecosystem as a whole - what would those changes be?
WebIS: I think the pieces are falling into place and I like what I see. But for me to build my products on Windows Phone 7, I need the same things I've been asking of Apple: PIM and alarm access. Give me those two things and I can do something cool.
Jason Dunn owns and operates Thoughts Media Inc., a company dedicated to creating the best in online communities. He enjoys photography, mobile devices, blogging, digital media content creation/editing, and pretty much all technology. He lives in Calgary, Alberta, Canada with his lovely wife, his son Logan, and his sometimes obedient dog. He likes most of what he sees in Windows phone 7.
Do you enjoy using new hardware, software and accessories, then sharing your experience with others? Then join us on the Thoughts Media Review Team! We're looking for individuals who find it fun to test new gear and give their honest opinions about the experience. It's a volunteer role with some great perks. Interested? Then click here for more information.