Discussion Board

Page 3 of 3 FirstFirst 123
Results 31 to 40 of 40
  1. #31
    Registered User all2happy's Avatar
    Join Date
    Jan 2012
    Posts
    32
    Thank you very much Hamish for that update. There were so many questions that ran through my mind for a while especially in wanting to know what were the limitations like what you've made a mention of. I do really enjoy having to code in Python, although quite frustrated with myself at first which is as if playing a video game even away from it. Oh well... as my luck would have it, the same happened with PocketC for the PalmOS at the moment where I felt to have started quite the progression. A friend of mine had just recently offered to sell me her Nokia 500 for $100... so, I will do an information search for which to find the most affordable... or free... "easy-yet-robust" developer kit.

  2. #32
    Nokia Developer Administrator hamishwillee's Avatar
    Join Date
    Jan 2009
    Location
    Melbourne, Australia
    Posts
    1,894
    You're welcome. You can check out the technical specs for the Nokia 500 here: http://www.developer.nokia.com/Devic...fications/500/ - and from there you can get to specs for all the other devices.

    This phone is based on Symbian and is relatively recent. You can develop on it using Qt, Java, Python, Symbian C++. One thing you need to consider is that Nokia's main platforms are Series 40 and Windows Phone, so this is where we'll be investing going forward. For Windows Phone you can develop in XAML/C#/C++/HTML5 and for Series 40 you can develop Java or Series 40 web apps.

    The best target depends on why you're doing it and how many of your skills you want to reuse - if its just for fun then any platform is OK but if you want to make money then you're better off looking at our current platforms.
    How can I help?
    Hamish Willee, Nokia Developer Community Manager, ext-hamish.willee@nokia.com

  3. #33
    Nokia Developer Champion marcelobarrosalmeida's Avatar
    Join Date
    Nov 2007
    Location
    Sertaozinho/Brazil
    Posts
    752
    Hello all2happy


    Big directions now are Nokia OS or Windows Phone. Of course you can use Qt, Python, etc but if you are planning to release new products for upcoming phones, stick to theses options.
    As a Python´s orphan, I am now using Java/J2ME for S40 Phones (Nokia OS). New S40 phones are great and capable. And you have a lot of documentation. The interface was revamped, dragging elements from Maemo and S60, and I enjoyed it (after my learning degree in J2ME of course).
    I like WP phones as well and I am always studing when I have time but the challenge of being small is more seductive for me.
    I hope you continue 2happy after these news. I survived.

    Marcelo Barros

  4. #34
    Registered User all2happy's Avatar
    Join Date
    Jan 2012
    Posts
    32
    Hello Marcelo and again to Hamish, I certainly do appreciate both of your messages. Had been quite worried that is was over for Pythonic coding the Nokia mobiles... although rather recently curious about how much more dynamic HTML5 is and if it's far easier to learn. Speaking of which, seen an awesome Nokia interactive slide show that I believe YouTube should adopt this feature so that tutorials can look way more professional and load up a whole lot quicker... at least for mobiles. Tried to find a few on how to make a standalone or SISX a long time ago, but got no actual results.

    Went about to download QT, then saw somebody post that the full commercial version was 1'500 USD per year, which will take me way too long to save up for, especially to soon start in college...to discover if mobile programming should be my pursuit, but I'm still not sure being unable to complete my personal samples of every code and other challenges like direct pixel allotments to provide fast enough image overlap color transitions of maybe 32 bytes in an selective ASCII format --

    ASCZ = r'0123456789abc...'
    RGBZ = red01,red02,red03,red04,red05...]
    Explosion = [r'...',r'...',r'...'...]
    Bkgrnd = [r'...',r'...',r'...',r'...'...]
    def fade(x,y,topobj,btmobj):
    ...

    Read that Qt will no longer be the future of Nokia and wonder which will compile python codes. Is there a list of quality YouTube videos I can look at to comparitively see which direction I should go?

  5. #35
    Nokia Developer Administrator hamishwillee's Avatar
    Join Date
    Jan 2009
    Location
    Melbourne, Australia
    Posts
    1,894
    Hi all2happy

    Qt can be licensed for free under LPGL. The full commercial license does cost 1500 but that really isn't needed by almost anyone. You do need windows to run the SDK though (remote compiling is no longer supported). It is a great platform for Symbian and N9 devices, and also for desktop. I've heard it can also be used on Android, but not tried it. It is however true that this is not a future platform for Nokia (at least at this point) because it does not run on Windows Phone or Series 40, which are our main platforms. Neither of these support Python either.

    In terms of recommendations, it depends on where you want to go.
    * Series 40 supports Java, which is not too dissimilar to C# or the programming framework used on WP (and Android if you were to move away from Nokia). It also has "Web Apps" - which rely on your HTML and CSS skills, but this is very much intended for accessing existing web based services and is not ideal for high performance graphical software.
    * Windows Phone allows development in C# and HTML, and with WP8 also C++ (a windows flavour of APIs though) and HTML5.

    As a developer I think you need to accept that you will need to be multi-lingual. If I was starting right now I'd learn the web technologies first to get the greatest "breadth" of where I could program - ie this works with minor mods on most platforms. I'd then probably learn Java ME as this has the next greatest market penetration and is better for games etc than web technologies currently. Everyone will have their own opinion on this though!

    Good luck

    H
    Last edited by hamishwillee; 2012-11-15 at 01:04.
    How can I help?
    Hamish Willee, Nokia Developer Community Manager, ext-hamish.willee@nokia.com

  6. #36
    Registered User all2happy's Avatar
    Join Date
    Jan 2012
    Posts
    32
    Understood and thank you. Had to really weigh it all out... well... everything I was able to find... and saw that the only courses available in Toronto, Ontario, Canada for college are HTML5 focused in which should be more than enough to start my very own rather unique online business venture along with a few other fascinating projects in mind. I really want to be a part of the Nokia's huge "Surprise Uprise" as there seems much the potential... so I've really challenged myself to learn a whole lot, but it's difficult to tell if my progression is adequate enough as to why I thought to post nearly every type of valuable snippet I can muster... mostly hoping to get further guidance while sharing it altogether.

    Just began writing a code 2 months ago to have a pythonicized swipe keyboard of my very own and discovered how an application that looks really simple is actually has 2 and a half very difficult hurdles. The half... since I sort of came up with a solution... the dragging event lags a bit too much, so I created an list array to record after each different loop then do a loop segment of the distances of 40 pixels to read what's in between... however, I imagine a quick redirection of swiping will put off the accuracy. Then there's trying to figure out how to write an algorithm to truncate my personalized "listofwords.txt". Anyhow, I can now probably say the next troublesome task "was" trying to screen capture the canvased keyboard and text screen simultaneously in a way to avoid poor flickering by learning how to buffer/thread images, until I realized that maybe touching near the top section of the screen should switch the mode from graphic to text... and the "Exit" button to switch back. Anyhow, in my earlier attempt to create a graphic text wrap module... I came up with this conjured from a mix of examples that took me too long to customize...

    Code:
    # text2fit.py
    
    from appuifw import *
    from graphics import *
    import e32
    
    app.directional_pad=False
    app.screen='large'
    lock=e32.Ao_lock()
    app.body=canvas=Canvas()
    app.exit_key_handler=lock.signal
    img=Image.new(canvas.size) # create an image
    width=canvas.size[0]-20
    img.clear(0x555555ff)
    
    setfont=(u"dense",30,None)
    
    txtEntry=[u'This is a "measure_text" wrap method example whereas...']
    words=[u'blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah',
    		u'should',u'appear',u'segmented',u'to',u'stay',u'within',u'the',u'given',u'boundary.']
    
    def text_wrap(txtEntry=None):
    	global linewrap
    	w2=word[:]
    	try:
    		if linewrap:
    			pass
    	except:
    		linewrap=[u'']
    		try:
    			txtEntry=''.join(txtEntry)
    			txtEntry=txtEntry.split() # needed to be converted to a string
    			for line in txtEntry:
    				active=linewrap[0]+line
    				fits=canvas.measure_text(active,font=setfont)[1]
    				if fits > width:
    					while 1:
    						fits=canvas.measure_text(line,font=setfont)[1]
    						kb=canvas.measure_text(line,font=setfont,maxwidth=width)[2]
    						if fits > width:
    							linewrap.insert(0,line[:kb])
    							line=line[kb:]
    						else:
    							break
    					linewrap.insert(0,line+' ')
    				else: # fits entire entry
    					linewrap[0]+=line+' '
    		except:
    			pass
    
    	active=linewrap[0]+w2
    	fits=canvas.measure_text(active,font=setfont)[1]
    	if fits > width:
    		while 1:
    			fits=canvas.measure_text(w2,font=setfont)[1]
    			kb=canvas.measure_text(w2,font=setfont,maxwidth=width)[2]
    			if fits > width:
    				linewrap.insert(0,w2[:kb])
    				w2=w2[kb:]
    			else:
    				break
    		linewrap.insert(0,w2+' ')
    	else: # fits entire entry
    		linewrap[0]+=w2+' '
    
    	y=40
    	LnWr=linewrap[:]
    	LnWr.reverse()
    	img.clear(0x555555ff)
    	for line in LnWr:						
    		img.text((10,y),line,font=setfont,fill=0xffffff) # text on blue img
    		y += 36
     
    ### demo
    
    for word in words:
    	text_wrap(txtEntry)
    	canvas.blit(img)
    canvas.blit(img)
    
    lock.wait()
    Last edited by all2happy; 2012-12-17 at 10:29. Reason: I almost have this project complete as much preferred compared to most keyboards for a few main reasons, but as you've mentioned, the touch feedback is already a bit too slow as it is.

  7. #37
    Registered User all2happy's Avatar
    Join Date
    Jan 2012
    Posts
    32
    I've decided to stick with Pythonic programming... at least until my project to create apps is completed while hoping the Nokia now with Windows will fully allow it to continue, especially tired of learning from scratch how to code, so if that does come about, please let me know. Haven't yet purchased another phone... so there is still quite a bit more time, maybe until a little after the end of this year since I'll need it to get myself much further ahead in school.

    Code:
    # 4x4portrait_buttonlayout_demo.py
    
    import appuifw, graphics, e32, key_codes
    
    RGB_GREEN        = (000,255,000)
    RGB_RED          = (255,000,000)
    RGB_BLACK        = (000,000,000)
     
    appuifw.app.directional_pad = False
    appuifw.app.orientation='portrait'
    appuifw.app.screen='large'
    
    appuifw.app.body = canvas = appuifw.Canvas()
    
    Total_x, Total_y = canvas.size
    x=y=90
    
    def handle_redraw(rect):
    	pass
    appuifw.app.body=canvas=appuifw.Canvas(redraw_callback=handle_redraw)
    img=graphics.Image.new(canvas.size)
    
    yy = 220
    
    xy_01 = ((x*0,y*0+yy), (x*1,y*1+yy))
    xy_02 = ((x*1,y*0+yy), (x*2,y*1+yy))
    xy_03 = ((x*2,y*0+yy), (x*3,y*1+yy))
    xy_04 = ((x*3,y*0+yy), (x*4,y*1+yy))
    xy_05 = ((x*0,y*1+yy), (x*1,y*2+yy))
    xy_06 = ((x*1,y*1+yy), (x*2,y*2+yy))
    xy_07 = ((x*2,y*1+yy), (x*3,y*2+yy))
    xy_08 = ((x*3,y*1+yy), (x*4,y*2+yy))
    xy_09 = ((x*0,y*2+yy), (x*1,y*3+yy))
    xy_10 = ((x*1,y*2+yy), (x*2,y*3+yy))
    xy_11 = ((x*2,y*2+yy), (x*3,y*3+yy))
    xy_12 = ((x*3,y*2+yy), (x*4,y*3+yy))
    xy_13 = ((x*0,y*3+yy), (x*1,y*4+yy))
    xy_14 = ((x*1,y*3+yy), (x*2,y*4+yy))
    xy_15 = ((x*2,y*3+yy), (x*3,y*4+yy))
    xy_16 = ((x*3,y*3+yy), (x*4,y*4+yy))
    
    def up_event(event):
    	global xy
    	img.clear()
    	img.rectangle(((xy)), fill=RGB_RED, width=5)
    	canvas.blit(img)
    	xy=None
    def dn_event(event):
    	pass
    canvas.bind(key_codes.EButton1Up, up_event, ((x*0,y*0), (Total_x,Total_y)))
    canvas.bind(key_codes.EButton1Down, dn_event, ((0,0), (0,0)))
    
    def box_01(event):
    	global xy
    	xy=xy_01
    def box_02(event):
    	global xy
    	xy=xy_02
    def box_03(event):
    	global xy
    	xy=xy_03
    def box_04(event):
    	global xy
    	xy=xy_04
    def box_05(event):
    	global xy
    	xy=xy_05
    def box_06(event):
    	global xy
    	xy=xy_06
    def box_07(event):
    	global xy
    	xy=xy_07
    def box_08(event):
    	global xy
    	xy=xy_08
    def box_09(event):
    	global xy
    	xy=xy_09
    def box_10(event):
    	global xy
    	xy=xy_10
    def box_11(event):
    	global xy
    	xy=xy_11
    def box_12(event):
    	global xy
    	xy=xy_12
    def box_13(event):
    	global xy
    	xy=xy_13
    def box_14(event):
    	global xy
    	xy=xy_14
    def box_15(event):
    	global xy
    	xy=xy_15
    def box_16(event):
    	global xy
    	xy=xy_16
    
    canvas.bind(key_codes.EDrag, box_01, ((xy_01)))
    canvas.bind(key_codes.EDrag, box_02, ((xy_02)))
    canvas.bind(key_codes.EDrag, box_03, ((xy_03)))
    canvas.bind(key_codes.EDrag, box_04, ((xy_04)))
    canvas.bind(key_codes.EDrag, box_05, ((xy_05)))
    canvas.bind(key_codes.EDrag, box_06, ((xy_06)))
    canvas.bind(key_codes.EDrag, box_07, ((xy_07)))
    canvas.bind(key_codes.EDrag, box_08, ((xy_08)))
    canvas.bind(key_codes.EDrag, box_09, ((xy_09)))
    canvas.bind(key_codes.EDrag, box_10, ((xy_10)))
    canvas.bind(key_codes.EDrag, box_11, ((xy_11)))
    canvas.bind(key_codes.EDrag, box_12, ((xy_12)))
    canvas.bind(key_codes.EDrag, box_13, ((xy_13)))
    canvas.bind(key_codes.EDrag, box_14, ((xy_14)))
    canvas.bind(key_codes.EDrag, box_15, ((xy_15)))
    canvas.bind(key_codes.EDrag, box_16, ((xy_16)))
    
    def exit():
    	global process
    	process = 0
    	app_lock.signal()
    appuifw.app.exit_key_handler=exit
    app_lock=e32.Ao_lock()
    xy     =None
    prev_xy=None
    
    img.rectangle(((xy_16)), fill=RGB_RED, width=5)
    canvas.blit(img)
    
    process = 1
    while process:
    
    	if xy <> prev_xy and xy <> None:
    		prev_xy=xy
    		img.clear()
    		img.rectangle(((xy)), fill=RGB_GREEN, width=5)
    		canvas.blit(img)
    
    	e32.ao_yield() # bottom of _running_loop_
    
    app_lock.wait()

  8. #38
    Nokia Developer Administrator hamishwillee's Avatar
    Join Date
    Jan 2009
    Location
    Melbourne, Australia
    Posts
    1,894
    Quote Originally Posted by all2happy View Post
    I've decided to stick with Pythonic programming...
    I really suggest you do not. The wiki for Python has now been archived. I am planning on archiving this support forum too in the near future. Strongly suggest you migrate to Windows Phone or Nokia Asha. Note that there is now a Python 3 shell for WP so this might be an option for you to explore.
    How can I help?
    Hamish Willee, Nokia Developer Community Manager, ext-hamish.willee@nokia.com

  9. #39
    Registered User babylongreece's Avatar
    Join Date
    Apr 2012
    Location
    malaysia
    Posts
    141
    Quote Originally Posted by all2happy View Post
    I've decided to stick with Pythonic programming... at least until my project to create apps is completed while hoping the Nokia now with Windows will fully allow it to continue, especially tired of learning from scratch how to code, so if that does come about, please let me know. Haven't yet purchased another phone... so there is still quite a bit more time, maybe until a little after the end of this year since I'll need it to get myself
    I'm proud of you for determination.It's people like you that keep the ecosystem alive.

  10. #40
    Nokia Developer Administrator hamishwillee's Avatar
    Join Date
    Jan 2009
    Location
    Melbourne, Australia
    Posts
    1,894
    Quote Originally Posted by babylongreece View Post
    I'm proud of you for determination.It's people like you that keep the ecosystem alive.
    I'm impressed by your determination, but also baffled by it. Of course if you're having fun or you're still able to make money then go for it.
    How can I help?
    Hamish Willee, Nokia Developer Community Manager, ext-hamish.willee@nokia.com

Page 3 of 3 FirstFirst 123

Similar Threads

  1. 3D Game engine for MIDP/M3G
    By mcwo in forum Mobile Java General
    Replies: 8
    Last Post: 2010-05-28, 03:24
  2. HandleKeyEventL Game Engine
    By TheCyclops in forum Symbian C++
    Replies: 4
    Last Post: 2003-08-06, 09:45
  3. Game engine coming along nicely...
    By aehrath in forum Symbian C++
    Replies: 0
    Last Post: 2003-07-08, 18:53
  4. Replies: 0
    Last Post: 2003-07-02, 17:44

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved