[APP] Lemon v1.3.0.1 - Windows 8 Development and Hacking

Lemon
MODERN BROWSING
FEATURED
Massive Overhaul - completely rewritten to optimize the code and unify the overall interface
OTA Updates - updates require little to no user interaction
Security - hide and lock the browser with the touch of a button
Privacy - browsing history is only stored locally and can even be automatically deleted on exit
Auto Complete - suggests words depending on your history
Screenshot - nothing special, but you may take HD screenshots right within the browser
Notepad - notes that save automagically
Open Source - the source has now been released
Click to expand...
Click to collapse
NEW
Privileges Fixed - no longer runs needs to run in administrator mode thanks to @SixSixSevenSeven
Click to expand...
Click to collapse
BUGS
Outdated Browser Component - this browser is based off IE7 on some computers
Mishandles Links - links that open in a new window or tab will most likely open in your default browser
Click to expand...
Click to collapse
Lemon has been abandoned for quite some time now and I have removed the screenshots and download links. I am considering coming back to this project in the near future when I have time to put Windows on my MacBook. Until then, however, you may play with the source.
Source // Website

Maybe post some screenshots, or possibly a download?

netham45 said:
Maybe post some screenshots, or possibly a download?
Click to expand...
Click to collapse
Thank you for the recommendations Just uploaded 3 screenshots and added a download link towards the bottom.

Nice start. No go on RT.

cx1 said:
Nice start. No go on RT.
Click to expand...
Click to collapse
I wonder why this is not working on the RT.. I wish I had this device to test some things on. Anyways, this build was focused on 4.0 .NET framework made in visual studio 2012 for windows 8 Desktop. Thanks for trying.
EDIT: Problem is with the installer, download the ZIP below it and use that. I will try to find a fix for the installer. Sorry for the inconvenience.

mellowdev said:
I wonder why this is not working on the RT.. I wish I had this device to test some things on. Anyways, this build was focused on 4.0 .NET framework made in visual studio 2012 for windows 8 Desktop. Thanks for trying.
Click to expand...
Click to collapse
Try targeting 4.5 for Windows RT.

netham45 said:
Try targeting 4.5 for Windows RT.
Click to expand...
Click to collapse
Just updated to .NET 4.5

Nope will not run on RT unless I'm doing something wrong?

THEBIG360 said:
Nope will not run on RT unless I'm doing something wrong?
Click to expand...
Click to collapse
hmm, any errors being displayed? Or just not opening?
EDIT: Problem is with the installer, download the ZIP below it and use that. I will try to find a fix for the installer. Sorry for the inconvenience.

You would need to target "Any CPU" in the .NET code, and recompile any third-party x86 libraries that you are using to target ARM, and it would probably work then. Most (although not all) of the system libraries on Win8 are also on Windows RT, and (at least in the case of .NET libraries), the ones that aren't can sometimes be brought over from a Win8 box anyhow.

GoodDayToDie said:
You would need to target "Any CPU" in the .NET code, and recompile any third-party x86 libraries that you are using to target ARM, and it would probably work then. Most (although not all) of the system libraries on Win8 are also on Windows RT, and (at least in the case of .NET libraries), the ones that aren't can sometimes be brought over from a Win8 box anyhow.
Click to expand...
Click to collapse
At the moment, I am trying to get geckoFX 15 and xulrunner 19 added to the project so I do not have to use the default WebBrowser component given in Visual Studio. If you would like, I could send you the source and maybe you could help porting to Windows RT and adding geckoFX? Btw after v1.0 this will be Open Source to all Thanks for all the support guys.

Works now thanks, scrolling is a little hitchy how ever its a great start. On another note would it be possible to make the onscreen keyboard auto pop up?
Will the flash be optimized, the browser is really fast. Its just the flash side of things that is buggy.

Seems to bypass the Flash whitelist on Windows RT. That's quite handy.

Re: [APP] Lemon Browser v0.9.7.3
I can surely attempt the auto pop up on screen keyboard, also the glitchy scrolling will be fixed soon. Thanks
Sent from my Nexus 4 using xda premium

Just FYI: a web browser requiring Administrator to run is absolutely unacceptable. Browsers should run with extremely limited permissions (lower than standard user, ideally) rather than elevated permissions. I fixed this by hand-editing the .EXE file's embedded manifest to run AsInvoker (rather than RequireAdministrator). You should change the manifest in VS. Preferably, the whole thing would run in a low-IL sandbox the way IE does, and/or use some other sandboxing technique.
Also, there's little reason, especially for RT-targeted builds, to use Debug unless you include the source files and expect people to use them when reporting bugs. Release builds are typically smaller and faster.
Finally, could you get this to use a somewhat less awful rendering engine than IE7? I don't mind using Trident in general, but IE7 is archaic and awful. How do you justify "faster than Chrome" on a browser that can't even pass Acid2, much less run a modern speed benchmark? Gecko would be awesome, though I don't believe anybody has managed to port it to RT yet so that would be x86-only at first.
There are other things I'd like to see, ranging from simple UI conventions (double-clicking the tab bar, tapping Alt to show the menu bar, etc.) to some significant security issues (loading mixed content - that is, HTTP content on an HTTPS site - is a potentially serious risk).

Re: [APP] Lemon Browser v0.9.7.3
I appreciate the feedback, about the debug, i honestly did not even think about that, its just much faster to update using the debug folder. I will make it the release build next time. Next - about the admin permissions - Unfortunately this is needed to enable the temporary download of version.txt (allows OTA updates). And I was not planning on targeting the RT at all. I simply made this on my windows 8 laptop and released to the public for however they would like. I am now working on a 3D FPS though and will be releasing the code to this very shortly. And for the IE7 subject, I tried using firefox component but it does not allow the "LoadComplete" sub. Simply put, I do not know how to do 'if web page loaded' do this. I need this feature so i can load favicons etc. Please understand that this was made < 1 week ago. I highly appreciate all the comments though because I can not even begin testing all of these. Plus with school and other activities I do not expext this to be a huge project. Just simply a fun project (focused on gui) to add to my projects. Thanks again
Sent from my Nexus 4 using xda premium

No worries on the Debug/Release, just a tip.
The admin thing, though... that's a serious problem. If the problem is just downloading a file, download it to the local application data folder instead of the install directory. If auto-updating is desired, make a separate updater that runs as Admin, and have the browser launch the updater program when it detects an update.
That said, though, admin is only needed if the browser is "installed" to a location where Admin is required to write. Programs installed in (for example) the user profile don't require this. In fact, on machines where the user *can't* get Admin (think about computers at a school, library, or office), the fact that it can install and run without requiring admin is a major advantage.
I understand that this is a side project for you, and I applaud you for hobby programming and sharing it with us, that's fantastic to see. I also do quite like the GUI, although I find it a bit bare-bones at the moment. Additionally, you getting it to work on RT is fantastic. However... I cannot in good conscience recommend using a web browser that sets the state of environment security back by nearly seven years. The web is an extremely hostile "place" and we've learned many lessons over the years. one of the critical ones is that web browsers are simply too easy to attack for them to be trusted; the only safe way to use one is to assume it will be compromised, and run it in a suitable contained environment. Microsoft did his with the IE7 Protected Mode on Vista betas in 2006, but even on XP it was possible to run IE as a non-Admin.

Re: [APP] Lemon Browser v0.9.7.3
I will admit chrome will always be my favorite browser Just wanted to throw something visually appealing together though after seeing all the horribly designed ones on youtube lol. If anyone would like the source just email me. The code is (slightly cluttered) but OCD friendly. everything labeled and named properly. If someone would like the source, i recommend also downloading the android holo icons from their site. That is what I am currently using and this allows identical pre-made light / dark icons.
Sent from my Nexus 4 using xda premium

Hello !
really thank for this build ! :good:
A question:
Can you integrate a download manager which allow us to download files with screen off but which avoid the complet stand-by state of the tablet during the download ?
Because with IE it's impossible to download something with the Surface screen OFF.
It could be a really cool feature, and the only browser which allow that ! :highfive:
@+
*********_
Edit:
Oh......
Your browser yet intagrate this feature !
Cool... Now I can download big files with screen Off !
I love you

samco08 said:
Hello !
really thank for this build ! :good:
...
Cool... Now I can download big files with screen Off !
I love you
Click to expand...
Click to collapse
Thanks! I appreciate that aha. Major update (kinda lol) will be released soon. Have to work on Mango Tools first (I might toss a thread up on this tool) but this can be found on my site mellowdev.net It just allows you to easily perform ADB commands on android phone. Anyways right after this I will work on v0.9.8! Hoping to add lots of cool, unique features to give this browser an edge. I know that speed means a lot and I have received many complaints on using the IE7 component. However my focus at the moment is to add features. Web browsing for most is just type in words and search. I want this to be so much more. So anyways aha thanks again. Love the support here!

Related

Anyone able to get JavaFX on their Dash?

Hi People,
If you go here: Google "javafx for windows mobile download" you can DL the JavaFX update from SUN, which I did. It installed fine. (Sorry, my account is apparently too new to post the link).
It also comes with a few demo apps to try. But when I try to run it, I get an error:
"Calculated only a partial product UUID!This can cause problems with the correct device identification."
I called T-mobile and explained this, and that I had just updated the Dash to the latest T=Mobile/Windows CE OS version 5.2.1236, build 17741.0.2.1.
Of course they said they can't support any 2rd party apps. They also questioned whether the Dash was "too old" to run JavaFX. I have a hard time believing that last part. It runs plain old Java just fine.
I am hoping someone could try the DL I mention above and post the results, with the goal of getting JavaFX working on my/other peoples Dash.
As a footnote,I found this error posted a few other places with no answer.
likesjava said:
Hi People,
If you go here: Google "javafx for windows mobile download" you can DL the JavaFX update from SUN, which I did. It installed fine. (Sorry, my account is apparently too new to post the link).
It also comes with a few demo apps to try. But when I try to run it, I get an error:
"Calculated only a partial product UUID!This can cause problems with the correct device identification."
I called T-mobile and explained this, and that I had just updated the Dash to the latest T=Mobile/Windows CE OS version 5.2.1236, build 17741.0.2.1.
Of course they said they can't support any 2rd party apps. They also questioned whether the Dash was "too old" to run JavaFX. I have a hard time believing that last part. It runs plain old Java just fine.
I am hoping someone could try the DL I mention above and post the results, with the goal of getting JavaFX working on my/other peoples Dash.
As a footnote,I found this error posted a few other places with no answer.
Click to expand...
Click to collapse
i just downloaded it and it does work. my thoughts are that you probably need to upgrade your rom. your version 5.2.1236 is a bit dated and my guess is that's why it's not working for you. currently im running 3vo 6.5 and it's working just fine, overclocked to 274. try updating your OS/rom first, it should work after that.
btw there are plenty of forums around here that give good tutorials on updating your OS/rom if you've never done it before. study and up and take the plunge!
likesjava said:
I called T-mobile and explained this, and that I had just updated the Dash to the latest T=Mobile/Windows CE OS version 5.2.1236, build 17741.0.2.1.
Of course they said they can't support any 2rd party apps. They also questioned whether the Dash was "too old" to run JavaFX. I have a hard time believing that last part. It runs plain old Java just fine.
Click to expand...
Click to collapse
one more thing, tmobile isn't very tech savvy when it comes to this sort of thing. they have much info at their fingertips but they have to search to find it and most of them aren't that good at it. they are trained on newer phones but not the older ones. trust me i'd know, i used to work at a tech center. they have a decent database with logs on problems customers have had in the past and solutions, but the rep on the phone isn't always able to find the info. i was one of the better ones but they didnt want to move me to permanent tech even though that's what i was good at, and instead shuffled me to cust service to argue with people about their bills... so i quit
anyway, it's best to come here first and ask rather than ask them. we'll probably save you some time
Thank you Young!
I took the plunge and downloaded and flashed EXCA-3VOLUTION_WM65_3VO.3.00.112509. Along the way I applied the app unlock as instructed. I wonder - would the app unlock alone have been enough?
Well, in any case JavaFX is up and running! Yay! - thanks to you
I had no idea that there were people writing all sorts of new OS etc for these phones - I'm just a phone user.
Now - silly question but - none of these new ROMS allow free wifi or Internet access do they?
hey, what is JavaFx ??? Does it like JBed Java ?
It runs on any device that can run Java. Think of it as a prettier, fancier, high tech looking java. Its actually pretty fun to program as well. And its free (the development environment).
Here are some Google results for your question:
JavaFX is a software platform for creating and delivering rich Internet applications that can run across a wide variety of connected devices. ..
What is JavaFX?
JavaFX is a rich client platform for building cross-device applications and content. Designed to enable easy creation and deployment of rich internet applications (RIAs) with immersive media and content, the JavaFX platform ensures that RIAs look and behave consistently across diverse form factors and devices.
The JavaFX platform release includes the following components:
* JavaFX SDK which includes the JavaFX compiler and runtime tools, graphics, media, web services, and rich text libraries to create RIAs for the desktop, browser and mobile platforms.
* NetBeans IDE for JavaFX which provides a sophisticated integrated development environment for building, previewing, and debugging JavaFX applications. The editor features a drag-and-drop palette to quickly add JavaFX objects with transformations, effects and animation. This IDE also comes with its own set of Building Block samples and the JavaFX Mobile Emulator, a mobile phone simulator.
* JavaFX Production Suite is a suite of tools and plugins that enable designers to export graphical assets to JavaFX applications.
likesjava said:
Thank you Young!
I took the plunge and downloaded and flashed EXCA-3VOLUTION_WM65_3VO.3.00.112509. Along the way I applied the app unlock as instructed. I wonder - would the app unlock alone have been enough?
Well, in any case JavaFX is up and running! Yay! - thanks to you
I had no idea that there were people writing all sorts of new OS etc for these phones - I'm just a phone user.
Now - silly question but - none of these new ROMS allow free wifi or Internet access do they?
Click to expand...
Click to collapse
np, glad to be of help. it woulda been nice if my email program let me know i had a reply earlier though
anyway, about the free wifi and internet... no programs can do that, that i know of. there are ways to hack into other peeps networks for free bandwidth from pc's (as i've seen it done), but if you want free internet on the phone there's only a few simple options...
1. pay for it, either through a phone carrier ex: tmobile, at&t, etc. or get a router for your home network and at least then you can connect to your home wifi.
2. find a starbucks, local coffee house, hospital, or any place that is pumpin out free wifi and hop on the network.
anyway, even if there were those types of 'programs' you couldn't post about it here cuz it would get taken off immediately and the person posted would probably get banned. they're not too friendly about that stuff

[NES Emulator] vNESLight

vNESLight 1.0 is now live, bringing a redesigned GUI, new controls, improved save states and much more. It has also been split up into a fully functional ad-supported free version and a paid version (vNESLight Pro) without ads. Unfortunately that means the xap file will no longer be available for sideloading. Both versions should be up in all of the marketplace regions by the end of the week.
vNESLight (free): http://www.windowsphone.com/s?appid=3d8e51b8-1884-4aa7-bb2c-2eda47745a27
vNESLight Pro (paid): http://windowsphone.com/s?appid=11ff7758-04ea-42d9-b012-55f90de82b10
Version 1.0 features - 1-April-2012
- Completely new and improved controls + portrait support
- SkyDrive integration
- Fully featured jump list for all your games
- Fast and fluent multiple save states system (swipe to change slot)
- Backup and restore your save states via SkyDrive
- Pin any game to the start screen
- Auto detects the best settings for your device
- Experimental Hardware Keyboard support
- The demo ROMs of Battle Kid 2 and Super Bat Puncher are included
Method 1 for adding games: (SkyDrive)
1) Get ROMs, don't ask me where. (use GoodNES branded ROMs if u have issues with invalid files)
(Optional) zip, or rar all your ROM files to more easily add a batch of games at once.
2) Login to https://skydrive.live.com/, you can use any Live account u like xbox, hotmail etc.
3) Upload said zip/rar file or nes games to SkyDrive.
4) Hit the + icon inside vNESLight, hit sign in to SkyDrive and navigate to your zip/rar or nes file then just tap on it to add the game(s).
Method 2: (via webserver, or direct link from dropbox)
1) Upload the files to your webserver (or dropbox)
2) Hit the + icon inside vNESLight and enter the full link into the Url box and hit add. Support for zip, rar and nes files.
As always thanks for all the feedback and testing done.
@nuduaa for updates on twitter.
this is awesome if the performance doesn drop in the phone. Support!
ubeyou said:
this is awesome if the performance doesn drop in the phone. Support!
Click to expand...
Click to collapse
Yeah that's what I'm most worried about as well, wish dev's had Mango already so I could do performance profiling on the phone, but at least it's possible on the emulator.
Nudua said:
Yeah that's what I'm most worried about as well, wish dev's had Mango already so I could do performance profiling on the phone, but at least it's possible on the emulator.
Click to expand...
Click to collapse
Looks like you're prayers were answered as dev's got it today apparently.
Aye still waiting for the invite e-mail for the Mango rom update, but I've already installed the new tools.
Currently pushing about 20-25 fps without sound atm, it's abit lower with sound.
Will be great to actually do some profiling on real hardware.
Did you receive your mango invite? I'm running the official Mango beta on my Focus.
ryotgz said:
Did you receive your mango invite? I'm running the official Mango beta on my Focus.
Click to expand...
Click to collapse
Yeah, actually more or less done with the beta version for Mango already, you can seamlessly switch back and forth between the game thanks to the new multitasking.
I'm just trying to figure out how I'm gonna do the UI for the Nodo version.
As for the age old question on how to add roms to the app;
What I've come up with so far is, first you add all your rom files to a zip file called "nesgames.zip" then you open the xap file of the emulator in winzip (or another zip manager).
Finally you can just drag the "nesgames.zip" file into winzip to replace the standard "nesgames.zip" file and voila all your roms are added easily.
Nudua said:
Yeah, actually more or less done with the beta version for Mango already, you can seamlessly switch back and forth between the game thanks to the new multitasking.
I'm just trying to figure out how I'm gonna do the UI for the Nodo version.
As for the age old question on how to add roms to the app;
What I've come up with so far is, first you add all your rom files to a zip file called "nesgames.zip" then you open the xap file of the emulator in winzip (or another zip manager).
Finally you can just drag the "nesgames.zip" file into winzip to replace the standard "nesgames.zip" file and voila all your roms are added easily.
Click to expand...
Click to collapse
Do you get any better performance on Mango compared to Nodo? If you need a tester, I can help out.
ryotgz said:
Do you get any better performance on Mango compared to Nodo? If you need a tester, I can help out.
Click to expand...
Click to collapse
Sadly it didn't really, but it's helped a great deal by beeing able to performance test on a actual device.
I'll get the Mango beta version up in a couple of hours, just need clean up a couple of things.
Ok, just wanted to bump the thread to let u guys know that the beta version for Mango is out:
http://nudua.net/files/vneslightbeta1.xap
Check out the first post for more details (Update #2).
Awesome. Going to download and try it out.
Very nice for the first beta. I'm getting about 26-30 FPS on the games I've tried so far on my Focus running Mango beta 2.
Pros:
I like the way you add games to the XAP.
Multi-tasks
Pretty fast
Cons:
Controls
If you reopen the app (via icon) while its running, it relaunches it from the start. I remember seeing a command that you can add that will make it open like it does from the multitask window.
One thing to note. I saw a post about mango got rid of the 30 FPS limit by adding a new line in the program. But I can't remember if it was just for XNA games or if it included silverlight. Not sure if this would help your or not.
Very good work so far!
Yeah the controls are extremly basic, will definitely make them work a lot better.
Gonna check into resuming the app while it's still running, sounds like a much better way.
Tried getting rid of the 30fps limit, but the problem lies with the cpu, can't run the logic fast enough.
Cheers for the feedback
I submitted this to WMPU and they have an article about it. Hopefully this will get ya some more feedback.
I've been messing with the emulator more and it runs much better than the other NES emulator.
ryotgz said:
I submitted this to WMPU and they have an article about it. Hopefully this will get ya some more feedback.
I've been messing with the emulator more and it runs much better than the other NES emulator.
Click to expand...
Click to collapse
Cool cool, yeah I originally checked out that sharpnes based emulator myself, but getting something like that up to par would be a lot of work, considering the original project is so incomplete.
I'm currently checking out various ways to speed up the code even more.
I got my trophy unlocked pretty much just for this... Do you have a list of games tha run fine or is there issues with some games ?
DavidinCT said:
I got my trophy unlocked pretty much just for this... Do you have a list of games tha run fine or is there issues with some games ?
Click to expand...
Click to collapse
Since this is a port of mature emulator called VirtualNES, most of the mappers (MMC's) needed to play are already done, so most games should work just fine.
The only problem game I've seen so far has been with Kid Dracula, but it's pretty easy to modifiy any single mapper.
But keep in mind, this is still a very early beta.
DavidinCT said:
I got my trophy unlocked pretty much just for this... Do you have a list of games tha run fine or is there issues with some games ?
Click to expand...
Click to collapse
Most of the games I've tried run fine. Maniac Mansion doesn't display properly in some parts, but I've seen the issue in many emulators.
I see the controls on the first page, I don't have a QWERTY keyboard on mine, is there on-screen controls for this ?
Also for adding/removing games, why don't you look into the USBdriver option ( HERE ). There is addon (works with Nodo and mango) where you can use your WP7 device as a USB drive (same folders as music and pictures), you can create a NESROMS folder in there and anyone could manually add or remove games with out re-deplying the app, just by connecting with USB and closing Zune.
Please hit thanks if this helped !
DavidinCT said:
I see the controls on the first page, I don't have a QWERTY keyboard on mine, is there on-screen controls for this ?
Also for adding/removing games, why don't you look into the USBdriver option ( HERE ). There is addon (works with Nodo and mango) where you can use your WP7 device as a USB drive (same folders as music and pictures), you can create a NESROMS folder in there and anyone could manually add or remove games with out re-deplying the app, just by connecting with USB and closing Zune.
Please hit thanks if this helped !
Click to expand...
Click to collapse
The controls in the emulator are touch only, as for the controls mentioned in the post at the top are for the Silverlight 4 version, I'll clean up the original post so there's no confusion.
USBdriver looks pretty interesting, but I really don't want to complicate things.
And there's no reason why you can't add your ~50 most favorite NES games from the get go.

[DFT] z..::H.O.W...T.O...N.A.T.I.V.E::..z [PREVIEW]

..::H.O.W...T.O...N.A.T.I.V.E::..
Hello,
today I had decided to start this thread about native development for WP7.
At the current moment I don't upload/attach any working stuffs to this message. It will happen a bit later, after new DFT ROMs release. This is because it's very difficult to run them for now.
Let's start from current achieved results:
1) It's possible to run any EXE files (after "FullUnlock")
2) Those EXE files can do any operations in the system (after "FullUnlock")
3) It's possible to show some GUI from this applications. But GUI has legacy Windows CE style, it's impossible to create Metro-style applications for now.
How can it be used by community?
We can develop a lot of homebrew applications: like porting emulators, old native applications, video players and etc.
It can be possible to port famous TCPMP player for example and get ultimate playback on Windows Phone 7!
Is it possible to run old Windows Mobile 6.5 applications without modifications?
No, it's not possible. A lot of different APIs are missing for those applications.
Is it hard to modify old Windows Mobile 6.5 applications?
Well, it's almost same like porting to pure Windows CE, but a lot of Windows CE stuffs are "damaged" inside Windows Phone. They just doesn't work right, because nobody never used/tested them before
Photos of sample "WP7 Native test"
Information for developers you can find in the next messages.
So I will release demo WP7 native application, when we fix issues with FullUnlock.
Demo will be as binary EXE file. And as VS2008 project, which can be good start point for other developers.
Now this thread dedicated for discussion, share ideas and thoughts.
DFT, Cotulla
Information about "FullUnlock"
Information about "FullUnlock"
DevUnlock actually allows only to deploy XAP files from external sources.
It doesn't give more privileges.
So we (DFT) developed "FullUnlock". FullUnlock is implemented as replacing some system files by wrappers, which allows any kind of access (disable access checking at all)
We replace LVMOD.DLL which used to check files and data (checksums, certificates and etc) and POLICYENGINE.DLL which implements internal objects access checking.
All written before means that FullUnlock at the current moment only possible by flashing custom ROM to device. In future maybe we can find good ways to do it without flashing, but for now I don't see any ideas how to do it without flashing.
Maybe we can replace DLLs inside \Windows\ directory (put a shadow copy), but I am not sure if it will work really. It's stuffs for future experiments.
It can be possible to do something near by editing policy values, but it need big research to find right way. As it still won't disable file checking, maybe we can add own certificate to right store and then sign files with them.
The last DFT 7720 MANGO ROMs contains FullUnlock, but it doesn't work as expected there few issues. as well some users got issues with debugging on those ROMs and etc. We will continue work under it
So I will release demo WP7 native application, when we fix issues with FullUnlock.
Demo will be as binary EXE file. And as VS2008 project, which can be good start point for other developers.
Now this thread dedicated for discussion, share ideas and thoughts.
For developers
For developers
(users do not read! danger for brain!)
First of all I want to talk about abilities of native code.
Most applications built in inside WP7 are native. But they don't use usual Dialog UI style, they are using some kind of Silvelight scripts. This kind of UI is called "UIX".
Main idea of UIX that DLL files have UIX resources inside which describe whole UI.
Something similar is used inside CE 7.0 Slivelight - there some xml compiler which make binary data and put them as resources inside DLL. I don't know how to decode this binary data.
Seems Zune desktop application also using this framework.
So UIX used some kind of scripts for UI part and callbacks for all actions.
If we decode this UIX format, we will able to change/modify UI as we want, like it was before with regular resources inside DLL. But UIX must be much more powerful.
We can't use UIX for native application because we don't know how to use it, how to make proper binary data and etc. It's hard to reverse.
But native application can have some GUI with Windows CE style (you can see examples on the photos above)
Another issue: If you call API function "CreateWindowW" you won't see anything on the screen. It seems because shell handle all output, so window doesn't visible.
After some searching I found inside some test ROM nice DLL called "WindowTreeUpdater.dll". After looking inside and decoding functions parameters, it's working!
Basic idea: you create window and call function from this DLL and Window appear on the screen. There seems some kind of proxy engine to output legacy windows on top of shell output.
Nice, it's working...
So we can use usual windows for UI inside native application.
There present standard controls, but they work rather laggy (hey, and looks too).
Basic controls like PushButton, Static, CheckBox, Radiobutton, Icon are working.
About extended controls: (Progress bar, list view, and etc)
they come from Commctrl.dll usually, it was present inside Initial/NODO releases, ut it was removed inside MANGO. I was able to run NODO Commctrl.dll under MANGO after some modifications. But all this controls are shown on screen, but they don't do anything on input. So you can see toolbar, but can't press any button.
CommDlg.dll is missing and never was inside WP7.
There present AYGSHELL.DLL, but most functions are broken. For example, I was not able to create menu bar.
So, a lot of functions are broken, like MessageBox not working.
But we still can create own custom controls and use them for developing.
For example porting TCPMP means that we will need reimplement UI fully - because toolbar doesn't work. slider also won't. Maybe get and reuse some source from ReactOS or NT40 CommCtrl
reserved1reserved1
reserved2reserved2
reserved3reserved3
This is some crazy ****! I like it
for...all...devices!? If possible...damn
I just came...
Holly smoke !!!!!!!!!!!!!!!
Way to go guys....BRAVO... This is a major breakthrough for wp7 dev
Once again well done DFTeam
You guys are beasts...please keep it up
for...all...devices!? If possible...damn
I just came...
Click to expand...
Click to collapse
For now it's only for HTC devices with flashing custom ROM
The UIX/UIB scripts are a real pain.. I tried going through them a while back to change the annoying notification system (10 seconds? Really, Microsoft?) and figured it would all boil down to the usual XML-style script that WM6.5 and other MS products use, but the format is newer and there doesn't seem to be an easy way to decompile them.
From what I do know, however, is that it's more of an encoding than a compilation, and can be decoded if we can figure out what all the different headers mean... but that's a serious reverse engineering project.
Keep it up.is it possible to add Samsung device into support list?
Great work! Are there any multitasking restrictions for these apps? presumably because they are not Silverlight they will not be present in the task switcher & the app will be in charge of when the process terminates?
Looking forward to doing some nice low-level operations - hopefully this will open a whole new world for WP7 dev
Sent from my 7 Pro T7576 using Board Express
That's great,,,Thanks
Cotulla said:
For now it's only for HTC devices with flashing custom ROM
Click to expand...
Click to collapse
Hopefully this will change when you receive the Samsung Focus and try custom ROMs.
Blade0rz said:
Great work! Are there any multitasking restrictions for these apps? presumably because they are not Silverlight they will not be present in the task switcher & the app will be in charge of when the process terminates?
Looking forward to doing some nice low-level operations - hopefully this will open a whole new world for WP7 dev
Sent from my 7 Pro T7576 using Board Express
Click to expand...
Click to collapse
I would suspect that they won't be killed unless there's an Out of Memory issue (you can see the whitelists for that in the registry), because these processes are not like the silverlight/xna apps that are launched in Taskman.exe. Whether they show up in multitask lists, idk, but they probably won't be killed in the traditional way..
but that's a serious reverse engineering project.
Click to expand...
Click to collapse
yes...
maybe it's precompiled XAML scripts, like inside Managed applications?
Great work! Are there any multitasking restrictions for these apps? presumably because they are not Silverlight they will not be present in the task switcher & the app will be in charge of when the process terminates?
Click to expand...
Click to collapse
I would suspect that they won't be killed unless there's an Out of Memory issue (you can see the whitelists for that in the registry), because these processes are not like the silverlight/xna apps that are launched in Taskman.exe. Whether they show up in multitask lists, idk, but they probably won't be killed in the traditional way..
Click to expand...
Click to collapse
Plain EXE can run without restrictions, but I guess it will be killed at OOM condition still. EXE with window seems all a bit more complex. When I press back button it usually disappear after few seconds. I think window got WM_CLOSE or something at that moment. It should be researched more in the future.
Furthermore, I forgot to say: Interesting thing, before MANGO WP7 supports native XAP files too!
There was few files nativeinstaller* which implements native installation. There references inside for setup.dll and _setup.xml like in old CAB files.
But it was removed from MANGO seems
Cotulla said:
For now it's only for HTC devices with flashing custom ROM
Click to expand...
Click to collapse
Would we be able to install an old application like fpsece for windows mobile? One of the biggest things I miss about windows mobile! I get paid today so I will be making a donation for your hard work! I'm currently using your custom rom on my HD7! Thanks again, and keep up the good work!
支持DFT論壇!支持xda-developers!至於你信不信,反正我是信了!

'Ending' RT Port

Hello.
I was came across a charming little game and I was wondering if anyone would be able to port it to RT?
The game is, of course called Ending. I would have posted this in the RT Development thread but I haven't done enough posts for me to be able to do that so... sorry? Anyway, if anyone can port this then, well, thanks!
The source code, windows version, OSX version and Ubuntu version are all available here:
Oh, hang on, I don't seem to be able to post links either. just search 'robotacid ending' on google and it should be the first result. It'll be a page with the flash game and links to source code and the other stuff I said.
As it is flash there is little we can do for a native port. RT does include flashplayer in internet explorer so if there is a way to run Ending in browser then that should be an option, I'm not a flash dev so I'll let someone with more experience than I report on that one.
I'm a newbie to all of this and I've got to say, I'm pretty annoyed how little we can actually port. Is that due to the RT system or is it just how much Microsoft Visual Studio supports? Also does anyone know how to run flash games on RT if that's what I have to do.
Ruffa-Duffa said:
I'm a newbie to all of this and I've got to say, I'm pretty annoyed how little we can actually port. Is that due to the RT system or is it just how much Microsoft Visual Studio supports? Also does anyone know how to run flash games on RT if that's what I have to do.
Click to expand...
Click to collapse
You can't port a flash game to any os without its source anyways, thats not an RT limitation. To run flash just open the link or swf in the desktop version of internet explorer, I believe you need to modify some registry values to open them in the metro one.
I can play it in both desktop and metro IE 11. For a fullscreen experience just go to the URL + game.swf. I'm not sure what you want in a port. If you want me to put a that swf in a webpage and wrap it in a windows app and submit it to the store, I could do that, I have a dev license. If you want it ported to DirectX or JavaScript, sure it's doable, but a bit more work. Might be fun for a beginning project.
drearyworlds said:
I can play it in both desktop and metro IE 11. For a fullscreen experience just go to the URL + game.swf. I'm not sure what you want in a port. If you want me to put a that swf in a webpage and wrap it in a windows app and submit it to the store, I could do that, I have a dev license. If you want it ported to DirectX or JavaScript, sure it's doable, but a bit more work. Might be fun for a beginning project.
Click to expand...
Click to collapse
Erm... I'm not really fussy. I actually have this game on my iPod anyway so I don't really need or want it that much on my RT. I just figured it was a neat little game that had the source code available and it looked pretty simple so I assumed it might be able to ported which would hopefully benefit someone. But if you want to take a crack at it feel free.
Ruffa-Duffa said:
I'm a newbie to all of this and I've got to say, I'm pretty annoyed how little we can actually port. Is that due to the RT system or is it just how much Microsoft Visual Studio supports?(...)
Click to expand...
Click to collapse
Current porting desktop applications to run natively in Windows RT basically requires the following:
1. It has to be open-source.
2. It has to be compilable in Visual Studio. (No GCC or other fancy compilers)
1 is absolutely mandatory and this requirement will go nowhere (interestingly, this is what most people ignore when they come asking for a port)
2 can possibly be circumvented in the near future if the porting work goes more advanced. The VLC team has been working on a GCC port for Windows RT (ARM) as far as I remember, and you can also run Python & Perl code directly in Windows RT without going through Visual Studio.
While some applications are compilable in VS, they might require other components that might not compile there and bummer. But the main limitations are the two lines above.

android 2.1 app dev environment

i find that i prefer using my nst more & more.. in fact, my swanky but gas-guzzling tablet has been all but discarded, except for watching movies in bed.
i am going to find open-source apps, and recompile the latest sources specifically for android 2.1 eclair, as i find that most devs and google market are removing eclair from their horizons. i am particularly interested in small-sized efficient apps. i do use quite a lot of them, but mostly very old versions.
for this purpose, i want to setup a eclair-dedicated dev environment. i am happy to share all apps that i compile & use myself. hopefully, many others might find useful too.
where i need your help is with advice on how best to setup a tiny/efficient (not bloatware) dev environment, bearing in mind that it will only be used to recompile apks for eclair on b&w eink. i notice that some of you are very efficient in creating extremely small apk, and this is what i want to do.
platform:
on my debian wheezy host, i installed virtual box and created a debian wheezy minimal guest. virtualbox guest additions has significantly altered my perception of virtualbox. i had been using kvm previously.
pre-requisites:
install openjdk-7-jdk
dev environment:
google lists android studio as the only official one. it is huge, bulky, cumbersome bloatware imho. i think this is targetted at the new kids on the block not used to terminal environments. but this seems to be my only option for now, till i hear from you lot of some simpler dev tools.
my requirement is very simple, all i need to do is, change some code somewhere and compile.
so i downloaded android studio, and unpacked it in a directory reserved for my android development. loading it is like watching windows booting up! and then it downloads android sdk, which is another huge bloatware, particularly since it insists on downloading all the crap-lollipop-ware which i have no intention of using.
so my dev environment is almost ready! if anyone has suggestions or tips, or want more detailed instructions/commands, please comment..
Don't forget that the NST only runs 2.1 Éclair apps, as its OS is 2.1 Éclair.
This sounds like a great project - I also prefer my NTG (in fact, I'm on it right now!).
veloo said:
for this purpose, i want to setup a froyo-dedicated dev environment.
Click to expand...
Click to collapse
Check requirements for compiling Eclair/Froyo itself, SDK version doesn't matter since it supports all API versions.
Personally I'd use a virtual machine with oldest supported 32-bit *buntu release- better chance that required packages versions will be present in official repos.
EDIT:
This may help, discussion was related to kernel compilation however there should be link to quick tutorial about CM6 (Froyo) compilation- http://forum.samdroid.net/f28/setup-kernel-build-environment-using-virtualbox-windows-7-64-bit-4007/ (sorry if 10-sec advertisement pops up)
thanks folks.. my bad! indeed it is eclair, and not froyo. i have updated my op above.
gen_scheisskopf said:
EDIT:
This may help, discussion was related to kernel compilation however there should be link to quick tutorial about CM6 (Froyo) compilation- http://forum.samdroid.net/f28/setup-kernel-build-environment-using-virtualbox-windows-7-64-bit-4007/ (sorry if 10-sec advertisement pops up)
Click to expand...
Click to collapse
that discussion seems to be about iphone development
veloo said:
that discussion seems to be about iphone development
Click to expand...
Click to collapse
Nope, it's for Samsung i5700 Spica (latest official firmware- 2.1)
all that talk about crosstool toolchain arm-iphone-linux-gnueabi got me confused.. sorry!
No problem. Back then we had to use whatever was available and compiling Crosstool-NG was easier option than to get precompiled Android toolchain.
Anyway check links in the thread, there were tutorials about compiling Froyo from scratch (note: samdroid's wiki is down) and IIRC Eclair had about the same requirements
thx but my objective atmo is not compiling froyo or eclair or any roms. it is purely to compile apps for use on the nook.
I'm aware of that. IMO link provided can help you in preparation of build environment
At work I use Android Studio to build apps, but at home I still just use Notepad++, the Windows tools in the Android SDK and the (ancient) Borland make.
I probably will migrate to Android Studio at home eventually.
Still, coding by hand you learn a lot about things.
In the old days for text editing very large data files I used VE & Vedit plus the old Norton commander file manager, I could select any sort of columns within a text file in VE, hex, plus grep commands. Or ms-word macros with VB APIs if needed too. But these were for huge files from publishers. For most things though I had been using Notepad++ or UltraEdit for years. In recent past I hardly use them, instead I use Sublime Text Editor for almost everything, I like the recent portable version which launches fast. Also if I'm debugging live with breakpoints & watches & changing code in PhpStorm, the open instance of Sublime updates code as I work in PhpStorm. I tried a few modern text editors in the same league which supposedly have bested Sublime, but I keep going back to it for most coding or text. Apart from php and various text formats, Sublime handles & color codes for other types too like html, JavaScript etc. Interesting discussion on modern text/code editors & IDEs:
https://www.youtube.com/watch?v=5K-TalfLFas
Hey a nice effort to build apps optimized for Nook Simple Touch.
Renate, Marspeople, have already created some nifty apps for our device.
How about you update the OP with links to their apps(with due credit to them and express permission for the same) besides sharing your own collection of NST optimised apps ?
I'm totally noob at this, My little dream it's develope a clock app for the nook but I'm stuck in "hello world" when I try to compile my app in Android Sudio 2.1.3 it throws this error: "uses-sdk:minSdkVersion 7 cannot be smaller than version 9 declared in library" Can somebody help me?
I
Use SDK suite ver. 9 and higher or declare in library, that you're using ver.7.
Necropost, I know, but do you hhave links to posts by the people mentioned, with the apps they've developed?
aiamuzz said:
Hey a nice effort to build apps optimized for Nook Simple Touch.
Renate, Marspeople, have already created some nifty apps for our device.
How about you update the OP with links to their apps(with due credit to them and express permission for the same) besides sharing your own collection of NST optimised apps ?
Click to expand...
Click to collapse

Categories

Resources