How HTC developed Sense UI - Windows Mobile Software Development

I was wondering how HTC has created Sense UI?
I would like to code some apps with a "modern" UI, so custom buttons, ... like the controls we can see in Sense.
On one side, I have a Silvermoon-like solution, using .NET and OpenGL. But in this case, I lost the design time features (i.e. rendering the control when I drop it on a form in Visual Studio).
I guess HTC has developed Sense in native. I have some knowledge in Win32 and I'm not too bad in C/C++ programming. But I'm wondering how you develop custom controls in native? Can you benefit from some design-time rendering? Any information about how Sense is coded and native controls programming is welcome...
Edit: for example, the Sense buttons, are they using images or custom drawing?

I don't know anything about the way Sense was developed but native control programming doesn't allow design-time rendering. You have to create your own controls during runtime. So for example if you want to have something like the tabs in TF3D then you have to take a native tab control and overwrite the paint method to draw the background and add pictures on it, manage finger gestures to switch tabs etc. Something along that way. I usually prefer native Win32 programming but if you're doing such GUI things and need a quick solution it might be better using an already existing .NET library, like i.e. the mentioned Silvermoon.

Manila SDK
Hello,
Search ManilaSDK in this forum. It's a set of .net controls that fit Manila looking. On my side, I'm trying to develop another set of controls that will be more "skinnable"

Kridek said:
Hello,
Search ManilaSDK in this forum. It's a set of .net controls that fit Manila looking. On my side, I'm trying to develop another set of controls that will be more "skinnable"
Click to expand...
Click to collapse
i think he's talkin about htc sense on android, not on wm!

screw-you-guys said:
i think he's talkin about htc sense on android, not on wm!
Click to expand...
Click to collapse
and thats why he went into the windows development thread and not the android thread ?

He means WM of course

i heard that sense is written in lua as is tf3d

Related

Multitouch - How can I use it?

Hey guys!
Since the new HTC HD2 (Leo) is about to launch:
How can I use it's multitouch capability? Preferably with C#?
As far as I know the Windows Mobile SDK supports only the good old "Mouse_Down/Up/Move" events.
Is there anything I missed? Actually there must be, since HTC is using multitouch on their Sense UI (which is just an App, like everything else, right?).
Any ideas?
Hey, come on!
No ideas? Nothing?
I thought there were so many uber-developers in this froum
To my knowledge, the HD2's multitouch was homemade by HTC. It is not natively supported by Windows Mobile/C#/etc. Unlike Samsung, I don't think HTC has ever published an SDK or made any of their APIs available to outside developers.
But as far as I know the HD2 apps (like Opera Browser or Google Maps) work with multitouch as well. Were they adapted by HTC?
It would be too bad having a multitouch phone but not beeing able to program for it
VanKurt said:
Were they adapted by HTC?
Click to expand...
Click to collapse
From what I've read, yes. I haven't used an HD2 personally though
It's kinda funny (or sad) that virtually every cool feature of the HD2 (capacitive screen, multitouch, etc) was made possible by HTC and not by Microsoft. OEMs and developers shouldn't have to waste their time writing touchscreen interfaces and sensor APIs, but that's the reality of Windows Mobile for the time being. WM7 had better be a huge leap forward.
OK, so we know that there's no official way to do this.
But maybe one can somehow get to those data otherwise?
I guess we'll have to wait until the HD2 is officially released to find out...
bedoig said:
OEMs and developers shouldn't have to waste their time writing touchscreen interfaces and sensor APIs, but that's the reality of Windows Mobile for the time being. WM7 had better be a huge leap forward.
Click to expand...
Click to collapse
In their defense, Microsoft HAVE provided API's for WM for camera's, GPS chips and accelerometers. It's not their fault if the OEM's choose not to use them.
VanKurt said:
OK, so we know that there's no official way to do this.
But maybe one can somehow get to those data otherwise?
I guess we'll have to wait until the HD2 is officially released to find out...
Click to expand...
Click to collapse
HTC's grav sensor API was soon reverse engineered, so I would expect this one to be too.
FloatingFatMan said:
In their defense, Microsoft HAVE provided API's for WM for camera's, GPS chips and accelerometers. It's not their fault if the OEM's choose not to use them.
Click to expand...
Click to collapse
I wasn't aware that anything was available for accelerometers. Was that a recent addition? WM6.x?
FloatingFatMan said:
HTC's grav sensor API was soon reverse engineered, so I would expect this one to be too.
Click to expand...
Click to collapse
I was thinking the same thing. The problem is still one of consistency between devices though. We need WM7 to lay a consistent groundwork for every feature that we now consider standard on a smartphone. Maybe that requires MS tightening restrictions on OEMs who choose to use Windows Mobile.
hold on am i missing something?.
you basically asking can you use multi touch on a phone such as diamond/touchpro 2?
multitouch capability depends on the actual hardware, with screens such as capacitive.
the HTC hero has a multi touch SCREEN...you can put the sense UI on resistive screens such as the GI, majic and so on.
do a google search on the difference between resistive and capacitive
Erm, no!
I asked specifically for the HTC HD2, which has a capacitive screen. So Multitouch should work very well on that device.
The only thing missing will be the API for it...
But we'll see about that (HD2 will be released any day now, I hope)
Multitouch is an HTC API...
I've got some way to working out how to use it, though I kinda need to have a device before I can do anything for real!
I know, that WM doesn't support multitouch. It'll be avaible in WM 7.
OK, now that the HD2 is out:
Did anyone play around with multitouch yet? Is there a way to use it in our own applications?
I played a little around with .Net, but havn't found any multitouch way...
Multitouch isn't part of .NET. HTC use there own library for this.
The hope is that someone will make it usable for development (like it happened with the G-Sensor)...
I thought about that HTC sends a Special-Mouse Click -> Mouse Scroll, so I can catch it, but this wasn't the case
Zoomer
There is an application called Zoomer,that enables almost all aplications that are installed to support Multitouch function on HD2,google for it.
That isn't a solution Zoomer just sets Registry entrys for using a Zoom, which just magnifiers the Window Of an App, without the ability for the App itself to draw this magnified space in high quality...
scilor said:
That isn't a solution Zoomer just sets Registry entrys for using a Zoom, which just magnifiers the Window Of an App, without the ability for the App itself to draw this magnified space in high quality...
Click to expand...
Click to collapse
I'm currently working on the alternative, that sends the window messages to zoom in/zoom out, but you then need to handle them.
I think I've found what messages it is, and need to work out what exactly is getting sent, but that hopefully shouldn't take long...

Where to get a nice UI library for WM Phone

Just look at this http://www.youtube.com/watch?v=eu8avvF9yrg&NR=1
They didn't spend much time on the layout because I've seen other iPhone applications that looks just as nice.
What library do they use (or simular) and is it available for WM?
I found these but hopefully there are more and more for UI:
- Manila Interface SDK http://forum.xda-developers.com/showthread.php?t=566188
- http://beemobile4.net/
- http://www.resco.net/developer/mobileformstoolkit/features.aspx
http://silvermoon.codeplex.com/
awesome, lot of visual effect with iphone app
vua777 said:
awesome, lot of visual effect with iphone app
Click to expand...
Click to collapse
Do you have a link?
RAMMANN said:
http://silvermoon.codeplex.com/
Click to expand...
Click to collapse
Thx, i tried it immediately but it's slow. I started with VS2008 and used debug. Maybe thats the problem. Looks awesome, and for free
grrr....i hate .netcf...
google for fluid (it's on codeplex.com)
also for .net cf, but doesn't use opengl (if I'm correct)
there's no UI library for C/C++ right? So at least I hope WM 7 comes with an updated SDK....
Is that all there is?!
Now I understand why iPhone.....
ajhvdb said:
Is that all there is?!
Now I understand why iPhone.....
Click to expand...
Click to collapse
yep sadly, tho that is alls supposed to change with wm7...
Touch Control Suite
http://www.mirabyte.com/en/products/windows-mobile/touch-controls-suite-for-netcf/information.html
Well finally something with a normal price. Will investigate this Thx.
At this moment Resco seams to be the best and "priciest". Maybe someone wants to sell there Resco library because they don't use it anymore. Send me a PM.
all these .NETCF frameworks seem to me so incredible incomplete. They offer 3-4 controls and thats it. The funniest is the SDK where you can buy single controls for like $30 each.
RAMMANN said:
all these .NETCF frameworks seem to me so incredible incomplete. They offer 3-4 controls and thats it. The funniest is the SDK where you can buy single controls for like $30 each.
Click to expand...
Click to collapse
Yes, isn't it amazing. How the heck does ms expect me to develop for WM???
I can create the functionallity but it still doesn't look smart. On iPhone there are a lot of useless applications but they look smart.
How will this be in android? Why doesn't MS buy up Resco and release this nice UI for free. This will create a lot of new development.
Yea, I've said this countless times before. WM only needs a decent SDK or at least a nice UI library for VS2008 and some new APIs and it would by far be the best OS.
It wouldn't be hard for MS to do this.
You can make the current controls look and function like touch controls with overrides but its a pain. You can find some good howtos at http://code.msdn.microsoft.com/uiframework.
Hopefully we get better controls with Windows Mobile 7 and the next .net cf. I wonder if we will see it when Visual Studio 2010 is released a few months from now.
ajhvdb said:
Thx, i tried it immediately but it's slow. I started with VS2008 and used debug. Maybe thats the problem. Looks awesome, and for free
Click to expand...
Click to collapse
Silvermoon is only slow because you are running it inside emulator. Silvermoon is OpenGL control library, and since emulator doesn't support hardware acceleration, you are using software version of OpenGL rendering engine. Try running silvermoon demo on your phone directly (if you have one of the newer phones that support hardware graphic acceleration). It's actually the fastest library available (and one of the most complete).
If you want to target all phones, not only the once with newer chips and OpenGL hardware rendering, try Fluid. It's written by the same guy that wrote Silvermoon, and it's also very nice library with tones of available controls and a very good architecture (so if it's missing control you need, you can always add your own).
Other than those two, there isn't much available that is free/cheap/good on the market.
hobbbbit said:
Silvermoon is only slow because you are running it inside emulator. Silvermoon is OpenGL control library, and since emulator doesn't support hardware acceleration, you are using software version of OpenGL rendering engine. Try running silvermoon demo on your phone directly (if you have one of the newer phones that support hardware graphic acceleration). It's actually the fastest library available (and one of the most complete).
If you want to target all phones, not only the once with newer chips and OpenGL hardware rendering, try Fluid. It's written by the same guy that wrote Silvermoon, and it's also very nice library with tones of available controls and a very good architecture (so if it's missing control you need, you can always add your own).
Other than those two, there isn't much available that is free/cheap/good on the market.
Click to expand...
Click to collapse
Thx, it also slow on my Omnia II but I think it's related to openGL. Will try Fluid. It just feels strange spending so much time on the UI and still looking bad.
http://www.koushikdutta.com/search/label/WindowlessControls
This one looked ok, but I think it's dead too.
ajhvdb said:
Thx, it also slow on my Omnia II but I think it's related to openGL. Will try Fluid. It just feels strange spending so much time on the UI and still looking bad.
Click to expand...
Click to collapse
The reason it might be slow on Omnia II is because you might've copied libGLES_CM.dll to your phone with the rest of the application. libGLES_CM.dll is software renderer for OpenGL. So, again, no hardware acceleration. If you didn't, then it's most likely something wrong with OpenGL drivers on your Omnia.
Here's the video of how Silvermoon supposed to run with hardware acceleration working, I think it was made on Diamond 2.
http://www.youtube.com/watch?v=0OQwo0nt_ek
For a beta product, Silvermoon is one hell of a library!

Language of choice

Just curious..What is everyone's programming language of choice when developing apps for WinMo?
Ive been working (lightly) on a VB program, which is ok, but i feel it isnt as efficient as others might be, and i know efficiency and size is a big issue on mobile devices (obviously)
Depends:
A simple program or one that can be done just using the stuff in the standard system DLLs then I will go for the pain of coding it in WIN32 C++. The resulting application runs like the wind, and can be distributed as a single executable file, no CAB, no installation projects, etc etc.
If I need any web or fancy data functionality, then it is .NET, because it is not worth the hassle of getting all this to work from levels lower down.
Having had lots of previous coding experience in C/C++ then C# is the natural choice, but as far as .NET is concerned, the actual language you code in is irrelevant. It compiles down to IL anyway and the CPU 'JIT' compiles this into its own code before it runs. Hence the performance hit when the program starts and runs.
In .NET, in essence, all you are doing anyway, is creating .NET objects, setting their properties and calling their methods, in order to get them to do what your application requires. A simplistic view, I know, but that's is all there is to it!
The language that you use to do this doesn't really matter, it is just personal preference.
I guess i assumed one language had more efficantcy than another. Like im working with VB atm, and i know it simplifies alot of things to make it easier to use, not sure if it includes all that extra code in the final build or not tho.
I would like to get more pratice with C++ and i have yet to use C# so dono whats different about that.
I would like to eventually start making programs that utilize the .net code and get my programs talking though data on the phone, but im not that advanced yet.
currently im still trying to wrap my head about making a program with a local database. The program im working on currently doesn't store any data, but i would like to to. I would also like (if i get ambitious) to have that program possibly talk to a PC (parent) program and sync with it. But that i think is a ways off.
Also, do the Mobile SDK's look different? The program im working on i started in the 5 SDK, but (obviously) doesnt have Finger friendly IU tools. I haven't looked at the 6/6.5 SDK yet (as id have to start over again i think). Does it have more finger friendly options?
In .NET CF, the finger-friendlinnes and kinetic scrolling and this all isn't available for all controls. Most of them (the classic ones) are, but if you try using scrolling for whole form, it won't work, only scrollbar will. (Probably with some playing with physicsengine and marshalling you might be able to get it working here, too).
In C++, there are numerous examples of this gestures etc directly in SDK, also many other stuff is there.
See, the main difference here is that .NET is fully equipped with stuff to get everything done fast, easy way.
In C++, you must first make this way yourself .
i am using the .net 3.5 framework tho.. Unless you mean C++ vs C#. I thought .net was an expansion on a current language, and not a language on it self (meaning i cant choose to program in .net, its an option to VB, C++ or C#)
I did toy with it, and it appears as tho your right, the forums are the same. IE drop down/combo boxes are not finger friendly. Guess id have to turn it to a button and another form with large radio button options.
C# vs C++ main difference is that C++ is compiled to native code right on first time, which makes it very fast. C# is compiled to MSIL, which is NOT native code yet. When you run c# app, the code is being Just-In-Time (JIT) compiled to native code, which makes it "longer" to load and "slower" to run (usually that makes about 20% of speeddown on classic PCs with very optimalized C++ same code - it probably already is lower, this is a bit older result of testing).
C# has those nice features that it can't get out of its memory etc, the JIT is almost unhackable, so you can't write viruses in it etc.
As far as the SDKs are concerned, there are slight differences from one version to the next but they can be quite difficult to spot.
They can become issues, when code written to run on one platform is run on one several generations away. I have a program that was written in C++ WM2003. Works under all versions of WM until 6.5.3, when the About Dialog box fails to close if the (X) button is pressed. Turns out another value has to be added to the dialogbox flags field to get it to behave properly.
This has been a feature of SDK's from WM 5.0 onwards, but the WM2003 SDK is unaware of it. You have to add it manually to the shell code created by the SDK,
Progress I suppose. The full article is here:
http://forum.xda-developers.com/showthread.php?t=635063
Treo 700xw Verizon Spanish language
Hello fellow .... I'm new to this forum
I have a Treo 700wx and I live in Mexico ...
My Treo is Verizon's company and is currently with the version 1.22 ...
My problem is that it is in English and I need to change the language in Spanish ...
Thank you for your support both the need
Greetings
stephj said:
As far as the SDKs are concerned, there are slight differences from one version to the next but they can be quite difficult to spot.
They can become issues, when code written to run on one platform is run on one several generations away. I have a program that was written in C++ WM2003. Works under all versions of WM until 6.5.3, when the About Dialog box fails to close if the (X) button is pressed. Turns out another value has to be added to the dialogbox flags field to get it to behave properly.
This has been a feature of SDK's from WM 5.0 onwards, but the WM2003 SDK is unaware of it. You have to add it manually to the shell code created by the SDK,
Progress I suppose. The full article is here:
http://forum.xda-developers.com/showthread.php?t=635063
Click to expand...
Click to collapse
I noticed something else odd. When i run the app on my pone, the resolution is off. Now everything looks ok, i just mean that when i run it on my phone, theirs alot of "white dead space" at the bottom. I can only guess this is due to the SDK's catered to phones with smaller screen resolutions (ie Touch Pro) with buttons.. Is their a way for me to switch the resolution to ultilize the full Touch Pro 2 screen size (480x320 i think)?
Funny you should mention that. I replied to a similar post a short while ago. I'm not going to type it all in again, it's here.
http://forum.xda-developers.com/showthread.php?t=637417

Silverlight 4 Likely as Dev Platform

Given Andy Lees quote about WP7: "It's a very sort of advanced platform that really works across PC, phone, and console," it seems likely he's talking about Silverlight 4, especially given the boost in features that it's getting for version 4. I find this to be a very suitable platform for what they're trying to do. You can't beat multi-platform & RIA support - dev once, run on all. What do you think?
Still very propretiary
chribruu said:
Still very propretiary
Click to expand...
Click to collapse
So what? All current phones only support native applications that are created with a proprietary SDK. The big exception is Java which is executed in a VM, but these applications cannot use the full potential of each platform, because they must aim for the lowest common denominator. So without modifications, no native application will run on all platforms.
chribruu said:
Still very propretiary
Click to expand...
Click to collapse
It's not any different than the current situation really. How many people write WM code in anything other than Visual Studio?
Basically a different set of GUI libraries on .Net 3.5.
Hope they'll make SL4 available on WM6.5, too. That way it would be a much better platform choice.
You're all right. I replied without really thinking my post trough. :/
The only thing bad with SL (and flash) is if/when they become web "standards".
Just disregard that post
Sorry for the OT.
from the little i have read/seen. it seems like this will prob be the case..
Silverlight will be one of the dev platforms, along with C++ with a XAML UI.
in this video
"Behind the Design of Windows phone 7" on youtube (i could not post the link)
1:25 - 1:29
you can see the ide for wp7.
it looks like blend. that would definitely mean xaml for ui.
pensoffsky said:
in this video
"Behind the Design of Windows phone 7" on youtube (i could not post the link)
1:25 - 1:29
you can see the ide for wp7.
it looks like blend. that would definitely mean xaml for ui.
Click to expand...
Click to collapse
And as I said, C++ with a XAML UI...
XNA C#, no dubt for the games.
It's available for the Zune HD, I guess it will follow on to WP7
But maby not for the UI?? any thoughts?
From XNA.com :
XNA Game Studio 3.1 Zune Extensions, to support Zune HD, adds the following functionality to the product:
The ability to target and develop for the Zune HD media player.
The addition of new Touch APIs to the XNA Framework for use on the Zune HD.
The addition of new Accelerometer APIs to the XNA Framework for use on the Zune HD.
Click to expand...
Click to collapse
I don't really believe, that they'll be using an unmanaged language for the application developement itself (other than drivers of course).
I think it would be most likely to be using C#, perhaps more in the way of how most android apps use java, e.g. it's precompiled on deployment.
What I really hope for is that, there is no longer the limitation of 32 mb per process.

[Q] Develop Apps for Windows Mobile

I want to develop simple apps for Windows Mobile. I read that I can use:
---Compact Framemork. (I downloaded Sharp Develop, it is free. It also exist a program from Resco that speedup the development with C.F.)
--- C or C++ or C# (I don't know if WinMo understand these...)
---Visual Basic (is difficult and Visual Studio isn't free, but I found another program that allows to develop more simple)
---Mortscript (I think is the most simple)
---Which is the best and the most simple language?
---Where can I read or download tutorials?
---I can not develop simple apps with images and sounds yet.
Please Help!
I want to develop
-a lock screen
-an app that turn on and turn off the leds of my device
-an app that change registry values (without softreset the device)
-an app that can copy, cut and delete files
-a Soft Imput Panel (a virtual keyboard)
I haven't done windows mobile development in quite some time, so things may have changed a bit. But to help you out better, it would be good to know what version of windows you intend to develop for (I assume Windows Phone 7?) as well as any specific devices you may want to concentrate on, and what experience you already have with coding.
MortScript is probably a good starting point, though if you want to get some real functionality going, you should look at C#.net CF. Take a look at this MSDN resource: LINK. It should be good for getting started.
I think that for modifying the registry, working with LEDs, and for the software keyboard you may need to use C++ ... though I can be mistaken. I'm not sure how Microsoft has worked out libraries and privileges in WP7.
Cyclonezephyrxz7 said:
I haven't done windows mobile development in quite some time, so things may have changed a bit. But to help you out better, it would be good to know what version of windows you intend to develop for (I assume Windows Phone 7?) as well as any specific devices you may want to concentrate on, and what experience you already have with coding.
MortScript is probably a good starting point, though if you want to get some real functionality going, you should look at C#.net CF. Take a look at this MSDN resource: LINK. It should be good for getting started.
I think that for modifying the registry, working with LEDs, and for the software keyboard you may need to use C++ ... though I can be mistaken. I'm not sure how Microsoft has worked out libraries and privileges in WP7.
Click to expand...
Click to collapse
Thanks CycloneZephyrxz7.
I want to develop for Windows Mobile 6.X for devices with WVGA resolution.
But with Mortscript I can do less things? Because I can only write scripts.
Do you know how is written a simple app like "ClearTemp"?
I wait other replies from Devolpers and people that used these languages...

Categories

Resources