locked
What Objects are Missing in Small Basic? RRS feed

  • General discussion

  • What Objects are missing in Small Basic?

    Also, if you could move any object from the LitDev Extension into Small Basic, what would you want to bring over? 

    RULES:

    1. Reply with as many as you want.
    2. One post per Object type!!! If you have five ideas for Objects, then post 5 times!
    3. Read the posts and vote for the ones you like!
    4. Don't post an object if someone else did. Instead, vote for their post!

      

    The ones with the most votes will go most prominently in our backlog. =^)

     Thanks!


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!


    Saturday, August 22, 2015 12:51 AM

All replies

  • Bing.Maps()

    - Get Maps in your program


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 2:40 AM
  • Bing.Video()

    - Search for videos (like Flickr does for images) and display them in your program.


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!


    Saturday, August 22, 2015 2:40 AM
  • Sandbox object. (detail)

    Originally suggested by Coding Cat


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 2:42 AM
  • Shapes.AddSomething(img, "Hide") to avoid screen flicker. (detail)

    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 2:43 AM
  • Change the icon of the program and have a variety of windows mouse cursors:
    *e.g GraphicsWindow.Icon(path\name.extension)
    *e.g Mouse.Cursor(Hand).


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 2:44 AM
  • Add more controls: ProgressBar, CheckBox, ComboBox, ListBox, CheckedListBox, Slider.
    *e.g Controls.AddProgrssBar(5, 5, 100, 25)
    *e.g Controls.AddCheckBox(110, 5, Checked)
    *e.g Controls.AddComboBox(5, 35, "Items, separated, with, comma")
    *e.g Controls.AddListBox(5, 60, "Items, separated, with, comma")
    *e.g Controls.AddCheckedListBox(5, 60, "Items, separated, with, comma")

    *e.g Controls.AddSlider(x, y, "Items, separated, with, comma")


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!


    Saturday, August 22, 2015 2:44 AM
  • Add dialog methods: OpenFileDialog(), SaveFileDialog, Font/ColorDialog.
    *e.g File.OpenFileDialog(returns: the file path and file name selected)
    *e.g File.SaveFileDialog(returns: the file path and file name selected)
    *e.g File.OpenFontDialog(returns: the settings selected)
    *e.g File.OpenColorDialog(returns: the settings selected)


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 2:45 AM
  • Playing a video and controlling a video.
    *e.g Video.Play(path\name.extension)
    *e.g Video.Pause()
    *e.g Video.Stop()
    *e.g Video.Replay()

    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 2:45 AM
  • Resize a shape precisely instead of only zooming it since it creates a mesh when resizing a shape with Controls.SetSize().
    *e.g Shapes.SetSize(Rectangle, 120, 120)

    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 2:46 AM
  • From the LitDev extension I'd bring over the LDList object first.  The smallbasic builtin arrays are very easy for a beginner to grasp, but also incredibly slow which can drag a program down once things get a little more complicated.

    The LDList object is very fast and flexible.  It also appears like a 'different' object to an array and therefore shouldn't confuse a beginner.  Which is why I picked it over the LDArray.  The only downside to the LDLIst is that it's a little more complex to implement a 2D matrix for board games or 'game of life' type programs.

    Saturday, August 22, 2015 7:05 AM
  • Next I would bring across LDGraphicsWindow (or simpler, just add some of LitDev's methods to the existing GraphicsWindow object :)

    The methods I use most often are the PauseUpdates/ResumeUpdates methods.  If you could implement these more efficiently so that it only paused the drawing area rather than the whole window and provided true double buffered drawing then it would greatly speed up the drawing of primitives and increase the type of games that could be produced.  Going back to a 'game of life' type scenario again....If you use an extension to get a fast 2D array to effectively cycle through all the cells, the program is let down by slow drawing which isn't really overcome by anything in an existing extension.

    Other useful methods from this object: Floodfill, getpixel, capture, state, style.

    Saturday, August 22, 2015 7:32 AM
  • LDFastshapes - If you could add this object, or integrate it into the existing Shapes object it would speed things up tremendously.  The only thing is you would need to speed up the existing ShapeIndex method which registers the shapes to work with the Update method.  I assume this would be doable from within native smallbasic.

    This object can make a lot of difference to games with a lot of shapes onscreen at once.

    Saturday, August 22, 2015 7:44 AM
  • Last, but not least :) LDWebcam.  I don't use this much, but think it would be an excellent object to get beginners excited.  It only takes a couple of commands to get a moving image of yourself on screen, which I think most beginners would find quite exciting.

    Saturday, August 22, 2015 7:46 AM
  • Add more controls: ProgressBar, CheckBox, ComboBox, ListBox, CheckedListBox.

    To this list I would add a Slider, you can have a lot of fun with these in interactive graphics programs.
    Saturday, August 22, 2015 7:50 AM
  • Bing.Maps()

    - Get Maps in your program


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Bing.Video()

    - Search for videos (like Flickr does for images) and display them in your program.


    Ed Price, Azure & Power BI Customer Program Manager (BlogSmall BasicWiki NinjasWiki

    Answer an interesting question? Create a wiki article about it!

    I don't think these would be good as part of the standard set of objects. Ideally, in my opinion, there should be as little reliance on external services as is possible.

    I wouldn't be opposed to these being in an officially-endorsed extension.

    Saturday, August 22, 2015 11:24 AM
  • What i'd like to have is a "FullScreen"-option for GraphicsWindows (which will only make sense when the screen resolution will properly be recognized for full hd screens and up). i'd really appreciate that ! thanks for mentioning.


    • Edited by h.ludens Saturday, August 22, 2015 5:42 PM
    Saturday, August 22, 2015 4:45 PM
  • Add more controls: ProgressBar, CheckBox, ComboBox, ListBox, CheckedListBox.

    To this list I would add a Slider, you can have a lot of fun with these in interactive graphics programs.

    Sounds good. I added the Slider. Please review above. Thanks!

    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 11:05 PM
  • Bing.Maps()

    - Get Maps in your program


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Bing.Video()

    - Search for videos (like Flickr does for images) and display them in your program.


    Ed Price, Azure & Power BI Customer Program Manager (BlogSmall BasicWiki NinjasWiki

    Answer an interesting question? Create a wiki article about it!

    I don't think these would be good as part of the standard set of objects. Ideally, in my opinion, there should be as little reliance on external services as is possible.

    I wouldn't be opposed to these being in an officially-endorsed extension.

    This is a good point. I've heard similar for other object types.

    One thing we'd thinking about is an Extension Manager, where we have some extensions available with links in the box that go to the downloads. So it becomes a small menu of endorsed/official extensions. And then as extensions get added, they get added to the Extension Manager, and you can turn them on and off with simple checkboxes.

     

    So that's one thought. I think it would encourage more extensions and also extensions that are broken up a little by type, in addition to the larger ones that group many objects together.


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, August 22, 2015 11:15 PM
  • I don't even know where to start!!! This is great!

    The one I use the most would defiantly be the physics object.


    It is written: "'As surely as I live,' says the Lord, 'every knee will bow before me; every tongue will acknowledge God.'" Romans 14:11

    Sunday, August 23, 2015 3:42 AM
    Answerer
  • Next up would be LDShapes. ESPECIALLY the animation image part!

    It is written: "'As surely as I live,' says the Lord, 'every knee will bow before me; every tongue will acknowledge God.'" Romans 14:11

    Sunday, August 23, 2015 3:49 AM
    Answerer
  • Annotation to Extension (Manager):

    The simple Addition

    a=1

    b=2

    c=a+b

    TextWindow.WriteLine("A"+a+" + B"+b+" = C"+c)

    creates 8 files with 6 MB (necessary are 4 files with 0,3 MB) ...


    SmallBasic copies strictly all Extension-DLL's from the Lib-path in the Program-path.

    The Extension-DLL should be only copied, when its functions are used.

    The Extension Manager is a good idea for selecting and handling the Extensions and for limiting the IntelliSense.

    A problem is eventually the simultaneous editing of SB-Files with different Extension requirements.

    Sunday, August 23, 2015 1:36 PM
  • Next up would be LDShapes. ESPECIALLY the animation image part!

    It is written: "'As surely as I live,' says the Lord, 'every knee will bow before me; every tongue will acknowledge God.'" Romans 14:11

    Sounds good. We have a few different shapes request, including a non-zoom scale and LDFastShapes, so make sure you vote for the others if they're duplicated.

    Thanks!


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Sunday, August 23, 2015 7:49 PM
  • Last, but not least :) LDWebcam.  I don't use this much, but think it would be an excellent object to get beginners excited.  It only takes a couple of commands to get a moving image of yourself on screen, which I think most beginners would find quite exciting.

    I have used LDwebCam to the microscope photography.
    The microscope of UVC standard is set to the microscope,  plug the connector(USB) to a computer. 

    you run the program (GMC454). you can get   photos. It is very  convenient.

    Monday, August 24, 2015 1:25 AM
    Answerer
  • Shapes.Width & .Height  {get & set}
    Thursday, September 3, 2015 6:43 AM
  • I'm going to sticky this a little bit longer until I can get all the data properly captured.

    =^)


    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Tuesday, October 6, 2015 12:02 AM
  • I would personally like to see a MetroWindow object.

    The ability to create mobile apps would be a huge boost in interest level for anyone under 16 years old.

    :-)

    Friday, October 9, 2015 8:24 PM
    Answerer
  • Networking is a big piece missing from SmallBasic. I would love to see a peer to peer networking object:

    ipAddress = Connect.MyIpAddress   'get the address of my machine

    Connect.ConnectTo(myFriendsIpAddress)  'connect to the address of another machine

    'The above would require the friends machine to be attempt to connect to me at the same time

    connected = Connect.status   'true or false if connection is in place

    Connect.SendMessage(msg)  'send to friends machine

    msgIn = Connect.lastMessage  'the last message received from your friend.

    Connect.messageRecieved = onMessageReceipt   'wake up event when message received from friend

    Friday, October 9, 2015 8:42 PM
    Answerer
  • Two more, additions to exist objects:

    1) lastKeyPressed = Textwindow.lastKey

    A non-halting way to get keyboard input into the TextWindow. It would work identically to the GraphicsWindow last key property. It would also require an event so you would know when the actual key press took place.

    Alternately a version of the old GWBasic Inkey$ could be resurrected:  keyPressed = Textwindow.InKey. Inkey would have the currently pressed key, and would be cleared to null when there is no key pressed.

    Either would open up a lot of possibilities, from custom input commands to text based action games.

    Wednesday, October 14, 2015 4:34 PM
    Answerer
  • And the second one games in the opposite direction:

    2) textIn = GraphicsWindow.Read(x,y)

    A simple on screen, in the graphics window, not in a popup box, input operation. A GraphicsWindow version of the Textwindow read command.

    This would allow newbies who are not quite ready for events to write graphics programs with input.

    Wednesday, October 14, 2015 4:36 PM
    Answerer
  • Thanks Coding Cat!

    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Saturday, October 17, 2015 7:42 AM